]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
[grub2.git] / ChangeLog
CommitLineData
b5c1f9bf
VS
12012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
4 argument.
5 * util/grub-fstest.c (options): Add missing DEVICE part.
6
b525fd83
VS
72012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8
9 Clarify and unify messages.
10
11 * grub-core/commands/hashsum.c (options): Unify messages.
12 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13 literal-only message as translatable.
14 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
15 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
16 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
17 commands.
18 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
19 key, not the key used to unlock. Clarify what it's used for.
20 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
21 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
22 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
23 * util/grub-editenv.c (options): Unify "verbose" message.
24 * util/grub-fstest.c (read_file): Unify error message.
25 (fstest): Add quotes around commands.
26 (options): Unify "verbose" message.
27 * util/grub-install.in: Add quotes around variable name.
28 * util/grub-kbdcomp.in: Unify error message.
29 * util/grub-mkfont.c (main): Likewise.
30 * util/grub-mkrescue.in: Likewise.
31 * util/grub-mklayout.c (options): Unify "verbose" message.
32 * util/grub-mkstandalone.in: Unify help and verbose messages.
33 * util/grub-mount.c (options): Unify "verbose" message.
34 * util/grub-probe.c (options): Likewise.
35 * util/grub-script-check.c (options): Likewise.
36 * util/grub-setup.c (setup): Unify no-terminator message.
37 (options): Use DEVICE and not DEV.
38 Unify "verbose" message.
39 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
40
0ae70393
VS
412012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
42
43 Improve and unify messages.
44
45 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
46 name. All users updated.
47 Print filename in error.
48 (read_device_map): Print filename in error.
49 * util/getroot.c (grub_guess_root_devices): Print filename in error.
50 (grub_util_get_os_disk): Likewise.
51 (grub_util_biosdisk_get_grub_dev): Likewise.
52 (grub_util_check_block_device): Likewise.
53 (grub_util_check_char_device): Likewise.
54 (grub_make_system_path_relative_to_its_root): Likewise.
55 * util/grub-editenv.c (create_envblk_file): Likewise.
56 (open_envblk_file): Likewise.
57 (write_envblk): Likewise.
58 * util/grub-fstest.c (cmd_cp): Likewise.
59 (cmd_cat): Likewise.
60 (cmd_cmp): Likewise.
61 * util/grub-menulst2cfg.c (main): Likewise.
62 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
63 (write_font_width_spec): Likewise.
64 (write_font_pf2): Likewise.
65 * util/grub-mkimage.c (generate_image): New argument outname.
66 All users updated.
67 Remove unreacheable message.
68 (options): Unify messages.
69 (help_filter): Likewise.
70 * util/grub-mklayout.c (usage): Removed (unused).
71 (main): Print filename in error.
72 * util/grub-mkrescue.in: Fix wrong quoting.
73 * util/grub-setup.c (setup): Print filename in error.
74 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
75 (check_sas): Likewise.
76 * util/misc.c (grub_util_get_fp_size): Removed.
77 (grub_util_get_image_size): Print filename in error.
78 (grub_util_read_at): Removed.
79 (grub_util_read_image): Print filename in error.
80 (grub_util_load_image): Likewise.
81 (grub_util_write_image_at): New argument filename. All users updated.
82 Print filename in error.
83 (grub_util_write_image): New argument filename. All users updated.
84 Print filename in error.
85 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
86 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
87
0a96117d
VS
882012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/Makefile.core.def (pxechain): New module.
91 * grub-core/loader/i386/pc/pxechainloader.c: New file.
92 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
93 function.
94 (grub_pc_net_config_real): Use grub_pxe_get_cached.
95 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
96
aca002f7
VS
972012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
100 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
101 * include/grub/err.h (grub_error_saved): New struct.
102 (grub_errmsg): Make array size explicit.
103 * include/grub/misc.h (grub_error_save): New function.
104 (grub_error_load): Likewise.
105 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
106 (grub_error_push): Update `errno' member name.
107 (grub_error_pop): Likewise
108 * grub-core/net/tftp.c (tftp_data): New member save_err.
109 (tftp_receive): Save error.
110 (tftp_open): Restore error.
111
a51dab13
VS
1122012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
115 to real mode down to execute A20-related code in protected mode as
116 intended.
117
eb6e6649
GS
1182012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
119
120 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
121 NULL when the argument `level' has an unexpected value.
122
92cd0f6e
VS
1232012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
124
125 Move platform-dependent files from $prefix to $prefix/$platform.
126
127 * config.h.in (GRUB_TARGET_CPU): New definition.
128 (GRUB_PLATFORM): Likewise.
129 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
130 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
131 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
132 * grub-core/kern/dl.c (grub_dl_load): Likewise.
133 * grub-core/normal/autofs.c (read_fs_list): Likewise.
134 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
135 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
136 * grub-core/normal/term.c (read_terminal_list): Likewise.
137 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
138 $prefix/locale.
139 (grub_gettext_init_ext): Likewise.
140 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
141 grub_platform.
142 * util/grub-install.in: Update directories.
143 * util/grub-mknetdir.in: Likewise.
144 * util/grub-mkrescue.in: Likewise.
145
db606889
VS
1462012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
149 grub_error framework. All users updated.
150
c39992a4
VS
1512012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
154 lists (by always binsearching), improve caching (cache strings
155 used for binsearch, not only results), improve
156 maintainability (by using more structured binary search) and correct
157 error handling.
158
1e5ec32f
VS
1592012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * grub-core/script/execute.c (grub_script_return): Fix warning.
162
ac576cde
VS
1632012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * grub-core/script/execute.c (grub_script_return): Fix potential
166 NULL-dereference.
167 Reported by: Jim Meyering.
168
498453f6
VS
1692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * po/POTFILES.in: Regenerate.
172 * util/grub-install.in: Gettextize the strings missed in first pass.
173
8be63f2e
VS
1742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * Makefile.util.def (grub-mkdevicemap): Removed.
177 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
178 * include/grub/util/deviceiter.h: Removed.
179 * util/deviceiter.c: Likewise.
180 * util/getroot.c (grub_util_get_os_disk): New function.
181 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
182 replacement for EFI.
183 * util/grub-mkdevicemap.c: Removed.
184 * util/grub-probe.c (probe): Handle PRINT_DISK.
185 (argp_parser): Handle -t disk.
186
8e1e4e39
VS
1872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * util/grub-mkfont.c: Migrate to argp.
190 * util/grub-mklayout.c: Likewise.
191 * util/grub-mkpasswd-pbkdf2.c: Likewise.
192 * util/grub-mkrelpath.c: Likewise.
193 * util/grub-probe.c: Likewise.
194 * util/grub-script-check.c: Likewise.
195
4459819a
VS
1962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * util/grub-reboot.in: Add missing datarootdir.
199 Add missing newline.
200 * util/grub-set-default.in: Add missing datarootdir.
201 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
202 * util/grub-mkrescue.in: Likewise.
203
f65741c7
VS
2042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
207
c1a33466
VS
2082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * util/grub-kbdcomp.in: Add decent help and gettextize.
211 * docs/man/grub-kbdcomp.h2m: New file.
212
c76899a0
VS
2132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
214
215 Migrate grub-mkimage.c to argp.
216
217 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
218 (grub-setup): Likewise.
219 * util/grub-setup.c (print_version): Move to ...
220 * util/argp_common.c (print_version): ... here.
221 * util/grub-setup.c (argp_program_version_hook): Move to ...
222 * util/argp_common.c (argp_program_version_hook): ... here.
223 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
224 safety.
225 * util/grub-mkimage.c (main): Migrate to argp.
226
57db0757
VS
2272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * util/grub-mkrescue.in: Use same message as
230 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
231 for better translations.
232
18534ad9
VS
2332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
236 options with generic grub-mkrescue.in with the goal of future
237 merge.
238
c84ba308
VS
2392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/kern/mm.c: Add missing include of i18n.h
242 * grub-core/lib/relocator.c: Likewise.
243
347998c2
VS
2442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
247 error.
248 (allocate_pages): Check return value.
249 Replace fatal with error.
250 (grub_linux_boot): Replace printf with dprintf.
251 Check find_mmap_size return value.
252 Replace fatal with error.
253 Don't call grub_machine_fini.
254 (grub_load_elf64): Replace printf with dprintf.
255 (grub_cmd_linux): Likewise.
256 (grub_cmd_initrd): Likewise.
257 (grub_cmd_payload): Likewise.
258
c779226e
VS
2592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
262 message.
263 * grub-core/video/radeon_fuloong2e.c
264 (grub_video_radeon_fuloong2e_setup): Likewise.
265 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
266 * grub-core/video/video.c (grub_video_set_mode): Don't override
267 standard out of memory message.
268
dc87d45a
GS
2692012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
270
271 NetBSD disk wedge support.
272
273 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
274 [__NetBSD__]: Handle NetBSD disk wedges.
275 * util/getroot.c (convert_system_partition_to_system_disk)
276 [__NetBSD__]: Likewise.
277
055f856f
MW
2782012-02-03 Mark Wooding <mdw@distorted.org.uk>
279
280 * util/grub-mkconfig.in: Use umask rather than chmod to create
281 grub.cfg.new to avoid insecure grub.cfg.
282
4a9f8346
VS
2832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/commands/ls.c: Gettextize.
286 * grub-core/commands/setpci.c: Likewise.
287 * grub-core/commands/videotest.c: Likewise.
288 * grub-core/disk/geli.c: Likewise.
289 * grub-core/kern/mm.c: Likewise.
290 * grub-core/lib/relocator.c: Likewise.
291 * grub-core/loader/efi/appleloader.c: Likewise.
292 * grub-core/loader/i386/xnu.c: Likewise.
293 * grub-core/loader/ia64/efi/linux.c: Likewise.
294 * grub-core/loader/xnu.c: Likewise.
295 * grub-core/net/dns.c: Likewise.
296 * grub-core/net/net.c: Likewise.
297 * grub-core/script/lexer.c: Likewise.
298 * grub-core/script/parser.y: Likewise.
299 * grub-core/script/yylex.l: Likewise.
300 * util/getroot.c: Likewise.
301 * util/grub-setup.c: Likewise.
302
a646a366
VS
3032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
306 number.
307
54e2be26
VS
3082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
311
f7c71e68
VS
3122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
315 macro.
316 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
317 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
318
a32d5c71
VS
3192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
322 * util/grub-install.in: Gettextize.
323 * util/grub-mkconfig.in: Likewise.
324 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
325 if not available.
326 (grub_warn): Gettextize.
327 * util/grub-mknetdir.in: Gettextize.
328 * util/grub-mkrescue.in: Likewise.
329 * util/grub-mkstandalone.in: Likewise.
330 * util/grub-reboot.in: Likewise.
331 * util/grub-set-default.in: Likewise.
332 * util/grub.d/00_header.in: Likewise.
333 * util/grub.d/10_hurd.in: Likewise.
334 * util/grub.d/10_kfreebsd.in: Likewise.
335 * util/grub.d/10_linux.in: Likewise.
336 * util/grub.d/10_netbsd.in: Likewise.
337 * util/grub.d/10_windows.in: Likewise.
338 * util/grub.d/20_linux_xen.in: Likewise.
339 * util/grub.d/30_os-prober.in: Likewise.
340 * po/POTFILES-shell.in: Regenerate.
341
69edd81a
RL
3422012-02-03 Richard Laager <rlaager@wiktel.com>
343
344 * util/grub-mkimage.c (main): Fix format-security warning.
345 * util/grub-mkrelpath.c (main): Likewise.
346 * util/grub-probe.c (main): Likewise.
347
65f08dbf
RL
3482012-02-03 Richard Laager <rlaager@wiktel.com>
349
350 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
351 failure.
352 Put back lost PRINT_DRIVE.
353
e9084abe
RL
3542012-02-03 Richard Laager <rlaager@wiktel.com>
355
356 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
357 (grub_guess_root_devices): Replace strlen with sizeof.
358 Avoid crash.
359 (find_root_devices_from_poolname): Remove unused variable.
360 Handle raidzN.
361
cf5f7ee7
VS
3622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
363
364 Support install on multi-device filesystems.
365
366 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
367 (grub_guess_root_devices): ...this. Return char **. All users updated.
368 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
369 Removed.
370 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
371 (find_root_devices_from_poolname): ... here.
372 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
373 Support zfs-fuse.
374 (grub_guess_root_device): Rename to ...
375 (grub_guess_root_devices): ... this. Return char **. All users updated.
376 * util/grub-install.in: Handle multi-device filesystems.
377 * util/grub-probe.c (probe). Make device_names a char **. Add delim
378 argument. All users updated.
379 Handle multi-device filesystems.
380 Use 'delim' as separator.
381 Remove device check to allow filesystems on file.
382 (main): Support -0 argument. Handle multi-device.
383 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
384 Fix a cross-device check while on it.
385 (arguments): Remove root_dev.
386 (argp_parser): Remove -r.
387 (main): Remove root_dev.
388
2f53a9ed
VS
3892012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
392
17e1d934
VS
3932012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
396 symbol.
397 Reported by: NODA, Kai <nodakai>.
398
d3e3fab5
VS
3992012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
400
401 Fix ehci on amd64.
402
403 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
404 pointers.
405 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
406 (grub_ehci_setup_qh): Likewise.
407 (grub_ehci_find_qh): Likewise.
408 (grub_ehci_transaction): Likewise.
409 (grub_ehci_setup_transfer): Likewise.
410 (grub_ehci_check_transfer): Likewise.
411 (grub_ehci_portstatus): Likewise.
412 (grub_ehci_detect_dev): Likewise.
413 (grub_ehci_transfer_controller_data): New field td_last_phys.
414 (grub_ehci_setup_transfer): Fill td_last_phys.
415 (grub_ehci_check_transfer): Use td_last_phys.
416
3008675b
SG
4172012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
418
419 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
420 if no submenu is present.
421
fc9b5652
AN
4222012-02-01 Aleš Nesrsta <starous@volny.cz>
423
424 CBI support.
425
426 * include/grub/usb.h (grub_usbms_protocol_t): New values
427 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
428 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
429 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
430 (grub_usbms_dev): Add subclass, protocol and intrpt.
431 Remove in_maxsz and out_maxsz.
432 (grub_usbms_reset): Rename to ...
433 (grub_usbms_bo_reset): .. this.
434 (grub_usbms_cbi_cmd): New function.
435 (grub_usbms_cbi_reset): Likewise.
436 (grub_usbms_reset): Likewise.
437 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
438 (grub_usbms_transfer): Rename to ...
439 (grub_usbms_transfer_bo): ... this.
440 (grub_usbms_transfer_cbi): Likewise.
441 (grub_usbms_transfer): Likewise.
442
a2b81d53
AN
4432012-02-01 Aleš Nesrsta <starous@volny.cz>
4442012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
445
446 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
447 the support for the CS5536 modification thereos and few bugfixes.
448
449 * grub-core/Makefile.core.def (ehci): New module.
450 * grub-core/bus/usb/ehci.c: New file.
451 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
452 port and hubaddr. All users updated.
453 Save port and hubaddr into dev structure.
454 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
455 define.
456 * include/grub/pci.h (grub_dma_phys2virt): New function.
457 (grub_dma_virt2phys): Likewise.
458 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
459
b1d51f02
VS
4602012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
463 check as some mkfs implementations omit it.
464
fc694106
VS
4652012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * docs/grub.texi (Unicode): Mention identifier and space limitations.
468
6c0920e3
VS
4692012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
472 Add new member volname2.
473 (grub_jfs_label): Use volname2 if available.
474
d1a46f9a
VS
4752012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
478 over last_mounted as seen in image generated by mkfs.nilfs2.
479 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
480
dec8ed14
VS
4812012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
484 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
485 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
486
7397c69b
VS
4872012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
490 over the sector.
491
b3fe42ad
VS
4922012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
495 subvolume name (by removing a bogus and useless check).
496
10476bb0
VS
4972012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
500 sizeof while on it.
501
9c08ad87
VS
5022012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
505 (grub_scsi_read_capacity10): ... this.
506 (grub_scsi_read_capacity16): New function.
507 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
508 0xffffffff.
509 Fix off-by-one error.
510 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
511 64-bit unsigned.
512 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
513 (grub_scsi_read_capacity10): ... this.
514 (grub_scsi_read_capacity_data): Rename to ...
515 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
516 (grub_scsi_read_capacity16): New struct.
517 (grub_scsi_read_capacity16_data): Likewise.
518 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
519 grub_scsi_cmd_read_capacity10.
520 New command grub_scsi_cmd_read_capacity16.
521
bc8d0f45
VS
5222012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
523
524 SCSI >2TiB support.
525
526 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
527 (grub_scsi_write16): Likewise.
528 (grub_scsi_read): Use read16 when necessary.
529 (grub_scsi_write): Likewise.
530 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
531 (grub_scsi_write16): Likewise.
532 (grub_scsi_cmd_t): Add READ16 and WRITE16.
533
cc774926
VS
5342012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
535
536 SCSI write support (for usbms mainly).
537
538 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
539 a const pointer.
540 (grub_scsi_write): Implement.
541 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
542
67639fd7
VS
5432012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
546 variable.
547
9079d3ed
VS
5482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/lib/posix_wrap/string.h (memchr): New function.
551
c6a6f204
VS
5522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * po/POTFILES.in: Regenerate.
555
ecbf8cd1
VS
5562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
559 with grub_printf to avoid unnecessary fatal failure.
560
0b3b3b38
VS
5612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
564 (INT_MAX): Likewise.
565 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
566 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
567 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
568 (strcpy): Likewise.
569 (strstr): Likewise.
570 (strchr): Likewise.
571 (strncpy): Likewise.
572 (strcat): Likewise.
573 (strncat): Likewise.
574 (strcoll): Likewise.
575 * include/grub/types.h (GRUB_SHRT_MAX): New define.
576 (GRUB_INT_MAX): Likewise.
577
db7337a3
VS
5782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
581 unexpected error.
582 (optimize_utf8): Likewise.
583 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
584
f37c87e1
VS
5852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/boot/i386/pc/lnxboot.S: Use
588 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
589 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
590 location.
591 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
592 definition.
593 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
594
63fe43f3
VS
5952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
598 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
599 now to avoid double free.
600 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
601 hostdisk.
602 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
603 * util/grub-probe.c (escape_of_path): Always return a new copy.
604 (print_full_name): Escape path.
605 (probe): Don't call grub_util_devname_to_ofpath on NULL.
606 Fix hints on abstractions.
607
ebe2c961
VS
6082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
611 Don't add "root" line if no compatibility hont is available.
612 Suggested by: Seth Goldberg.
613
2b5336a2
VS
6142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
617 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
618 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
619 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
620
74310bd8
VS
6212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
624
c30582ba
VS
6252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * util/grub-pe2elf.c (ehdr): Make static.
628 (shdr): Likewise.
629 (num_sections): Likewise.
630 (offset): Likewise.
631
5f47782c
VS
6322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
633
634 Eliminate ofpath limits and possible overflows.
635
636 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
637 (OF_PATH_MAX): Removed.
638 (MAX_DISK_CAT): New const.
639 (find_obppath): Use allocated rather than preallocated buffer.
640 Return result. Argument of_path removed. All users updated.
641 Add missing fdstat.
642 (xrealpath): New function.
643 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
644 Allocate rather than use preallocated buffer. All users updated.
645 (__of_path_common): Use allocated rather than preallocatecd buffer.
646 Return result. Argument of_path removed. All users updated.
647 (vendor_is_ATA): Read only needed part form the file.
648 (check_sas): Allocate depending on contents rather than fixed.
649 (main) [STANDALONE]: Handle NULL result.
650
f990cbf9
VS
6512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * grub-core/normal/completion.c (iterate_dev): Close the disk.
654
9c6e84b8
VS
6552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
656
657 Cryptodisk write support.
658
659 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
660 (grub_cryptodisk_decrypt): Moved logic to ...
661 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
662 (grub_cryptodisk_write): Implement.
663 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
664 (grub_util_fd_write): ... this. Make global.
665 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
666
87cf9744
VS
6672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * include/grub/list.h (grub_list_remove): Don't crash if element is
670 removed twice.
671
ca8c0baf
VS
6722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
673
674 Rename ofconsole to console.
675
676 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
677 as sysnonym to console.
678 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
679 * grub-core/term/ieee1275/console.c: ... this. All users updated.
680 Rename grub_ofconsole_ to grub_console_. All users updated
681 (grub_console_term_output): Rename "ofconsole" to "console".
682 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
683 as "console".
684
64c8b8f6
VS
6852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
688 handling.
689 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
690 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
691 GRUB_DISK_DEVICE_FILE_ID.
692
f6c434d5
VS
6932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
696 and improve performance.
697
5858b42d
VS
6982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
701 missing ieee1275/ prefix on whole disk.
702
4ed3c26b
VS
7032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
706 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
707
df71143e
VS
7082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
711
076e7c0f
VS
7122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
713
714 Merge common RAID and LVM logic to an abstract diskfilter.
715 Add LDM support using the same framework.
716
717 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
718 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
719 (libgrubmods): Remove grub-core/disk/raid.c and
720 grub-core/partmap/gpt.c.
721 * grub-core/Makefile.core.def (ldm): New module.
722 (raid): Renamed to diskfilter. All users updated.
723 * grub-core/disk/raid.c: Moved to ...
724 * grub-core/disk/diskfilter.c: ... here.
725 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
726 (lv_num): New var.
727 (find_array): Renamed to ...
728 (find_lv): ... this. Support multi-LV. Skip nameless LVs
729 (grub_is_array_readable): Renamed to ...
730 (grub_is_lv_readable): ... this. Support multinode hierarchy.
731 (insert_array): New argument id.
732 (is_node_readable): New function.
733 (scan_device): Rename to ...
734 (scan_disk): .. this. Restrict to one disk.
735 (scan_devices): New function.
736 (grub_diskfilter_iterate): Support multi-LV.
737 Skip invisible and nameless LVs.
738 (grub_diskfilter_memberlist): Support multi-LV.
739 (grub_diskfilter_read_node): New function.
740 (grub_raid_read): Most of logic moved to ...
741 (read_segment): ... here
742 (read_lv): New function.
743 (grub_diskfilter_get_vg_by_uuid): New function.
744 (grub_diskfilter_make_raid): Likewise.
745 * grub-core/disk/ldm.c: New file.
746 * grub-core/disk/lvm.c (vg_list): Removed.
747 (lv_count): Likewise.
748 (scan_depth): Likewise.
749 (is_lv_readable): Likewise.
750 (grub_lvm_getvalue): Advance pointer past the number.
751 (find_lv): Removed.
752 (do_lvm_scan): Refactored into ...
753 (grub_lvm_detect): ... this. Support raid.
754 (grub_lvm_iterate): Removed.
755 (grub_lvm_memberlist): Likewise.
756 (grub_lvm_open): Likewise.
757 (grub_lvm_close): Likewise.
758 (read_lv): Likewise.
759 (read_node): Likewise.
760 (is_node_readable): Likewise.
761 (is_lv_readable): Likewise.
762 (grub_lvm_read): Likewise.
763 (grub_lvm_write): Likewise.
764 (grub_lvm_dev): Use diskfilter
765 (GRUB_MOD_INIT): Likewise.
766 (GRUB_MOD_FINI): Likewise.
767 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
768 new interface.
769 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
770 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
771 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
772 grub_diskfilter_read_node.
773 Fix a bug with xor.
774 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
775 grub_diskfilter_read_node.
776 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
777 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
778 (grub_disk_dev_iterate): Move from here...
779 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
780 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
781 Make global.
782 (grub_hostdisk_find_partition_start): Likewise.
783 (grub_hostdisk_os_dev_to_grub_drive): New function.
784 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
785 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
786 * util/getroot.c (make_device_name): ... here.
787 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
788 Move to ...
789 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
790 * grub-core/kern/emu/hostdisk.c
791 (convert_system_partition_to_system_disk): Move to ...
792 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
793 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
794 * util/getroot.c (device_is_wholedisk): ... here.
795 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
796 * util/getroot.c (find_system_device): ... here.
797 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
798 Move to ...
799 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
800 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
801 Move to ...
802 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
803 Handle LDM.
804 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
805 Move to ...
806 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
807 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
808 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
809 DISKFILTER.
810 * include/grub/raid.h: Renamed to ...
811 * include/grub/diskfilter.h: ... this.
812 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
813 (GRUB_RAID_LAYOUT_*): Make into array.
814 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
815 (grub_diskfilter_vg): New struct.
816 (grub_diskfilter_pv_id): Likewise.
817 (grub_raid_member): Removed.
818 (grub_raid_array): Likewise.
819 (grub_diskfilter_pv): New struct.
820 (grub_diskfilter_lv): Likewise.
821 (grub_diskfilter_segment): Likewise.
822 (grub_diskfilter_node): Likewise.
823 (grub_diskfilter_get_vg_by_uuid): New proto.
824 (grub_raid_register): Inline.
825 (grub_diskfilter_unregister): Likewise.
826 (grub_diskfilter_make_raid): New proto.
827 (grub_diskfilter_vg_register): Likewise.
828 (grub_diskfilter_read_node): Likewise.
829 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
830 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
831 (grub_util_is_ldm): Likewise.
832 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
833 (grub_hostdisk_find_partition_start): Likewise.
834 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
835 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
836 New definition.
837 (grub_gpt_partition_map_iterate): New proto.
838 * include/grub/lvm.h (grub_lvm_vg): Removed.
839 (grub_lvm_pv): Likewise.
840 (grub_lvm_lv): Likewise.
841 (grub_lvm_segment): Likewise.
842 (grub_lvm_node): Likewise.
843 * util/getroot.c [...]
844 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
845 (probe_abstraction): Likewise.
846 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
847 (main): Remove dead logic.
848
8a7f9b9c
VS
8492012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
850
851 Simplify root device discover and don't fail when trying to open
852 incorrect devices.
853
854 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
855 function.
856 (get_diskname_from_path): Likewise.
857 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
858 of iterating.
859
30545b85
VS
8602012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
863
28ea58cf
VS
8642012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
867 pastthe end.
868
692dabca
VS
8692012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * util/grub-install.in: Add missing \.
872 Reported by: gentoofan
873
f6e4ea70
VS
8742012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
875
876 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
877 (direct_read): Use correct compressed size.
878 (grub_squash_read_data): Likewise.
879
8802012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
881
882 * docs/grub.texi (Platform limitations): New section.
883 (Platform-specific operations): Likewise.
884 * docs/grub-dev.texi (Porting): Likewise.
885
76261110
VS
8862012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
887
888 IEEE1275 disk write support.
889
890 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
891 const void *.
892 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
893 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
894 and seek loginc to ...
895 (grub_ofdisk_prepare): ... here.
896 (grub_ofdisk_write): Implement.
897
fc36d603
VS
8982012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
899
900 ARC disk write support.
901
902 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
903 (reopen): New argument writable. All users updated.
904 Handle required access mode.
905 (grub_arcdisk_write): Implement.
906 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
907 (grub_arc_firmware_vector): Make buffer to write a const buffer.
908
e06c2e7a
VS
9092012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
912 (read_sblock): Don't attempt to read superblocks outside the disk size.
913
ff447958
VS
9142012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
917 first superblock to find the second one when possible.
918
9e88df39
VS
9192012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * util/grub-install.in: Fix an ARC bug.
922 Print a warning if no platform-specific setup is available.
923
bb26e4ff
VS
9242012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
925
926 Use static allocation rather than scratch pointer in reed_solomon.
927 It decreases its size significantly and avoids a variable in .text.
928
929 * grub-core/lib/reed_solomon.c (scratch): Removed.
930 (chosenstat): New const or static array.
931 (sigma): Likewise.
932 (errpot): Likewise.
933 (errpos): Likewise.
934 (sy): Likewise.
935 (mstat): Likewise.
936 (errvals): Likewise.
937 (eqstat): Likewise.
938 (pol_evaluate): Replace x with log_x argument. All users updated.
939 (syndroms): Removed.
940 (gauss_solve): Use statically allocated arrays.
941 (rs_recover): Likewise.
942 Calculate syndroms directly.
943 (decode_block): Use statically allocated arrays.
944 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
945 (main) [TEST]: Allow -DTEST -DSTANDALONE.
946
2e13ede5
VS
9472012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
948
949 Eliminate fixed limit on reed solomon decoder length.
950
951 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
952 rather than hardcoding the address.
953 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
954 no_reed_solomon_length.
955 Move gate_a20 to no-reed-solomon part.
956 Don't force a particular size of no reed-solomon part.
957 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
958 Removed.
959 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
960 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
961
f8a9ab12
VS
9622012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/commands/wildcard.c (match_files): Handle filenames
965 without explicit device.
966 (wildcard_expand): Don't add explicit device if not already present.
967 * tests/grub_script_echo1.in: Add a new expansion test.
968
87edb894
VS
9692012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
970
971 Replace single-linked with double-linked lists. It results in more
972 compact and more efficient code.
973
974 * grub-core/kern/list.c (grub_list_push): Moved from here ...
975 * include/grub/list.h (grub_list_push): ... to here. Set prev.
976 (grub_list_remove): Moved from here ...
977 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
978 (grub_prio_list_insert): Set prev.
979 * include/grub/list.h (grub_list): Add prev. All users updated.
980
48b391e9
VS
9812012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
982
983 Handle newer autotools. Add some missing quotes while on it.
984
985 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
986 (pkglib_DATA): Move grub-mkconfig_lib from here ...
987 (pkgdata_DATA): ... here.
988 * Makefile.util.def (update-grub_lib): Removed.
989 * conf/Makefile.common (pkglib_DATA): Removed.
990 (pkglib_SCRIPTS): Likewise.
991 (pkgdata_DATA): New variable.
992 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
993 needed.
994 Add missing quotes.
995 Remove unused variable while on it.
996 * tests/util/grub-shell.in: Likewise.
997 * util/grub-install.in: Likewise.
998 * util/grub-mkconfig.in: Likewise.
999 * util/grub-mknetdir.in: Likewise.
1000 * util/grub-mkrescue.in: Likewise.
1001 * util/grub-mkstandalone.in: Likewise.
1002 * util/grub.d/00_header.in: Likewise.
1003 * util/grub.d/10_hurd.in: Likewise.
1004 * util/grub.d/10_illumos.in: Likewise.
1005 * util/grub.d/10_kfreebsd.in: Likewise.
1006 * util/grub.d/10_linux.in: Likewise.
1007 * util/grub.d/10_netbsd.in: Likewise.
1008 * util/grub.d/10_windows.in: Likewise.
1009 * util/grub.d/20_linux_xen.in: Likewise.
1010 * util/grub.d/30_os-prober.in: Likewise.
1011 * util/update-grub_lib.in: Removed.
1012
10132012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
1014
1015 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
1016 a workaround for intel problem.
1017
66832792
PRP
10182012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
10192012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10202012-01-23 pfsmorigo
1021
1022 * util/grub-install.in: Support dd'in into PreP partition.
1023 * util/grub-probe.c (probe): Support discovering partition type.
1024 (main): Support -t msdos_parttype.
1025
7816a17e
VS
10262012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
1029 infinite recursion using counter.
1030 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
1031 init to skip it if the magic check fails.
1032 (dec_stream_header): Init s->crc32.
1033
8f9d3a8c
ZB
10342012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10352012-01-22 Zachary Bedell <pendorbound@gmail.com>
10362012-01-22 Richard Laager <rlaager@wiktel.com>
1037
1038 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
1039 All users updated.
1040 (find_bestub): Determine correct size.
1041 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
1042 (scan_disk): Align the size down.
1043 Call check pool before find_bestub to have ashift.
1044
b055dd32
VS
10452012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
1048 dprintf in no-malloc zone.
1049
d779e9bd
ML
10502012-01-22 Mario Limonciello <mario_limonciello@dell.com>
1051
1052 * configure.ac: Add back in test for limits.h.
1053
b508af69
VS
10542012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 Support 4K-sector NTFS.
1057
1058 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
1059 (grub_ntfs_data): Remove blocksize.
1060 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
1061 Remove data argument. All users updated.
1062
dad9c8b5
VS
10632012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
1066 being in .text to avoid dprel references.
1067 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
1068 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
1069 (grub_arch_highmemsize): Likewise.
1070 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
1071 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
1072 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
1073
d43a777e
VS
10742012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
1077
1078 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
1079 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
1080
34e4208f
VS
10812012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
1084 GRUB_UTIL.
1085 (grub_set_datetime_cmos): Likewise.
1086
3ec0fc1c
VS
10872012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 Make XZ compression parameters dependent on target and not host CPU.
1090
1091 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
1092 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
1093
22489834
VS
10942012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
1097 set but not used variable.
1098
8502fbca
VS
10992012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
1102 created when no uuid support is compiled into mkfs.reiser.
1103
76df2068
VS
11042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
1107 (utf8_to_macroman): Do the opposite.
1108 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
1109
64e3f8f6
VS
11102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * configure.ac: Refise build qemu_mips w/o unifont.
1113
9c271078
VS
11142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 Eliminate grub_min/grub_max prone to overflow usage.
1117
1118 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
1119 (poll_nonroot_hub): Likewise.
1120 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
1121 (grub_affs_label): Likewise.
1122 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
1123 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
1124 (grub_hfs_label): Likewise.
1125 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
1126 * grub-core/fs/zfs/zfs.c (MIN): Remove.
1127 (zap_leaf_array_equal): Use grub_size. Remove MIN.
1128 (zap_leaf_array_get): Likewise.
1129 (dnode_get_path): Likewise.
1130 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
1131 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
1132 * grub-core/script/execute.c (grub_script_break): Likewise.
1133 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
1134 grub_max.
1135 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
1136 * include/grub/misc.h (grub_min): Removed.
1137 (grub_max): Likewise.
1138
80662dbc
VS
11392012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1140
1141 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
1142 direct.inode = 0.
1143
e6da1467
VS
11442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
1147
b1ac4cb1
VS
11482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
1151
b4bf7c3b
VS
11522012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
1155 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
1156
8ee1101a
VS
11572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
1160 rather than a hack for grub_strncasemap.
1161
11622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 Support multiple initrds
1165 Note: part of this was accidently committed in r3739.
1166
1167 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
1168 initrd.
1169 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1170 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1171 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1172 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1173 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1174
4d1e2bc9
VS
11752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
1178 disks with unknown size.
1179 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
1180
75b49ebe
VS
11812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 Remove defines pertaining to arbitrary limits not affecting GRUB
1184 anymore.
1185
1186 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
1187 (EXT2_MAX_SYMLINKCNT): Likewise.
1188 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
1189 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
1190 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
1191 (GRUB_PXE_MAX_BLKSIZE): Likewise.
1192 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
1193 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
1194 (DN_MAX_OBJECT_SHIFT): Likewise.
1195 (DN_MAX_OFFSET_SHIFT): Likewise.
1196 (DN_MAX_OBJECT): Likewise.
1197 (DNODES_PER_LEVEL_SHIFT): Likewise.
1198 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
1199 (SPA_MAXBLOCKSIZE): Likewise.
1200 (SPA_BLOCKSIZES): Likewise.
1201 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
1202 (MZAP_MAX_BLKSZ): Likewise.
1203
74a1dce7
VS
12042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
1207 handle NULL appropriately.
1208 Remove MIN.
1209
30c7d3ce
VS
12102012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 Fix efiemu.
1213
1214 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
1215 cpu/types.h.
1216 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
1217 * configure.ac: Fix efiemu check.
1218
3c76ea0c
VS
12192012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
1222 grub_probe.
1223 Reported by: adamwill
1224
7e532280
SG
12252012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
1226
1227 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
1228
30492374
VS
12292012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 Fix handling of wide characters in gfxterm.
1232
1233 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
1234 (clear_char): Likewise.
1235 (paint_char): Skip code == NULL chars.
1236 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
1237
e70cb72f
VS
12382012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/normal/charset.c: Move comment to right place.
1241
5c827cf9
VS
12422012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
1245 (GRUB_AFFS_FLAG_FFS): Put back where it was.
1246 (grub_affs_mount): Revert the correct version checking.
1247
53603892
VS
12482012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * docs/grub.texi (Unicode): Mention several other unsupported features.
1251
ff094b9b
VS
12522011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
1255 case statements as compile-time one.
1256 (direct_read): Prevent spurious warnings.
1257 (grub_squash_read_data): Likewise.
1258
c029da8a
VS
12592011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 Various squash4 fixes and LZO and XZ support.
1262
1263 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
1264 Add xzembed source files.
1265 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
1266 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
1267 (grub_squash_inode): New subtype long_dir.
1268 (SQUASH_TYPE_LONG_DIR): New inode type.
1269 (COMPRESSION): New enum.
1270 (XZBUFSIZ): New const.
1271 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
1272 (read_chunk): Use data->decompress.
1273 (zlib_decompress): New function.
1274 (lzo_decompress): Likewise.
1275 (xz_decompress): Likewise.
1276 (squash_mount): Set new data fields.
1277 (grub_squash_iterate_dir): Handle long dir.
1278 (squash_unmount): Free xzdec and xzbuf.
1279 (grub_squash_open): Check ino type.
1280 (direct_read): Stylistic fixes. Use data->decompress.
1281 (grub_squash_read_data): Likewise.
1282 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
1283 (get_byte): Likewise.
1284 (grub_zlib_disk_read): Removed.
1285 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
1286 (GRUB_POSIX_BOOL_DEFINED): New define.
1287 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
1288 * grub-core/lib/xzembed/xz.h: Addmissing includes.
1289 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
1290 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
1291
7a45a539
VS
12922011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 Don't override more informative errors.
1295
1296 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
1297 * grub-core/font/font.c (open_section): Likewise.
1298 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
1299 filename. Don't override errors.
1300 (grub_cmd_openbsd_ramdisk): Don't override errors.
1301 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
1302 (grub_cmd_initrd): Likewise.
1303 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1304 (grub_cmd_initrd): Likewise.
1305 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
1306 (grub_cmd_linux): Likewise.
1307 (grub_cmd_initrd): Likewise.
1308 (grub_cmd_payload): Likewise.
1309 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1310 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
1311 (grub_cmd_module): Likewise.
1312 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1313 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1314 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
1315 (grub_cmd_xnu_mkext): Likewise.
1316 (grub_cmd_xnu_ramdisk): Likewise.
1317 (grub_xnu_check_os_bundle_required): Likewise.
1318 (grub_xnu_load_kext_from_dir): Likewise.
1319 (grub_cmd_xnu_kextdir): Likewise.
1320 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
1321
b2d004db
VS
13222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
1325 as 1024 in block size field. Found on one of my test images.
1326 Small optimisation while on it.
1327
ec000eac
VS
13282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
1331 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
1332 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
1333 performance fixes while on it.
1334 (grub_sfs_close): Fix memory leak while on it.
1335 (grub_sfs_label): Convert Latin1 to UTF-8.
1336
f50e1165
VS
13372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
1340 space to avoid overflows.
1341 (grub_hfs_label): Convert from macroman to UTF-8.
1342
2ae254de
VS
13432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
1346
0108f491
VS
13472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
1350
f45f5f89
VS
13512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * unicode: Import Unicode 6.0 data.
1354
4d8c4765
VS
13552011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1356
63fa8ef9
VS
1357 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
1358 outside of range.
1359
13602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
1363
1364 * include/grub/charset.h (grub_getend): New function.
1365 * grub-core/script/function.c (grub_script_function_find): Use
1366 grub_getend.
1367 * grub-core/normal/completion.c (add_completion): Likewise.
1368
f3cb4a4e
VS
13692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
1372 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
1373 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
1374 (GRUB_UNICODE_TAG_END): Likewise.
1375 (GRUB_UNICODE_LAST_VALID): Likewise.
1376
5da8dbc5
VS
13772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
1380 len and make it smaller. All users updated.
1381 * util/import_unicode.py: Put length and not end character.
1382 Check length.
1383
8569f13d
VS
13842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 Make better Unicode-compliant and unify some UTF-8 code pathes.
1387
1388 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
1389 valid character.
1390 (grub_is_valid_utf8): Use grub_utf8_process.
1391 Check resulting code range.
1392 (grub_utf8_to_ucs4): Use grub_utf8_process.
1393 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
1394 valid character.
1395
cc4fddf5
VS
13962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
1399
bbc47747
VS
14002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * docs/grub.texi (Filesystems): Mention AFS.
1403
f63d6bf4
VS
14042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * docs/grub.texi (Filesystems): Clarify restrictions.
1407 (Regexp): Mention non-Unicode regexp behaviour.
1408 (Other): Mention non-Unicode matching behaviour.
1409
74bbf0db
VS
14102011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1411
f63d6bf4 1412 Make HFS implementation use MacRoman.
74bbf0db
VS
1413
1414 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
1415 (macroman): New const array.
1416 (macroman_to_utf8): New function.
1417 (utf8_to_macroman): Likewise.
1418 (grub_hfs_find_dir): Use utf8_to_macroman.
1419 (grub_hfs_dir): Use macroman_to_utf8.
1420 Set case_insensitive.
1421
4ea0316e
VS
14222011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
1425
d3c13cbd
VS
14262011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 Integrate hints into autogeneration scripts.
1429
1430 * docs/grub.texi (Filesystems): Add a hostdisk example.
1431 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
1432 (grub-probe): Add ofpath.
1433 * gentpl.py: Remove group nosparc64.
1434 * grub-core/commands/search.c (cache_entry): New struct.
1435 (cache): New var.
1436 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
1437 * grub-core/commands/search_wrap.c (options): Add platform-specific
1438 hint options.
1439 (grub_cmd_search): Handle platform-specific hints.
1440 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
1441 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
1442 (grub_util_biosdisk_data): Likewise.
1443 (grub_util_biosdisk_open): Set device_map.
1444 (read_device_map): Handle "" as indication of no map.
1445 Set device_map.
1446 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
1447 (grub_util_biosdisk_get_compatibility_hint): New function.
1448 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
1449 * include/grub/emu/hostdisk.h
1450 (grub_util_biosdisk_get_compatibility_hint): New proto.
1451 * util/grub-install.in: Don't call grub-mkdevicemap.
1452 Add platform-specific hint to load.cfg.
1453 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
1454 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1455 hints. Set root preliminary to compatibility hint, not to OS name.
1456 * util/grub-probe.c (PRINT_*): Add hints.
1457 (print): Make static.
1458 (escape_of_path): New function.
1459 (guess_bios_drive): Likewise.
1460 (guess_efi_drive): Likewise.
1461 (guess_baremetal_drive): Likewise.
1462 (print_full_name): Likewise.
1463 (probe): Handle hints.
1464 (main): Likewise.
1465 * util/ieee1275/devicemap.c: Removed.
1466 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
1467 updated.
1468 (grub_util_devname_to_ofpath): Return NULL on failure.
1469
1470 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
1471 resource leak.
1472 * util/getroot.c (grub_util_pull_device): Fix memory leak.
1473
1474 * po/POTFILES.in: Regenerated.
1475
1476 Allow purely long options
1477
1478 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
1479 (SHORT_ARG_USAGE): Likewise.
1480 (grub_arg_show_help): Compare opt with help_options.
1481 (parse_option): Receive opt as argument. If makes big simplificatons.
1482 All users updated
1483
00ce2df3
VS
14842011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
1487 Restructure to avoid warning.
1488
e77e325f
VS
14892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * util/grub-install.in: Account for possible escaped comma in device
1492 name.
1493
165099ea
VS
14942011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
1497 channel.
1498
ce4a999d
VS
14992011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
1502 allocation and zero-setting.
1503 (grub_ieee1275_get_devname): Check that alias is complete.
1504
379586ad
VS
15052011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
1508 unaligned segments.
1509
9197b0ad
VS
15102011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
1513 prefix.
1514 (grub_ofdisk_open): Check and discard ieee1275 prefix.
1515 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1516 Add ieee1275 prefix.
1517
edddb7f9
VS
15182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * docs/grub.texi (Filesystems): Update.
1521
a1a8b1b9
VS
15222011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 Support odc, newc and bigendian cpio formats.
1525
1526 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
1527 * grub-core/Makefile.core.def (newc): New module.
1528 (odc): Likewise.
1529 (cpio_be): Likewise.
1530 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
1531 (MAGIC): Likewise.
1532 (MAGIC2): Likewise.
1533 (head) [MODE_ODC]: Adapt for the format.
1534 (head) [MODE_NEWC]: Likewise.
1535 (head) [!MODE_*]: Write fields of interest as arrays.
1536 (MAGIC_USTAR): Removed.
1537 (read_number) [MODE_NEWC]: Change to hex.
1538 (read_number) [!MODE_*]: Parse binary arrays.
1539 (grub_cpio_find_file): Factor out the code for better structure and
1540 always use read_number.
1541 (grub_cpio_mount): Use MAGIC and MAGIC2.
1542 (grub_cpio_dir): Exit on first hook non-0 return.
1543 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
1544 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
1545 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
1546 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
1547 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
1548 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
1549 * grub-core/fs/newc.c: New file.
1550 * grub-core/fs/odc.c: Likewise.
1551 * grub-core/fs/cpio_be.c: Likewise.
1552
58eba9ee
VS
15532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 Fix handling of tar numbers occupying the whole field.
1556
1557 * grub-core/fs/cpio.c (read_number): New function.
1558 (grub_cpio_find_file): Use read_number instead of strtoull.
1559
a54a0e12
VS
15602011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
1563 occupying the whole field size.
1564
a6120aca
LA
15652011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
1566
1567 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
1568
a93964ce
VS
15692011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
1572
3ea1ca46
SG
15732011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
1574
1575 * grub-core/Makefile.core.def (lzma_decompress): Add missing
1576 TARGET_IMG_LDFLAGS.
1577
b87f7ef2
VS
15782011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * util/getroot.c (ESCAPED_PATH_MAX): New define.
1581 (mountinfo_entry): Increase the field size to take escaping into
1582 account.
1583 (find_root_device_from_libzfs): Add one byte to size of strings for
1584 security.
1585
62092395
VS
15862011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
1589 an assert.
1590 * util/grub-setup.c (setup): Likewise.
1591
1f0b1a77
VS
15922011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
1595 _LzmaDecodeA.
1596
8eba9997
VS
15972011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * docs/grub.texi (Internationalisation): New section.
1600
dd0c91e9
VS
16012011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * docs/grub.texi (Loopback booting): New section.
1604
16052011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
1606
1607 * util/grub-mkstandalone.in: Fix minor typo errors.
1608
198e150a
VS
16092011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
1612
1613 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
1614 net/icmp.c and net/icmp6.c.
1615 (http): New module.
1616 (priority_queue): Likewise.
1617 * grub-core/io/bufio.c: Rewritten.
1618 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
1619 TYPE_WITH_CONFIGFILE_OPTION.
1620 (legacy_commands): Add bootp and dhcp.
1621 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
1622 (grub_legacy_parse): Likewise.
1623 * grub-core/lib/priority_queue.c: New file.
1624 * grub-core/net/arp.c: Add missing license header.
1625 (arp_find_entry): Removed.
1626 (arp_find_entry): Likewise.
1627 (grub_net_arp_resolve): Rename to ...
1628 (grub_net_arp_send_request): ...this.
1629 (grub_net_arp_receive): New card argument.
1630 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
1631 Set router and DNS server.
1632 (grub_net_configure_by_dhcp_ack): Handle routing information.
1633 (grub_cmd_bootp): Set checksum.
1634 (grub_bootp_init): Remove net_dhcp.
1635 * grub-core/net/dns.c: New file.
1636 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
1637 completion.
1638 (get_card_packet): Handle allocation.
1639 (grub_efinet_findcards): Set mtu.
1640 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
1641 (get_card_packet): Handle allocation.
1642 (emucard): Set mtu.
1643 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
1644 (GRUB_MOD_INIT): Set mtu.
1645 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
1646 mtu.
1647 (get_card_packet): Handle allocation.
1648 (grub_ofnet_findcards): Set mtu.
1649 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
1650 assert.
1651 (grub_net_recv_ethernet_packet): Handle IPv6.
1652 * grub-core/net/http.c: New file.
1653 * grub-core/net/icmp.c: Likewise.
1654 * grub-core/net/icmp6.c: Likewise.
1655 * grub-core/net/ip.c (ip6addr): New type.
1656 (ip6hdr): Likewise.
1657 (reassemble): Likewise.
1658 (cmp): New function.
1659 (reassembles): New variable.
1660 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
1661 (id): New variable.
1662 (send_fragmented): New function.
1663 (grub_net_send_ip_packet): Rename to ...
1664 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
1665 Handle non-UDP.
1666 (grub_net_recv_ip_packets): Rename to ...
1667 (handle_dgram): ... this. Check checksum. Handle non-UDP.
1668 (free_rsm): New function.
1669 (free_old_fragments): Likewise.
1670 (grub_net_recv_ip4_packets): New function.
1671 (grub_net_send_ip6_packet): Likewise.
1672 (grub_net_send_ip_packet): Likewise.
1673 (grub_net_recv_ip6_packets): Likewise.
1674 (grub_net_recv_ip_packets): Likewise.
1675 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
1676 (LINK_LAYER_CACHE_SIZE): New const.
1677 (link_layer_find_entry): New function.
1678 (grub_net_link_layer_add_address): Likewise.
1679 (grub_net_link_layer_resolve_check): Likewise.
1680 (grub_net_link_layer_resolve): Likewise.
1681 (grub_net_ipv6_get_slaac): Likewise.
1682 (grub_net_ipv6_get_link_local): Likewise.
1683 (grub_cmd_ipv6_autoconf): Likewise.
1684 (parse_ip): Handle one number representation.
1685 (parse_ip6): New functoion.
1686 (match_net): Handle IPv6.
1687 (grub_net_resolve_address): Handle IPv6 and DNS.
1688 (grub_net_resolve_net_address): Handle IPv6.
1689 (route_cmp): New function.
1690 (grub_net_route_address): Find best route.
1691 (grub_net_addr_to_str): Handle IPv6.
1692 (grub_net_addr_cmp): New function.
1693 (grub_net_add_addr): Register local route.
1694 (print_net_address): Handle net address.
1695 (grub_net_poll_cards): Retransmit TCP.
1696 (grub_net_poll_cards_idle_real): Likewise.
1697 (have_ahead): New function.
1698 (grub_net_seek_real): Use underlying seek.
1699 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
1700 * grub-core/net/tcp.c: New file.
1701 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
1702 (cmp): New function.
1703 (ack): Likewise.
1704 (tftp_receive): Handle unordered input.
1705 (destroy_pq): New function.
1706 (tftp_close): Close pq.
1707 * grub-core/net/udp.c: Put missing license header.
1708 (grub_net_udp_socket): New function.
1709 (udp_socket_register): Likewise.
1710 (grub_net_udp_close): Likewise.
1711 (grub_net_recv_udp_packet): Check checksum.
1712 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
1713 * include/grub/misc.h (grub_memchr): New function.
1714 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
1715 (grub_net_card_driver): Return buf in recv.
1716 (grub_net_slaac_mac_list): New struct.
1717 (grub_network_level_protocol_id): Add ipv6.
1718 (grub_net_network_level_addr): Likewise.
1719 (grub_net_network_level_net_addr): Likewise.
1720 (grub_net_app_protocol): Add seek.
1721 (grub_net_socket): Removed.
1722 (grub_net_sockets): Likewise.
1723 (grub_net_socket_register): Likewise.
1724 (grub_net_socket_unregister): Likewise.
1725 (FOR_NET_SOCKETS): Likewise.
1726 (grub_net_add_addr): Add const.
1727 (GRUB_NET_BOOTP_*): New enum.
1728 (grub_net_addr_cmp): New proto.
1729 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
1730 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
1731 (grub_net_hwaddr_to_str): NEw proto.
1732 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
1733 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
1734 (grub_dns_init): New proto.
1735 (grub_dns_fini): Likewise.
1736 (grub_net_tcp_retransmit): Likewise.
1737 (grub_net_link_layer_add_address): Likewise.
1738 (grub_net_link_layer_resolve_check): Likewise.
1739 (grub_net_link_layer_resolve): Likewise.
1740 (grub_net_dns_lookup): Likewise.
1741 (grub_net_add_dns_server): Likewise.
1742 (grub_net_remove_dns_server): Likewise.
1743 (GRUB_NET_TRIES): New const.
1744 (GRUB_NET_INTERVAL): Likewise.
1745 * include/grub/net/arp.h: Mostly rewritten.
1746 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
1747 * include/grub/net/ip.h: Mostly rewritten.
1748 * include/grub/net/netbuff.h: Indent.
1749 * include/grub/net/tcp.h: New file.
1750 * include/grub/net/udp.h: Mostly rewritten.
1751 * include/grub/priority_queue.h: New file.
1752 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
1753 (grub_swap_bytes64_compile_time): Likewise.
1754 (grub_cpu_to_be16_compile_time): Likewise.
1755 (grub_cpu_to_be32_compile_time): Likewise.
1756 (grub_cpu_to_be64_compile_time): Likewise.
1757 (grub_be_to_cpu64_compile_time): Likewise.
1758
215c1800
VS
17592011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
1762 UINT_TO_PTR with cast.
1763
c17e546c
VS
17642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
1767 don't use them.
1768
ff6b18b6
VS
17692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
1772 already there.
1773
70ffcc93
VS
17742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
1777 confusing ipxe.
1778
e5f4d260
VS
17792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
1782 Add missing const attribute.
1783 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
1784 Likewise.
1785 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
1786 Likewise.
1787
8e54b4b7
VS
17882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
1791 misaligned access.
1792 (serpent_setkey): Likewise.
1793 (serpent_encrypt_internal): Likewise.
1794 (serpent_decrypt_internal): Likewise.
1795 (serpent_encrypt): Don't put an alignment-increasing cast.
1796 (serpent_decrypt): Likewise.
1797 (serpent_test): Likewise.
1798
813c0a2b
VS
17992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
1802
f2b60fbd
VS
18032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
1806
1807 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
1808 grub_addr_t casts.
1809 (PTR_TO_UINT64): Likewise.
1810 (PTR_TO_UINT32): Likewise.
1811
5ef5c511
VS
18122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * util/grub-mkimage.c (generate_image): Decrease the higher limit
1815 because of stack.
1816 * util/grub-setup.c (setup): Don't add redundancy past the higher load
1817 limit.
1818
c476e6df
VS
18192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
1822 text_width > available width a bit more gracefully.
1823
384ad7cc
VS
18242011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
1827 current address calculation.
1828
96f8caf8
VS
18292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
1832 stack.
1833 (encode_block): Likewise.
1834
276b7a8b
VS
18352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
1838 certainety.
1839
e3fd394a
VS
18402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
1843 non-RS part to avoid RS messing with GDT.
1844 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1845 Increase to suit in realmode routines.
1846
18472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 * grub-core/kern/i386/realmode.S: Increase alignment.
1850 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
1851
ee9c2e7a
VS
18522011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
1855 be deterministic.
1856 (syndroms): Compute 0 syndrom.
1857 (rs_recover): Use 0 syndrom.
1858
7a7f7cc9
VS
18592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
1862
a14b16d1
VS
18632011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
1866 brackets.
1867
9f59e9fc
VS
18682011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1869
ca1b552c
VS
1870 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
1871 account.
1872 (get_top_pad): Likewise.
1873 (get_right_pad): Likewise.
1874 (get_bottom_pad): Likewise.
1875
18762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 1879
e739d698
VS
18802011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
1883 attribute as the structure isn't guaranteed to be properly aligned.
1884 (grub_efi_pci_device_path): Likewise.
1885 (grub_efi_pccard_device_path): Likewise.
1886 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
1887 specify the size of `memory_type'.
1888 (grub_efi_vendor_device_path): Likewise.
1889 (grub_efi_controller_device_path): Likewise.
1890 (grub_efi_acpi_device_path): Likewise.
1891 (grub_efi_expanded_acpi_device_path): Likewise.
1892 (grub_efi_atapi_device_path): Likewise.
1893 (grub_efi_scsi_device_path): Likewise.
1894 (grub_efi_fibre_channel_device_path): Likewise.
1895 (grub_efi_1394_device_path): Likewise.
1896 (grub_efi_usb_device_path): Likewise.
1897 (grub_efi_usb_class_device_path): Likewise.
1898 (grub_efi_i2o_device_path): Likewise.
1899 (grub_efi_mac_address_device_path): Likewise.
1900 (grub_efi_ipv4_device_path): Likewise.
1901 (grub_efi_ipv6_device_path): Likewise.
1902 (grub_efi_infiniband_device_path): Likewise.
1903 (grub_efi_uart_device_path): Likewise.
1904 (grub_efi_vendor_messaging_device_path): Likewise.
1905 (grub_efi_hard_drive_device_path): Likewise.
1906 (grub_efi_cdrom_device_path): Likewise.
1907 (grub_efi_vendor_media_device_path): Likewise.
1908 (grub_efi_file_path_device_path): Likewise.
1909 (grub_efi_protocol_device_path): Likewise.
1910 (grub_efi_piwg_device_path): Likewise.
1911 (grub_efi_bios_device_path): Likewise.
1912
cb8f88ea
VS
19132011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
1916 (grub_ucs4_to_utf8_alloc): Likewise.
1917 (grub_ucs4_to_utf8): Likewise.
1918 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
1919 (grub_ucs4_to_utf8_alloc): Likewise.
1920
309e5352
VS
19212011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 AFFS never uses unicode.
1924
1925 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
1926 (grub_latin1_to_utf8): New inline function.
1927 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
1928
e7987e1b
VS
19292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
1932 overflow.
1933
efc2616e
VS
19342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
1937 (grub_squash_dirent_header): Likewise.
1938 (read_chunk): Don't double swap.
1939 (grub_squash_iterate_dir): Fix swap sizes.
1940
3c349f5a
VS
19412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
1944
b453412d
VS
19452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
1948 (grub_hfs_iterate_dir): Likewise.
1949
12e9d4d1
VS
19502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 Fix video on platforms where unaligned access is forbidden.
1953 Make several optimisations while on it.
1954
1955 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
1956 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1957 (grub_video_fbblit_replace_32bit_1bit): Likewise.
1958 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1959 Disable.
1960 (grub_video_fbblit_replace_16bit_1bit):
1961 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1962 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1963 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
1964 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
1965 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1966 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1967 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
1968 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
1969 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
1970 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
1971 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
1972 (grub_video_fbblit_replace_index_RGB888): Likewise.
1973 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
1974 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
1975 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
1976 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1977 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
1978 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1979 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1980 Disable.
1981 (grub_video_fbblit_blend_XXX565_1bit):
1982 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1983 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
1984 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
1985 void *.
1986 * grub-core/video/fb/video_fb.c (common_blitter)
1987 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
1988 (grub_video_fb_create_render_target_from_pointer)
1989 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1990 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
1991 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
1992 definition.
1993 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
1994
ace96609
VS
19952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
1998 HH22 and HM10 relocations.
1999
fd261d73
VS
20002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
2003
e59b7857
VS
20042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
2007 allocation succeeded.
2008
9b4baaa4
VS
20092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
2012 argument a u8 pointer. All users updated.
2013 Handle unaligned buffers.
2014
dc713193
VS
20152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
2018 add_part to workaround compiler bug.
2019
30dd48c2
VS
20202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
2023
0c6087a8
VS
20242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
2027 Reserve alignment invariants.
2028 (grub_multiboot_load): Likewise.
2029 (retrieve_video_parameters): Likewise.
2030 (grub_multiboot_make_mbi): Likewise.
2031
c2e77777
VS
20322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
2035 incorrect pointer.
2036
b70b6d11
VS
20372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
2040 (grub_pata_pio_write): Likewise.
2041
02a2bf83
VS
20422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 Add noreturn attributes and remove unreachable code.
2045
2046 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
2047 code.
2048 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
2049 code. Mark as noreturn.
2050 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
2051 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
2052 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
2053 unreachable code.
2054 * grub-core/kern/main.c (grub_main): Mark as noreturn.
2055 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
2056 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
2057 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
2058 * include/grub/kernel.h (grub_main): Mark as noreturn.
2059 * include/grub/reader.h (grub_rescue_run): Likewise.
2060
2019d09e
VS
20612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
2064 redundant declaration.
2065
d1c501ee
VS
20662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * include/grub/net.h (grub_net_network_level_interfaces): Remove
2069 redundant declaration.
2070 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
2071
61664420
VS
20722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
2075 to ensure alignment.
2076 (grub_hdparm_print_identify): Make argument uint16 * to ensure
2077 alignment. Ensure tmp alignment.
2078 (grub_cmd_hdparm): Ensure buf alignment.
2079 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
2080 to ensure alignment.
2081 (grub_ata_dumpinfo): Ensure text alignment.
2082 (grub_atapi_identify): Preserve alignment invariant.
2083 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
2084
0d51ee20
VS
20852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
2088 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
2089 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
2090 * include/grub/misc.h (grub_reboot)
2091 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
2092 (grub_halt) [__mips__]: Likewise.
2093
753ef8c1
VS
20942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
2097 Remove redundant declaration.
2098 (grub_mmap_get_post64): Likewise.
2099 (grub_mmap_get_upper): Likewise.
2100 (grub_mmap_get_lower): Likewise.
2101
85c85365
VS
21022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
2105 uint32_t * to ensure alignment.
2106 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
2107
a23f2cc4
VS
21082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2109
93018f64
VS
2110 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
2111 uint16_t * to ensure alignment.
2112 (sun_pc_partition_map_iterate): Make `block' a union to ensure
2113 alignment.
2114
21152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
2118 to ensure alignment.
2119 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
2120
58acccd6
VS
21212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/fs/ntfs.c (u16at): Make into inline function.
2124 Handle unaligned pointers.
2125 (u32at): Likewise.
2126 (u64at): Likewise.
2127 (fixup): Use byte access instead of v16at.
2128 (find_attr): Fix imporper usage of v32at.
2129 (read_data): Likewise.
2130 (list_file): Handle byte-swapping and unaligned strings.
2131 (grub_ntfs_label): Likewise.
2132
9b05cad7
VS
21332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
2136 as it's not necessarily aligned.
2137
b3950b84
VS
21382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
2141 redundant declaration.
2142 (grub_serial_init): Likewise.
2143 (grub_terminfo_init): Likewise.
2144
fcd232b7
VS
21452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
2148 function.
2149 (ZAP_HASH_IDX): Likewise.
2150 (ZAP_LEAF_HASH_SHIFT): Likewise.
2151 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
2152 (LEAF_HASH): Likewise.
2153 (ZAP_LEAF_NUMCHUNKS): Likewise.
2154 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
2155 alignment invariants. Return pointer. All users updated.
2156 (ZAP_LEAF_ENTRY): Make into inline function.
2157 (NBBY): Removed.
2158 (xor): LIkewise.
2159 (xor_out): Use grub_crypto_xor.
2160 (dnode_get_path): Use grub_get_unaligned.
2161 (nvlist_find_value): Likewise.
2162 (grub_zfs_nvlist_lookup_uint64): Likewise.
2163 (grub_zfs_nvlist_lookup_string): Likewise.
2164 (get_nvlist_size): Likewise.
2165 (grub_zfs_open): Likewise.
2166 (fill_fs_info): Likewise.
2167 (grub_zfs_dir): Likewise.
2168 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
2169 alignment invariants.
2170 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
2171 necessarily aligned.
2172
f138623a
VS
21732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
2176
564840dc
VS
21772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
2180 arithmetic to conserve alignment invariants.
2181
9b40df20
VS
21822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
2185 redundant declaration.
2186 (grub_efiemu_mm_obtain_request): Likewise.
2187 (grub_efiemu_prepare): Likewise.
2188
d1c930f9
VS
21892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
2192 to match types.
2193
4c5f3056
VS
21942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
2197 case of aunaligned recptr.
2198 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
2199 alignment.
2200 (grub_hfsplus_btree_search): Handle unaligned index.
2201
728cba91
VS
22022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
2205 to get freetag and skip.
2206
eb561f31
VS
22072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
2210 array.
2211 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
2212 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
2213
20993fbb
VS
22142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
2217 name for checksum and fix allocation algorithm.
2218
1f313b94
VS
22192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * include/grub/types.h (grub_properly_aligned_t): New type.
2222 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
2223 (grub_get_unaligned16): Add explicit casts.
2224 (grub_get_unaligned32): Likewise.
2225 (grub_get_unaligned64): Likewise.
2226 (grub_set_unaligned16): New function.
2227 (grub_set_unaligned32): Likewise.
2228
47ae27ec
VS
22292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2232
78c2cd1c
VS
22332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
2236 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
2237 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
2238
53072f9b
VS
22392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
2242 conditionals.
2243
055dc239
VS
22442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
2247 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
2248
496bd074
VS
22492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 Unify and improve RAID and crypto xor.
2252
2253 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
2254 changed to grub_crypto_xor
2255 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
2256 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
2257 Use bigger types when possible.
2258
ef6e4335
VS
22592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * grub-core/disk/raid.c (scan_devices): Fix condition.
2262
5d048bf2
VS
22632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
2266 Make name a const ptr.
2267
ee533335
VS
22682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
2271 first argument a const pointer.
2272 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
2273 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
2274 proto.
2275 (grub_children_iterate): Likewise.
2276 (grub_machine_mmap_iterate): Remove redundant declaration.
2277
cc8f3668
VS
22782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
2281 (grub_cmd_acpi) [!x86]: Disable EBDA.
2282
c5fc563a
VS
22832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 Enable UTF8 in gnulib regexp.
2286
2287 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
2288 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
2289 (isupper): Use grub_isupper.
2290 (isascii): New inline function.
2291 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
2292 * grub-core/lib/posix_wrap/wctype.h: Likewise.
2293 * grub-core/normal/charset.c (grub_utf8_process): New function.
2294 (grub_utf8_to_utf16): Use grub_utf8_process.
2295 (grub_encode_utf8_character): New function.
2296 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
2297 * include/grub/charset.h (grub_utf8_process): New declaration.
2298 (grub_encode_utf8_character): Likewise.
2299 * include/grub/misc.h (grub_islower): New inline function.
2300 (grub_isupper): Likewise.
2301 (grub_strchrsub): Moved down to fix the definitions.
2302
0af2346f
VS
23032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
2306 specification.
2307
74dbd244
VS
23082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * include/grub/loader.h (grub_loader_register_preboot_hook):
2311 Use struct preboot * and not void * for handle. All users updated.
2312 (grub_loader_unregister_preboot_hook): Likewise.
2313
1bc8f60d
VS
23142011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
2317 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
2318 UTF-16-BE. All users updated.
2319 (grub_hfsplus_cmp_catkey): Fix unicode handling.
2320 (grub_hfsplus_iterate_dir): Likewise.
2321 (grub_hfsplus_label): Likewise.
2322
48d6e456
VS
23232011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
2326
bf3a3857
VS
23272011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 Add missing const qualifiers.
2330
2331 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
2332 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
2333 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
2334 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
2335 (grub_lvm_check_flag): Likewise.
2336 * grub-core/efiemu/i386/coredetect.c
2337 (grub_efiemu_get_default_core_name): Likewise
2338 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2339 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
2340 * grub-core/fs/ntfs.c (fixup): Likewise.
2341 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
2342 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
2343 (fzap_lookup): Likewise.
2344 (zap_lookup): Likewise.
2345 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
2346 * grub-core/lib/legacy_parse.c (check_option): Likewise.
2347 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
2348 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
2349 (grub_freebsd_add_meta_module): Likewise.
2350 (grub_cmd_freebsd_module): Likewise.
2351 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
2352 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
2353 (grub_xnu_writetree_get_size): Likewise.
2354 (grub_xnu_writetree_toheap_real): Likewise.
2355 (grub_xnu_find_key): Likewise.
2356 (grub_xnu_create_key): Likewise.
2357 (grub_xnu_create_value): Likewise.
2358 (grub_xnu_register_memory): Likewise.
2359 (grub_xnu_check_os_bundle_required): Likewise.
2360 (grub_xnu_scan_dir_for_kexts): Likewise.
2361 (grub_xnu_load_kext_from_dir): Likewise.
2362 * grub-core/normal/color.c (color_list): Likewise.
2363 * grub-core/normal/completion.c (current_word): Likewise.
2364 * grub-core/normal/menu_entry.c (insert_string): Likewise.
2365 * grub-core/term/serial.c (grub_serial_find): Likewise.
2366 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
2367 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
2368 Likewise.
2369 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
2370 (grub_freebsd_add_meta_module): Likewise.
2371 * include/grub/lib/arg.h (grub_arg_option): Likewise.
2372 * include/grub/net.h (grub_net_card_driver): Likewise.
2373 (grub_net_card): Likewise.
2374 (grub_net_app_protocol): Likewise.
2375 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
2376 * include/grub/serial.h (grub_serial_find): Likewise.
2377 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
2378 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
2379 (grub_xnu_create_value): Likewise.
2380 (grub_xnu_find_key): Likewise.
2381 (grub_xnu_scan_dir_for_kexts): Likewise.
2382 (grub_xnu_load_kext_from_dir): Likewise.
2383
2384 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
2385 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
2386 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
2387 Moved from here ...
2388 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
2389
112b4837
CW
23902011-11-28 Colin Watson <cjwatson@ubuntu.com>
2391
2392 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
2393
49e891ac
VS
23942011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
2397 (read_device): Fix size calculation.
2398
fd258e5c
RM
23992011-11-25 Robert Millan <rmh@gnu.org>
2400
2401 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
2402 (find_root_device_from_libzfs): Add zpool output parser to be used
2403 as fallback when libzfs isn't available.
2404
78845dc2
SG
24052011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
2406
2407 * po/Makefile.in.in: Add missing escape-continuation.
2408
adac5211
VS
24092011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
2412
10b64f1c
VS
24132011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
2416
bb416954
VS
24172011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
2420
bdfe9eeb
VS
24212011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
2424
581ffa8a
VS
24252011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/lib/adler32.c: Add missing license specification.
2428 * grub-core/lib/crc64.c: Likewise.
2429 * grub-core/loader/i386/pc/plan9.c: Likewise.
2430 * grub-core/partmap/plan.c: Likewise.
2431
2536cf64
LK
24322011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
2433
2434 Add facility to debug GRUB with gdb under qemu.
2435
2436 * grub-core/gdb_grub.in: New file.
2437 * grub-core/gmodule.pl.in: Likewise.
2438 * grub-core/Makefile.core.def (gmodule.pl): New script.
2439 (gdb_grub): Likewise.
2440
bc108a4a
VS
24412011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * util/grub-mount.c (argp_parser): Accept relative pathes.
2444 * util/grub-fstest.c (argp_parser): Likewise.
2445
111c1778
VS
24462011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 Plan9 support.
2449
2450 * Makefile.util.def (libgrubmods): Add
2451 grub-core/partmap/plan.c.
2452 * docs/grub.texi: Notice Plan9 support.
2453 * grub-core/Makefile.core.def (plan9): New module.
2454 (part_plan): Likewise.
2455 * grub-core/loader/i386/pc/plan9.c: New file.
2456 * grub-core/partmap/plan.c: Likewise.
2457 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
2458 define.
2459 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
2460 * include/grub/mm.h (grub_extend_alloc): New inline function.
2461
c30be3b6
VS
24622011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 Make Reed-Solomon faster by using power of generator representation of
2465 GF(256)*.
2466
2467 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
2468 (gf_double_t): Likewise.
2469 (gf_invert): Removed.
2470 (gf_powx): New array.
2471 (gf_powx_inv): Likewise.
2472 (scratch): Move higher.
2473 (gf_reduce): Removed.
2474 (gf_mul): Use powx.
2475 (gf_invert): Likewise.
2476 (init_inverts): Replaced with ...
2477 (init_powx): ...this. All users updated.
2478 (pol_evaluate): Replace multiplications with additions.
2479 (rs_encode): Likewise.
2480 (gauss_eliminate): Call gf_invert.
2481 (grub_reed_solomon_add_redundancy): Call init_powx.
2482 (grub_reed_solomon_recover): Call init_powx unconditionally.
2483
fa5aeffc
VS
24842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
2487
a346b81c
VS
24882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
2491 disk->partiton for safety.
2492
d89ee414
VS
24932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
2496 Fix a memory leak.
2497 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
2498
91ee7b6d
VS
24992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
2502
91e5a33d
VS
25032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
2506
9edd7be2
VS
25072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 Fix spaces handling in proc/self/mountinfo.
2510
2511 * util/getroot.c (unescape): New function.
2512 (grub_find_root_device_from_mountinfo): Use unescape.
2513
ba102053
VS
25142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 Support ZFS embedding.
2517
2518 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
2519 (grub_zfs_fs): Register grub_zfs_embed.
2520
aa94b870
VS
25212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 Fix MIPS compilation.
2524
2525 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
2526 * include/grub/offsets.h: Rename decompressor fields from
2527 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
2528 * util/grub-mkimage.c (image_targets): Use new names.
2529
5fbdac14
VS
25302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 Defer multiboot device parsing until we're in compressed part.
2533
2534 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
2535 bsd_part. setdevice has fallen into disuse.
2536 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
2537 (bsd_part): Likewise.
2538 (boot_dev): New variable.
2539 (multiboot_trampoline): Don't parse multiboot device.
2540 Pass multiboot device in %edx.
2541 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
2542 grub_boot_device.
2543 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
2544 Likewise.
2545 * grub-core/kern/i386/pc/startup.S: Save edx.
2546 (grub_boot_drive): Removed.
2547 (grub_install_dos_part): Likewise.
2548 (grub_install_bsd_part): Likewise.
2549 (grub_boot_device): New variable.
2550 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
2551 (grub_install_bsd_part): Likewise.
2552 (grub_boot_drive): Likewise.
2553 (grub_boot_device): New variable.
2554 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
2555 Removed.
2556 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2557 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
2558 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
2559 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
2560 * util/grub-install.in: Remove redundant condition.
2561
691cbb58
VS
25622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 Fix bug introduced by previous commit.
2565
2566 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
2567
60240b8b
VS
25682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 Use decompressors framework on i386-pc. It increases core size
2571 by 46 bytes but improves compatibility and maintainability.
2572
2573 * grub-core/Makefile.core.def (lzma_decompress): New image.
2574 (kernel): Add i386_pc_ldflags.
2575 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
2576 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
2577 to real_to_prot, prot_to_real and device info.
2578 * include/grub/offsets.h: Renamed decompressor offsets.
2579 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
2580 (image_target_desc): Remove raw_size and rename decompressor fields.
2581 (compress_kernel): Handle lzma.
2582 (generate_image): Handle decompressors on i386-pc.
2583
e9d3421c
VS
25842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * configure.ac: Add -fno-asynchronous-unwind-tables.
2587
2b23074a
VS
25882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 Move assembly code to C by using intwrap. It increases core size
2591 by 88 bytes but improves compatibility and maintainability.
2592
2593 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
2594 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
2595 ... here. Translated to C.
2596 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
2597 * grub-core/term/i386/pc/console.c (grub_console_getkey):
2598 ... here. Translated to C.
2599 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
2600 * grub-core/term/i386/pc/console.c (grub_console_getxy):
2601 ... here. Translated to C.
2602 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
2603 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
2604 ... here. Translated to C.
2605 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
2606 * grub-core/term/i386/pc/console.c (grub_console_cls):
2607 ... here. Translated to C.
2608 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
2609 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
2610 ... here. Translated to C.
2611 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
2612 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
2613 Translated to C.
2614 * grub-core/term/i386/pc/console.c (int10_9): New function.
2615 (grub_console_putchar): Likewise.
2616 * include/grub/i386/pc/console.h: Removed the not anymore shared
2617 functions.
2618
678f4b67
VS
26192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 Move grub_chainloader_real_boot out of the kernel.
2622
2623 * grub-core/Makefile.am: Remove machine/loader.h.
2624 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2625 Removed.
2626 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
2627 variable.
2628 (grub_relocator16_keep_a20_enabled): Likewise.
2629 (grub_relocator16_boot): Fill new variables.
2630 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
2631 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
2632 relocator.
2633 (grub_chainloader_unload): Likewise.
2634 (grub_chainloader_cmd): Likewise.
2635 * include/grub/i386/pc/loader.h: Removed.
2636 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
2637 and esi. All initialisers updated.
2638
4626edf6
VS
26392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
26402011-11-12 Colin Watson <cjwatson@ubuntu.com>
2641
2642 * Makefile.util.def (grub-mount): New util.
2643 * .bzrignore: Add grub-mount.
2644 * configure.ac: Check for fuse and enable grub-mount if available.
2645 * docs/man/grub-mount.h2m: New file.
2646 * util/grub-mount.c: Likewise.
2647
10f0117b
VS
26482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/commands/efi/fixvideo.c: Gettextize.
2651 * grub-core/commands/hashsum.c: Likewise.
2652 * grub-core/commands/i386/cmostest.c: Likewise.
2653 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2654 * grub-core/commands/i386/pc/lsapm.c: Likewise.
2655 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2656 * grub-core/commands/lsmmap.c: Likewise.
2657 * grub-core/commands/menuentry.c: Likewise.
2658 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2659 * grub-core/commands/setpci.c: Likewise.
2660 * grub-core/loader/i386/bsd.c: Likewise.
2661 * grub-core/loader/i386/linux.c: Likewise.
2662 * util/getroot.c: Likewise.
2663 * util/grub-editenv.c: Likewise.
2664 * util/grub-fstest.c: Likewise.
2665 * util/grub-mkfont.c: Likewise.
2666 * util/grub-mkimage.c: Likewise.
2667 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2668 * util/grub-pe2elf.c: Likewise.
2669 * util/grub-probe.c: Likewise.
2670 * util/grub-setup.c: Likewise.
2671 * util/ieee1275/ofpath.c: Likewise.
2672 * util/misc.c: Likewise.
2673 * util/raid.c: Likewise.
2674
566f779b
RM
26752011-11-11 Robert Millan <rmh@gnu.org>
2676
2677 * util/getroot.c (grub_util_get_geom_abstraction): Remove
2678 __attribute__((unused)) from `os_dev', which *is* being used.
2679
b50787de
VS
26802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
2683 forgotten define.
2684 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
2685 GRUB_IA64_DL_GOT_ALIGN.
2686 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
2687 GRUB_IA64_DL_TRAMP_ALIGN.
2688
119d11c8
VS
26892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 Replace grub_fatal with normal errors in i386 linux loader.
2692
2693 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
2694 (allocate_pages): Check find_efi_mmap_size return value.
2695 (grub_e820_add_region): Return error.
2696 (grub_linux_boot): Check mmap return value.
2697
6e0632e2
VS
26982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * grub-core/commands/acpihalt.c: Gettextized.
2701 * grub-core/commands/cacheinfo.c: Likewise.
2702 * grub-core/commands/cmp.c: Likewise.
2703 * grub-core/commands/efi/loadbios.c: Likewise.
2704 * grub-core/commands/gptsync.c: Likewise.
2705 * grub-core/commands/ieee1275/suspend.c: Likewise.
2706 * grub-core/commands/legacycfg.c: Likewise.
2707 * grub-core/commands/memrw.c: Likewise.
2708 * grub-core/commands/minicmd.c: Likewise.
2709 * grub-core/commands/parttool.c: Likewise.
2710 * grub-core/commands/time.c: Likewise.
2711 * grub-core/commands/videoinfo.c: Likewise.
2712 * grub-core/disk/geli.c: Likewise.
2713 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
2714 * grub-core/disk/luks.c: Likewise.
2715 * grub-core/disk/lvm.c: Likewise.
2716 * grub-core/font/font_cmd.c: Likewise.
2717 * grub-core/fs/zfs/zfscrypt.c: Likewise.
2718 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2719 * grub-core/gfxmenu/view.c: Likewise.
2720 * grub-core/kern/emu/hostdisk.c: Likewise.
2721 * grub-core/kern/emu/main.c: Likewise.
2722 * grub-core/kern/emu/misc.c: Likewise.
2723 * grub-core/kern/emu/mm.c: Likewise.
2724 * grub-core/kern/mips/arc/init.c: Likewise.
2725 * grub-core/kern/mips/loongson/init.c: Likewise.
2726 * grub-core/kern/partition.c: Likewise.
2727 * grub-core/lib/i386/halt.c: Likewise.
2728 * grub-core/lib/mips/arc/reboot.c: Likewise.
2729 * grub-core/lib/mips/loongson/reboot.c: Likewise.
2730 * grub-core/loader/i386/pc/chainloader.c: Likewise.
2731 * grub-core/loader/i386/xnu.c: Likewise.
2732 * grub-core/loader/multiboot.c: Likewise.
2733 * grub-core/net/bootp.c: Likewise.
2734 * grub-core/net/net.c: Likewise.
2735 * grub-core/normal/term.c: Likewise.
2736 * grub-core/partmap/bsdlabel.c: Likewise.
2737 * grub-core/parttool/msdospart.c: Likewise.
2738 * grub-core/term/gfxterm.c: Likewise.
2739 * grub-core/term/terminfo.c: Likewise.
2740 * grub-core/video/i386/pc/vbe.c: Likewise.
2741 * util/grub-menulst2cfg.c: Likewise.
2742 * util/grub-mkdevicemap.c: Likewise.
2743 * util/grub-mklayout.c: Likewise.
2744 * util/grub-mkrelpath.c: Likewise.
2745 * util/grub-script-check.c: Likewise.
2746 * util/ieee1275/grub-ofpathname.c: Likewise.
2747 * util/resolve.c: Likewise.
2748
073aa7a9
VS
27492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 Support %1$d syntax.
2752
2753 * tests/printf_unit_test.c: New file.
2754 * Makefile.util.def (printf_test): New test.
2755 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
2756
c76b5417
VS
27572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
2760 fix.
2761
df067ad1
VS
27622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
2765 dprintf.
2766 * grub-core/font/font.c (grub_font_load): Likewise.
2767
5b289bc5
VS
27682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * util/grub-macho2img.c: Add comment concerning gettext.
2771 * grub-core/lib/legacy_parse.c: Likewise.
2772
c1860f87
VS
27732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
2776 (grub_xvasprintf): Likewise.
2777
d35d0d37
VS
27782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 Add const keyword to grub_env_get and gettextize week days.
2781
2782 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
2783 (grub_read_hook_datetime): Return const char *.
2784 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
2785 updated.
2786 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2787 Mark for gettext.
2788 (grub_get_weekday_name): Return const char *. Call gettext.
2789 * grub-core/script/argv.c (grub_script_argv_append): Receive const
2790 char * and len as the argument. All users updated.
2791 (grub_script_argv_split_append): Receive const char *.
2792 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
2793 * include/grub/env.h (grub_env_get): Likewise.
2794 (grub_env_read_hook_t): Return const char *.
2795 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
2796 (grub_script_argv_split_append): Likewise.
2797
9aed8a71
VS
27982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
2801
067fdf00
VS
28022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
2805 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
2806
a8bd9d39
VS
28072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
2810 Fix prototype.
2811
f7ce5baf
VS
28122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 Fix mips compilation.
2815
2816 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
2817 normal decoder.
2818 (hashes): Use in embed decoder as well (for sizes).
2819 (dec_stream_header): Fix embed decompressor logic.
2820 (dec_stream_footer): Likewise.
2821
9bb182f3
VS
28222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
2825 an error and not a fatal on unrecognised relocation types.
2826
63a9e6f6
VS
28272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2830 Issue error rather than printf on unknown arguments.
2831
4c458569
VS
28322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
2835 Make buf a const.
2836
e2d22baf
VS
28372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
2840 Fix module name.
2841
53dc8590
VS
28422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
2845 leftover debug printf.
2846
6c189294
VS
28472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
2850
f7688369
VS
28512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
2854 A stylistic fix.
2855
11a775a3
VS
28562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
2859
33f784e8
SL
28602011-11-10 Shea Levy <slevy@tieronedesign.com>
2861
2862 Allow all modules to perform serial IO
2863
2864 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
2865 * include/grub/serial.h (grub_serial_port_configure): New inline
2866 function.
2867 (grub_serial_port_fetch): Likewise.
2868 (grub_serial_port_put): Likewise.
2869 (grub_serial_port_fini): Likewise.
2870 (grub_serial_find): New proto.
2871
f6276525
VS
28722011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 Put symlink at the end of the node and fix a potential
2875 memory corruption.
2876
2877 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
2878 Make symlink into an array.
2879 (set_rockridge): Set have_symlink and alloc_dirents.
2880 (grub_iso9660_read_symlink): Use new layout.
2881 (grub_iso9660_iterate_dir): Fix memory corruption.
2882 Use new layout.
2883 (grub_iso9660_dir): Set have_symlink.
2884 (grub_iso9660_open): Likewise.
2885
c3591189
VS
28862011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 Remove local keyword.
2889
2890 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
2891 (version_test_gt): Likewise.
2892 (version_find_latest): Likewise.
2893 (gettext_printf): Likewise.
2894 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
2895
cb544caa
VS
28962011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2899
45bd824d
VS
29002011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 Fix ZFS memory and resource leaks.
2903
2904 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
2905 All users updated.
2906 Free type on exit.
2907 (fill_vdev_info): New parameter inserted. All users updated.
2908 (check_pool_label): Likewise.
2909 (scan_disk): Likewise.
2910 (scan_devices): Close non-inserted disks.
2911 (fzap_iterate): Free l.
2912 (unmount_device): Free children descripto memory.
2913
ad9a2f44
VS
29142011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
2917 argument (access out of bounds).
2918
6b68db81
VS
29192011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
2922 >= 6 drives.
2923
28840fda
VS
29242011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
2927 Fix declaration.
2928
8a5a3a5b
VS
29292011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 Fix several memory leaks.
2932
2933 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
2934 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
2935 (grub_cpio_dir): Likewise.
2936 * grub-core/fs/fat.c (grub_fat_label): Likewise.
2937 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
2938 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
2939 (grub_romfs_label): Likewise.
2940 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
2941 (squash_unmount): New function.
2942 (grub_squash_dir): Fix memory leak.
2943 (grub_squash_open): Likewise.
2944 (grub_squash_read): Likewise.
2945 (grub_squash_mtime): Likewise.
2946 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
2947 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
2948 * util/grub-fstest.c (fstest): Likewise.
2949
57b01250
VS
29502011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
2953 avoid accessing beyond the array.
2954
19e81ba7
VS
29552011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2958
52b656c0
VS
29592011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 Several AFFS fixes.
2962
2963 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
2964 (GRUB_AFFS_FLAG_FFS): Removed.
2965 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
2966 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
2967 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
2968 (grub_fshelp_node): Make block 32-bit.
2969 Add block_cache and last_block_cache.
2970 (grub_affs_read_block): Fill and use block cache.
2971 (grub_affs_read_file): Removed.
2972 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
2973 boot block.
2974 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
2975 safety.
2976 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
2977 space.
2978 (grub_affs_close): Free block cache.
2979 (grub_affs_read): Use grub_fshelp_read_file directly.
2980
438a746a
VS
29812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
2984 with no error set.
2985
49a45021
VS
29862011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
2989 used variable.
2990 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2991 Likewise.
2992
3ae17eb8
VS
29932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
2996
2997 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
2998 byteswap when needed.
2999
27610c38
VS
30002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 Fix FreeBSD compilation.
3003
3004 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
3005 to avoid circular dependency.
3006 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
3007 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
3008 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
3009
4a19b601
VS
30102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 Fix ZFS crypto error types.
3013
3014 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
3015 (grub_gcm_decrypt): Likewise.
3016 (grub_zfs_load_key_real): Fix error code type. Handle possible error
3017 from PBKDF2.
3018
958ee221
VS
30192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 Illumos support.
3022
3023 * Makefile.util.def (10_illumos): New script.
3024 * configure.ac: Set COND_HOST_ILLUMOS.
3025 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
3026 Support Illumos calls.
3027 (find_partition_start) [__sun__]: Likewise.
3028 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
3029 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
3030 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
3031 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
3032 device.
3033 * util/grub-probe.c (probe) [__sun__]: Do character check.
3034 * util/grub.d/10_illumos.in: New file.
3035
cac14fb6
VS
30362011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 Support escaped commas in hostdisk.
3039
3040 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
3041 (find_grub_drive): Use unescape_cmp.
3042 (make_device_name): Escape commas.
3043
78e08dc3
VS
30442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
3047
9f421dd1
VS
30482011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
3051 variable.
3052
ed64e9e2
VS
30532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 Support trampoline jumps on powerpc.
3056
3057 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
3058 __ia64__ path.
3059 (grub_dl_load_segments): Set mod->sz.
3060 (grub_dl_flush_cache): Flush whole space occupied by module, not just
3061 segments.
3062 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
3063 (jump): Likewise.
3064 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
3065 function.
3066 (trampoline): New struct.
3067 (trampoline_template): New const.
3068 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
3069 * include/grub/dl.h (grub_dl): Add sz element.
3070 [__powerpc__]: Follow __ia64__.
3071 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
3072 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
3073 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
3074 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
3075
3084ede4
VS
30762011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 ZFS crypto support.
3079
3080 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
3081 * grub-core/Makefile.core.def (zfscrypt): New module.
3082 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
3083 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
3084 it. All users updated.
3085 (grub_zfs_decrypt): New var.
3086 (grub_zfs_load_key): Likewise.
3087 (zio_checksum_functions): Add SHA256+MAC.
3088 (zio_checksum_verify): Handle incomplete comparison due to MAC.
3089 (zio_read): Handle encrypted blocks.
3090 (zap_verify): Remove incorrect check.
3091 (fzap_iterate): Handle non-standard fzap.
3092 (zap_iterate): Likewise.
3093 (zap_iterate_u64): New function.
3094 (dnode_get_fullpath): Load keys.
3095 * grub-core/fs/zfs/zfscrypt.c: New file.
3096 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
3097 (grub_crypto_ecb_encrypt): Make input const.
3098 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
3099 (grub_crypto_ecb_encrypt): Make input const.
3100 (GRUB_CIPHER_AES): New macro.
3101 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
3102 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
3103 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
3104 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
3105 prefix. All users updated.
3106 (grub_zfs_add_key): New proto.
3107 (grub_zfs_decrypt): Likewise.
3108 (grub_zfs_load_key): Likewise.
3109 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
3110 * util/grub-fstest.c (options): Add -K option.
3111 (argp_parser): Likewise.
3112
b632b404
VS
31132011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 Support zle compression on ZFS.
3116
3117 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
3118 (decomp_table): Add zle.
3119 * include/grub/zfs/zio.h (zio_compress): Add zle.
3120
c7ba4f69
VS
31212011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 Support BtrFS embedding.
3124
3125 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
3126 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
3127 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
3128 * util/grub-setup.c (setup): Use fs embedding if available.
3129 Add additional sanity check.
3130
455377d9
VS
31312011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * util/grub-install.in: Fix condition for config_opt.
3134
c2fd16ca
VS
31352011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 Support third redundancy strip on raidz3.
3138
3139 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
3140 Return error on singularity. All users updated.
3141 (read_device): Don't stop on 3rd failure on raidz3.
3142
8622923b
VS
31432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 Support case-insensitive ZFS subvolumes.
3146
3147 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
3148 All users updated.
3149 (zap_hash): Likewise.
3150 (name_cmp): New function.
3151 (zap_leaf_array_equal): New parameter case_insensitive.
3152 All users updated.
3153 (zap_leaf_lookup): Likewise.
3154 (fzap_lookup): Likewise.
3155 (zap_lookup): Likewise.
3156 (dnode_get_path): New parameter case_insensitive. Retrieve case
3157 sensitiviness of a volume. All users updated.
3158 (dnode_get_fullpath): New parameter case_insensitive.
3159 All users updated.
3160 (grub_zfs_dir): Set info.case_insensitiveness.
3161
95f2e860
VS
31622011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 Support second redundancy strip on raidz(2,3).
3165
3166 * grub-core/fs/zfs/zfs.c (powx): New array.
3167 (powx_inv): Likewise.
3168 (poly): New const.
3169 (xor_out): New function.
3170 (gf_mul): Likewise.
3171 (recovery): Likewise.
3172 (read_device): Use second redundancy strip.
3173
11ee4389
VS
31742011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 Use a power of generator representation of GF(256) multiplication group
3177 to save space time and complexity.
3178
3179 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
3180 (raid6_table2): Likewise.
3181 (powx): New array.
3182 (powx_inv): Likewise.
3183 (poly): New const.
3184 (grub_raid_block_mul): Replace with ...
3185 (grub_raid_block_mulx): ...this.
3186 (grub_raid6_init_table): Rewritten.
3187 (grub_raid6_recover): Use power of generator representation.
3188
09e2763f
VS
31892011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
3192 for the right device.
3193
8bec9a28
VS
31942011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
3197 expected by grub-mkimage and it's more clear since there is no implicit
3198 padding.
3199
dbd3a32e
VS
32002011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
3203 disk.
3204 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
3205
182c872a
PMH
32062011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
3207
3208 * util/grub-mkrescue.in: Fix handling xorriso option.
3209
1e51cabd
VS
32102011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
3213 NULL.
3214
9cc3581d 32152011-11-03 crocket <crockabiscuit@gmail.com>
3216
3217 * util/grub.d/10_linux.in: Add Slackware initrd naming.
3218
158dc1ea
VS
32192011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 XZ CRC64 and SHA256 support.
3222
3223 * Makefile.util.def (libgrubmods): Add crc64.c.
3224 * grub-core/Makefile.core.def (crc64): New module.
3225 * grub-core/lib/crc64.c: New file.
3226 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
3227 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
3228 Fix the type.
3229 (MAX_HASH_SIZE): New define.
3230 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
3231 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
3232 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3233 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3234 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
3235 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
3236 Handle non-crc32 hashes.
3237 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
3238 (dec_stream_header): Handle non-crc32 hashes.
3239 (dec_stream_footer): Likewise.
3240 (dec_block_header): Likewise.
3241 (dec_main): Likewise.
3242 (xz_dec_init): Likewise.
3243 (xz_dec_reset): Likewise.
3244 (xz_dec_end): Likewise.
3245 * util/import_gcry.py: Add CRC64 line.
3246
9d9b3d2f
VS
32472011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
3250 as well.
3251
7d0ac931
VS
32522011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 Make reiserfs label retrieval similar to other *_label functions.
3255
3256 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
3257 (REISERFS_MAX_LABEL_LENGTH): Removed.
3258 (REISERFS_LABEL_OFFSET): Likewise.
3259 (grub_reiserfs_label): Rewritten.
3260
32612011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
3264 field.
3265
cf5ba824
VS
32662011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
3269
17744004
VS
32702011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
3273 drive failure on both raidz and raidz2.
3274
aca5aefc
VS
32752011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 Fix RAIDZ(2) for >= 5 devices.
3278
3279 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
3280 asize argument. All users updated.
3281
ce8ca56e
VS
32822011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 Fix RAIDZ(2).
3285
3286 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
3287 (fill_vdev_info_real): Set ashift.
3288 (read_device): Rewrite RAIDZ part based on reverse engineering.
3289
7c01e783
VS
32902011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
3293 don't report potentially unavialiable fields in debug output.
3294 (find_path): Fix double-free and memory leak.
3295
ce109e84
VS
32962011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 Read label on UFS1.
3299
3300 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
3301 (grub_ufs_fs): Always set .label.
3302
87661123
VS
33032011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 Use shifts in UFS.
3306
3307 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
3308 (grub_ufs_data): New field log2_blksz.
3309 (grub_ufs_read_file): Use shifts.
3310 (grub_ufs_mount): Check block size and logarithm it.
3311
46bc1dc2
VS
33122011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
3315 long symlinks.
3316
19ee2987
VS
33172011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Handle symlinks and long names on tar and cpio.
3320
3321 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
3322 (ATTR_FILE): Likewise.
3323 (ATTR_DIR): Likewise.
3324 (ATTR_LNK): Likewise.
3325 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
3326 (grub_cpio_find_file): Fill mode, handle linkname field as well as
3327 L and K entries.
3328 (grub_cpio_mount): Zero-fill data.
3329 (handle_symlink): New function.
46bc1dc2
VS
3330 (grub_cpio_dir): Handle symlinks.
3331 (grub_cpio_open): Likewise.
3332 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 3333
c83a08d8
VS
33342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 Fix iso9660 filename limitations and fix memory leaks.
3337
3338 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
3339 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
3340
45cdd3ea
VS
33412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 Fix JFS file name length limitations.
3344
3345 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
3346 (grub_jfs_diropen): Fix maximum filename length.
3347 (grub_jfs_getent): Fix filename length.
3348 (grub_jfs_lookup_symlink): Fix size checks.
3349
94ef05c2
VS
33502011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
3353 string.
3354
785ab8c7
VS
33552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3356
eb0b6b45
VS
3357 Leverage BFS implementation to read AFS.
3358
3359 * Makefile.util.def (libgrubmods): Add afs.c.
3360 * grub-core/Makefile.core.def (afs): New module
3361 * grub-core/fs/afs.c: New file.
3362 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
3363
33642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 3367
c4a1628f
VS
33682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/fs/bfs.c: Run indent.
3371
5825b379
VS
33722011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 BFS implementation based on the specification.
3375
3376 * grub-core/fs/bfs.c: New file.
3377 * Makefile.util.def (libgrubmods): Add bfs.c.
3378 * grub-core/Makefile.core.def (bfs): New module.
3379
42b2a706
VS
33802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * util/grub-fstest.c (cmd_cp): Clarify error message.
3383 (cmd_cmp): Likewise.
3384
61b99bfc
YB
33852011-10-30 Yves Blusseau <blusseau@zetam.org>
3386
3387 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
3388 and befs_be.
3389
faba3d16
VS
33902011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 Remove afs and befs because of copyright problem.
3393
3394 * grub-core/fs/afs.c: Removed.
3395 * grub-core/fs/afs_be.c: Removed.
3396 * grub-core/fs/befs.c: Removed.
3397 * grub-core/fs/befs_be.c: Removed.
3398 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
3399 * grub-core/Makefile.core.def (afs): Removed.
3400 (afs_be): Likewise.
3401 (befs): Likewise.
3402 (befs_be): Likewise.
3403
c39224b0
VS
34042011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 Prefer rockridge over Joliet.
3407
3408 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
3409 to ...
3410 (set_rockridge): ... here.
3411 (grub_iso9660_mount): Check rockridge on the primary label when
3412 discovering. Ignore Joliet if Rockridge is present.
3413
e551115a
VS
34142011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 Use shifts in nilfs2.
3417
3418 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
3419 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
3420 (grub_nilfs2_palloc_entries_per_group): Replace with ...
3421 (grub_nilfs2_log_palloc_entries_per_group): ... this.
3422 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
3423 (grub_nilfs2_entries_per_block): Replaced with ...
3424 (grub_nilfs2_log_entries_per_block_log): ... this.
3425 (grub_nilfs2_blocks_per_group): Replaced with ...
3426 (grub_nilfs2_blocks_per_group_log): ... this.
3427 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
3428 (grub_nilfs2_blocks_per_desc_block_log): ... this.
3429 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
3430 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
3431 (grub_nilfs2_palloc_entry_offset): Replaced ...
3432 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
3433 (grub_nilfs2_dat_translate): Use shifts.
3434 (grub_nilfs2_read_inode): Likewise.
3435 (GRUB_MOD_INIT): Ensure that logs are correct.
3436
564dd58c
VS
34372011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 Use shifts in minix filesystem.
3440
3441 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
3442 (GRUB_MINIX_ZONE2SECT): Likewise.
3443 (grub_minix_data): Replace block_size with log_block_size.
3444 (grub_minix_read_file): Use shifts.
3445 (grub_minix_mount): Check block size and take a logarithm.
3446
ed9ba06d
VS
34472011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 Use shifts in squash4.
3450
3451 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
3452 (squash_mount): Check block size and take logarithm.
3453 (direct_read): Use shifts.
3454
ad03fe76
VS
34552011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 Correct befs block counting logic.
3458
3459 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
3460 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
3461 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
3462 (grub_afs_read_inode): Use block_shift.
3463 (RANGE_SHIFT): New definition.
3464 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
3465 unexpected conditions, use shifts and appropriate types.
3466 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
3467
6563f63d
VS
34682011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/disk/raid.c (scan_devices): Check partition.
3471 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
3472
5b1ae25f
VS
34732011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 Support BFS (befs) UUID.
3476
3477 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
3478 (grub_afs_small_data_element_header): New struct.
3479 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
3480 (grub_afs_read_attribute) [MODE_BFS]: New function.
3481 (grub_afs_iterate_dir): Allocate for complete inode.
3482 (grub_afs_mount): Likewise.
3483 (grub_afs_uuid) [MODE_BFS]: New function.
3484 (grub_afs_fs) [MODE_BFS]: Add .uuid.
3485
f8d82408
VS
34862011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
3489 (zfs_unmount): Fix memory leak.
3490
5773fb64
VS
34912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 Support NTFS reparse points.
3494
3495 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
3496 (symlink_descriptor): New struct.
3497 (grub_ntfs_read_symlink): New function.
3498 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
3499 (grub_ntfs_open): Likewise.
3500
91c3fdde
VS
35012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
3504
3be82e10
VS
35052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 fstest xnu_uuid subcommand.
3508
3509 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
3510 grub-core/commands/xnu_uuid.c.
3511 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
3512 (fstest): Handle xnu_uuid.
3513 (options): Document xnu_uuid.
3514 (argp_parser): Parse xnu_uuid.
3515
8e32442e
VS
35162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
3519 -l argument. Add newline at the end if printing.
3520 (GRUB_MOD_INIT): Document -l.
3521
52a05075
VS
35222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
3525
1869edb5
VS
35262011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 ZFS multi-device and version 33 support.
3529
3530 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
3531 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
3532 (grub_zfs_data): Add multidev-ice-related fields.
3533 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
3534 (dva_get_offset): Make dva const.
3535 (zfs_fetch_nvlist): New function.
3536 (fill_vdev_info_real): Likewise.
3537 (fill_vdev_info): Likewise.
3538 (check_pool_label): Likewise.
3539 (scan_disk): Likewise.
3540 (scan_devices): Likewise.
3541 (read_device): Likewise.
3542 (read_dva): Likewise.
3543 (zio_read_gang): Use read_dva.
3544 (zio_read_data): Likewise.
3545 (zap_leaf_lookup): Add missing endian conversion.
3546 (zap_verify): Add missing endian conversion. All users updated.
3547 (fzap_lookup): Likewise.
3548 (fzap_iterate): Likewise.
3549 (dnode_get_path): Handle SA bonus.
3550 (nvlist_find_value): Make input const. All users updated.
3551 (unmount_device): New function.
3552 (zfs_unmount): Use unmount_device.
3553 (zfs_mount): Use scan_disk.
3554 (zfs_mtime): New function.
3555 (grub_zfs_open): Handle system attributes.
3556 (fill_fs_info): Likewise.
3557 (grub_zfs_dir): Likewise.
3558 (grub_zfs_fs): Add mtime.
3559 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
3560 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
3561 (SA_MTIME_OFFSET): Likewise.
3562 (SA_SYMLINK_OFFSET): Likewise.
3563 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
3564 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
3565 (fstest): Support zfsinfo.
3566 (argp_parser): Likewise.
3567
186b4028
VS
35682011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
3571 error.
3572
35732011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
3574
3575 ZFS fixes.
3576
3577 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
3578 sharing the same block. Iterate over correct number of indices.
3579 (dnode_get_path): Handle symlinks correctly.
3580
c0584900
VS
35812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
3584
67e2bd71
VS
35852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 Read label on HFS+.
3588
3589 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
3590 (grub_hfsplus_btree_search): Fix types.
3591 (grub_hfsplus_label): Implement.
3592
e9cc6b7b
VS
35932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
3596
19832ddb
VS
35972011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
3600
66b40850
VS
36012011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 Fix symlink handling on iso9660.
3604
3605 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
3606 All users updated.
3607 (grub_iso9660_susp_iterate): Accept zero-size iterate.
3608 (grub_iso9660_read_symlink): Moved most of code ...
3609 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
3610
db821363
VS
36112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3614 Use union to avoid breaking strict-aliasing rules.
3615
e1211949
VS
36162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 Support multi-extent iso files.
3619
3620 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
3621 Add node.
3622 (grub_fshelp_node): Revamp. All users updated.
3623 (FLAG_*): New enum.
3624 (read_node): New function.
3625 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
3626 All users updated.
3627 (grub_iso9660_mount): Don't attempt to read sua when there is none.
3628 (get_node_size): New function.
3629 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
3630 entries.
3631 Fix memory leak on . and ..
3632 (grub_iso9660_read): Use read_node.
3633 (grub_iso9660_close): Free node.
3634
d4888031
VS
36352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 Fix tar 4G limit and handle paths containing dot.
3638
3639 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
3640 (canonicalize): New function.
3641 (grub_cpio_find_file): Use canonicalize. Store offs in
3642 grub_disk_addr_t.
3643 (grub_cpio_dir): Use grub_disk_addr_t.
3644 (grub_cpio_open): Likewise.
3645
9f12e664
VS
36462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 Fix handling of uncompressed blocks on squashfs and break 4G limit.
3649
3650 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
3651 unused flags.
3652 (grub_squash_inode): Add long_file and block_size.
3653 (grub_squash_cache_inode): New struct.
3654 (grub_squash_dirent): Make types into enum.
3655 (SQUASH_TYPE_LONG_REGULAR): New type.
3656 (grub_squash_frag_desc): Add field size.
3657 (SQUASH_BLOCK_FLAGS): New enum.
3658 (grub_squash_data): Use grub_squash_cache_inode.
3659 (grub_fshelp_node): Make ino_chunk 64-bit.
3660 (read_chunk): Minor argument change. All users updated.
3661 (squash_mount): Use correct le_to_cpu.
3662 (grub_squash_open): Handle LONG_REGULAR.
3663 (direct_read): New function.
3664 (grub_squash_read_data): Handle blocks correctly.
3665
9f326fba
VS
36662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
3669
f4d9b64b
VS
36702011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
3673
5bbd28b8
VS
36742011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 Fix 2G limit on ZFS.
3677
3678 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
3679 types.
3680 (uberblock_verify): Likewise.
3681 (dmu_read): Likewise.
3682 (grub_zfs_read): Likewise. Remove invalid cast.
3683
68c72069
VS
36842011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3685
3686 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
3687 (grub_jfs_blkno): Fix incorrect shift.
3688 (grub_jfs_read_file): Use more appropriate types.
3689
6e536dc8
VS
36902011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 Support triple indirect on minix2 and minix3.
3693
3694 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
3695 Declare triple_indir_zone.
3696 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
3697 indirect.
3698
e0864e7a
VS
36992011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 Minix FS fixes.
3702
3703 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
3704 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
3705 Rename ctime to mtime. All users updated.
3706 (grub_minix_get_file_block): Fix types and double indirect computations.
3707
89481cab
VS
37082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
3711 if no label is found.
3712 (grub_fat_iterate_dir): Fix file size type.
3713 (grub_fat_iterate_dir): Likewise.
3714
f646e143
VS
37152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
3718 save some space.
3719 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3720 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3721
534d769e
VS
37222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
3725
e084ba18
VS
37262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * util/import_gcry.py: Accept space between # and include.
3729
3471ecdf
VS
37302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
3733
124df5f6
VS
37342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 Fine grainely disable warnings on lexer. Remove Wno-error on it.
3737
3738 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
3739 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
3740 yylex_strncpy.
3741 * grub-core/script/yylex.l: Add fine-grained #pragma.
3742
4defb8d5
VS
37432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
3746 New inline function.
3747 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
3748 Likewise.
3749 (memset) [GRUB_UTIL]: Likewise.
3750 (memcmp) [GRUB_UTIL]: Likewise.
3751
4e94ae65
VS
37522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
3755 inline function rather than a define.
3756
18c575e5
VS
37572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * util/grub-setup.c: Add missing include.
3760
f8bc22a8
VS
37612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * util/ieee1275/grub-ofpathname.c: Add missing include.
3764
3ce69fc9
VS
37652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
3768 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
3769 Likewise.
3770
d1e293bb
VS
37712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
3774 grub_memcmp usage.
3775
7a5c54a4
VS
37762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * util/grub-install.in: Add datarootdir as per automake manual
3779 suggestion.
3780 * util/grub-mknetdir.in: Likewise.
3781
37822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
3783
3784 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
3785 suggestion.
3786 * util/grub.d/10_kfreebsd.in: Likewise.
3787 * util/grub.d/10_linux.in: Likewise.
3788 * util/grub.d/10_netbsd.in: Likewise.
3789 * util/grub.d/10_windows.in: Likewise.
3790 * util/grub.d/20_linux_xen.in: Likewise.
3791
766f7d08
VS
37922011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 Remove redundant grub_kernel_image_size.
3795
3796 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
3797 _edata and _start.
3798 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
3799 the small code. It moves it only by few bytes but simplifies the code.
3800 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
3801 _start.
3802 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
3803 (grub_kernel_image_size): Removed.
3804 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
3805 (grub_kernel_image_size): Removed.
3806 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
3807 compiled with Apple toolchain.
3808 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
3809 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
3810 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
3811 (grub_total_module_size): Likewise.
3812 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
3813 Removed.
3814 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
3815 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
3816 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3817 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
3818 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
3819 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
3820 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
3821 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
3822 Removed.
3823 (grub_total_module_size): Removed.
3824 * util/grub-mkimage.c (image_target_desc): Remove image_size.
3825 (image_targets): Likewise.
3826 Set .compressed_size to no field on sparc.
3827 (generate_image): Remove kernel_image_size handling.
3828
fcf1d672
SJ
38292011-10-19 Szymon Janc <szymon@janc.net.pl>
3830
3831 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
3832 NULL pointer dereference.
3833
de9c615e
VS
38342011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
3837 done with a dedicated section.
3838
3839 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
3840 Ensure the correct position of boot_path.
3841 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
3842 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
3843 other fields.
3844 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
3845 * include/grub/boot.h: Removed. All references removed.
3846 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
3847 Removed.
3848 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
3849
e55599dc
VS
38502011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
3853 name.
3854
36dd20ad
VS
38552011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
3858
f8f72eb8
VS
38592011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3862 Don't add the bogus brackets.
3863
a374751b
VS
38642011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 ExFAT support.
3867
3868 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
3869 * grub-core/Makefile.core.def (exfat): New module.
3870 * grub-core/fs/exfat.c: New file.
3871 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
3872 (GRUB_FAT_ATTR_*): Make into an enum.
3873 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
3874 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
3875 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
3876 (GRUB_FAT_MAXFILE): Removed.
3877 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
3878 (grub_current_fat_bpb_t): New type.
3879 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
3880 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
3881 (grub_fat_dir_node_t): New type.
3882 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
3883 (fat_log2) [MODE_EXFAT]: Removed.
3884 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
3885 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
3886 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
3887 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
3888 (grub_fat_label) [MODE_EXFAT]: New function.
3889 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
3890 reserved_first_sector to 0.
3891
544c2487
VS
38922011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 Move grub_reboot out of the kernel.
3895
3896 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
3897 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
3898 * grub-core/lib/efi/reboot.c: ... here.
3899 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
3900 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3901 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
3902 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
3903 * grub-core/lib/i386/reboot_trampoline.S: ... here.
3904 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
3905 * grub-core/lib/ieee1275/reboot.c: ... here.
3906 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
3907 * grub-core/lib/mips/arc/reboot.c: ... here.
3908 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
3909 * grub-core/lib/mips/loongson/reboot.c: ...here.
3910 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
3911 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
3912 * include/grub/emu/misc.h (grub_reboot): New function declaration.
3913 * include/grub/i386/reboot.h: New file.
3914 * include/grub/mips/loongson/ec.h: Fix includes.
3915 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
3916 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
3917 * grub-core/lib/i386/reboot.c: New file.
3918
a97501d2
VS
39192011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 Make grub_prefix into module to fix the arbitrary limit and save
3922 some space.
3923
3924 * grub-core/kern/emu/main.c (grub_prefix): Removed.
3925 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
3926 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
3927 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
3928 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
3929 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
3930 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
3931 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
3932 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3933 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
3934 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
3935 * include/grub/ia64/efi/kernel.h: Removed.
3936 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
3937 (grub_prefix): Removed.
3938 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
3939 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
3940 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
3941 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
3942 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
3943 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
3944 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
3945 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
3946 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
3947 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
3948 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3949 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3950 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3951 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3952 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
3953 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
3954 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
3955 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3956 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
3957 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
3958 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
3959 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
3960 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
3961 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
3962 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
3963 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
3964 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
3965 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
3966 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
3967 from module.
3968 * util/grub-mkimage.c (image_target_desc): Removed prefix and
3969 prefix_end.
3970 (image_targets): Likewise.
3971 (generate_image): Put prefix as a module.
3972
39705fad
VS
39732011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 Replace grub_module_iterate with FOR_MODULES.
3976
3977 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
3978 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
3979 (grub_efi_modules_addr): ...this.
3980 * grub-core/kern/efi/init.c (grub_modbase): New variable.
3981 (grub_efi_init): Set grub_modbase.
3982 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
3983 (grub_modbase): New variable.
3984 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
3985 (grub_modbase): New variable.
3986 (grub_machine_init): Set grub_modbase.
3987 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
3988 (grub_modbase): New variable.
3989 (grub_machine_init): Set grub_modbase.
3990 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
3991 (grub_modbase): New variable.
3992 (grub_machine_init): Set grub_modbase.
3993 * grub-core/kern/main.c (grub_module_iterate): Remove.
3994 (grub_modules_get_end): Use grub_modbase.
3995 (grub_load_modules): Use FOR_MODULES.
3996 (grub_load_config): Likewise.
3997 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
3998 (grub_modbase): New variable.
3999 (grub_machine_init): Set grub_modbase.
4000 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
4001 (grub_modbase): New variable.
4002 (grub_machine_init): Set grub_modbase.
4003 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
4004 Removed.
4005 (grub_modbase): New variable.
4006 (grub_machine_init): Set grub_modbase.
4007 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
4008 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
4009 (grub_module_iterate): Likewise.
4010 (grub_modbase): New variable declaration.
4011 (FOR_MODULES): New macro.
4012
2afb7f6c
VS
40132011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * configure.ac: Check for __ctzdi2 and __ctzsi2.
4016 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
4017
366e34fa
VS
40182011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 Fix few obvious type discrepancies.
4021
4022 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
4023 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
4024 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
4025 variable.
4026 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
4027 and connected types.
4028 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
4029 offset.
4030 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
4031 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
4032 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
4033 and connected types.
4034
177b960e
VS
40352011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 Fix python 3.x incompatibilities.
4038
4039 * gentpl.py: Put brackets around print strings.
4040 * util/import_gcry.py: Open explicitly as utf-8.
4041 Use in instead of has_key.
4042
3b619ae1
VS
40432011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
4046 (GRUB_XFS_INO_AGBITS): Make into inline function.
4047 (GRUB_XFS_INO_INOINAG): Likewise.
4048 (GRUB_XFS_INO_AG): Likewise.
4049 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
4050 (GRUB_XFS_EXTENT_OFFSET): Likewise.
4051 (GRUB_XFS_EXTENT_BLOCK): Likewise.
4052 (GRUB_XFS_EXTENT_SIZE): Likewise.
4053 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
4054 (GRUB_XFS_NEXT_DIRENT): Likewise.
4055 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
4056 (grub_xfs_read_file): Fix offset type.
4057
8bcebcb8
RM
40582011-10-15 Robert Millan <rmh@gnu.org>
4059
4060 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
4061
0017e5ef
RM
40622011-10-15 Robert Millan <rmh@gnu.org>
4063
4064 Fix build problem on FreeBSD and GNU/kFreeBSD.
4065
4066 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
4067
d8919552
VS
40682011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
4071
4072 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
4073 types.
4074 (grub_hfsplus_btree_recoffset): Likewise.
4075 (grub_hfsplus_btree_recptr): Likewise.
4076 (grub_hfsplus_find_block): Likewise.
4077 (grub_hfsplus_btree_search): Likewise.
4078 (grub_hfsplus_read_block): Likewise.
4079 (grub_hfsplus_read_file): Likewise.
4080 (grub_hfsplus_mount): Likewise.
4081 (grub_hfsplus_btree_iterate_node): Likewise.
4082 (grub_hfsplus_btree_search): Likewise.
4083 (grub_hfsplus_iterate_dir): Likewise.
4084 (grub_hfsplus_read): A small code simplification.
4085
c81296b6
VS
40862011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/kern/emu/hostdisk.c
4089 (convert_system_partition_to_system_disk): Don't assume that children
4090 of mapper nodes are mapper nodes.
4091
0eb8ffb1
VS
40922011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
4095 * include/grub/misc.h (grub_isxdigit): New function.
4096 * grub-core/video/colors.c (my_isxdigit): Removed. All users
4097 switched to grub_isxdigit.
4098 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
4099 number starting with a letter.
4100
a98f4a08
RM
41012011-10-09 Robert Millan <rmh@gnu.org>
4102
4103 LVM support for FreeBSD and GNU/kFreeBSD.
4104
4105 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
4106 GNU/kFreeBSD.
4107 (LVM_DEV_MAPPER_STRING): Move from here ...
4108 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
4109 * util/getroot.c: Include `<grub/util/lvm.h>'.
4110 (grub_util_get_dev_abstraction): Enable
4111 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
4112 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
4113 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
4114 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
4115 support it.
4116 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
4117 GNU/kFreeBSD.
4118 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
4119 when LVM abstraction is required for ${GRUB_DEVICE}.
4120
050e8e90
SJ
41212011-10-06 Szymon Janc <szymon@janc.net.pl>
4122
4123 Add support for LZO compression in GRUB:
4124 - import of minilzo library,
4125 - LZO decompression for btrfs,
4126 - lzop files decompression.
4127
4128 * grub-core/io/lzopio.c: New file.
4129 * grub-core/lib/adler32.c: Likewise.
4130 * grub-core/lib/minilzo/lzoconf.h: Likewise.
4131 * grub-core/lib/minilzo/lzodefs.h: Likewise.
4132 * grub-core/lib/minilzo/minilzo.c: Likewise.
4133 * grub-core/lib/minilzo/minilzo.h: Likewise.
4134 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
4135 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
4136 grub-core/lib/minilzo/minilzo.c to common.
4137 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
4138 cflags in cppflags.
4139 * grub-core/Makefile.core.def (btrfs): Likewise.
4140 * grub-core/Makefile.core.def (lzopio): New module.
4141 (adler32): Likewise.
4142 * grub-core/fs/btrfs.c: Include minilzo.h.
4143 (GRUB_BTRFS_COMPRESSION_LZO): New define.
4144 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
4145 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
4146 (grub_btrfs_lzo_decompress): New function.
4147 (grub_btrfs_extent_read): Add support for LZO compression type.
4148 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
4149 (GRUB_USHRT_MAX): Likewise.
4150 (GRUB_UINT_MAX): Likewise.
4151 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
4152 (UINT_MAX): Likewise.
4153 (CHAR_BIT): Likewise.
4154 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
4155 grub-core/lib/posix_wrap/limits.h
4156 (UCHAR_MAX): Likewise.
4157 * include/grub/file.h (grub_file_filter_id): New compression filter
4158 GRUB_FILE_FILTER_LZOPIO.
4159 * include/grub/file.h (grub_file_filter_id): Set
4160 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
4161 * include/grub/types.h (grub_get_unaligned16): New function.
4162 (grub_get_unaligned32): Likewise.
4163 (grub_get_unaligned64): Likewise.
4164 * util/import_gcry.py (cryptolist): Add adler32.
4165
0eb8ffb1
VS
41662011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
4169 in perspective decreases the complexity of build system and fixes
4170 compilation right now.
4171
ce79cc99 41722011-10-01 Ales Nesrsta <starous@volny.cz>
4173
4174 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
4175 (fixed problem related to using UHCI with coreboot).
4176
8667a314
BC
41772011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4178
4179 * gentpl.py: Use Autogen macros so that the output template file
4180 (Makefile.tpl) size is reduced.
4181
fc5efcc0
MK
41822011-09-29 Mads Kiilerich <mads@kiilerich.com>
4183
4184 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
4185 extra_dist.
4186
d1ab689d
ML
41872011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4188
4189 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
4190 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
4191
c05de032
ML
41922011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4193
4194 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
4195 _fullpath.
4196
cca7ccd8
ML
41972011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4198
4199 Remove extra declaration of sleep for mingw32.
4200
4201 * util/misc.c (sleep) [__MINGW32__]: Removed.
4202 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
4203
e0b0dc83
GS
42042011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4205
4206 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
4207 type and packname.
4208 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
4209 Resurrected.
4210 (NETBSD_BTINFO_BOOTWEDGE): New definition.
4211 (grub_netbsd_btinfo_bootwedge): New struct.
4212 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4213 New function.
4214 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
4215
91a1a164
TH
42162011-09-28 Thomas Haller <thomas.haller@fen-net.de>
4217
4218 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
4219 loader.
4220
2ded951e
AB
42212011-09-28 Andreas Born <futur.andy@googlemail.com>
4222
4223 Fix incorrect identifiers in bash-completion.
4224
4225 * util/bash-completion.d/grub-completion.bash.in
4226 (_grub_mkpasswd-pbkdf2): Rename to ...
4227 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
4228 (_grub_script-check): Rename to ...
4229 (_grub_script_check): ... this. All users updated.
4230
69915030
VS
42312011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4234 Return 0 if disk isn't biosdisk.
4235
20fd15f9
GS
42362011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4237
4238 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
4239 on NetBSD.
4240 * Makefile.util.def (grub-fstest): Likewise.
4241
1a7d7db9
GS
42422011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4243
4244 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
4245 Get sector size from disk label.
4246
2221ab6c
CW
42472011-09-05 Colin Watson <cjwatson@ubuntu.com>
4248
4249 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
4250 */README* as well as README*.
4251 Reported by: Axel Beckert.
4252
ca51c4a0
VS
42532011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
4256 case of less than 256 MiB of RAM.
4257
ab80f326
VS
42582011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4259
4260 * grub-core/commands/wildcard.c (make_regex): Handle @.
4261
4155e697
VS
42622011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * util/grub-install.in: Move cryptodisk logic to appropriate place.
4265
ab178c08
SJ
42662011-08-21 Szymon Janc <szymon@janc.net.pl>
4267
4268 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
4269 AC_LANG_CONFTEST macros.
4270
7dc3c686
SJ
42712011-08-20 Szymon Janc <szymon@janc.net.pl>
4272
4273 Add grub-fstest option to uncompress data for commands.
4274
4275 * util/grub-fstest.c (uncompress): New var.
4276 (options): New option -u.
4277
fe8d4a7b
SJ
42782011-08-20 Szymon Janc <szymon@janc.net.pl>
4279
4280 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4281 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
4282
a5219af1
SJ
42832011-08-20 Szymon Janc <szymon@janc.net.pl>
4284
4285 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
4286 file type was not recognized correctly (not gzip or corrupted).
4287
f87abff5
VS
42882011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
4291 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
4292
d94497ea
VS
42932011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
4296 loongson.
4297 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4298 video_radeon_fuloong2e.
4299 * grub-core/video/radeon_fuloong2e.c: New file.
4300 * include/grub/video.h (grub_video_id_t): Add new ID
4301 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
4302
0d1fd011
VS
43032011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
4306 define.
4307 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
4308 that PRID matches the detected subplatform and reset the subplatform
4309 if it doesn't.
4310
84beb0ee
VS
43112011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
4314
1227c133
VS
43152011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 Fix PCI iterating on functions >= 4.
4318
4319 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
4320 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
4321 Removed.
4322 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
4323 (grub_pci_read): Fix bitmask.
4324 (grub_pci_read_word): Likewise.
4325 (grub_pci_read_byte): Likewise.
4326 (grub_pci_write): Likewise.
4327 (grub_pci_write_word): Likewise.
4328 (grub_pci_write_byte): Likewise.
4329
9594c689
VS
43302011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
4333 can still be specified in TARGET_CFLAGS)
4334
14a2562c
VS
43352011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
4338
4339 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
4340 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
4341 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
4342 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
4343 (FULOONG): Rename to ...
4344 (FULOONG2F): ... this. All users updated.
4345 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
4346 (machtype_fuloong2f_str): ... this.
4347 (machtype_fuloong2e_str): New string.
4348 Check for machtype_fuloong2e_str.
4349 * grub-core/loader/mips/linux.c (loongson_machtypes)
4350 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
4351 * grub-core/term/serial.c (loongson_defserial)
4352 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
4353 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
4354 loongson_defserial.
4355 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
4356 Rename to ...
4357 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
4358 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
4359 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
4360 to IMAGE_FULOONG2F_FLASH. All users updated.
4361 (image_targets): Rename images.
4362 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
4363
b526cbb6
SJ
43642011-08-19 Szymon Janc <szymon@janc.net.pl>
4365
4366 Make enable of disk cache statistics code configurable.
4367
4368 * configure.ac: --enable-cache-stats added.
4369 * config.h.in (DISK_CACHE_STATS): New define.
4370 * grub-core/Makefile.core.def (cacheinfo): New command.
4371 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
4372 * grub-core/commands/cacheinfo.c: New file.
4373 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
4374 moved to cacheinfo.c.
4375 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
4376 debug code.
4377 * include/grub/disk.h: Likewise.
4378
fb739ccd
SJ
43792011-08-19 Szymon Janc <szymon@janc.net.pl>
4380
4381 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
4382 * grub-core/Makefile.am: Likewise.
4383
2bba8cfd
VS
43842011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
4387 non-zero pull.
4388
43526629
VS
43892011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
4392 All users updated.
4393 (grub_jfs_lookup_symlink): Use correct starting inode.
4394
5c144cc8
VS
43952011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * util/grub-setup.c (main): Add missing gcry initialisation.
4398
b1257f65
VS
43992011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 Don't accept text modes on EFI when booting Linux.
4402
4403 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
4404 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
4405
828bc390
ML
44062011-08-15 Mario Limonciello <mario_limonciello@dell.com>
44072011-08-15 Colin Watson <cjwatson@ubuntu.com>
4408
4409 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
4410 use of "/path/.." as in grub-install for EFI as well as handling
4411 symlinks correctly.
4412 Fixes Debian bug #637768.
4413
5f60ccac
CW
44142011-08-15 Colin Watson <cjwatson@ubuntu.com>
4415
4416 * util/grub-probe.c: Remove duplicate #include.
4417
6dc212f9
RM
44182011-08-10 Robert Millan <rmh@gnu.org>
4419
4420 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
4421
4422 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
4423 function.
4424 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
4425 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
4426
66816d85
RM
44272011-08-03 Robert Millan <rmh@gnu.org>
4428
4429 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
4430 la_array as packed.
4431 Reported by: Zachary Bedell
4432
20168fca
CW
44332011-07-26 Colin Watson <cjwatson@ubuntu.com>
4434
4435 * configure.ac: The Loongson port requires grub-mkfont due to its
4436 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
4437 be built.
4438
303b6246
CW
44392011-07-26 Colin Watson <cjwatson@ubuntu.com>
4440
4441 * util/grub-install.in: Don't source grub-mkconfig_lib until after
4442 processing arguments (otherwise help2man fails when GRUB has not yet
4443 been installed).
4444
6795300e
VS
44452011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4446
41aa28ea
VS
4447 New script grub-mkstandalone.
4448
4449 * Makefile.util.def (grub-mkstandalone): New script.
4450 * docs/man/grub-mkstandalone.h2m: New file.
4451 * util/grub-mkstandalone.in: Likewise.
4452
44532011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 Support ATA disks with 4K sectors.
6795300e
VS
4456
4457 * include/grub/ata.h (grub_ata): New member log_sector_size.
4458 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
4459 (grub_ata_identify): Read sector size.
4460 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
4461
92227597
VS
44622011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * util/grub-install.in: Don't use uhci outside of x86.
4465
c77069f5
VS
44662011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * util/grub-mkrescue.in: Add missing quotes.
4469
44702011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
4471
4472 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
4473 dereference.
4474
583168a2
VS
44752011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
4478
6be1c01f
VS
44792011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * include/grub/video.h: add missing EXPORT_FUND on
4482 grub_video_edid_checksum and grub_video_edid_preferred_mode.
4483
a1167439
VS
44842011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * include/grub/mips/kernel.h: Fix define conflict.
4487
bf66054f
VS
44882011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
4491 all four ways.
4492
8fc4fa45
CW
44932011-07-21 Colin Watson <cjwatson@ubuntu.com>
4494
4495 Preferred resolution detection for VBE.
4496
4497 * grub-core/video/video.c (grub_video_edid_checksum): New function.
4498 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
4499 the Flat Panel extension, in line with the X.org VESA driver.
4500 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
4501 New function.
4502 (grub_vbe_bios_get_ddc_capabilities): Likewise.
4503 (grub_vbe_bios_read_edid): Likewise.
4504 (grub_vbe_get_preferred_mode): Likewise.
4505 (grub_video_vbe_setup): When the mode is "auto", try to get the
4506 preferred mode from VBE, and use the largest mode that is no larger
4507 than the preferred mode (some BIOSes expose a preferred mode that is
4508 not in their mode list!). If this fails, fall back to 640x480 as a
4509 safe conservative choice.
4510 (grub_video_vbe_get_edid): New function.
4511 (grub_video_vbe_adapter): Add get_edid.
4512 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
4513 (struct grub_video_adapter): Add get_edid.
4514 (grub_video_edid_checksum): Add prototype.
4515 (grub_video_edid_preferred_mode): Likewise.
4516 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
4517 structure.
4518
4519 * grub-core/commands/videoinfo.c (print_edid): New function.
4520 (grub_cmd_videoinfo): Print EDID if available.
4521
4522 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
4523 is more appropriate on a wider range of platforms than 640x480.
4524 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
4525 documentation.
4526
ca5572a9
VS
45272011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
4530
e4bcf625
VS
45312011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 * po/POTFILES.in: Regenerate.
4534
c4edd548
VS
45352011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
4538 incorrect memory usage.
4539
16a2bab0
VS
45402011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * util/grub-install.in: Source grub-mkconfig_lib.
4543
2e418de6
VS
45442011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 Remove getroot.c from core on emu platform.
4547
4548 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
4549 kern/emu/raid.c.
4550 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
4551 useless.
4552 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
4553 * util/getroot.c (get_win32_path): ... here.
4554 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
4555 * util/getroot.c (fini_libzfs): ... here.
4556 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
4557 * util/getroot.c (grub_get_libzfs_handle): ... here.
4558 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
4559 Moved from here...
4560 * util/getroot.c (grub_find_zpool_from_dir): ... here.
4561 * grub-core/kern/emu/misc.c
4562 (grub_make_system_path_relative_to_its_root): Moved from here...
4563 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
4564 * grub-core/kern/emu/getroot.c: Moved from here ...
4565 * util/getroot.c: ... here. All users updated.
4566 * grub-core/kern/emu/raid.c: Moved from here ...
4567 * util/raid.c: ... here. All users updated.
4568
def9832a
VS
45692011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * po/POTFILES.in: Regenerate.
4572
cd8fe79a
VS
45732011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 Fix compilation on GNU/Linux.
4576
4577 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
4578 Disable geli.
4579 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
4580 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
4581 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
4582
a251b719
VS
45832011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
45842011-07-07 Michael Gorven <michael@gorven.za.net>
45852011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
4586
4587 LUKS and GELI support.
4588
4589 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
4590 grub-core/disk/luks.c, grub-core/disk/geli.c,
4591 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
4592 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
4593 grub-core/lib/arg.c.
4594 (libgrubmods.a): Remove gcrypts cflags and cppflags.
4595 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
4596 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
4597 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
4598 (grub-bin2h): Add libgcry.a.
4599 (grub-mkimage): Likewise.
4600 (grub-mkrelpath): Likewise.
4601 (grub-script-check): Likewise.
4602 (grub-editenv): Likewise.
4603 (grub-mkpasswd-pbkdf2): Likewise.
4604 (grub-pe2elf): Likewise.
4605 (grub-fstest): Likewise.
4606 (grub-mkfont): Likewise.
4607 (grub-mkdevicemap): Likewise.
4608 (grub-probe): Likewise.
4609 (grub-ofpath): Likewise.
4610 (grub-mklayout): Likewise.
4611 (example_unit_test): Likewise.
4612 (grub-menulst2cfg): Likewise.
4613 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
4614 * grub-core/Makefile.core.def (cryptodisk): New module.
4615 (luks): Likewise.
4616 (geli): Likewise.
4617 * grub-core/disk/AFSplitter.c: New file.
4618 * grub-core/disk/cryptodisk.c: Likewise.
4619 * grub-core/disk/geli.c: Likewise.
4620 * grub-core/disk/luks.c: Likewise.
4621 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
4622 grub_util_is_lvm.
4623 (grub_util_get_dm_abstraction): New function.
4624 (grub_util_follow_gpart_up): Likewise.
4625 (grub_util_get_geom_abstraction): Likewise.
4626 (grub_util_get_dev_abstraction): Use new functions.
4627 (grub_util_pull_device): Pull GELI and LUKS.
4628 (grub_util_get_grub_dev): Handle LUKS and GELI.
4629 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
4630 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
4631 (follow_geom_up): Removed.
4632 (grub_util_fd_seek): New function.
4633 (open_device): Use grub_util_fd_seek.
4634 (nread): Rename to ..
4635 (grub_util_fd_read): ... this. All users updated.
4636 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
4637 (grub_crypto_cbc_decrypt): Likewise.
4638 (grub_crypto_hmac_write): Likewise.
4639 (grub_crypto_hmac_buffer): Likewise.
4640 (grub_password_get): Extend to util.
4641 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
4642 New member modname.
4643 (gcry_md_spec) [GRUB_UTIL]: Likewise.
4644 * include/grub/cryptodisk.h: New file.
4645 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
4646 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
4647 LUKS and GELI.
4648 (grub_util_follow_gpart_up): New proto.
4649 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
4650 (grub_util_fd_read): Likewise.
4651 (grub_cryptodisk_cheat_mount): Likewise.
4652 (grub_util_cryptodisk_print_uuid): Likewise.
4653 (grub_util_get_fd_sectors): Likewise.
4654 * util/grub-fstest.c (mount_crypt): New var.
4655 (fstest): Mount crypto if requested.
4656 (options): New option -C.
4657 (argp_parser): Parse -C.
4658 (main): Init and fini gcry.
4659 * util/grub-install.in: Support cryptodisk install.
4660 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
4661 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
4662 cryptodisk.
4663 (prepare_grub_to_access_device): Likewise.
4664 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
4665 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
4666 (probe_cryptodisk_uuid): New function.
4667 (probe_abstraction): Likewise.
4668 (probe): Use new functions.
4669 * util/import_gcry.py: Create Makefile.utilgcry.def.
4670 Add modname member.
4671
9bfdcbbc
VS
46722011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 Lazy device scanning.
4675
4676 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
4677 (grub-setup): Remove util/raid.c.
4678 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
4679 * grub-core/disk/lvm.c (scan_depth): New variable.
4680 (grub_lvm_iterate): Rescan if necessary.
4681 (find_lv): New function based on grub_lvm_open.
4682 (grub_lvm_open): Use find_lv. Rescan on error.
4683 (is_node_readable): New function.
4684 (is_lv_readable): Likewise.
4685 (grub_lvm_scan_device): Skip already found disks.
4686 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
4687 Stop if searched device is found and readable.
4688 * grub-core/disk/raid.c (inscnt): New variable.
4689 (scan_depth): Likewise.
4690 (scan_devices): New function based on grub_raid_register. Abort if
4691 looked for device is found.
4692 (grub_raid_iterate): Rescan if needed.
4693 (find_array): NEw function based on -grub_raid_open.
4694 (grub_raid_open): Use find_array and rescan.
4695 (insert_array): Set became_readable_at.
4696 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
4697 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
4698 New function.
4699 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
4700 (grub_util_pull_device): New function.
4701 (grub_util_get_grub_dev): Call grub_util_pull_device.
4702 * util/raid.c: Moved to ..
4703 * grub-core/kern/emu/raid.c: ... here.
4704 (grub_util_raid_getmembers): New parameter "bootable".
4705 All users updated. Support 1.x.
4706 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
4707 All users updated.
4708 * include/grub/disk.h (grub_disk_pull_t): New enum.
4709 (grub_disk_dev): Change iterate prototype.
4710 All users updated.
4711 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
4712 New proto.
4713 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
4714 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
4715 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
4716 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
4717 All users updated.
4718 * include/grub/util/raid.h: Removed.
4719
1c358e59
VS
47202011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * po/POTFILES.in: Regenerate.
4723
abee94ed
VS
47242011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 Unify sparc init with other ieee1275.
4727
4728 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
4729 instead of kern/sparc64/ieee1275/init.c.
4730 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
4731 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
4732 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
4733 grub/machine/kernel.h.
4734 (grub_ieee1275_original_stack) [__sparc__]: New variable.
4735 (grub_claim_heap) [__sparc__]: Use sparc version.
4736 (grub_machine_init): Moved args parsing to
4737 (grub_parse_cmdline): ...this.
4738 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
4739 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
4740 New definition.
4741 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
4742
4743 Move BOOTP to separate file.
4744
4745 * grub-core/Makefile.core.def (net): Add net/bootp.c.
4746 * grub-core/net/net.c: Move all BOOTP functions to
4747 * grub-core/net/bootp.c: ... here.
4748
4749 Use frame interface on PXE.
4750
4751 * grub-core/Makefile.core.def (pxecmd): Removed.
4752 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
4753 * grub-core/commands/i386/pc/pxecmd.c: Removed.
4754 * grub-core/i386/pc/pxe.c: Moved from here ...
4755 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
4756 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
4757 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
4758
4759 EFI network support.
4760
4761 * grub-core/Makefile.core.def (efinet): New module.
4762 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
4763 here...
4764 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
4765 All users updated.
4766 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
4767 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
4768 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
4769 * grub-core/net/drivers/efi/efinet.c: New file.
4770 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
4771 (grub_efi_net_config): New extern var.
4772
4773 Various cleanups and bugfixes.
4774
4775 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
4776 error.
4777 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
4778 disk declared as partition.
4779 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
4780 leak on failure.
4781 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
4782 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
4783 (grub_debug_zalloc): Likewise.
4784 (grub_debug_realloc): Likewise.
4785 (grub_debug_memalign): Likewise.
4786 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
4787 Check that target is IPv4.
4788 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
4789 local-mac-address as fallback.
4790 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
4791 memory leak.
4792 * grub-core/net/ip.c (ipchksum): Rename to ...
4793 (grub_net_ip_chksum): ... this. All users updated.
4794 (grub_net_recv_ip_packets): Special handling for DHCP.
4795 * util/grub-mkimage.c (generate_image): Zero-out aout header.
4796
4797 Unify prefix handling
4798
4799 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
4800 (grub_machine_get_bootlocation): ... this.
4801 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
4802 (grub_machine_get_bootlocation): ... this.
4803 (grub_prefix): New variable.
4804 (prefix): Removed.
4805 (root_dev): New variable.
4806 (dir): Likewise.
4807 (main): Use new variables.
4808 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
4809 Revamped into ...
4810 (grub_machine_get_bootlocation): ... this.
4811 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
4812 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
4813 (grub_machine_get_bootlocation): ... this.
4814 (grub_machine_set_prefix): Removed.
4815 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
4816 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
4817 Revamped into ...
4818 (grub_machine_get_bootlocation): ... this.
4819 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
4820 (grub_set_prefix_and_root): ... this. All users updated.
4821 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
4822 Revamped into ...
4823 (grub_machine_get_bootlocation): ... this.
4824 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
4825 (grub_machine_get_bootlocation): New proto.
4826 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
4827
4828 Less intrusive and more reliable seek on network implementation.
4829
4830 * grub-core/kern/file.c (grub_file_net_seek): Removed.
4831 (grub_file_seek): Don't call grub_file_net_seek.
4832 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
4833 (grub_net_fs_read_real): .. this.
4834 (grub_net_seek_real): Use net->offset.
4835 (grub_net_fs_read): Seek if necessary.
4836
4837 Unify IEEE1275 netwotk config with the other platforms.
4838
4839 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
4840 New variable.
4841 (grub_machine_get_bootlocation): Support network.
4842 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4843 Support type and device parsing.
4844 (grub_ieee1275_get_device_type): New function.
4845 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
4846 into ...
4847 (grub_ieee1275_net_config_real): ... this.
4848 (grub_ofnet_probecards): Removed.
4849 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
4850 * include/grub/ieee1275/ofnet.h: Removed.
4851 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
4852 extern var.
4853 (grub_ieee1275_get_device_type): New function.
4854
4855 Unify network device closing across platforms and make more robust.
4856
4857 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
4858 grub_grubnet_fini.
4859 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
4860 already.
4861 * grub-core/net/net.c (grub_net_network_level_interface_register):
4862 Update num_ifaces.
4863 (grub_net_card_unregister): Close all interfaces.
4864 (receive_packets): Don't poll if no iterfaces are registered.
4865 Open if necessary.
4866 (grub_net_fini_hw): New function.
4867 (grub_net_restore_hw): Likewise.
4868 (fini_hnd): New variable.
4869 (GRUB_MOD_INIT): Register preboot hook.
4870 (GRUB_MOD_FINI): Run and unregister preboot hook.
4871
4872 Poll network cards when idle.
4873
4874 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
4875 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
4876 * grub-core/net/net.c (receive_packets): Save last poll time.
4877 (grub_net_poll_cards_idle_real): New function.
4878 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
4879 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
4880 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
4881
4882 Rename ofnet interfaces.
4883
4884 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
4885 (grub_ofnet_findcards): Use ofnet_%s names.
4886
4887 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
4888
4889 Cleanup socket opening.
4890
4891 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
4892 (grub_net_fs_close): Likewise.
4893 (grub_net_fs_read_real): Use eof member.
4894 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
4895 (+grub_net_udp_close): New inline function.
4896
4897 * include/grub/net/tftp.h: Moved to the top of ...
4898 * grub-core/net/tftp.c: ... here.
4899 * include/grub/net/ip.h: Moved mostly to the top of ...
4900 * grub-core/net/ip.c: ... here.
4901 * include/grub/net/ethernet.h: Moved mostly to the top of ...
4902 * grub-core/net/ethernet.c: ... here.
4903
4904 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
4905
4906 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
4907 FS name.
4908
4909 * include/grub/net/ip.h (ipv4_ini): Removed.
4910 (ipv4_fini): Likewise.
4911
4912 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
4913 (grub_net_send_ip_packets): Likewise.
4914
cf1337aa
VS
49152011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
4918 grub_read_cmos prototype.
4919
93c06ff9
VS
49202011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 VGA text support in qemu-mips
4923
4924 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
4925 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
4926 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
4927 text.
4928 * grub-core/kern/i386/qemu/init.c: Renamed to ...
4929 * grub-core/kern/vga_init.c: ... this.
4930 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
4931 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
4932 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
4933 Adjust.
4934 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
4935 GRUB_MACHINE_PCI_IO_BASE.
4936
748ccabe
VS
49372011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 MIPS qemu flash support.
4940
4941 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
4942 magic.
4943 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
4944 (grub_machine_init): Probe memory if its size isn't known.
4945 * util/grub-mkimage.c (image_targets): Add flash targets.
4946 (generate_image): Handle flash targets.
4947
d7345994
VS
49482011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 MIPS qemu at_keyboard support.
4951
4952 * gentpl.py (videoinkernel): Add qemu-mips.
4953 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
4954 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
4955 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
4956 modules.
4957 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
4958 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
4959 * grub-core/term/serial.c (grub_serial_register)
4960 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
4961
a07a81b3
VS
49622011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 CMOS support on sparc.
4965
4966 * gentpl.py (cmos): Add powerpc and sparc.
4967 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
4968 powerpc and sparc.
4969 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
4970 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
4971 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
4972 grub_set_datetime_cmos.
4973 * grub-core/lib/ieee1275/cmos.c: New file.
4974 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
4975 (find_rtc): Set no_ieee1275_rtc on error.
4976 (grub_get_datetime): Call grub_get_datetime_cmos on error.
4977 (grub_set_datetime): Call grub_set_datetime_cmos on error.
4978 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
4979 fail. Move value to argument. All users updated
4980 (grub_cmos_write): Likewise.
4981 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
4982 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
4983 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
4984 grub_get_datetime_cmos and grub_set_datetime_cmos.
4985
77546584
GS
49862011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4987
4988 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
4989 sourcing grub-mkconfig_lib.
4990 * util/update-grub_lib.in: Likewise.
4991 * util/grub.d/00_header.in: Likewise.
4992 * util/grub.d/10_hurd.in: Likewise.
4993 * util/grub.d/10_kfreebsd.in: Likewise.
4994 * util/grub.d/10_linux.in: Likewise.
4995 * util/grub.d/10_netbsd.in: Likewise.
4996 * util/grub.d/10_windows.in: Likewise.
4997 * util/grub.d/20_linux_xen.in: Likewise.
4998 * util/grub.d/30_os-prober.in: Likewise.
4999
54894791
CW
50002011-06-28 Colin Watson <cjwatson@ubuntu.com>
5001
5002 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5003 default_bg_color rather than black.
5004 (grub_gfxterm_fullscreen): Likewise.
5005 (grub_gfxterm_background_color_cmd): Save new background color in
5006 default_bg_color.
5007
8d5d8444
VS
50082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
5011
5afeb5bd
VS
50122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
5015 mismerge.
5016
ba7df45e
VS
50172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Chainloading on coreboot support.
5020
5021 * grub-core/Makefile.core.def (chain): Add coreboot.
5022 * grub-core/loader/i386/coreboot/chainloader.c: New file.
5023
d0b526b2
VS
50242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
5027 if it happens.
5028
5ff1d945
VS
50292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 Implement time command.
5032
5033 * grub-core/Makefile.core.def (time): New module.
5034 * grub-core/commands/time.c: New file.
5035 * grub-core/script/parser.y: Remove "time" keyword.
5036 * grub-core/script/yylex.l: Likewise.
5037
5ebaad7e
VS
50382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
5041
bdea3798
VS
50422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
5045 when handling leftovers.
5046
b28c5655
VS
50472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
5050 so that help2man doesn't fail.
5051
b6f945dc
VS
50522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
5055 type in pointers on sparc64.
5056 (get_card_packet): Likewise.
5057
f9b75e8a
CW
50582011-06-27 Colin Watson <cjwatson@ubuntu.com>
5059
5060 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
5061 with `*'.
5062 (grub_cmd_videoinfo): Fetch current video mode.
5063
1e3d9b86
VS
50642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
5067 because of underlying system restrictions.
5068
efff4b1c
VS
50692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
5072 necessary.
5073
9fc9ce37
VS
50742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 Coreboot video support.
5077
5078 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
5079 (vbe): Likewise.
5080 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
5081 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
5082 here ...
5083 * grub-core/kern/i386/int.S: ... here.
5084 * grub-core/video/i386/pc/vbe.c: Updated includes.
5085 * grub-core/video/i386/pc/vga.c: Likewise.
5086 * include/grub/i386/coreboot/memory.h
5087 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
5088 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
5089 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
5090 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
5091 Disable interrupts.
5092 * include/grub/i386/pc/vga.h: Removed. All users updated.
5093
41bec7fe
VS
50942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
5097 definitions for dprintf.
5098 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
5099
ca80309d
VS
51002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
5103 prototype.
5104 (get_card_packet): Likewise.
5105
9e322ce8
YB
51062011-06-26 Yves Blusseau <blusseau@zetam.org>
5107
5108 Display the path of the file when file is not found
5109
5110 * grub-core/fs/fat.c: Display the filename when file is not found.
5111 * grub-core/fs/fshelp.c: Likewise.
5112 * grub-core/fs/hfs.c: Likewise.
5113 * grub-core/fs/jfs.c: Likewise.
5114 * grub-core/fs/minix.c: Likewise.
5115 * grub-core/fs/ufs.c: Likewise.
5116 * grub-core/fs/btrfs.c: Likewise.
5117 * grub-core/commands/i386/pc/play.c: Likewise.
5118
cbf597af
SJ
51192011-06-26 Szymon Janc <szymon@janc.net.pl>
5120
5121 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
5122 pointer checks before calling grub_free().
5123 * grub-core/commands/wildcard.c (match_devices): Likewise.
5124 * grub-core/commands/wildcard.c (match_files): Likewise.
5125 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
5126 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
5127 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
5128 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
5129 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
5130 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
5131 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
5132 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
5133 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
5134
6295b32f
P
51352011-06-25 Patrick <p55@mailinator.com>
5136
5137 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
5138
77c0840b
VS
51392011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
5142 (grub_pxe_send): Likewise.
5143 (GRUB_MOD_INIT): Fix types.
5144
40ea05de
SJ
51452011-06-24 Szymon Janc <szymon@janc.net.pl>
5146
5147 * grub-core/io/xzio.c: Fix code style issues
5148
90162423
MRA
51492011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
51502011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
5151
5152 Network infrastructure.
5153 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
5154
5155 * include/grub/net/arp.h: New file.
90162423
MRA
5156 * include/grub/net/device.h: Likewise.
5157 * include/grub/net/ethernet.h: Likewise.
5158 * include/grub/net/ip.h: Likewise.
5159 * include/grub/net/netbuff.h: Likewise.
5160 * include/grub/net/tftp.h: Likewise.
5161 * include/grub/net/udp.h: Likewise.
5162 * include/grub/ieee1275/ofnet.h: Likewise.
5163 * include/grub/emu/export.h: Likewise.
5164 * include/grub/net.h: Likewise.
5165 * grub-core/net/arp.c: Likewise.
5166 * grub-core/net/ethernet.c: Likewise.
5167 * grub-core/net/ip.c: Likewise.
5168 * grub-core/net/udp.c: Likewise.
5169 * grub-core/net/tftp.c: Likewise.
5170 * grub-core/net/netbuff.c: Likewise.
5171 * grub-core/net/net.c: Likewise.
5172 * grub-core/net/drivers/emu/emunet.c: Likewise.
5173 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
5174 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
5175 export.h.
5176 * grub-core/Makefile.core.def (net): New module.
5177 (tftp): Likewise.
5178 (ofnet): Likewise.
5179 (emunet): Likewise.
5180 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
5181 network protocols.
5182 * grub-core/kern/device.c (grub_net_open) : New variable.
5183 (grub_device_open): Handle network device.
5184 (grub_device_close): Likewise.
5185 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
5186 (grub_grubnet_fini): Likewise.
5187 (grub_file_seek): Seek in network device.
5188 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
5189 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
5190 network root.
5191 (grub_machine_fini): Call grub_grubnet_fini.
5192 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
5193 network.
5194 (grub_ieee1275_get_aliasdevname): New function.
5195 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5196 Add unofficial Solaris network info.
5197 (grub_multiboot_make_mbi): Likewise.
5198 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
5199 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
5200 * include/grub/device.h (grub_fs): Removed.
5201 * include/grub/err.h (grub_err_t): Add network-related values.
5202 * include/grub/i386/pc/pxe.h: Removed bootp parts.
5203 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
5204 (grub_ieee1275_get_aliasdevname): New proto.
5205 * include/grub/net.h: Rewritten.
423a1849 5206
031f22a0
VS
52072011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
5210 names.
5211
4388ca72
VS
52122011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
5215 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
5216 it truncates the output.
5217 Reported by: Ximin Luo.
5218
98e2f506
VS
52192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
5222
2a5e94d8
VS
52232011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5226 partmap before abstraction.
5227
535c1910
AK
52282011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
5229
5230 * util/grub-mkconfig_lib.in: Add missing quotes.
5231
bc09e1a2
VS
52322011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
5235 old method if mountinfo would return /dev/root and /dev/root doesn't
5236 exist.
5237
290766fb
VS
52382011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 ZFS zlib support
5241
5242 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
5243 (decomp_table): Add zlib entries.
5244 (zio_read): USe 8 bits for compression function rather than 3.
5245 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
5246
52472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 * grub-core/disk/ahci.c: Add missing license statements.
5250 * grub-core/fs/romfs.c: Likewise.
5251 * grub-core/lib/ia64/setjmp.S: Likewise.
5252 * grub-core/loader/i386/pc/freedos.c: Likewise.
5253 * grub-core/loader/ia64/efi/linux.c: Likewise.
5254 * grub-core/video/colors.c: Likewise.
5255 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
5256
5ab3f48a
VS
52572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 AHCI support.
5260
5261 * grub-core/Makefile.core.def (ata_pthru): Removed.
5262 (ahci): New module.
5263 (pata): Likewise.
5264 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
5265 on unload.
5266 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
5267 readwrite.
5268 (grub_hdparm_do_check_powermode_cmd): Likewise.
5269 (grub_hdparm_do_smart_cmd): Likewise.
5270 (grub_hdparm_set_val_cmd): Likewise.
5271 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
5272 * grub-core/disk/ahci.c: New file.
5273 * grub-core/disk/ata.c: Factor out the low-level part into ...
5274 * grub-core/disk/pata.c: ... here.
5275 * grub-core/disk/ata_pthru.c: Contents moved to ...
5276 * grub-core/disk/pata.c: ... here.
5277 * grub-core/disk/scsi.c (grub_scsi_names): New array.
5278 (grub_scsi_iterate): Use grub_scsi_names.
5279 (grub_scsi_open): Likewise.
5280 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
5281 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
5282 (grub_ata_regs_t): New struct.
5283 (grub_disk_ata_pass_through_parms): Likewise.
5284 (grub_ata_device): Renamed to ...
5285 (grub_ata): ... this.
5286 (grub_ata_dev): New struct.
5287 Removed all low-level inline functions.
5288 * include/grub/scsi.h: Add PATA and AHCI subsystems.
5289 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
5290 iterate hooks and open. All users updated.
5291 * util/grub-install.in: Handle AHCI disk module.
5292
c31dc5f5
SJ
52932011-06-23 Szymon Janc <szymon@janc.net.pl>
5294
5295 Add support for DRI and RSTn markers in JPEG files.
5296
5297 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
5298 (JPEG_MARKER_RST0): Likewise.
5299 (JPEG_MARKER_RST1): Likewise.
5300 (JPEG_MARKER_RST2): Likewise.
5301 (JPEG_MARKER_RST3): Likewise.
5302 (JPEG_MARKER_RST4): Likewise.
5303 (JPEG_MARKER_RST5): Likewise.
5304 (JPEG_MARKER_RST6): Likewise.
5305 (JPEG_MARKER_RST7): Likewise.
5306 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
5307 (grub_jpeg_decode_dri): New function.
5308 (grub_jpeg_decode_sos): Move image data related part into
5309 grub_jpeg_decode_data function.
5310 (grub_jpeg_decode_data): New function.
5311 (grub_jpeg_reset): New function.
5312 (grub_jpeg_decode_jpeg): Handle new markers.
5313
fe12fd5b
VS
53142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * util/ieee1275/ofpath.c (check_sas): Close fd.
5317 (main): Free of_path.
5318 Reported by: David Volgyes <dvolgyes>.
5319
03147f46
VS
53202011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
5323 Reported by: David Volgyes <dvolgyes>.
5324
cad3237f
VS
53252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
5328 file after stat.
5329 Reported by: David Volgyes <dvolgyes>.
5330
13548d26
VS
53312011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
5334
5335 Reported by: David Volgyes <dvolgyes>.
5336
e061a1b5
VS
53372011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
5340 Prevent memory leak.
5341
1abe47dc
VS
53422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
5345 (main): Close file.
e061a1b5 5346 Reported by: David Volgyes <dvolgyes>.
1abe47dc 5347
fbc62666
VS
53482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
5351 to continue if allocation is failed.
5352
5353 Reported by: David Volgyes <dvolgyes>.
5354
e98c83e9
DV
53552011-06-23 David Volgyes <dvolgyes>
5356
5357 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
5358 dereference.
5359
a199a8cd
VS
53602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 Fix spurious warning.
5363
5364 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
5365 (acorn_partition_map_find): Use .bin member.
5366
e2d1dba0
VS
53672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
5370 /dev/root as a valid device.
5371
8a5d6919
JM
53722011-06-23 Jim Meyering <meyering@redhat.com>
5373
e2d1dba0
VS
5374 Avoid NULL deref in grub_device_open.
5375
8a5d6919
JM
5376 * grub-core/kern/device.c (grub_device_open): Don't dereference
5377 a NULL pointer upon failed grub_env_get.
5378
f7db6f4a
VS
53792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 Support non-512B sectors and agglomerate reads.
5382
5383 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
5384 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
5385 (disk_io_guid): Removed.
5386 (make_devices): Locate solely by BlockIO.
5387 (grub_efidisk_open): Fill log_sector_size and total_sectors.
5388 (grub_efidisk_read): Use read_blocks.
5389 (grub_efidisk_write): Use write_blocks.
5390 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
5391 log_sector_size.
5392 (get_safe_sectors): Handle non-512B sectors.
5393 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
5394 sectors.
5395 (grub_biosdisk_write): Handle non-512B sectors.
5396 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
5397 (grub_scsi_read): Remove special non-512B block handling (now handled
5398 one level up).
5399 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
5400 and do sanity checks.
5401 (grub_disk_adjust_range): Handle non-512B sectors.
5402 (transform_sector): New function.
5403 (grub_disk_read_small): Likewise.
5404 (grub_disk_read): Rewritten.
5405 (grub_disk_write): Handle non-512B sectors.
5406 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
5407 log_sector_size.
5408 (open_device): Use log_sector_size.
5409 (grub_util_biosdisk_read): Likewise.
5410 (grub_util_biosdisk_write): Likewise.
5411 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
5412 non-512B sectors.
5413 (pc_partition_map_embed): Likewise.
5414 * include/grub/disk.h (grub_disk): New field log_sector_size.
5415 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
5416 (GRUB_DISK_CACHE_BITS): Increased to 6.
5417 * util/grub-fstest.c (fstest): New command testload.
5418 (argp_parser): Likewise.
5419
881ac815
RM
54202011-06-16 Robert Millan <rmh@gnu.org>
5421
5422 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
5423 `ata' driver on kernel of FreeBSD 9.
5424
5425 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
5426 (get_ataraid_disk_name): New functions.
5427 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
5428 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
5429 get_ataraid_disk_name() and get_ada_disk_name().
5430
1e9aef7d
CW
54312011-06-13 Colin Watson <cjwatson@ubuntu.com>
5432
5433 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
5434 input format.
5435
351c7c8a
CW
54362011-05-29 Colin Watson <cjwatson@ubuntu.com>
5437
5438 * docs/grub.texi (Obtaining and Building GRUB): Substitute
5439 `ftp.gnu.org' for `alpha.gnu.org'.
5440
6b4e6430
CW
54412011-05-27 Colin Watson <cjwatson@ubuntu.com>
5442
5443 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
5444 partitions under /dev/disk/by-id/.
5445
c64db050
CW
54462011-05-27 Colin Watson <cjwatson@ubuntu.com>
5447
5448 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
5449 after ten consecutive open failures. Scanning all the way up to
5450 10000 is excessive and can cause serious performance problems in
5451 some configurations.
5452 Fixes Ubuntu bug #787461.
5453
245f4aba
VS
54542011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
5457 opening new one.
5458
f767c929
VS
54592011-05-21 Colin Watson <cjwatson@ubuntu.com>
54602011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 Don't stat devices unless we have to.
5463
5464 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
5465 dir == /dev/mapper.
5466 (grub_guess_root_device): Use already known os_dev if possible.
5467 * grub-core/kern/emu/hostdisk.c
5468 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
5469 if device is known to be a dm one.
5470
f35fa3a6
CW
54712011-05-20 Colin Watson <cjwatson@ubuntu.com>
5472
5473 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
5474 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
5475 Reported by: Pawel Tecza.
5476
9a79fcf2
VS
54772011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
5480 (lsefisystab): Likewise.
5481 (lssal): Likewise.
5482 (lsefimmap): Likewise.
5483 (hdparm): Enable on qemu-mips.
5484 (setjmp): Add ia64 nodist.
5485 (serial): Simplify tags.
5486
63e3eea9
CW
54872011-05-18 Colin Watson <cjwatson@ubuntu.com>
5488
5489 * Makefile.util.def (grub-ofpathname): Install manual page.
5490
09728256
CW
54912011-05-18 Colin Watson <cjwatson@ubuntu.com>
5492
5493 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
5494
8b63a142
CW
54952011-05-18 Colin Watson <cjwatson@ubuntu.com>
5496
5497 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
5498
e775d8ed
VS
54992011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
5502 into dprintf.
5503
bf947d36
VS
55042011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 Use full 64-bit division.
5507
5508 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
5509 (grub_divmod64): ... this.
5510 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
5511 version.
5512
b84f26c5
CW
55132011-05-18 Colin Watson <cjwatson@ubuntu.com>
5514
5515 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
5516 `source'.
5517
5626056f
CW
55182011-05-18 Colin Watson <cjwatson@ubuntu.com>
5519
5520 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
5521 to avoid accidents when debugging with 'sh -x'.
5522 * grub-core/gensyminfo.sh.in: Likewise.
5523 * tests/example_scripted_test.in: Likewise.
5524 * tests/grub_cmd_regexp.in: Likewise.
5525 * tests/grub_script_blanklines.in: Likewise.
5526 * tests/grub_script_dollar.in: Likewise.
5527 * tests/grub_script_expansion.in: Likewise.
5528 * tests/grub_script_final_semicolon.in: Likewise.
5529 * tests/partmap_test.in: Likewise.
5530 * tests/util/grub-shell-tester.in: Likewise.
5531 * tests/util/grub-shell.in: Likewise.
5532
e2965f4a
CW
55332011-05-18 Colin Watson <cjwatson@ubuntu.com>
5534
5535 Move gfxmenu color handling to video, so that gfxterm can use it
5536 too.
5537
5538 * grub-core/gfxmenu/named_colors.c: Move to ...
5539 * grub-core/video/colors.c: ... here. Rename
5540 grub_gui_get_named_color to grub_video_get_named_color.
5541 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
5542 * grub-core/video/colors.c (my_isxdigit): ... here.
5543 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
5544 Move to ...
5545 * grub-core/video/colors.c (parse_hex_color_component): ... here.
5546 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
5547 to ...
5548 * grub-core/video/colors.c (grub_video_parse_color): ... here.
5549
5550 * include/grub/gui.h (grub_gui_color_t): Move to ...
5551 * include/grub/video.h (grub_video_rgba_color_t): ... here.
5552 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
5553 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
5554 * include/grub/gui.h (grub_gui_map_color): Move to ...
5555 * include/grub/video.h (grub_video_map_rgba_color): ... here.
5556 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
5557 to ...
5558 * include/grub/video.h (grub_video_get_named_color): ... here.
5559 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
5560 * include/grub/video.h (grub_video_parse_color): ... here.
5561
5562 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
5563 video/colors.c.
5564 (gfxmenu): Remove gfxmenu/named_colors.c.
5565 (video) [videomodules]: Add video/colors.c.
5566
5567 Add a background_color command.
5568
5569 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
5570 function.
5571 (GRUB_MOD_INIT): Register background_color command.
5572 (GRUB_MOD_FINI): Unregister background_color command.
5573 (redraw_screen_rect): Allow blend/replace of text layer to be
5574 controlled independently from whether there is a background bitmap.
5575 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
5576 changing bitmap.
5577
1e4b4390
VS
55782011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5579
26618ff0
VS
5580 Patch BPB in ntldr and chainloader --bpb.
5581
1e4b4390
VS
5582 * grub-core/fs/fat.c: Include grub/fat.h.
5583 (grub_fat_bpb): Moved to ...
5584 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
5585 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
5586 grub/ntfs.h.
5587 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
5588 Moved from here...
5589 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
5590 here.
5591 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
5592 New function.
5593 (grub_chainloader_cmd): Patch BPB if --bpb is given.
5594 (GRUB_MOD_INIT): Show --bpb.
5595 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
5596 * grub-core/normal/main.c (features): New variable.
5597 (GRUB_MOD_INIT): Set feature_* variables.
5598 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
5599 proto.
5600 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
5601
cf02731e
VS
56022011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
5605 for cleanness.
5606
e3a1073f
VS
56072011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 FreeDOS direct loading support.
5610
5611 * docs/grub.texi (Supported OS): Add FreeDOS.
5612 * grub-core/Makefile.core.def (freedos): New module.
5613 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
5614 variable.
5615 (grub_relocator16_boot): Handle %ebx.
5616 * grub-core/lib/i386/relocator16.S: Likewise.
5617 * grub-core/loader/i386/pc/freedos.c: New file.
5618
05caa461
VS
56192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 Long Linux command line support.
5622
5623 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5624 (maximal_cmdline_size): New variable.
5625 (allocate_pages): Use maximal_cmdline_size.
5626 (grub_cmd_linux): Set and use maximal_cmdline_size.
5627 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5628 (allocate_pages): Use maximal_cmdline_size.
5629 (grub_cmd_linux): Set and use maximal_cmdline_size.
5630 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
5631 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
5632 and cmdline_size.
5633
a2491e23
VS
56342011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
56352011-05-18 Colin Watson <cjwatson@ubuntu.com>
5636
5637 Improve devmapper support
5638
5639 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
5640 (grub_util_is_lvm): New function.
5641 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
5642 than lvm if not dmraid.
5643 Handle mapped md nodes.
5644 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
5645 (grub_util_device_is_mapped): ... this. Make always available. All users
5646 updated.
5647 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
5648 (convert_system_partition_to_system_disk): Handle lvm, mpath and
5649 dmraid nodes.
5650 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
5651
6ad6223e
VS
56522011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
5655
5656 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
5657 * grub-core/modinfo.sh.in: New file.
5658 * grub-core/Makefile.core.def (modinfo.sh): New script.
5659 * util/grub-mknetdir.in: Use modinfo.sh.
5660 * util/grub-mkrescue.in: Likewise.
5661
543a8f6e
VS
56622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5665 Fix potential usage of Elf32 instead of Elf64 when compiling on
5666 32-bit architecture. Add endianness macros while on it.
5667
4959e111
VS
56682011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 Use mipsel- rather than mips- in directories involving mipsel ports to
5671 allow both endiannesses coexist.
5672
5673 * configure.ac: proparate target_cpu=mipsel rather than resetting to
5674 mips. All conditions adjusted.
5675 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
5676 variable.
5677 * util/grub-install.in: Adjust conditions to take renaming into account.
5678 * util/grub-mkimage.c (image_targets): Likewise. New target
5679 mips-qemu_mips-elf for bigendian mips.
5680
35341bbc
VS
56812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 Avoid unnecessary copying on MIPS.
5684
5685 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
5686 early if src == dest.
5687 * util/grub-mkimage.c (generate_image): Arange for src == dest if
5688 compression is none.
5689
b772baed
VS
56902011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 Reduce memory footprint on SGI by putting modules before the kernel
5693 as opposed to after.
5694
5695 * grub-core/Makefile.core.def (kernel): Increase linking address.
5696 (none_decompress): Likewise.
5697 (xz_decompress): Likewise.
5698 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
5699 address.
5700 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
5701 layout change.
5702 (grub_arch_modules_addr): New function.
5703 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
5704 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
5705 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
5706 here.
5707 * grub-core/kern/mips/startup.S (total_size): Rename to ...
5708 (grub_total_modules_size): ... this. Make global.
5709 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
5710 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
5711 New definition.
5712 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
5713 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
5714 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
5715 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
5716 * util/grub-mkimage.c (image_target_desc): New flag
5717 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
5718 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
5719 (generate_image): Handle images with modules before kernel.
5720
566a1917
VS
57212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 Prevent potential loss of memory map by overwrite on qemu-mips.
5724
5725 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5726 Save ram size in $s4.
5727 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
5728 All users changed to grub_arch_memsize.
5729 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
5730 Loongson.
5731 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
5732 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
5733 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
5734 external variable.
5735
5d420cd9
CW
57362011-05-17 Colin Watson <cjwatson@ubuntu.com>
5737
5738 * .bzrignore: Remove grub-dumpbios.
5739
d064b830
CW
57402011-05-17 Colin Watson <cjwatson@ubuntu.com>
5741
5742 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
5743 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
5744 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
5745 existing options which append).
5746 * docs/grub.texi (Simple configuration): Document new options.
5747 Reported by: Ian Jackson. Fixes Debian bug #617538.
5748
3ca2b466
CW
57492011-05-17 Colin Watson <cjwatson@ubuntu.com>
5750
5751 * util/grub-fstest.c (cmd_cat): New function.
5752 (fstest): Handle CMD_CAT.
5753 (options): Add cat.
5754 (argp_parser): Handle cat.
5755
24c9143a
CW
57562011-05-17 Colin Watson <cjwatson@ubuntu.com>
5757
5758 * Makefile.util.def (grub-bin2h): Don't install.
5759 * docs/man/grub-bin2h.h2m: Remove.
5760
90f7ac19
VS
57612011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
5764 place.
5765
8d4a5178
VS
57662011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 Reenable qemu-mips port.
5769
5770 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
5771 Fix small arc bug while on it.
5772 * gentpl.py: Handle qemu_mips.
5773 * grub-core/Makefile.am: Likewise.
5774 * grub-core/Makefile.core.def: Likewise.
5775 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
5776 inappropriate includes.
5777 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
5778 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
5779 * grub-core/kern/main.c (grub_modules_get_end)
5780 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
5781 * grub-core/kern/mips/qemu-mips: Moved to ..
5782 * grub-core/kern/mips/qemu_mips: ... this.
5783 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
5784 (grub_machine_init): Call terminfo_init and serial_init.
5785 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
5786 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5787 New variable.
5788 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
5789 parameter passing.
5790 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
5791 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
5792 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5793 * include/grub/mips/qemu_mips/cmos.h: New file.
5794 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
5795 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
5796 Removed.
5797 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
5798 Use correct mips-style address.
5799 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
5800 (GRUB_TICKS_PER_SECOND): Removed.
5801 (grub_get_rtc): Likewise.
5802 (grub_cpu_idle): Likewise.
5803 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
5804 New definition.
5805 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
5806 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
5807 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
5808 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
5809 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5810 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5811 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
5812 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
5813
400b9371
VS
58142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 SGI ARCS port.
5817
5818 * Makefile.util.def (libgrubmods.a): Add dvh.c.
5819 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
5820 platforms.
5821 * configure.ac: New target mips-arc.
5822 * gentpl.py: Likewise.
5823 * grub-core/Makefile.am: Likewise.
5824 * grub-core/Makefile.core.def: Likewise.
5825 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
5826 (none_decompress): Likewise.
5827 (lsdev): New module.
5828 (datetime): Use lib/arc/datetime.c on ARC.
5829 (part_dvh): New module.
5830 * grub-core/commands/arc/lsdev.c: New file.
5831 * grub-core/disk/arc/arcdisk.c: Likewise.
5832 * grub-core/kern/mips/arc/init.c: Likewise.
5833 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
5834 aligned addresses.
5835 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
5836 support.
5837 (grub_arch_dl_relocate_symbols): Likewise.
5838 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
5839 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
5840 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
5841 platforms.
5842 * grub-core/lib/arc/datetime.c: New file.
5843 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
5844 pci.h on non-loongson.
5845 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
5846 (grub_linux_boot): Set unused registers to 0.
5847 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
5848 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
5849 * grub-core/mmap/mips/uppermem.c: ...here.
5850 * grub-core/partmap/dvh.c: New file.
5851 * grub-core/term/arc/console.c: Likewise.
5852 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
5853 (grub_terminfo_set_current): Add terminal "arc".
5854 (grub_terminfo_readkey): Support ARC sequences.
5855 * include/grub/arc/arc.h: New file.
5856 * include/grub/arc/console.h: Likewise.
5857 * include/grub/disk.h (grub_disk_dev_id): Add
5858 GRUB_DISK_DEVICE_ARCDISK_ID.
5859 * include/grub/mips/arc/kernel.h: New file.
5860 * include/grub/mips/arc/memory.h: Likewise.
5861 * include/grub/mips/arc/time.h: Likewise.
5862 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
5863 * include/grub/mips/kernel.h (grub_halt): ... here.
5864 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
5865 here...
5866 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
5867 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
5868 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
5869 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
5870 proto.
5871 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
5872 from here ...
5873 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
5874 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
5875 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
5876 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
5877 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
5878 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
5879 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
5880 (grub_phys_addr_t): Moved from here ...
5881 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
5882 (grub_vtop): Moved from here ...
5883 * include/grub/mips/memory.h (grub_vtop): ... here.
5884 (grub_map_memory): Moved from here ...
5885 * include/grub/mips/memory.h (grub_map_memory): ... here.
5886 (grub_unmap_memory): Moved from here ...
5887 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
5888 (grub_machine_mmap_iterate): Moved from here ...
5889 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
5890 (grub_mmap_get_lower): Moved from here ...
5891 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
5892 (grub_mmap_get_upper): Moved from here ...
5893 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
5894 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5895 here ...
5896 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5897 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
5898 here ...
5899 * include/grub/mips/time.h (grub_get_rtc): ... here.
5900 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5901 here ...
5902 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5903 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
5904 here ...
5905 * include/grub/mips/time.h (grub_cpu_idle): ... here.
5906 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
5907 definition.
5908 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
5909 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
5910 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
5911 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
5912 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5913 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5914 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
5915 (GRUB_MACHINE_LINK_ADDR): Likewise.
5916 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
5917 to 6.
5918 * util/grub-install.in: Run dvhtool on ARC.
5919 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 5920 (generate_image): Handle ECOFF output for mips-arc.
400b9371 5921
c8ecc840
VS
59222011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
5925 blocks.
5926
153a4b55
VS
59272011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
5930 after enabling port.
5931
ff44d107
VS
59322011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 Skip incorrect USB devices.
5935
5936 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
5937 configcnt == 0.
5938 * include/grub/usb.h (grub_usb_err_t): New enum value
5939 GRUB_USB_ERR_BADDEVICE.
5940
638dbe4f
VS
59412011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 Fuloong video init support.
5944
5945 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
5946 well.
5947 (grub_vga_read_arx): New function.
5948 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
5949 definition.
5950 (framebuffer): New members io, mmioptr and mmiobase.
5951 (read_sis_cmd): New function.
5952 (write_sis_cmd): Likewise.
5953 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
5954 rather than 640x400.
5955 * grub-core/video/sis315_init.c: New file.
5956
c3fc520c
VS
59572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
5960 non-loongson.
5961 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
5962 to grub_dl_register_symbol.
5963
67b1e5c9
VS
59642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 Fix compilation errors.
5967
5968 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
5969 potentially unused.
5970 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
5971 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
5972 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
5973 to loongson machines.
5974
b756f75f
VS
59752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 Several FS mtime support.
5978
5979 * grub-core/fs/affs.c (grub_affs_time): New struct.
5980 (grub_affs_file): New field mtime.
5981 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
5982 type. Removed 'size'. New field 'di'. All users updated.
5983 (grub_affs_mount): Simplify checsum checking.
5984 (grub_affs_iterate_dir): New helper grub_affs_create_node.
5985 (grub_affs_dir): Handle mtime.
5986 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
5987 (grub_cpio_dir): Likewise.
5988 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
5989 (grub_hfs_filerec): New field mtime.
5990 (grub_hfs_dir): Handle mtime.
5991 (grub_hfs_mtime): New function.
5992 (grub_hfs_fs): Register grub_hfs_mtime.
5993 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
5994 (grub_iso9660_dir): New field mtime.
5995 (grub_fshelp_node): New field dirent.
5996 (iso9660_to_unixtime): New function.
5997 (iso9660_to_unixtime2): Likewise.
5998 (grub_iso9660_read_symlink): Use node->dirent.
5999 (grub_iso9660_iterate_dir): Likewise.
6000 (grub_iso9660_dir): Set mtime.
6001 (grub_iso9660_mtime): New function.
6002 (grub_iso9660_fs): Register grub_iso9660_mtime.
6003 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
6004 (grub_jfs_inode): New fields atime, ctime and mtime.
6005 (grub_jfs_dir): Set mtime.
6006 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6007 * grub-core/fs/ntfs.c (list_file): Set mtime.
6008 (grub_ntfs_dir): Likewise.
6009 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
6010 (grub_reiserfs_iterate_dir): Set mtime.
6011 (grub_reiserfs_dir): Likewise.
6012 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
6013 (grub_fshelp_node): Likewise.
6014 (grub_sfs_iterate_dir): Set mtime.
6015 (grub_sfs_dir): Likewise.
6016 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
6017 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
6018 (grub_xfs_inode): New fields atime, mtime, ctime.
6019 (grub_xfs_dir): Set mtime.
6020 * include/grub/datetime.h (grub_datetime2unixtime): New function.
6021 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
6022 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
6023
6024 Support UDF symlinks.
6025
6026 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
6027 (grub_ufs_read_symlink): New function. All users updated.
6028
6029 Check amiga partmap checksum.
6030
6031 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
6032 (grub_amiga_partition): Likewise.
6033 (amiga_partition_map_checksum): New function.
6034 (amiga_partition_map_iterate): Check checksum.
6035
5470225d
VS
60362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 ROMFS support.
6039
6040 * Makefile.util.def (libgrubmods.a): Add romfs.
6041 * grub-core/Makefile.core.def (romfs): New module.
6042 * grub-core/fs/romfs.c: New file.
6043
d4680a35
VS
60442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 Squashfs v4 support.
6047
6048 * Makefile.util.def (libgrubmods.a): Add squash4.
6049 * grub-core/Makefile.core.def (squash4): New module.
6050 * grub-core/fs/squash4.c: New file.
6051 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
6052 disk_input_start, disk_input.
6053 (get_byte): Handle disk_input.
6054 (grub_zlib_disk_read): New function.
6055 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
6056
bcb18e74
FZ
60572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
60582011-05-15 Feiran Zheng <famcool@gmail.com>
6059
6060 * Makefile.util.def (libgrubmods.a): Add minix3.
6061 * grub-core/Makefile.core.def (minix3): New module.
6062 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
6063 (GRUB_MINIX_BSIZE): Removed.
6064 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
6065 (grub_minix_ino_t): New type.
6066 (grub_minix_le_to_cpu_ino): New macro.
6067 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
6068 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
6069 (grub_minix_data): New field block_size.
6070 (grub_minix_read_file): Handle 64-bit correctly.
6071 * grub-core/fs/minix3.c: New file.
6072
32297d5f
TG
60732011-05-15 Tristan Gingold <gingold@free.fr>
60742011-05-15 Robert Millan <rmh.grub@aybabtu.com>
60752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 IA64 support.
6078
6079 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
6080 * configure.ac: Add ia64-efi target.
6081 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
6082 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
6083 * gentpl.py: Add ia64_efi platform.
6084 Rename x86_efi to efi and Add ia64-efi. All users updated.
6085 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
6086 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
6087 Remove kern/generic/rtc_get_time_ms.c on EFI.
6088 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
6089 kern/ia64/dl_helper.c on ia64-efi.
6090 Add kern/emu/cache.c on emu.
6091 (linux): Use on loader/ia64/efi/linux.c on ia64.
6092 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
6093 whether symbol is a function.
6094 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
6095 (grub_symbol): New field 'isfunc'.
6096 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
6097 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
6098 (grub_dl_load_segments): Place all sections into the same region.
6099 [__ia64__]: Create trampolines and got.
6100 [GRUB_MACHINE_EMU]: Call mprotect.
6101 (grub_dl_resolve_symbols): Resolve symbol type as well.
6102 [__ia64__]: Create function descriptors.
6103 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
6104 (grub_rtc_get_time_ms): ... this. Expressions simplified.
6105 (grub_get_rtc): New function.
6106 * grub-core/kern/emu/cache.c [__ia64__]: New file.
6107 * grub-core/kern/emu/cache.S: Renamed to ...
6108 * grub-core/kern/emu/cache_s.S: ... this.
6109 [__ia64__]: Add a nop.
6110 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
6111 [__ia64__]: New function.
6112 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
6113 * grub-core/kern/ia64/dl.c: New file.
6114 * grub-core/kern/ia64/dl_helper.c: Likewise.
6115 * grub-core/kern/ia64/efi/init.c: New file.
6116 * grub-core/kern/ia64/efi/startup.S: Likewise.
6117 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
6118 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
6119 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
6120 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
6121 * grub-core/loader/ia64/efi/linux.c: New file.
6122 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
6123 (GRUB_MOD_DEP): Likewise.
6124 (grub_dl) [__ia64__]: New fields got and tramp.
6125 (grub_dl): New field 'base'.
6126 (grub_dl_register_symbol): New argument isfunc. All users updated.
6127 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
6128 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
6129 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
6130 (grub_ia64_dl_get_tramp_got_size): New proto.
6131 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
6132 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
6133 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
6134 * include/grub/efi/api.h: Skip call wrappers on ia64.
6135 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
6136 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
6137 * include/grub/elf.h (ELF_ST_INFO): New definition.
6138 * include/grub/ia64/efi/kernel.h: New file.
6139 * include/grub/ia64/efi/memory.h: Likewise.
6140 * include/grub/ia64/efi/time.h: Likewise.
6141 * include/grub/ia64/kernel.h: Likewise.
6142 * include/grub/ia64/setjmp.h: Likewise (from glibc).
6143 * include/grub/ia64/time.h: New file.
6144 * include/grub/ia64/types.h: Likewise.
6145 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
6146 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
6147 New protos.
6148 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
6149 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6150 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
6151 * util/grub-mkimage.c (image_target_desc): New field pe_target.
6152 All users updated.
6153 (EFI64_HEADER_SIZE): New definition. All users updated.
6154 (image_targets): Add ia64-efi.
6155 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
6156 jumpers_addr. All users updated.
6157 Create function descriptors.
6158 (count_funcs): New function.
6159 (unaligned_uint32): New struct.
6160 (MASK20): New definition.
6161 (MASK19): Likewise.
6162 (MASKF21): Likewise.
6163 (add_value_to_slot_20b): New function.
6164 (add_value_to_slot_21_real): Likewise.
6165 (add_value_to_slot_21): Likewise.
6166 (ia64_kernel_trampoline): New struct.
6167 (nopm): New variable.
6168 (jump): Likewise.
6169 (make_trampoline): New function.
6170 (relocate_addresses): Handle ia64.
6171 (make_reloc_section): Likewise.
6172 (load_image): Likewise.
6173
983b414d
VS
61742011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
6177 warning. Move variables before code while on it.
6178
5d063cdc
VS
61792011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 Fuloong support.
6182
6183 * configure.ac: Rename yeeloong platform to loongson. All users updated.
6184 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
6185 * grub-core/boot/mips/loongson/fuloong.S: New file.
6186 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
6187 Explicitly init CS5536.
6188 [FULOONG]: Don't use serial until CS5536 is available.
6189 Set GPIO based on dumps.
6190 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
6191 [FULOONG]: Handle GPIO and memory controller differences.
6192 Parse machine type in $a2.
6193 * grub-core/boot/mips/startup_raw.S: Determine and save the
6194 architecture.
6195 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
6196 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
6197 init on architecture type.
6198 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6199 SIS315E. Don't init at_keyboard on fuloong.
6200 (grub_halt): Support Fuloong.
6201 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
6202 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
6203 (loongson_machtypes): New array.
6204 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
6205 type.
6206 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
6207 config. All users updated. Handle CS5536 serial.
6208 * grub-core/term/serial.c (grub_serial_register): Conditionalise
6209 default port on machine type. Register serial as inactive.
6210 * grub-core/video/sis315pro.c: New file.
6211 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
6212 definition.
6213 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
6214 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
6215 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
6216 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
6217 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
6218 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
6219 to ...
6220 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
6221 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
6222 definition.
6223 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
6224 (grub_arch_machine): New extern var.
6225 * include/grub/mips/loongson/serial.h
6226 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
6227 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
6228 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
6229 (GRUB_MACHINE_SERIAL_PORT0): ... this.
6230 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
6231 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
6232 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
6233 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
6234 * include/grub/term.h (grub_term_register_input_inactive): New inline
6235 function.
6236 (grub_term_register_output_inactive): Likewise.
6237 * include/grub/video.h (grub_video_driver_id): New value
6238 GRUB_VIDEO_DRIVER_SIS315PRO.
6239 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
6240 New field "names". All users updated.
6241 New field value IMAGE_FULOONG_FLASH.
6242 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
6243
6ada82d1
JU
62442011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
6245
6246 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
6247 and add some clarification.
6248
90c571a4
VS
62492011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
6252 platforms if kernel is compressed.
6253
de04eecf
VS
62542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
6257 unused modules since currently referrence counter isn't reliable and
6258 there isn't much memory to recover there anyway.
6259
57688121
VS
62602011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
6263 rather than resetting it to allow modules to reference themselves
6264 in init.
6265
3d2c7e35
VS
62662011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
6269 counter on dependencies since grub_dl_unref already handles this.
6270
b25db218
VS
62712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
6274 on error if not already done.
6275
25a45338
VS
62762011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 Fix few potential memory misusage.
6279
6280 * grub-core/font/font.c (load_font_index): Don't free char_index to
6281 avoid double free.
b25db218
VS
6282 (grub_font_load): Zero-fill font at alloc for safety.
6283 Close file on error.
6284 (free_font): Free bmp_idx.
25a45338 6285
0cac83df
VS
62862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * docs/grub.texi (Installation): Fix several outdated claims.
6289
2217a143
VS
62902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 Handle module_license on windows.
6293
6294 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
6295 sections shifted.
6296 (insert_string): Make argument const char * instead of char *.
6297 (write_section_data): Handle long section names.
6298 Handle module_license.
6299
d4de6b01
VS
63002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
6303 handle class-free menuentries.
6304 (grub_normal_add_menu_entry): Add a check to be sure.
6305
4c2a3b43
VS
63062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
6309 PgUp and PgDown.
6310
85c6210f
VS
63112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 * configure.ac: Bump version to 1.99.
6314
36084912
VS
63152011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 Give ATA device a bit more time on first try in order to allow disks
6318 to spin up.
6319
6320 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
6321 if dev->present is 1. Reset dev->present on failure.
6322 (grub_ata_device_initialize): Set dev->present to 1.
6323 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
6324 (grub_ata_device): New member 'present'.
6325
bda0e219
VS
63262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * util/grub-mkimage.c (generate_image): Update hash.
6329
19e1c41b
VS
63302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 Flush caches on DMA memory.
6333
6334 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
6335 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
6336 (grub_dma_free): Likewise.
6337 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
6338
91bbcc0c
VS
63392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
6342 to avoid asm treating ld and sd as macros.
6343
60ddfad3
VS
63442011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
6347 decompressor.
6348
a298aa04
VS
63492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
6352 grub_decompress_core since later would fail if grub_decompress_core
6353 is too far.
6354
9b44feca
VS
63552011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
6358 R_MIPS_JALR since it's used by newer compiler.
6359
56dbe7b4
VS
63602011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
6363
52856af2
VS
63642011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
6367 file_path to 0 for surety.
6368 (grub_chainloader_boot): Set exit_data to NULL.
6369 Unset the loader once done.
6370 (grub_cmd_chainloader): Fix confusing error message if file is empty.
6371
9c9bfc6d
VS
63722011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
6375 unknown key into a dprintf.
6376
dd94a3df
VS
63772011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
6380 on first non-existant partition.
6381
fa68d99c
VS
63822011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
6385 openning fails.
6386 Reported by: Mark Korenberg.
6387
157effb7
VS
63882011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
6391 overflow.
6392
ea75312f
VS
63932011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * util/grub-mkimage.c (main): Explicitely flush and sync the output
6396 before closing to ensure that it will be readable by grub-setup.
6397
072b5d31
VS
63982011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
6401 (devpath_1): Use MAKE_PIWG_PATH.
6402 (devpath_2): Likewise.
6403 (devpath_3): Likewise.
6404 (devpath_4): Likewise.
6405 (devpath_5): Likewise.
6406 (devpath_6): Likewise.
6407
6408 The appleldr.mod was checked that to be binary identical to previous
6409 version.
6410
7fae0051
Z
64112011-05-05 Zach <mikezackles>
6412
6413 Support 2010 Macbooks.
6414
6415 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
6416 (devs): Add devpath_6.
6417
7c515bee
VS
64182011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
6421 /dev/random. /dev/urandom is good enough for our purposes (salting).
6422
ed660bd8
VS
64232011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
6426
ee5614b7
VS
64272011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
6430 hexadecimal.
6431
664889a6
VS
64322011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
6435 and not 0 on failure.
6436
bd405bbc
CW
64372011-05-03 Colin Watson <cjwatson@ubuntu.com>
6438
6439 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
6440 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
6441 disk; otherwise grub_fs_probe will not fall back to the next
6442 filesystem.
6443 (grub_pxefs_open): Likewise, for consistency.
6444 Reported and tested by: Ezekiel Grave.
6445
4ebff753
CW
64462011-05-03 Colin Watson <cjwatson@ubuntu.com>
6447
6448 * tests/partmap_test.in: Don't hardcode path to parted.
6449 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
6450
8f942553
CW
64512011-05-01 Colin Watson <cjwatson@ubuntu.com>
6452
6453 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
6454 of `ls' to find out which devices are available.
6455
3c62402d
VS
64562011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
6459 than source address for efi mmap buffer.
6460
723f63f2
VS
64612011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
6464 wrong action on non-detecting the magic.
6465
68797f92
VS
64662011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
6469 already supplied by another part of the module (fixes compilation on
6470 FreeBSD).
6471
6be8715d
VS
64722011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
6475 match the one used by mdadm.
6476
e91dba5b
CW
64772011-04-21 Colin Watson <cjwatson@ubuntu.com>
6478
6479 * po/README: Add instructions for creating po/LINGUAS.
6480
c85140b3
CW
64812011-04-21 Colin Watson <cjwatson@ubuntu.com>
6482
6483 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
6484 #551428.
6485
6486 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
6487 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
6488 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
6489 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6490 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
6491 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
6492 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
6493 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
6494 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
6495 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6496 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
6497 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
6498 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
6499 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
6500 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
6501 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
6502 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
6503 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
6504 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
6505 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
6506 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
6507 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
6508
92051871
CW
65092011-04-21 Colin Watson <cjwatson@ubuntu.com>
6510
6511 * grub-core/kern/emu/getroot.c
6512 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
6513 test that was incorrectly reintroduced in r3214.
6514 Reported by: Ian Dall. Fixes Savannah bug #33133.
6515
b13f79a4
CW
65162011-04-21 Colin Watson <cjwatson@ubuntu.com>
6517
6518 Fix stack pointer handling in 16-bit relocator.
6519
6520 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
6521 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
6522 Fixes Ubuntu bug #683904.
6523
9b710a88
VS
65242011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * configure.ac: Bump version to 1.99~rc2.
6527
d97e7b59
VS
65282011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
6531 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
6532 * grub-core/lib/x86_64/setjmp.S: Likewise.
6533 * grub-core/lib/mips/setjmp.S: Likewise.
6534 * grub-core/lib/powerpc/setjmp.S: Likewise.
6535 * grub-core/lib/sparc64/setjmp.S: Likewise.
6536
0624551c
VS
65372011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6538
6539 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
6540 * grub-core/lib/efi/datetime.c: Likewise.
6541
e8f28d4c
VS
65422011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
6545 New function.
6546 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
6547 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
6548 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
6549
bba79a15
VS
65502011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
6553 bitmap.
6554 (grub_gfxterm_term_init): Likewise.
6555
abc474ef
VS
65562011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 Take into account the decorations the computing menu entry width.
6559
6560 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
6561 (grub_gfxmenu_create_box): Register get_border_width.
6562 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
6563 if available.
6564 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
6565 get_border_width.
6566
e74b3947
EP
65672011-04-18 Endres Puschner <code@e7p.de>
6568
6569 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
6570 Don't skip first class.
6571
34faa595
VS
65722011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
6575 chunks.
6576 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
6577
93a777e3
VS
65782011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 Complete 64-bit division support.
6581
6582 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
6583 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
6584 * include/grub/misc.h (grub_divmod64): Rename to ...
6585 (grub_divmod64_full): ... this.
6586 (grub_divmod64): New inline function.
6587
a5102d94
VS
65882011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * util/grub-mkimage.c (generate_image): Add forgotten comma.
6591
f3fb7b36
VS
65922011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
6595 performing the necessary test.
6596
9ac718b0
VS
65972011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
6600 (kfreebsd.elf): Likewise.
6601 (pc-chainloader.elf): Likewise.
6602 (ntldr.elf): Likewise.
6603
50d2cc5a
VS
66042011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 Identify RAID by its UUID rather than (guessed) name.
6607
6608 * grub-core/disk/raid.c (ascii2hex): New function.
6609 (grub_raid_open): Accept mduuid/%s specification.
6610 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
6611 (get_mdadm_uuid): ... this.
6612 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
6613
e03f7bea
VS
66142011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
6617 to negative size.
6618
e74c3112
CW
66192011-04-13 Colin Watson <cjwatson@ubuntu.com>
6620
6621 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
6622 btrfs subvolume.
6623 * util/grub.d/20_linux_xen.in: Likewise.
6624
78fa584f
CW
66252011-04-13 Colin Watson <cjwatson@ubuntu.com>
6626
6627 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
6628 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
6629
6630 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6631 Build a list of relevant visible mounts using the mnt_id and
6632 parent_mnt_id fields, and then scan that list at the end.
6633
9d5f8162
CW
66342011-04-12 Colin Watson <cjwatson@ubuntu.com>
6635
6636 * docs/grub.texi (normal): New section.
6637 (normal_exit): New section.
6638 (Embedded configuration): Add reference to normal.
6639 (GRUB only offers a rescue shell): Likewise.
6640 * docs/grub-dev.texi (Error Handling): Fix typo.
6641
09a9d66f
CW
66422011-04-12 Colin Watson <cjwatson@ubuntu.com>
6643
6644 * NEWS: Drop obsolete entry about probe-only btrfs support.
6645
0c676933
CW
66462011-04-12 Colin Watson <cjwatson@ubuntu.com>
6647
6648 * util/import_gcry.py: Fix typo.
6649
ec9f5e0d
VS
66502011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * NEWS: Add btrfs support.
6653
fe6b2cba
VS
66542011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
66552011-04-11 Colin Watson <cjwatson@ubuntu.com>
6656
6657 BtrFS support. Written by me (Vladimir) with important bugfixes and
6658 even more important testing by Colin.
6659
6660 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
6661 * grub-core/Makefile.core.def (btrfs): Add crc.c.
6662 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
6663 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
6664 mem_input_off and mem_input. All users updated to accept in-RAM input.
6665 (gzio_seek): New function.
6666 (test_zlib_header): Likewise.
6667 (grub_gzio_read): Likewise.
6668 (grub_zlib_decompress): Likewise.
6669 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
6670 Accept partial and non-virtual mounts.
6671 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
6672 avoid receiving /dev/dm-X as device.
6673 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
6674 Handle bind and partial mounts.
6675 * grub-core/lib/crc.c: New file.
6676 * include/grub/deflate.h: Likewise.
6677 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
6678 proto.
6679 * include/grub/lib/crc.h: New file.
6680
e745cf0c
VS
66812011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 Implement automatic module license checking according to new GNU
6684 guidelines.
6685
6686 * grub-core/kern/dl.c (grub_dl_check_license): New function.
6687 (grub_dl_load_core): Use grub_dl_check_license.
6688 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
6689 (GRUB_MOD_LICENSE): Likewise.
6690 (GRUB_MOD_DUAL_LICENSE): Likewise.
6691 All modules updated.
6692
2a9bc016
CW
66932011-04-11 Colin Watson <cjwatson@ubuntu.com>
6694
6695 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
6696 reserved_first_sector to 1. btrfs reserves plenty of space for boot
6697 loaders.
6698 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
6699
8a3bc88e
VS
67002011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
6703
af869a4a
VS
67042011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * util/grub-fstest.c (read_file): Report GRUB error if file opening
6707 failed.
6708
9ee8d94f
VS
67092011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * grub-core/kern/file.c (grub_file_open): Don't take into account the
6712 parenthesis in the middle of the filename.
6713
b01abe3e
VS
67142011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
6717 rather than trying to put initrd way too high.
6718 Reported by: Ryan Lortie <desrt@desrt.ca>
6719
335bda1e
VS
67202011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
6723 improperly removed string.
6724
5ca1a64d
VS
67252011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
6728 is_disk.
6729 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
6730 (open_device) Likewise.
6731 (grub_util_biosdisk_close): Likewise.
d8ce9995 6732 Reported by: Mark Korenberg.
5ca1a64d 6733
cbac5b1e
AK
67342011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
6735
6736 * util/grub-mkconfig_lib.in: Add missing quotes.
6737
088cdb65
CW
67382011-04-10 Colin Watson <cjwatson@ubuntu.com>
6739
6740 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
6741 is NULL.
6742
8b8a81fa
VS
67432011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 Dynamically count the number of lines for the lower banner.
6746
6747 * grub-core/normal/menu_entry.c (per_term_screen): New member
6748 num_entries.
6749 (print_down): Use num_entries.
6750 (update_screen): Likewise.
6751 (grub_menu_entry_run): Set num_entries.
6752 * grub-core/normal/menu_text.c (menu_viewer_data): New member
6753 num_entries.
6754 (grub_print_message_indented): Move real part to ...
6755 (grub_print_message_indented_real): ... here. Additional argument
6756 dry_run.
6757 (draw_border): Additional argument num_entries.
6758 (print_message): Additional argument dry_run.
6759 (print_entries): Receive menu viewer data.
6760 (grub_menu_init_page): New argment num_entries.
6761 (menu_text_set_chosen_entry): Use num_entries.
6762 (grub_menu_try_text): Likewise.
6763 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
6764 All users updated.
6765 (grub_ucs4_count_lines): New function.
6766 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
6767 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
6768 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
6769 (grub_term_border_height): Likewise.
6770 (grub_term_num_entries): Likewise.
6771
277f955b
VS
67722011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
6775 Remove now unused string.
6776
536ce85a
CW
67772011-04-09 Colin Watson <cjwatson@ubuntu.com>
6778
6779 * docs/grub-dev.texi (Finding your way around): Update for 1.99
6780 build system.
6781 (Getting started): GRUB is developed in Bazaar now, not Subversion.
6782
6783 (Comment): Fix typo.
6784 (Getting started): General copy-editing.
6785 (Typical Development Experience): Likewise.
6786 (Error Handling): Likewise.
6787 (Video API): Likewise.
6788
2cf09e32
CW
67892011-04-09 Colin Watson <cjwatson@ubuntu.com>
6790
6791 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
6792 throughout.
6793
1ec652f4
VS
67942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * util/grub-mkimage.c (main): Handle special naming of yeeloong
6797 directory.
6798
2c583728
CW
67992011-04-08 Colin Watson <cjwatson@ubuntu.com>
6800
6801 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
6802 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
6803 "development".
6804
d7a565e9
VS
68052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
6808 grub_strcpy since the lines aren't necessarily 0-terminated.
6809
7c2e4909
VS
68102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
6813 root on legacy.
6814
34c09785
VS
68152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/commands/probe.c (options): Argument to set isn't optional.
6818 (GRUB_MOD_INIT): DEVICE isn't optional.
6819
6a6f8058
VS
68202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
6823 word on new line if it's too long anyway. Fixes a hang.
6824
2e335e90
VS
68252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
6828 const.
6829 * util/grub-setup.c (main): Reuse md device name if available.
6830 * util/raid.c (grub_util_raid_getmembers): Receive device name and
6831 not GRUB name as argument.
6832 Based on patch by: Florian Wagner <fwagner>.
6833
10a7a867
VS
68342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6837 Place mbi on low memory for better compatibility.
6838
7a3d6cd9
VS
68392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
6842
18dd6b47
VS
68432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
68442011-04-08 Colin Watson <cjwatson@ubuntu.com>
6845
6846 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 6847 * conf/Makefile.common: Likewise.
18dd6b47 6848
3c0e3f14
VS
68492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6850
f7148863
VS
6851 * grub-core/normal/menu.c: Add missing include.
6852
68532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 6856
6d1fa41f
MZ
68572011-04-08 Martin Zuther <mzuther@mzuther.de>
6858
6859 * util/grub-mkconfig.in: Ignore emacsen backup.
6860
478182a8
VS
68612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
6864 on open.
6865 (grub_util_biosdisk_close): Likewise.
6866
72a89a54
VS
68672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
6870 const attribute and use grub_isdigit.
6871
b5ebecfa
A
68722011-04-06 Andrey <dev_null@ukr.net>
6873
6874 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
6875 gcc warning.
6876
7755f66e
VS
68772011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
6880 useful grub_dprintf's.
6881
461121ff
VS
68822011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6883
6884 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
6885
2a961775
VS
68862011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
6889
adf594cc
VS
68902011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 Output errors if theme loading failed.
6893
6894 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
6895 grub_gfxterm_fullscreen on error paths to ...
6896 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
6897 theme loading error.
6898
665900a3
VS
68992011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
6902 space for older compilers.
6903 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6904
a562b479
VS
69052011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
6908 and report them as not RAID members since they are useless for GRUB.
6909 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6910
850e9373
VS
69112011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 Increase LVM implementation robustness in order not to crash on
6914 configurations like pvmove. Previously code assumed that in some places
6915 only lvs or only pvs are used whereas it seems that they are used
6916 interchangeably.
6917
6918 * grub-core/disk/lvm.c (read_node): New function.
6919 (read_lv): Use read_node.
6920 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
6921 Match volumes only at the end when all lvs are found. Take both
6922 pvs (first) and lvs (second) into account.
6923 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
6924 mirror_* into node_*. All users updated.
6925 (grub_lvm_stripe): Merge this ...
6926 (grub_lvm_mirror): ... and this ...
6927 (grub_lvm_node): ... into this. All users updated.
6928
6f332153
VS
69292011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
6932 of function to allow further scanning for LVMs.
6933
829ea451
VS
69342011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
6937 on failed seek as it breaks open fd reusage.
6938
09ceb9a5
VS
69392011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * util/grub-install.in: Add a recommendation to use --recheck before
6942 reporting bugs.
6943
67e11623
VS
69442011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
6947 are obtained.
6948
caee5efd
VS
69492011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6950
6951 GRUB developper manual based on existing Internals section and
6952 contributions by the various authors with active copyright assignment.
6953
6954 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
6955 * docs/font_char_metrics.png: New file.
6956 * docs/font_char_metrics.txt: Likewise.
6957 * docs/grub-dev.texi: Likewise.
6958 * docs/grub.texi (Internals): Move from here ...
6959 * docs/grub-dev.texi: ... here.
6960
2cccc747
CW
69612011-04-01 Colin Watson <cjwatson@ubuntu.com>
6962
6963 Store the loopback device as data on loopback grub_disk structures,
6964 rather than the file it points to. This fixes use of freed memory
6965 if an existing loopback device is replaced.
6966
6967 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
6968 disk->data, not dev->file.
6969 (grub_loopback_read): Adjust file assignment to match.
6970 Fixes Ubuntu bug #742967.
6971
186ae367
CW
69722011-04-01 Colin Watson <cjwatson@ubuntu.com>
6973
6974 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
6975 when replacing an existing device.
6976
cfed2ad0
VS
69772011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
6980 memory corruptions.
6981
6982 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
6983 unsigned.
6984 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
6985 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
6986 (grub_jfs_read_inode): Likewise.
6987 (grub_jfs_opendir): Likewise. Remove now useless casts.
6988 (grub_jfs_getent): Likewise.
6989 Make ino a grub_uint32_t rather than int.
6990 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
6991 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
6992 division and module with bit operations.
6993 (grub_jfs_find_file): Make ino a grub_uint32_t.
6994 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
6995
05d2ed32
CW
69962011-04-01 Colin Watson <cjwatson@ubuntu.com>
6997
6998 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
6999 warning. (This was in fact always initialised before use, but GCC
7000 wasn't smart enough to prove that.)
7001 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7002
91dc6073
VS
70032011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
7006 stack alignment.
7007 (efi_wrap_1): Likewise.
7008 (efi_wrap_2): Likewise.
7009 (efi_wrap_3): Likewise.
7010 (efi_wrap_4): Likewise.
7011 (efi_wrap_5): Likewise.
7012 (efi_wrap_6): Likewise.
7013 (efi_wrap_10): Likewise.
7014 Based on information by: Red Hat/Peter Jones.
7015
a8afc1d1
CW
70162011-03-31 Colin Watson <cjwatson@ubuntu.com>
7017
7018 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
7019 set-but-not-used variable.
7020
a826cc7d
CW
70212011-03-31 Colin Watson <cjwatson@ubuntu.com>
7022
7023 * docs/grub.texi (Simple configuration): Be more explicit about
7024 GRUB_DEFAULT, and add an example.
7025 Reported by: Leslie Rhorer.
7026
875b67ba
CW
70272011-03-30 Colin Watson <cjwatson@ubuntu.com>
7028
7029 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
7030 shell".
7031
fd7cd914
AS
70322011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7033
7034 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
7035 * util/grub.d/20_linux_xen.in: Likewise.
7036
090b1b6a
VS
70372011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * util/grub.d/10_linux.in: Try alternative config filenames where
7040 we parse config file.
7041 * util/grub.d/20_linux_xen.in: Likewise.
7042
baad885c
AS
70432011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7044
7045 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
7046 * util/grub.d/20_linux_xen.in: Likewise.
7047
241e41f5
VS
70482011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 * grub-core/disk/raid.c (insert_array): Add few potentially
7051 useful grub_util_info.
7052 (grub_raid_register): Likewise.
7053
56445fb2
VS
70542011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
7057 Preserve partition number in mdadm code path.
7058
c871b1c6
VS
70592011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
7062 few potentially useful grub_util_info.
7063
5e631b4f
CW
70642011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
7067
2d5d0333
CW
70682011-03-30 Colin Watson <cjwatson@ubuntu.com>
7069
7070 * docs/grub.texi (default): Use @example rather than nested
7071 itemized lists to avoid breaking gendocs.
7072
3d7ed04e
CW
70732011-03-30 Colin Watson <cjwatson@ubuntu.com>
7074
7075 * docs/grub.texi (Future): Update.
7076
abf04200 70772011-03-30 Colin Watson <cjwatson@ubuntu.com>
7078
7079 * docs/grub.texi (Environment): New chapter.
7080 (Changes from GRUB Legacy): Link to "Environment block" section for
7081 details of limitations.
7082 (Simple configuration): Likewise. Link to documentation of gfxmode
7083 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
7084 respectively.
7085 (Shell-like scripting): Note that normal variables are stored in the
7086 environment.
7087 (gettext): Link to documentation of lang and locale_dir.
7088 (list_env): New section.
7089 (load_env): New section.
7090 (save_env): New section.
7091
7092 (Reporting bugs): Fix typo.
7093
e1ad0edd
VS
70942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
7097 the example.
7098
5d803174
VS
70992011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 * grub-core/term/at_keyboard.c (set_scancodes)
7102 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
7103
2a2da1d0
CW
71042011-03-30 Colin Watson <cjwatson@ubuntu.com>
7105
7106 * docs/grub.texi (Menu-specific commands): Remove some semantics
7107 that were true in GRUB Legacy but not in GRUB 2.
7108 (submenu): New section.
7109 (false): New section.
7110 (read): New section.
7111 (true): New section.
7112
a7527639
CW
71132011-03-30 Colin Watson <cjwatson@ubuntu.com>
7114
7115 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
7116
71172011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
7118
7119 * docs/grub.texi (Simple configuration): Explain some of the
7120 current limitations of grub-mkconfig.
8a748df2 7121 Reported by: Leslie Rhorer.
e30af029 7122
fc858482
VS
71232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 Old macs search for boot.efi rather than for bootia32.efi.
7126
7127 * util/grub-install.in: Copy bootia32.efi to boot.efi.
7128 * util/grub-mkrescue.in: Likewise.
7129 Suggested by: Peter Jones.
7130
e1eb511d
VS
71312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
7134
70e75364
VS
71352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
7138 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
7139 (grub_lvm_mirror): New struct.
7140 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
7141 (grub_lvm_iterate): Iterate only visible volumes.
7142 (grub_lvm_read): Factor out to ..
7143 (read_lv): ... this. Support mirrors.
7144 (grub_lvm_read): New wrapper function.
7145 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
7146 stripped or mirrored.
7147
fc18f6a3
VS
71482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
7151
5c650f4c
CW
71522011-03-29 Colin Watson <cjwatson@ubuntu.com>
7153
7154 * docs/grub.texi (loopback): New section.
7155
61d7156b
CW
71562011-03-29 Colin Watson <cjwatson@ubuntu.com>
7157
7158 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
7159 removed -p option.
7160
994b8264
CW
71612011-03-29 Colin Watson <cjwatson@ubuntu.com>
7162
7163 * docs/grub.texi (BIOS installation): New section, partly based on
7164 previous text in other sections.
7165 (Installing GRUB using grub-install): Replace BIOS discussion with a
7166 cross-reference.
7167 (Images): Likewise.
7168
9e4d19e0
VS
71692011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/kern/emu/hostdisk.c (find_partition_start)
7172 [HAVE_DIOCGDINFO]: Add safety checks.
7173
a307c0b2
VS
71742011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
7177 per default compiled in kernel and prior to 8.0 isn't shipped at all.
7178
b4db4f39
CW
71792011-03-29 Colin Watson <cjwatson@ubuntu.com>
7180
7181 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
7182 real_sb->size is zero (e.g. RAID-0), get the disk size from
7183 real_sb->data_size instead.
7184 Fixes Ubuntu bug #743136.
7185
35e5f84c
VS
71862011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
7189 printf clauses for printing size and start.
7190
d2e29d81
VS
71912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
7194 Reported and tested by: Timothy Nikkel.
7195
ed5587af
VS
71962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
7199 (dirty_region_add_real): ... this.
7200 (dirty_region_add): Don't discard margin refresh when performing
7201 scheduled repaint.
7202
a1dc717c
VS
72032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * grub-core/lib/relocator.c (allocate_regstart)
7206 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
7207 terminals are capabple of malloc-free operation.
7208 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
7209 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
7210
9f3677d3
VS
72112011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
7212
7213 * util/grub-setup.c: Copy the partition table zone if floppy support
7214 is disabled, even if no partition table is found.
7215
7216 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
7217 during POST if an invalid partition table is contained in the PBR
7218 of the active partition when GRUB is installed to a partition.
7219
24148725
CW
72202011-03-28 Colin Watson <cjwatson@debian.org>
7221
7222 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
7223 comment.
7224
f329eda7
CW
72252011-03-28 Colin Watson <cjwatson@debian.org>
7226
7227 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
7228 to be specific about what kind of RAID device we're scanning for.
7229
c482ad98
SG
72302011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
7231
7232 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
7233 return freed string.
7234
5ee04984
VS
72352011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
7238
f4727da9
VS
72392011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 Use libgeom on FreeBSD to detect partitions.
7242
7243 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
7244 (grub-mkrelpath): Likewise.
7245 (grub-script-check): Likewise.
7246 (grub-editenv): Likewise.
7247 (grub-mkpasswd-pbkdf2): Likewise.
7248 (grub-fstest): Likewise.
7249 (grub-mkfont): Likewise.
7250 (grub-mkdevicemap): Likewise.
7251 (grub-probe): Likewise.
7252 (grub-setup): Likewise.
7253 (grub-ofpathname): Likewise.
7254 (grub-mklayout): Likewise.
7255 (example_unit_test): Likewise.
7256 (grub-menulst2cfg): Likewise.
7257 * grub-core/Makefile.core.def (grub-emu): Likewise.
7258 (grub-emu-lite): Likewise.
7259 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
7260 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
7261 define HAVE_DIOCGDINFO.
7262 (follow_geom_up) [FreeBSD]: New function.
7263 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
7264 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
7265 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
7266 unconditionally of HAVE_DIOCGDINFO.
7267
82fe6c75
VS
72682011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 Fix FreeBSD compilation problem.
7271
7272 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
7273 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
7274
4c6c9431
CW
72752011-03-24 Colin Watson <cjwatson@ubuntu.com>
7276
7277 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
7278 Switch back to page zero before loading a kernel, since some kernel
7279 drivers expect that.
7280 Thanks to: Felix Kuehling.
7281
c7064d94
VS
72822011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
7285 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
7286 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
7287
3f71cded
VS
72882011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
7291 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
7292
ef6de21a
VS
72932011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
7296 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
7297 malloc is disabled.
7298
8bc66a2c
VS
72992011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
7302 for modules headers when counting the needed allocation size.
7303
5657722c
VS
73042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
7307 if no ASCII character is found to prevent crash.
7308
41a85f55
AK
73092011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
7310
7311 * grub-core/video/bitmap.c (match_extension): Ignore case.
7312
59e1e5f1
VS
73132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
7316
bd4d051a
VS
73172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * grub-core/script/parser.y: Declare "time" as valid argument.
7320
bae7fcc1
PJ
73212011-03-23 Peter Jones <pjones@redhat.com>
7322
7323 Fix incorrect assert failure reporting.
7324
7325 * grub-core/tests/example_functional_test.c (example_test): Add
7326 a failure comment.
7327 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
7328 (failure_start): ...this. Check that malloc succeeded.
7329 Don't call xvasprintf. Return failure struct.
7330 (failure_append_vtext): New function.
7331 (failure_append_text): Likewise.
7332 (add_failure): Likewise.
7333 (grub_test_assert_helper): Likewise.
7334 * include/grub/test.h (grub_test_assert_helper): New declaration.
7335 (grub_test_assert): Macro rewritten.
7336
537dc9be
VS
73372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
7340
fa3e01bf
VS
73412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
7344
b1d28404
VS
73452011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
7348 into GRUB-style one.
7349
2e3e2e09
VS
73502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
7353 error and not grub_errno.
7354 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
7355
ed57e557
VS
73562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7357
7358 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
7359 GRUB_USB_SPEED_NONE in case of failure and not the error code.
7360
d1611f01
VS
73612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/efiemu/i386/pc/cfgtables.c
7364 (grub_machine_efiemu_init_tables): Make declaration a prototype.
7365 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
7366 (grub_xnu_unlock): Likewise.
7367 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
7368
7d4e39d6
VS
73692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
7372 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
7373 * grub-core/commands/hashsum.c (aliases): Likewise.
7374 * grub-core/commands/setpci.c (pci_registers): Likewise.
7375 * grub-core/disk/usbms.c (attach_hook): Likewise.
7376 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
7377 (zio_checksum_table): Likewise.
7378 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
7379 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
7380 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
7381 * grub-core/lib/relocator.c (leftovers): Likewise.
7382 (extra_blocks): Likewise.
7383 * grub-core/loader/i386/bsd.c (relocator): Likewise.
7384 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
7385 (modules_last): Likewise.
7386 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
7387 (devices): Likewise.
7388 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
7389 (modules_last): Likewise.
7390 * grub-core/normal/auth.c (users): Likewise.
7391 * grub-core/normal/context.c (initial_menu): Likewise.
7392 (current_menu): Likewise.
7393 * grub-core/normal/crypto.c (crypto_specs): Likewise.
7394 * grub-core/term/serial.c (grub_serial_ports): Likewise.
7395 (grub_serial_terminfo_input_template): Likewise.
7396 (grub_serial_terminfo_output_template): Likewise.
7397 (grub_serial_terminfo_input): Likewise.
7398 (grub_serial_terminfo_output): Likewise.
7399 (registered): Likewise.
7400 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
7401
40fc4659
VS
74022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
7405 grub_video_mode_type_t.
7406 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
7407 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
7408 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
7409
2da48d28
VS
74102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 * util/grub-install.in: Correct the x86-64 name as x86_64.
7413
9b43bf39
CW
74142011-03-11 Colin Watson <cjwatson@ubuntu.com>
7415
7416 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
7417 initial chunk read from the kernel always includes GRUB's multiboot
7418 header, which is now outside the first sector.
7419
be1a7ce0
CW
74202011-03-09 Colin Watson <cjwatson@ubuntu.com>
7421
7422 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
7423 cached mmap_size, so that this works correctly when called multiple
7424 times.
7425 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
7426
83a3c48d
CW
74272011-03-09 Colin Watson <cjwatson@ubuntu.com>
7428
7429 * docs/grub.texi (Simple configuration): Tidy up formatting.
7430
57d75699
SJ
74312011-03-07 Szymon Janc <szymon@janc.net.pl>
7432
7433 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
7434 Set-but-not-used variable removed.
7435
028501a0
VS
74362011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 Workaround yet another IEEE1275 bug.
7439
7440 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7441 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
7442 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
7443 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
7444 is set.
7445 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7446 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
7447
d998657d
VS
74482011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
7451 error.
7452
fee7cdd4
CW
74532011-02-11 Colin Watson <cjwatson@ubuntu.com>
7454
7455 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
7456 empty, since in that case we can only generate either nothing or a
7457 syntactically invalid configuration file.
7458 Reported by: Michal Suchanek. Fixes Debian bug #612898.
7459
97286eb5
CW
74602011-02-09 Colin Watson <cjwatson@ubuntu.com>
7461
7462 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
7463 (Making a GRUB bootable CD-ROM): Likewise.
7464 (Invoking grub-mkrescue): New section.
7465 Reported by: Yann Dirson. Fixes Debian bug #612585.
7466
22b28eb3
CW
74672011-02-09 Colin Watson <cjwatson@ubuntu.com>
7468
7469 * util/grub-install.in: Remove unnecessary brackets from tr
7470 arguments.
7471 * util/grub.d/10_hurd.in: Likewise.
7472 * util/grub.d/10_kfreebsd.in: Likewise.
7473 * util/grub.d/10_linux.in: Likewise.
7474 * util/grub.d/20_linux_xen.in: Likewise.
7475 Reported by: Jamie Heilman. Fixes Debian bug #612564.
7476
7e735e43
CW
74772011-02-08 Colin Watson <cjwatson@ubuntu.com>
7478
7479 * include/grub/file.h (not_easly_seekable): Rename to ...
7480 (not_easily_seekable): ... this. Update all users.
7481
800f1881
CW
74822011-01-28 Colin Watson <cjwatson@ubuntu.com>
7483
7484 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
7485 grub-mkrescue.
7486
3281d3d6
VS
74872011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * util/grub-mkimage.c (generate_image): Refuse to create the images
7490 bigger than the actual flash (512K) in Loongson machines. 512K is also
7491 the biggest chip supported by them.
7492
3533413c
VS
74932011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
7496
73ae4f4f
VS
74972011-01-22 Anthony DeRobertis <anthony@derobert.net>
7498
7499 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
7500 super_offset field.
7501
37f4f608
VS
75022011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 * util/grub-install.in: Ignore install device on platforms
7505 where it doesn't make sense. Always use UUIDs except on pc, efi and
7506 sparc64.
7507 Reported by: Daniel Kahn Gillmor.
7508
03a4ccb5
VS
75092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
7512
ffc8f4d8
VS
75132011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
7516 (iterate_real): Don't rely on partition being non-NULL.
7517
80f23be7
VS
75182011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
7521 supported platforms. Put a compile time assert for this rather than
7522 generate a warning with 32-bit shift.
7523
5d4f4dd5
VS
75242011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
7527 logical expression more readable.
7528
e489601a
VS
75292011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
7532 even if some elements have a name.
7533 Reported by: Alexander GQ Gerasiov.
7534
96e0a6ea
CW
75352011-01-22 Colin Watson <cjwatson@ubuntu.com>
7536
7537 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
7538 path unreadable if `grub-probe -t abstraction' fails, for example if
7539 memberlist fails on an LVM volume group.
7540 Reported by: Darius Jahandarie.
7541
81431e2b
CW
75422011-01-22 Colin Watson <cjwatson@ubuntu.com>
7543
7544 * docs/grub.texi (Simple configuration): Document
7545 GRUB_PRELOAD_MODULES.
7546
5e79d66a
CW
75472011-01-17 Colin Watson <cjwatson@ubuntu.com>
7548
7549 * .bzrignore: Remove nonexistent grub-pbkdf2.
7550
646ada34
VS
75512011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * configure.ac: Bump version to 1.99~rc1.
7554
04360337
VS
75552011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
7558 for safety.
7559
46c9db88
VS
75602011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
7563 module.
7564
75652011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
7566
7567 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
7568
4fbf1852
VS
75692011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
7572 diskdevid.
7573
f1632d4d
VS
75742011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 Fix compilation on cygwin.
7577
7578 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
7579 -R .drectve on cygwin.
7580 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
7581 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
7582 (COND_CYGWIN): New condition.
7583 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
7584 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
7585 not @TARGET_OBJ2ELF@.
7586 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
7587 type to determine whether aux is to be used.
7588
0b5e127b
VS
75892011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
7592 realpath'ed device string.
7593 Handle floppy (somewhat).
7594 Issue error in unknown case rather than garbage.
7595 Reported by: Axel Beckert.
7596
173b71e9
VS
75972011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * util/grub.d/00_header.in (load_video): Handle the case when no video
7600 drivers available.
7601 Thanks to: Axel Beckert.
7602
f8f479db
VS
76032011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
7606 variable. Fixes problem on big endian platforms.
7607
8fc0a245
VS
76082011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
7611 It doesn't work well there.
7612
b8494fbe
VS
76132011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
7616 warning.
7617 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
7618 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
7619 counter.
7620
b44a558c
VS
76212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 Use alias->path rather than buggy "canon".
7624
7625 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
7626 (ofdisk_hash_add): New argument curcan. All users updated.
7627
51fa856c
CW
76282011-01-11 Colin Watson <cjwatson@ubuntu.com>
7629
7630 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
7631
9da068a5
VS
76322011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
7635 loadmask before doing any calculations. Use correct type for offset.
7636 (grub_linux_load64): Likewise.
7637
86205c94
CW
76382011-01-11 Colin Watson <cjwatson@ubuntu.com>
7639
7640 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
7641 with NULL.
7642 (console_grub_equivalences_unshift): Likewise.
7643 Reported by: Daniel Dehennin.
7644
4531a206
VS
76452011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
7648 (set_env_limn_ro): Likewise.
7649 (GRUB_MOD_INIT): Likewise.
7650 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
7651 ARRAY_SIZE while on it.
7652 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
7653 * grub-core/normal/context.c (grub_env_export): Move from here ...
7654 * grub-core/kern/env.c (grub_env_export): ... here.
7655 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
7656 prefix.
7657 * grub-core/kern/main.c (grub_main): Export root and prefix.
7658 * include/grub/env.h (grub_env_export): Export.
7659 Reported by: Seth Goldberg.
7660
45146057
VS
76612011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7664 Take into account space used by ELF sections and multiboot palette.
7665 Reported by: Grégoire Sutre.
7666
f093110b
VS
76672011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * BUGS: New file.
7670
3395fe52
VS
76712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 Pass more appropriate video id to Linux.
7674
7675 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
7676 grub_video_get_driver_id and variable gfxpayloadforcelfb to
7677 fill have_vga.
7678 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
7679 shift params->lfb_size.
7680 * include/grub/i386/linux.h: Make an enume out of have_vga values.
7681
c2fa6cbb
VS
76822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * util/grub-menulst2cfg.c: Add missing include of misc.h.
7685
b3ff6ff0
VS
76862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
7689 separator and pass bootpath/devid even if only one of them is available.
7690 Reported by: Seth Goldberg.
7691
ae67942e
VS
76922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
7695 implementations bug on them.
7696
7697 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
7698 memory.
7699 (filter_memory_map): Likewise.
7700
d570097a
VS
77012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
7704 Reported by: nebuchadnezzar.
7705
a508e776
VS
77062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
7709 Reported by: nebuchadnezzar.
7710
dcb883b1
VS
77112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 Submenu default support.
7714
7715 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
7716 auto_boot. All users updated.
7717 Declared static.
7718 Handle chosen and default with submenus.
7719 (grub_menu_execute_with_fallback): Declared static.
7720 Don't notify failure if autobooted. Upper level does it.
7721 (menuentry_eq): New function.
7722 (get_entry_number): Use menuentry_eq.
7723 (show_menu): New parameter "autobooted". All users updated.
7724 (grub_show_menu): Likewise.
7725 * include/grub/normal.h (grub_show_menu): Likewise.
7726 * include/grub/menu.h (grub_menu_execute_entry): Removed.
7727 (grub_menu_execute_with_fallback): Likewise.
7728
6fef99b4
VS
77292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 * util/grub-mklayout.c (usage): Update help text.
7732
47a77af5
VS
77332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
7736
ce6bb3ee
VS
77372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * util/grub-menulst2cfg.c (main): Trim the line.
7740
db87be2a
VS
77412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
7744 (grub_machine_init): Don't check amount of low memory as reportedly
7745 INT 12h can be broken and if low memory is too low we wouldn't have
7746 gotten into grub_machine_init anyway.
7747
c49849cc
VS
77482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
7751 (grub_machine_mmap_iterate): Take low memory into account
7752
b1969b30
VS
77532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
7756 badfs.
7757 Reported by: TiCPU.
7758
cf0eaf13
VS
77592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
7762 members errors.
7763
1f060f39
GS
77642011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7765
7766 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
7767 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
7768
a21e5672
GS
77692011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7770
7771 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
7772 openbsd and netbsd types being in part_bsd module.
7773
c88172fa
VS
77742011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
7777 (_FILE_OFFSET_BITS): Likewise.
7778 Reported by: Seth Goldberg.
7779
53798c4b
GS
77802011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7781
7782 * configure.ac: Check for libdevmapper header.
7783
e7121b69
VS
77842011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
7787 avoid aliasing.
7788 (fzap_lookup): Likewise.
7789 (dnode_get): Likewise.
7790 (make_mdn): Likewise.
7791 (zfs_mount): Likewise.
7792 (fzap_iterate): Use temporary pointer to avoid aliasing.
7793 (grub_zfs_read): Likewise.
7794 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
7795 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
7796 pointers to avoid aliasing.
7797 (grub_cmd_xnu_kernel64): Likewise.
7798 (grub_xnu_load_driver): Likewise.
7799
fc836af9
VS
78002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
7803 aliasing warning.
7804 (grub_cmd_terminal_output): Likewise.
7805 Reported and tested by: Grégoire Sutre.
7806
f9f37648
VS
78072011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
7810 warning.
7811 Reported and tested by: Grégoire Sutre.
7812
ec1dfd63
VS
78132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7814
7815 * configure.ac: Do CPU substitution even if it's specified explicitly.
7816 Reported and tested by: Alain Greppin.
7817
9462775a
VS
78182011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
7821 Reported and tested by: Alain Greppin.
7822
0fd48e35
VS
78232011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 Satisfy some bison versions need for inttypes.h.
7826
7827 * grub-core/lib/posix_wrap/inttypes.h: New file.
7828 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
7829 (int16_t): Likewise.
7830 (int32_t): Likewise.
7831 (int64_t): Likewise.
7832 Reported and tested by: Alain Greppin.
7833
43f1bc83
VS
78342011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
7837 Silence spurious warning.
7838 Reported and tested by: Alain Greppin.
7839
64d1f041
SJ
78402011-01-07 Szymon Janc <szymon@janc.net.pl>
7841
7842 * docs/grub.texi (Support automatic decompression): Update with xz
7843 decompression support.
7844
25953e10
SJ
78452011-01-07 Szymon Janc <szymon@janc.net.pl>
7846
7847 Improve loaders' kernel command line handling.
7848
7849 * grub-core/lib/cmdline.c: New file.
7850 * include/grub/lib/cmdline.h: Likewise.
7851 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
7852 grub_create_loader_cmdline to create kernel command line.
7853 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7854 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
7855 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
7856 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
7857 (linux): Add lib/cmdline.c on common.
7858
e72d259f
VS
78592011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
7862 inopos might be unaligned.
7863
c0cf26da
VS
78642011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7867 endian transformations.
7868 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7869 Based on report by: Doug Nazar.
7870
0ca09e6c
DN
78712011-01-07 Doug Nazar <nazard.michi@gmail.com>
7872
7873 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
7874 array->members[i].start_sector.
7875 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7876
014b6806
VS
78772011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
7880 Reported and tested by: Grégoire Sutre.
7881
415502c2
CW
78822011-01-06 Colin Watson <cjwatson@ubuntu.com>
7883
7884 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
7885 avoid causing test failures by clearing the screen.
7886
71b6a2b7
CW
78872011-01-06 Colin Watson <cjwatson@ubuntu.com>
7888
7889 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7890 Fix prefix check to handle the case where dir ends with a slash
7891 (most significantly, "/" itself).
7892 Reported by: Michael Vogt.
7893
b3f8d28a
VS
78942011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 Run terminfo_cls on initing terminfo output to clear the screen and
7897 move the cursor to (0,0).
7898
7899 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
7900 Call grub_terminfo_output_init.
7901 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
7902 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
7903 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
7904
4c3e4f37
VS
79052011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
7908 only when needed.
7909
488f71f1
VS
79102011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
7913 CTRL.
7914
18a38098
VS
79152011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 The E820 type 5 is BADRAM, not EXEC_CODE.
7918
7919 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7920 (GRUB_E820_BADRAM): New define.
7921 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
7922 into reserved. Propagate BADRAM.
7923 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7924 (GRUB_E820_BADRAM): New define.
7925
9eae2084
VS
79262011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
7929 Ignore the memory post-4G.
7930 (grub_relocator_firmware_alloc_region): Additional debug statement.
7931
ebc71d28
VS
79322011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
7935 names.
7936 Reported by: David Pravec.
7937
446fa400
VS
79382011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
7941 BIOSes.
7942
a0159f37
VS
79432011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
7946 Prevent overflow.
7947 (grub_reed_solomon_recover): Likewise.
7948
e5146ca1
VS
79492011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
7952
79532011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
7954
7955 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
7956 variable.
7957
5b1bdf12
CW
79582011-01-04 Colin Watson <cjwatson@ubuntu.com>
7959
7960 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
7961 descriptions of extract_legacy_entries_source and
7962 extract_legacy_entries_configfile.
7963 Reported by: Seung Soo, Ha.
7964
99d925aa
CW
79652011-01-03 Colin Watson <cjwatson@ubuntu.com>
7966
7967 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
7968 on devices that do not implement function 0.
7969
4af0504b
DV
79702011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
7971
7972 * grub-core/fs/hfsplus.c: Make parent unsigned.
7973 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
7974 overflows.
7975 (grub_hfsplus_cmp_extkey): Likewise
7976
469ee10a
VS
79772011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * util/grub-install.in: Correctly use bootloader_id and not
7980 GRUB_DISTRIBUTOR on efibootmgr line.
7981
323a8e9c
VS
79822011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
7985
1b394975
IC
79862010-12-31 Ian Campbell <ijc@hellion.org.uk>
7987
7988 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
7989 Xen and reorder menu item wording to make it clearer that this entry
7990 will launch Xen. Print separate messages when loading Xen and
7991 Linux.
7992
275bff5f
VS
79932010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
7996 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
7997 loop in case of incorrect amiga partmap.
7998
307806cb
VS
79992010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
8002 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
8003 Reported by:EHeM.
8004
b12b923e
VS
80052010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
8008 spurious warning.
8009 Reported by: crocket
8010
14b48a19
VS
80112010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
8014 Preload EFIemu.
8015 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
8016
693db2df
VS
80172010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
8020 is loaded
8021 (grub_cmd_xnu_kextdir): Likewise.
8022 (grub_cmd_xnu_splash): Likewise.
8023
c7638645
VS
80242010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 Avoid using Reed-Solomon with 0 redundancy.
8027
8028 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
8029 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
8030 or 0 redundancy.
8031 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
8032 (grub_reed_solomon_recover): Likewise.
8033
25dd4780
VS
80342010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 Don't use disk subsystem in freebsd_boot.
8037
8038 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
8039 (freebsd_biosdev): Likewise.
8040 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
8041 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
8042
0b2db943
VS
80432010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 Handling of files of unknown size is currently limited. They can't be
8046 used e.g. for initrd or modules. Moreover gzip handling of not
8047 easily seekable files is buggy. Disable unknown file size for now. May
8048 be inefficient but works.
8049
8050 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
8051 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8052
5c408d0f
MP
80532010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
8054
8055 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
8056 floppy probe.
8057
190a011a
JD
80582010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
8059
8060 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
8061
022d01b8
SL
80622010-12-25 Shea Levy <shlevy>
8063
8064 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
8065
c4855fdc
VS
80662010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
8069 Windows Server 2008.
8070 Reported by: Devin Giddings.
8071
0354b867
VS
80722010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
8075 writing an error message because of async power management.
8076 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
8077 (grub_reboot): Likewise.
8078
ab66c69f
JU
80792010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
8080
8081 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
8082 keep unit tests from failing when they shouldn't.
8083
1426ef35
CW
80842010-12-21 Colin Watson <cjwatson@ubuntu.com>
8085
8086 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
8087 previous patch increased the size of the RS code by 20 bytes (at
8088 least with gcc-4.4), so increase this by 20 bytes to match.
8089 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8090
20641b6b
CW
80912010-12-21 Colin Watson <cjwatson@ubuntu.com>
8092
8093 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
8094 scratch area. Make sure to initialise chosen in standalone mode as
8095 well as non-standalone.
8096 Reported by: Robert Hooker and Andy Whitcroft.
8097 Tested by: Andy Whitcroft.
8098
d060ad60
CW
80992010-12-21 Colin Watson <cjwatson@ubuntu.com>
8100
8101 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
8102 constructing a new unescaped string and passing it to grub_xputs in
8103 one go, rather than passing characters to grub_printf one at a time.
8104
b889cfad
CW
81052010-12-21 Colin Watson <cjwatson@ubuntu.com>
8106
8107 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
8108 initialising utf16.
8109
4e01b6c8
CW
81102010-12-21 Colin Watson <cjwatson@ubuntu.com>
8111
8112 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
8113 comment. Add an extra layer of quotation, requiring the output of
8114 this function to be used in a printf format string.
8115 (gettext_printf): New function.
8116 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
8117 Extract translatable strings from here-documents and use a temporary
8118 variable instead, so that xgettext can find them.
8119 * util/grub.d/10_kfreebsd.in: Likewise.
8120 * util/grub.d/10_linux.in: Likewise.
8121 * util/grub.d/20_linux_xen.in: Likewise.
8122
8123 * po/grub.d.sed: New file.
8124 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
8125 arguments. Set c-format flags on all strings extracted from
8126 util/grub.d/ (xgettext refuses to include these itself for strings
8127 it extracted from a shell file, but these really are c-format).
8128
5318fe98
VS
81292010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
8132 Avoid next pointing to nowhere.
8133
6c85b743
VS
81342010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
8137 rather than assuming than rootblock is exactly in the middle.
8138 (grub_affs_label): Likewise.
8139
a2a08a35
VS
81402010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
8143 reserved_first_sector to 0.
8144 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
8145 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
8146 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
8147
7059d1ec
VS
81482010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 Fix handling of UTF-16 UDF labels.
8151
8152 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
8153 (read_string): .. here.
8154 (grub_udf_label): Use read_string.
8155
30aff4cb
BC
81562010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
8157
8158 * grub-core/normal/menu_entry.c (run): Execute commands from menu
8159 editor under argument scope.
8160 Reported by: Jordan Uggla
8161
5cf86f4b
VS
81622010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
8165
32570200
CW
81662010-12-18 Colin Watson <cjwatson@ubuntu.com>
8167
8168 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
8169 line, and other keys scroll an entire page (previous handling was
8170 for \r and \n to scroll a page and other keys to scroll two lines).
8171
e1dffcf2
VS
81722010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8175 Set ptrdest to correct get_physical_target_address rather than
8176 incorrect get_virtual_current_address.
8177
b04298cf 81782010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
8179
8180 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
8181 correct cat to grub_uint8_t * rather than grub_uint32_t *.
8182
5367ecd3
CW
81832010-12-10 Colin Watson <cjwatson@ubuntu.com>
8184
8185 * .bzrignore: Ignore grub-core/rs_decoder.S.
8186
1fb430f8
CW
81872010-12-10 Colin Watson <cjwatson@ubuntu.com>
8188
8189 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
8190 .mo/.mo.gz opening sequence to ...
8191 (grub_mofile_open_lang): ... here.
8192 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
8193 * util/grub.d/00_header.in (grub_lang): Include country part of
8194 locale.
8195 Reported by: Mario Limonciello.
8196
a94a6671
RM
81972010-12-09 Robert Millan <rmh@gnu.org>
8198
8199 * NEWS: Document addition of ZFS support.
8200
24b7938b
CW
82012010-12-04 Colin Watson <cjwatson@ubuntu.com>
8202
8203 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
8204 rather than `/ 2', as the latter requires -Wa,--divide which would
8205 require bumping our minimum binutils version.
8206
bddc3ef6
BC
82072010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
8208
8209 * util/grub-script-check.c (main): Print script line number on
8210 error.
8211
bf78d5b2
RM
82122010-12-01 Robert Millan <rmh@gnu.org>
8213
8214 * grub-core/fs/zfs/zfs.c: New file.
8215 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
8216 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
8217 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
8218 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8219
8220 * include/grub/zfs/dmu.h: Likewise.
8221 * include/grub/zfs/dmu_objset.h: Likewise.
8222 * include/grub/zfs/dnode.h: Likewise.
8223 * include/grub/zfs/dsl_dataset.h: Likewise.
8224 * include/grub/zfs/dsl_dir.h: Likewise.
8225 * include/grub/zfs/sa_impl.h: Likewise.
8226 * include/grub/zfs/spa.h: Likewise.
8227 * include/grub/zfs/uberblock_impl.h: Likewise.
8228 * include/grub/zfs/vdev_impl.h: Likewise.
8229 * include/grub/zfs/zap_impl.h: Likewise.
8230 * include/grub/zfs/zap_leaf.h: Likewise.
8231 * include/grub/zfs/zfs.h: Likewise.
8232 * include/grub/zfs/zfs_acl.h: Likewise.
8233 * include/grub/zfs/zfs_znode.h: Likewise.
8234 * include/grub/zfs/zil.h: Likewise.
8235 * include/grub/zfs/zio.h: Likewise.
8236 * include/grub/zfs/zio_checksum.h: Likewise.
8237
8238 * Makefile.util.def: Build ZFS into libgrubmods.
8239 * grub-core/Makefile.core.def: Build zfs.mod.
8240
3f0f3831
SJ
82412010-11-30 Szymon Janc <szymon@janc.net.pl>
8242
8243 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
8244 variable.
8245 * grub-core/commands/wildcard.c (match_files): Likewise.
8246
3a4253b2
RM
82472010-11-30 Robert Millan <rmh@gnu.org>
8248
8249 * grub-core/loader/i386/bsd.c
8250 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
8251 whether kernel is loaded using grub_loader_is_loaded(), rather
8252 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
8253 certain error conditions.
8254
8c317b27
RM
82552010-11-30 Robert Millan <rmh@gnu.org>
8256
c5c9cd3e
RM
8257 * grub-core/commands/echo.c: Include `<grub/term.h>'.
8258 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 8259
49d3ab46
VS
82602010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 Avoid using tricks for initialising endian variables.
8263
8264 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
8265 Make const.
8266 (GRUB_MOD_INIT): Don't byte-swap.
8267 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8268 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
8269 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
8270 (grub_swap_bytes32_compile_time): Likewise.
8271 (grub_cpu_to_le32_compile_time): Likewise.
8272 (grub_cpu_to_le16_compile_time): Likewise.
8273
f420a804
VS
82742010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * util/grub-setup.c (setup): Stop recommending --force. People who
8277 understand the dangers of blocklists are able to find this option
8278 anyway and the ones who don't shouldn't use it anyway.
8279
4e7db17b
RM
82802010-11-26 Robert Millan <rmh@gnu.org>
8281
8282 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
8283 Update all users.
8284
9be57a0d
CW
82852010-11-26 Colin Watson <cjwatson@ubuntu.com>
8286
8287 Fix LVM-on-RAID probing.
8288
8289 * util/grub-probe.c (probe): Remember which disk was detected as
8290 RAID (perhaps an LVM physical volume). Use that disk's raidname
8291 rather than that of the top-level disk.
8292
2c7859b3 82932010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 8294
d7647bb6
BC
8295 Fix cmdline argument quotes for setparams command of menuentry
8296 definitions.
7e623b0d
BC
8297
8298 * grub-core/commands/menuentry.c (setparams_prefix): Use single
8299 quotes for arguments.
f866fe80 8300 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 8301 grub_strchrsub function instead.
f866fe80 8302
7955bea0 8303 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 8304
74f72a64
CW
83052010-11-24 Colin Watson <cjwatson@ubuntu.com>
8306
8307 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
8308 effort by skipping "." and ".." entries up-front.
8309 Suggested by: Michael Lazarev.
8310
5a407278
CW
83112010-11-24 Colin Watson <cjwatson@ubuntu.com>
8312
8313 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
8314 ldflags to ldadd, to fix link line ordering.
8315 (none_decompress): Likewise.
8316
3030d8ec
CW
83172010-11-24 Colin Watson <cjwatson@ubuntu.com>
8318
8319 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
8320 platforms.
8321 (grub-emu-lite): Remove kern/emu/cache.S.
8322
b7fbac12
CW
83232010-11-23 Colin Watson <cjwatson@ubuntu.com>
8324
8325 * util/deviceiter.c (compare_devices): If the by-id link for a
8326 device couldn't be resolved, fall back to sorting by the by-id link
8327 rather than segfaulting.
8328 Reported and tested by: Daniel Mierswa.
8329
5225f328
CW
83302010-11-23 Colin Watson <cjwatson@ubuntu.com>
8331
8332 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
8333 ldflags, to fix link line ordering.
8334
038b3ce8
CW
83352010-11-23 Colin Watson <cjwatson@ubuntu.com>
8336
8337 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
8338 linkers are picky about this.
8339
bf16e98e
CW
83402010-11-23 Colin Watson <cjwatson@ubuntu.com>
8341
8342 * grub-core/Makefile.am (command.lst): Adjust sed expression
8343 ordering so that extended and priority commands aren't treated as
8344 ordinary commands.
8345
7242bab6
CW
83462010-11-23 Colin Watson <cjwatson@ubuntu.com>
8347
8348 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8349 Remove byte-swapping function calls, which are not valid in
8350 structure initialisers.
8351 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
8352 non-const.
8353 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
8354 grub_gpt_partition_type_bios_boot.
8355
14e8b279
CW
83562010-11-22 Colin Watson <cjwatson@ubuntu.com>
8357
8358 Fix test program build on GNU/kFreeBSD.
8359
8360 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
8361 $(LIBNVPAIR)' library dependencies.
8362
e6f63338 83632010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
8364
8365 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
8366
cf8ffc38
CW
83672010-11-22 Colin Watson <cjwatson@ubuntu.com>
8368
8369 * util/grub-install.in: Remove excessive quoting that broke
8370 installations to RAID devices.
8371
7f8b0fd7
VS
83722010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
8375 bootloader version instead of 0.
8376
dfd240b1
VS
83772010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
8380 warning.
8381
7b61e609
VS
83822010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
8385 retrieve the metadat sector if size isn't known.
8386 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8387
9dfe92d0
RM
83882010-11-18 Robert Millan <rmh@gnu.org>
8389
8390 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
8391 with grub_memcmp().
8392
41cc919e
VS
83932010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
8396 arrow.
8397 Reported by: Jordan Uggla.
8398
1afcc914
VS
83992010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 Make better UTF compliant.
8402
8403 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
8404 sequences as incorrect.
8405 (grub_is_valid_utf8): Likewise.
8406 (grub_utf8_to_ucs4): Likewise.
8407 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
8408 (grub_ucs4_to_utf8_alloc): Likewise.
8409 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
8410
f1808884
VS
84112010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 Make legacy_source behave like source.
8414
8415 * grub-core/commands/legacycfg.c (legacy_file): Don't call
8416 grub_show_menu.
8417 (grub_cmd_legacy_source): Call grub_show_menu if needed.
8418
24ec575b
CW
84192010-11-16 Colin Watson <cjwatson@debian.org>
8420
8421 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
8422 (-Wunused implies -Wunused-parameter, but not vice versa).
8423
72b7c7aa
CW
84242010-11-16 Colin Watson <cjwatson@ubuntu.com>
8425
8426 * configure.ac: Make error messages less confusing by testing for
8427 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
8428 accepted, but produces a diagnostic if something else is wrong).
8429
e98937aa
VS
84302010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
8433 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
8434 (now unused).
8435 (grub_keyboard_controller_init)
8436 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
8437 read the initial state since controller isn't inited yet.
8438
f6bbabc3
VS
84392010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
8442 allocate_regbeg may need to create new chunk header.
8443
22e7dbb2
VS
84442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 Fix quoting in legacy parser.
8447
8448 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
8449 single quotes.
8450 (grub_legacy_parse): Likewise.
8451 Reported by: Jordan Uggla.
8452 Tested by: Jordan Uggla.
8453
03f80960
VS
84542010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 Don't add -lgcc on i386 and x86_64.
8457
8458 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
8459 * conf/Makefile.common (LDADD_KERNEL): Likewise.
8460 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
8461
779dc15b
VS
84622010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * configure.ac: Add -Wno-trampolines when supported.
8465
d20a3b37
MV
84662010-11-14 Modestas Vainius <modax@debian.org>
8467
8468 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
8469 fakeraid.
8470
e5360933
GC
84712010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
8472
8473 Add generic logical block size support for UDF.
8474
8475 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
8476 (GRUB_UDF_BLKSZ): Removed.
8477 (struct grub_udf_data): New field "lbshift" to hold the logical block
8478 size of the file system in log2 format. All users updated.
8479 (sblocklist): Change type to unsigned.
8480 (grub_udf_mount): Change type of "sblklist" to unsigned.
8481 Move AVDP search before VRS recognition, because the latter requires
8482 knowledge of the logical block size, which is detected during the
8483 former.
8484 Detect and validate logical block size during AVDP search, adding
8485 support for block sizes 512, 1024 and 4096.
8486 Make VRS recognition independent of block size.
8487
cb0229c5
GC
84882010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
8489
8490 Properly handle deleted files on UDF.
8491
8492 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
8493 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
8494 set.
8495
406858a8
GC
84962010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
8497
8498 Support reading files larger than 2 GiB.
8499
8500 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
8501 "offset" to grub_off_t.
8502 (grub_udf_read_file): Likewise for parameter "pos".
8503
130da6a7
VS
85042010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
8507 unavailable.
8508 (Simple configuration): Refer to Changes from GRUB Legacy about
8509 save_env availability.
8510
65e93f6b
VS
85112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * util/grub-install.in: Ignore empty partition table detection
8514 instead of trying to include part_ module.
8515
1fd08bf1
VS
85162010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
8519 LVM on RAID support.
8520
de1a024f
VS
85212010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 Properly define WORDS_BIGENDIAN in wrapped environments.
8524
8525 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
8526 definition.
8527 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
8528
8529 Reported by: Manoel Rebelo Abranches.
8530 Tested by: Manoel Rebelo Abranches.
8531
bc5dd0b9
VS
85322010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * util/grub-mkconfig.in: Fix quoting.
8535
58c184be
VS
85362010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 Support big ext2 files.
8539
8540 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
8541 (grub_ext2_read_block): Support triple indirect blocks.
8542 (grub_ext2_read_file): Use 64-bit types and read size_high.
8543 (grub_ext2_open): Read size_high.
8544 Reported by: Ximin Luo.
8545 Tested by: Manoel Rebelo Abranches.
8546
5f0c02b3
VS
85472010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * util/grub-install.in: Handle filenames containing spaces.
8550 Reported by: Jordan Uggla.
8551 Tested by: Jordan Uggla.
8552
4417aae6
VS
85532010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * util/grub-mkconfig.in (grub_script_check): New variable.
8556 Use grub_script_check instead of grub-script-check.
8557 Reported by: Barry Jackson.
8558
7625a68e
VS
85592010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * docs/grub.texi (menu): Correct the order.
8562 Reported by: D. Hugh Redelmeier.
8563
10001ac5
VS
85642010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
8567 jump.
8568
9c4cf53b
MRA
85692010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8570
10001ac5
VS
8571 * include/grub/elfload.h (grub_elf32_size): New parameter.
8572 All users updated.
9c4cf53b
MRA
8573 Return maximum segments alignment.
8574 (grub_elf64_size): Likewise.
8575 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
8576 Return maximum segments alignment.
8577 (grub_elf64_size): Likewise.
8578 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
8579 (grub_linux_claimmap_iterate): New function. Uses the
8580 "available" property in the "memory" node for memory allocation
8581 for kernel in the PowerPC loader.
9c4cf53b
MRA
8582 (grub_linux_load32): Correctly find linux entry point offset.
8583 (grub_linux_load64): Likewise.
8584
d2bf06bf
RM
85852010-11-07 Robert Millan <rmh@gnu.org>
8586
8587 On mips-yeeloong, build with -march=loongson2f when this flag is
8588 available (GCC >= 4.4).
8589 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
8590 `-march=mips3'.
8591 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
8592 or otherwise add -march=mips3.
8593
898c99a2
BC
85942010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
8595
87220a68
BC
8596 Suppress shell expansion on echo '*' and echo "*" like cases.
8597 Reported by: Jordan Uggla.
898c99a2
BC
8598
8599 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8600 string arguments before shell expansion.
8601 * tests/grub_cmd_echo.in: New testcases.
8602
4f9b406a
RM
86032010-11-07 Robert Millan <rmh@gnu.org>
8604
8605 * conf/mips-qemu-mips.rmk: Remove stale file from previous
8606 transition.
8607
80c6d25e
VS
86082010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * grub-core/kern/emu/hostdisk.c
8611 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
8612
4a1a0153
VS
86132010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
8616 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
8617 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
8618
34706ddc
VS
86192010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
8622
6972dea9
VS
86232010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * util/grub-install.in: Replace useless recomendation to pass
8626 --modules with a recomendation to report a bug.
8627
9c693bd6
VS
86282010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 Properly register serial terminfo.
8631 Reported by: Jordan Uggla
8632
8633 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
8634 const.
8635 (grub_serial_terminfo_output_template): Likewise.
8636 (grub_cmd_serial): Register "serial" with terminfo.
8637 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
8638 grub_serial_terminfo_output.
8639
6c9e4c0c
RM
86402010-11-05 Robert Millan <rmh@gnu.org>
8641
8642 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
8643 needed).
8644
b9b3839f
RM
86452010-11-05 Robert Millan <rmh@gnu.org>
8646
8647 On Yeeloong, pass machine type information to Linux.
8648
8649 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
8650 (LOONGSON_MACHTYPE): New macro, set to
8651 "machtype=lemote-yeeloong-2f-8.9inches".
8652 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
8653 additional argument to Linux.
8654
1a3aaff4
RM
86552010-11-04 Robert Millan <rmh@gnu.org>
8656
8657 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
8658 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
8659 (its SATA disks are detected as slaveless IDE master drives on
8660 kFreeBSD).
8661 Reported by Carsten Aulbert.
8662
a75f4f62
CW
86632010-11-02 Colin Watson <cjwatson@ubuntu.com>
8664
8665 * util/bin2h.c (main): Fix spelling error in generated output.
8666
33b4b0c6
GS
86672010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
8668
8669 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
8670
2b36fbf4
VS
86712010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
8674 vga= option is supplied.
8675
74aaf558
VS
86762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
8679 * util/grub.d/10_kfreebsd.in: Likewise.
8680 * util/grub.d/10_linux.in: Likewise.
8681 * util/grub.d/20_linux_xen.in: Likewise.
8682
6428dec3
VS
86832010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
8686 argument as an argument to no-argument option.
8687
f8729d98
VS
86882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * util/grub.d/10_linux.in: Add missing load_video with explicit
8691 GRUB_GFXPAYLOAD_LINUX.
8692
89d68fa6
VS
86932010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
8696
3a1197cd
VS
86972010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
8700 elements with invlid index.
8701 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8702 * grub-core/disk/raid.c (insert_array): Automatically reallocate
8703 members.
8704 * include/grub/raid.h (grub_raid_member): New struct.
8705 (grub_raid_array): Transform devices and start_sector into usage of
8706 grub_raid_member. All users updated
8707 (allocated_devs): New member.
8708
71574288
VS
87092010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
8712 is modified
8713
8d40ec65
BC
87142010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
8715
8716 NetBSD build fix for getline function conflict from gnulib.
8717
8718 * Makefile.util.def (libgrubkern.a): New library for grub kernel
8719 components that depend on gnulib headers.
8720 (libgrubmods.a): Renamed from earlier libgrub.a.
8721 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
8722
95b9257e
VS
87232010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
8726 install rather than creating a broken install.
8727
26c53dc6
VS
87282010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * util/grub-setup.c (argp): Remove misleading example of installing to
8731 a partition.
8732
4171b3c5
VS
87332010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * util/grub-setup.c (setup): Clarify the error message.
8736
18568d18
VS
87372010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
8740
4f6a2e21
VS
87412010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * grub-core/kern/emu/misc.c
8744 (grub_make_system_path_relative_to_its_root)
8745 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
8746
87472010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
8748
8749 * grub-core/kern/emu/misc.c
8750 (grub_make_system_path_relative_to_its_root): Revert r2882.
8751
e138c458
VS
87522010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
8753
8754 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
8755 useless field head. All users updated.
8756 (free_subchunk): Correct handling of IN_REGION subchunk.
8757
0cbcdf0e
CW
87582010-10-22 Colin Watson <cjwatson@ubuntu.com>
8759
8760 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
8761 (Supported kernels): Likewise.
8762
b65ea155
GS
87632010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8764
8765 Make mktemp invocations portable.
8766
8767 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
8768 exit if mktemp fails.
8769 * tests/grub_script_blockarg.in: Likewise.
8770 * tests/partmap_test.in: Likewise.
8771 * tests/util/grub-shell-tester.in: Likewise.
8772 * tests/util/grub-shell.in: Likewise.
8773 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8774 * Makefile.am: Likewise, and chain shell commands with `&&'
8775 instead of ';'.
8776 * util/grub-mkrescue.in: Use the same explicit template as above, and
8777 exit if mktemp fails.
8778
05f43cdd
BC
87792010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
8780
8781 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
8782 Linux kernel, reported by Dennis Schridde.
8783
800e6a9b
SJ
87842010-10-17 Szymon Janc <szymon@janc.net.pl>
8785
8786 * grub-core/normal/auth.c (grub_auth_check_authentication):
8787 Set-but-not-used variable removed.
8788
d82df574
VS
87892010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * docs/grub.texi (GNU/Linux): Document APM unavailability with
8792 32-bit linux protocol.
8793
7bced458
VS
87942010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
8797 cursor shape for sanity.
8798
5b027690
VS
87992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * docs/grub.texi (Installation): Document buggy BIOS install.
8802
ba5f65cf
VS
88032010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * docs/grub.texi (Installation): Indent.
8806
fdf2ec9c
VS
88072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * util/grub-setup.c (setup): New parameter allow_floppy.
8810 (arguments): New member allow_floppy.
8811 (argp_parser): Handle --allow-floppy.
8812 (main): Pass allow_floppy.
8813 * util/grub-install.in: New option --allow-floppy passed though to
8814 grub-setup.
8815
861dfd4c
VS
88162010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * util/grub-install.in: Handle partitionless disks.
8819
f77a8c24
VS
88202010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 * util/grub-setup.c (setup): Don't clean blocklists before readability
8823 verfification.
8824
27d9ee32
VS
88252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * docs/grub.texi (Installation): Document embedding zone. Remove
8828 obsolete grub-install example.
8829
6bdda8f8
SJ
88302010-10-16 Szymon Janc <szymon@janc.net.pl>
8831
8832 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8833 Set-but-not-used variable ifdef'ed.
8834 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
8835 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
8836 variable removed.
8837 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
8838 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
8839 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8840 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
8841 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
8842 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8843 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
8844 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
8845 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
8846 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
8847 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
8848 Likewise.
8849
e19b016b
VS
88502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
8853 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
8854 enum value.
8855
6c8d3002
VS
88562010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
8859 synonym to _S5_. Needed for some DSDTs.
8860
c32b51c9
VS
88612010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 Userspace ACPI parser debugging.
8864
8865 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
8866 headers and add relevant defines. Don't include standard headers.
8867 (main) [GRUB_DSDT_TEST]: New function.
8868 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
8869 Don't declare functions.
8870
fbfbeb39
VS
88712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8872
8873 Remove dead grub_efi_mm_fini.
8874
8875 * grub-core/kern/efi/mm.c (allocated_page): Removed.
8876 (ALLOCATED_PAGES_SIZE): Likewise.
8877 (MAX_ALLOCATED_PAGES): Likewise.
8878 (allocated_pages): Likewise.
8879 (grub_efi_allocate_pages): Don't record allocated pages.
8880 (grub_efi_free_pages): Likewise.
8881 (grub_efi_mm_init): Likewise.
8882 (grub_efi_mm_fini): Removed.
8883
65f7ed7c
VS
88842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
8887 (grub_efi_mm_init): Take into account the memory map size increase.
8888
24977b44
VS
88892010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
8892 (serial_hw_put): Wait based on real time rather than port reads. Don't
8893 roken ports.
8894 * include/grub/serial.h (grub_serial_port): New field broken.
8895
1eb01cd2
RM
88962010-10-16 Robert Millan <rmh@gnu.org>
8897
8898 * grub-core/kern/emu/misc.c
8899 (grub_make_system_path_relative_to_its_root): Fix premature return
8900 when processing non-root ZFS filesystems.
5f8b440b 8901 Reported by Sergio Talens-Oliag.
1eb01cd2 8902
2d5fed60
RM
89032010-10-15 Robert Millan <rmh@gnu.org>
8904
8905 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
8906 guarantee compressed ones are processed first.
8907
d0f4c1ea
VS
89082010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
8911 grub_efiemu_autocore.
8912
d87c681f
VS
89132010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
8916 rather than 0x1b.
8917 (grub_console_getkey): Use correct jae opcode rather than ja.
8918
219b3564
RM
89192010-10-12 Robert Millan <rmh@gnu.org>
8920
8921 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
8922 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
8923 variable. All references updated.
8924
8925 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
8926
20c6bb7e
VS
89272010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 Correctly distinguish mdraid flavours.
8930
8931 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
8932 (insert_array): New argument raid.
8933 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
8934 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
8935 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
8936
74baff84
VS
89372010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
8940 handling of special keys.
8941
3ef068df 89422010-10-02 Aleš Nesrsta <starous@volny.cz>
8943
c7980ad9
VS
8944 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
8945 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 8946
a9455194 89472010-10-02 Aleš Nesrsta <starous@volny.cz>
8948
c7980ad9
VS
8949 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
8950 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
8951 users updated.
a9455194 8952 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 8953 Use right endpoint when querying descriptor.
a9455194 8954
441cfe65
VS
89552010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 Clear out 0x80 color bit on EFI.
8958 Tested by: decoder
8959 Reported by: decoder and meta tech.
8960
8961 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
8962 (grub_console_setcolorstate): Clear out 0x80 bit.
8963 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
8964 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
8965 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
8966
bf26bcc4
VS
89672010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
8970 Set to "auto".
8971
6e3c515d
VS
89722010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
8975 mo_file after freeing.
8976
e6d983ba
VS
89772010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
8980
74ccb5b5
VS
89812010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
8984 flags.
8985
17821956
VS
89862010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
8989 usage.
8990
ee74fa48
VS
89912010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 Put terminfo into core on ieee1275 and yeeloong (needed for console).
8994
8995 * gentpl.py: New groups terminfoinkernel and terminfomodule.
8996 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
8997 and terminfo.h when needed.
8998 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
8999 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
9000 (terminfo): Enable only on terminfokernel.
9001 (extcmd): Likewise.
9002 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
9003 * include/grub/lib/arg.h: Likewise.
9004 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
9005 incorrect usage of ->.
9006
aa438e68
VS
90072010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
9010 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
9011
57994012
VS
90122010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 Fix coreboot compilation.
9015
9016 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9017 Take VBE info into account even if only text is supported.
9018 (fill_vbe_info): Take into account the case when only VGA text
9019 is supported.
9020 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
9021 on coreboot, multiboot and qemu.
9022
2a406611
VS
90232010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
9026 debug messages.
9027 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
9028
d33613fc
VS
90292010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
9032 parameters.
9033
44a1b432
VS
90342010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
9037 if they were BSD-style.
9038
edde54e6
VS
90392010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * grub-core/boot/i386/pc/lnxboot.S: Replace
9042 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
9043 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
9044
b65830fa
VS
90452010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 Write embedding zone using Reed-Solomon.
9048
9049 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
9050 * grub-core/Makefile.am (rs_decoder.S): New target.
9051 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
9052 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
9053 (multiboot): Move to RS part.
9054 (post_reed_solomon): New label.
9055 (grub_boot_drive): Move to non-RS part since it's modified in memory
9056 on boot.
9057 Include rs_decoder.S.
9058 * grub-core/lib/reed_solomon.c: New file.
9059 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
9060 New definition.
9061 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
9062 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
9063 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
9064 * include/grub/partition.h (grub_partition_map): Change prototype of
9065 embed to allow returning additional sectors.
9066 * include/grub/reed_solomon.h: New file.
9067 * util/grub-setup.c (setup): Handle Reed-Solomon.
9068
0b4b227f
CW
90692010-09-28 Colin Watson <cjwatson@ubuntu.com>
9070
9071 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
9072 i386 and x86-64 definedness tests.
9073
f772623b
YB
90742010-09-27 Yves Blusseau <blusseau@zetam.org>
9075
9076 Fix generation of kernel_syms.lst
9077
9078 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
9079 ASM_PREFIX
9080
8e57a6ca
RM
90812010-09-26 Robert Millan <rmh@gnu.org>
9082
9083 Support degraded ZFS arrays in "grub-probe -t device" resolution.
9084
9085 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
9086 the pool is an array of devices, iterate through it and return the
9087 first device that passes a stat() test (instead of blindly returning
9088 the first one).
9089
f9130836
RM
90902010-09-26 Robert Millan <rmh@gnu.org>
9091
9092 Build fixes for GNU/kFreeBSD.
9093
9094 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
9095 to programs that require ZFS conversion.
9096 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
9097 kernels that don't have FLOPPY_MAJOR.
9098
96510faf
BC
90992010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
9100
9101 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
9102
449333eb
BC
91032010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
9104
9105 Fix grub-emu build.
9106
9107 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
9108 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
9109 mdraid09 and mdraid1x.
9110
e1fd1939
CW
91112010-09-24 Colin Watson <cjwatson@ubuntu.com>
9112
9113 Re-enable grub-extras.
9114
9115 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
9116 avoid confusing Automake. Run autogen only twice, once for the top
9117 level and once for grub-core. Add Makefile.util.def and
9118 Makefile.core.def from extra modules to the appropriate autogen
9119 invocations. If Makefile.common exists in an extra module, include
9120 it in both Makefile.util.am and grub-core/Makefile.core.am;
9121 similarly, include any Makefile.util.common file in Makefile.util.am
9122 and any Makefile.core.common file in grub-core/Makefile.core.am.
9123 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
9124 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
9125 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
9126 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
9127
9128 * gentpl.py (gvar_add): Turn GVARS into a set.
9129 (global_variable_initializers): Sort global variables on output.
9130 (vars_init): New function.
9131 (first_time): Likewise.
9132 (library): Ensure that non-global variable initialisations are
9133 emitted before the first time we emit code for a library block.
9134 Append to variables rather than setting them. Only emit
9135 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
9136 each conditional path.
9137 (program): installdir() emits an Autogen macro, so must be passed to
9138 var_add rather than gvar_add.
9139 (data): Likewise.
9140 (script): Likewise.
9141 (rules): New function, centralising handling for different target
9142 types. Set up Guile association lists for first_time and vars_init,
9143 and send most output to a diversion so that variable initialisations
9144 can be emitted first.
9145 (module_rules): Use new rules function.
9146 (kernel_rules): Likewise.
9147 (image_rules): Likewise.
9148 (library_rules): Likewise.
9149 (program_rules): Likewise.
9150 (script_rules): Likewise.
9151 (data_rules): Likewise.
9152
9153 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
9154
9155 * .bzrignore: Add contrib and grub-core/contrib. Remove
9156 grub-core/Makefile.gcry.am.
9157
1d12cf29
YB
91582010-09-24 Yves Blusseau <blusseau@zetam.org>
9159
9160 * grub-core/lib/LzFind.c: Add missing include.
9161 * grub-core/lib/LzmaEnc.c: Likewise.
9162 * grub-core/script/lexer.c: Likewise.
9163 * grub-core/script/yylex.l: Likewise.
9164 * util/grub-macho2img.c: Likewise.
9165 * util/grub-menulst2cfg.c: Likewise.
9166 * util/grub-mklayout.c: Likewise.
9167 * util/grub-mkpasswd-pbkdf2.c
9168 * util/grub-mkrelpath.c: Likewise.
9169 * util/resolve.c: Likewise.
9170
dd363028
BC
91712010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
9172
9173 * Makefile.util.def (example_unit_test): Add
9174 grub-core/gnulib/libgnu.a.
9175
f5a109e2
GS
91762010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
9177
9178 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
9179
6d0fa83c
VS
91802010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 Support xz compression on yeeloong.
9183
9184 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
9185 * configure.ac: Check for LZMA.
9186 * grub-core/Makefile.core.def (xz_decompress): New target.
9187 (none_decompress): Likewise.
9188 * grub-core/boot/decompressor/minilib.c: New file.
9189 * grub-core/boot/decompressor/none.c: Likewise.
9190 * grub-core/boot/decompressor/xz.c: Likewise.
9191 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
9192 * grub-core/kern/mips/cache_flush.S: Likewise.
9193 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
9194 * grub-core/kern/mips/startup.S: Move first stage to ...
9195 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
9196 nomacro.
9197 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
9198 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
9199 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
9200 Allocate statically.
9201 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
9202 Allocate statically or use scratch. Don't check CRC32.
9203 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
9204 Allocate statically. Don't check CRC32.
9205 * include/grub/decompressor.h: New file.
9206 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
9207 Removed.
9208 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
9209 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
9210 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
9211 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
9212 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
9213 * util/grub-mkimage.c (grub_compression_t): New type.
9214 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
9215 (image_target_desc): New field default_compression.
9216 (image_targets): Adjust yeeloong targets.
9217 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
9218 (compress_kernel): New parameter comp.
9219 (generate_image): Likewise. Handle new compression case.
9220 (options): New option --compression
9221 (help): Likewise.
9222 (main): Handle new option.
9223
1b655af6
GS
92242010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
9225
9226 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
9227
8f03f0b5
CW
92282010-09-22 Colin Watson <cjwatson@ubuntu.com>
9229
9230 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
9231 typo in __i386__ conditional.
9232
7835dfd3
VS
92332010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
9236 include.
9237
e255597e
VS
92382010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9239
6d0fa83c 9240 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
9241
9242 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
9243 new tags as supported.
9244 (acpiv2_size): New function.
9245 (grub_multiboot_get_mbi_size): Take new tags into account.
9246 (grub_multiboot_make_mbi): Add new tags.
9247 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 9248
6cc14051 92492010-09-21 Aleš Nesrsta <starous@volny.cz>
9250
9251 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
9252 Added missing configuration of USB device.
9253
df7769d8
CW
92542010-09-21 Colin Watson <cjwatson@ubuntu.com>
9255
9256 * grub-core/normal/menu_entry.c (run): Make sure we always return
9257 a value.
9258
b031012d
CW
92592010-09-21 Colin Watson <cjwatson@ubuntu.com>
9260
9261 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
9262 NumberOfPages is UINT64 according to the UEFI specification, not
9263 UINTN. Fix printf format.
9264
174de8f3
CW
92652010-09-21 Colin Watson <cjwatson@ubuntu.com>
9266
9267 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
9268 `err' to grub_usb_err_t.
9269 Reported and tested by: KESHAV P.R.
9270
d7dbe923
CW
92712010-09-21 Colin Watson <cjwatson@ubuntu.com>
9272
9273 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
9274 tpart non-const, so that we can assign to it. (Since this is a
9275 typedef, the constness refers to the pointer rather than what it
9276 points to.)
9277
8d5e2af3
CW
92782010-09-21 Colin Watson <cjwatson@ubuntu.com>
9279
9280 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
9281 $(top_srcdir)/grub-core/gnulib as well as
9282 $(top_builddir)/grub-core/gnulib.
9283 Reported by: KESHAV P.R.
9284
5c527783
CW
92852010-09-21 Colin Watson <cjwatson@ubuntu.com>
9286
9287 * util/grub-install.in: Fix the bootloader ID option to be
9288 consistently --bootloader-id, not --bootloader_id.
9289 Reported by: KESHAV P.R.
9290
d309a16e
CW
92912010-09-21 Colin Watson <cjwatson@ubuntu.com>
9292
9293 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
9294 check hash checksum." consistently translatable.
9295
b830cd16
YB
92962010-09-21 Yves Blusseau <blusseau@zetam.org>
9297
9298 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
9299 $(top_builddir).
9300
c4fe27a8
CW
93012010-09-21 Colin Watson <cjwatson@ubuntu.com>
9302
9303 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
9304 (GRUB_MOD_INIT): Register sha1sum command.
9305 (GRUB_MOD_FINI): Unregister sha1sum command.
9306
a4c1d277
YB
93072010-09-21 Yves Blusseau <blusseau@zetam.org>
9308
9309 Keep boot and grub directory names in sync with utils scripts
9310
9311 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
9312 * config.h.in: Add previous macros.
9313 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
9314 * util/grub-install.in: Use $bootdir and $grubdir variables.
9315
4eff79d2
CW
93162010-09-21 Colin Watson <cjwatson@ubuntu.com>
9317
9318 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
9319 convert partition names to disk names if the new `convert' parameter
9320 is set.
9321 (grub_util_biosdisk_get_grub_dev): If opening the disk device
9322 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
9323 disk in its own right. This can happen with Xen disk images.
9324
934d7e44
YB
93252010-09-21 Yves Blusseau <blusseau@zetam.org>
9326
9327 * util/grub-editenv.c: Update strings to avoid warnings when generating
9328 grub.pot file.
9329 * util/grub-setup.c: Likewise.
934d7e44 9330
df3367cc
VS
93312010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * configure.ac: Change version to 1.99~beta0.
9334
77a94e98
VS
93352010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9338 Add BADRAM.
9339 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
9340 Likewise.
9341 * include/multiboot.h: Resynced with specification.
9342 * include/multiboot2.h: Likewise.
9343
269004c1
CW
93442010-09-21 Colin Watson <cjwatson@ubuntu.com>
9345
9346 Fix po directory handling.
9347
9348 * configure.ac: Create po/Makefile.in rather than po/Makefile.
9349 * grub-core/gnulib/Makefile.am: Import gettext module.
9350 * m4/gnulib-cache.m4: Likewise.
9351 * m4/gnulib-comp.m4: Likewise.
9352 * m4/gettext.m4: New file, from gnulib.
9353 * m4/glibc2.m4: Likewise.
9354 * m4/iconv.m4: Likewise.
9355 * m4/intdiv0.m4: Likewise.
9356 * m4/intl.m4: Likewise.
9357 * m4/intldir.m4: Likewise.
9358 * m4/intlmacosx.m4: Likewise.
9359 * m4/intmax.m4: Likewise.
9360 * m4/inttypes-pri.m4: Likewise.
9361 * m4/lcmessage.m4: Likewise.
9362 * m4/lib-ld.m4: Likewise.
9363 * m4/lib-link.m4: Likewise.
9364 * m4/lib-prefix.m4: Likewise.
9365 * m4/lock.m4: Likewise.
9366 * m4/nls.m4: Likewise.
9367 * m4/po.m4: Likewise.
9368 * m4/printf-posix.m4: Likewise.
9369 * m4/progtest.m4: Likewise.
9370 * m4/threadlib.m4: Likewise.
9371 * m4/uintmax_t.m4: Likewise.
9372 * m4/visibility.m4: Likewise.
9373 * po/Makefile.am: Remove.
9374 * po/Makefile.in.in: New file, from gettext.
9375 ($(DOMAIN).pot-update): Support POTFILES-shell.
9376 * po/Makevars: New file.
9377 * po/POTFILES-shell: Rename to ...
9378 * po/POTFILES-shell.in: ... this. Update.
9379 * po/POTFILES: Rename to ...
9380 * po/POTFILES.in: ... this. Update.
9381 * po/Rules-quot: New file, from gettext.
9382 * po/boldquot.sed: Likewise.
9383 * po/en@boldquot.header: Likewise.
9384 * po/en@quot.header: Likewise.
9385 * po/insert-header.sin: Likewise.
9386 * po/quot.sed: Likewise.
9387 * po/remove-potcdate.sin: Likewise.
9388
3e0fa5d0
VS
93892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
9392
ade9bd66
VS
93932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9394
9395 * util/grub.d/20_linux_xen.in: Use submenus.
9396
fc55cc4c
VS
93972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 Support submenus.
9400
9401 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
9402 parameter submenu. All users updated.
9403 * grub-core/normal/main.c (free_menu): Rename to ...
9404 (grub_normal_free_menu): ... this. Made global.
9405 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
9406 if requested.
9407 * grub-core/normal/menu_entry.c (screen): New field submenu.
9408 (make_screen): Set submenu.
9409 (run): Open new context if requested.
9410 * include/grub/menu.h (grub_menu_entry): New field submenu.
9411 * include/grub/normal.h (grub_normal_free_menu): New proto.
9412
600cedf7
VS
94132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 Menu entries extractor.
9416
9417 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
9418 variants.
9419 (GRUB_MOD_INIT): Register new variants.
9420 (GRUB_MOD_FINI): Unregister new variants.
9421 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
9422 into grub_cmd_legacy_source.
9423 (grub_cmd_legacy_source): Implement extractor variants.
9424 (GRUB_MOD_INIT): Register new variants.
9425 (GRUB_MOD_FINI): Unregister new variants.
9426 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
9427 as an extractor.
9428 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
9429 search as an extractor.
9430 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
9431 test as an extractor.
9432 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
9433 as an extractor.
9434 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
9435 (grub_env_new_context): New function.
9436 (grub_env_context_open): Likewise.
9437 (grub_env_extractor_open): Likewise.
9438 (grub_env_extractor_close): Likewise.
9439 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9440 grub_extractor_level.
9441 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
9442 * include/grub/env.h (grub_env_extractor_open): New proto.
9443 (grub_env_extractor_close): Likewise.
9444 * include/grub/normal.h (grub_extractor_level): New external variable.
9445
7bda3a87
VS
94462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 Make cutmem accept a region specification.
9449 Suggested by: Samuel Thibault
9450
9451 * grub-core/mmap/mmap.c (parsemem): New function.
9452 (grub_cmd_cutmem): Handle new arguments.
9453
2ea57f88
VS
94542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 New command cutmem.
9457
9458 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
9459 (GRUB_MOD_INIT): Register new command.
9460 (GRUB_MOD_FINI): Unregister new command.
9461
74342e31
VS
94622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 Support some annoying BSD and Minix subpartitions.
9465
9466 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
9467 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
9468 Properly handle concatenation.
9469 * grub-core/kern/device.c (grub_device_iterate): Likewise.
9470 * grub-core/normal/completion.c (iterate_partition): Likewise.
9471 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
9472 contain partition. All users updated.
9473 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
9474 struct.
9475 (grub_openbsdlabel_partition_map): Likewise.
9476 (bsdlabel_partition_map_iterate): Rename to ..
9477 (iterate_real): ... this. New arguments sector, freebsd and pmap.
9478 (bsdlabel_partition_map_iterate): New function.
9479 (netopenbsdlabel_partition_map_iterate): Likewise.
9480 (netbsdlabel_partition_map_iterate): Likewise.
9481 (openbsdlabel_partition_map_iterate): Likewise.
9482 (GRUB_MOD_INIT): Register new partmaps.
9483 (GRUB_MOD_FINI): Unregister new partmaps.
9484 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
9485 (grub_partition_msdos_iterate): ... this. All users updated.
9486 Don't support embedding other than in a minix partition.
9487 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
9488 proto.
9489 * include/grub/partition.h (grub_partition): New field msdostype.
9490 * util/grub-install.in: Handle openbsd and netbsd types being in
9491 part_bsd module.
9492
1e8d555b
VS
94932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
9496
9497 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
9498 * grub-core/Makefile.core.def (mdraid): Renamed to ...
9499 (mdraid09): ... this.
9500 (mdraid1x): New module.
9501 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
9502 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
9503
899d8af4
VS
95042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
9507 vsprintf.
9508
40901acd
CW
95092010-09-20 Colin Watson <cjwatson@ubuntu.com>
9510
9511 * grub-core/commands/efi/lsefimmap.c: Correct header.
9512 * NEWS: Update.
9513
dfe3b247
CW
95142010-09-20 Colin Watson <cjwatson@ubuntu.com>
9515
9516 * util/grub-editenv.c (argp_parser): Don't pass translated strings
9517 as printf format strings; the translations might contain '%' which
9518 could cause a crash.
9519 (main): Likewise.
9520 * util/grub-fstest.c (argp_parser): Likewise.
9521 * util/grub-setup.c (argp_parser): Likewise.
9522 (main): Likewise.
9523
3286a4b4
VS
95242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 Use argp in grub-fstest.
9527
9528 * util/grub-fstest.c: Don't include getopt.h.
9529 Include argp.h.
9530 (root): New variable.
9531 (args_count): Likewise.
9532 (nparm): Likewise.
9533 (num_disks): Likewise.
9534 (images): Likewise.
9535 (cmd): Likewise.
9536 (debug_str): Likewise.
9537 (args): Likewise.
9538 (options): Transformed to argp.
9539 (usage): Removed.
9540 (main): Split argument parsing into ...
9541 (argp_parser): ... this. Changed to argp format.
9542 (argp): New variable.
9543 (main): Use argp_parse.
9544
3dccbe4b
TG
95452010-09-20 Tristan Gingold <gingold@free.fr>
95462010-09-20 Robert Millan <rmh.grub@aybabtu.com>
95472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * grub-core/commands/efi/lsefimmap.c: New file.
9550 * grub-core/Makefile.core.def (lsefimmap): New module.
9551 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
9552
38c259a7
VS
95532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 Pause the execution (10s max) if any errors are displayed so the user
9556 has a chance to see them.
9557
9558 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
9559 (grub_print_error): Increment grub_err_printed_errors.
9560 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
9561 execution if any errors were displayed.
9562 (show_menu): Remove old code for pause.
9563 * grub-core/normal/menu_entry.c (run): Likewise.
9564 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
9565 users updated.
9566 (grub_normal_get_char_counter): Likewise.
9567 * include/grub/err.h (grub_err_printed_errors): New external variable.
9568 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
9569
f218b09c
VS
95702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 Support multiboot VBE info.
9573
9574 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9575 Take VBE info into account.
9576 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
9577 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9578 Call fill_vbe_info when appropriate.
9579 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
9580 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
9581 as supported.
9582 (grub_multiboot_get_mbi_size): Take new tags into account.
9583 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
9584 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9585 Call fill_vbe_tag when appropriate.
9586 (grub_multiboot_make_mbi): Properly align tags.
9587 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
9588 function.
9589 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
9590 proto.
9591 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
9592
a9cc5438
VS
95932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9594
9595 Suport manual terminal geometry specification.
9596
9597 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
9598 Save state in grub_ofconsole_terminfo_output.
9599 (grub_ofconsole_term): Use grub_terminfo_getwh.
9600 (grub_ofconsole_getwh): Removed.
9601 * grub-core/term/serial.c (grub_serial_getwh): Removed.
9602 (grub_serial_term): Use grub_terminfo_getwh.
9603 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
9604 (options): New struct.
9605 (OPTION_*): New enum.
9606 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
9607 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
9608 width and height.
9609 (grub_terminfo_getwh): New proto.
9610 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
9611
1a8fed20
VS
96122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 Handle legacy "terminal" command.
9615
9616 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
9617 and FLAG_TERMINAL.
9618 (legacy_commands): Add terminal and title.
9619 (grub_legacy_parse): Handle terminal. Simplify title handling.
9620
41e9c57d
VS
96212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
9624 parameters overflow.
9625
61c874c5
CW
96262010-09-20 Colin Watson <cjwatson@ubuntu.com>
9627
9628 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
9629 widthspec.h.
9630
9631 * docs/grub.texi (Shell-like scripting): Document `!'.
9632 (Network): Simplify using new i386-pc-pxe format. Mention
9633 grub-mknetdir.
9634
9635 * NEWS: Update.
9636
943682b4
CW
96372010-09-20 Colin Watson <cjwatson@ubuntu.com>
9638
9639 * Makefile.am (SUBDIRS): Restore "."; it's important to force
9640 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
9641 when needed.
9642
6d3d698d
CW
96432010-09-20 Colin Watson <cjwatson@ubuntu.com>
9644
9645 * grub-core/commands/efi/lsefisystab.c: Correct header.
9646 * grub-core/commands/efi/lssal.c: Likewise.
9647 * grub-core/commands/testload.c: Likewise.
9648
c982589f
CW
96492010-09-20 Colin Watson <cjwatson@ubuntu.com>
9650
9651 * util/grub-mkrescue.in: Add explicit root argument to --set to
9652 prevent the UUID being interpreted as an argument to --set (matches
9653 previous change to prepare_grub_to_access_device).
9654
a63c31b6
CW
96552010-09-20 Colin Watson <cjwatson@ubuntu.com>
9656
9657 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
9658 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
9659 the verbosity of later #ifs.
9660 (find_partition_start): Define this function on FreeBSD too.
9661 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
9662 function.
9663 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
9664 on FreeBSD.
9665
6439b8ee
YB
96662010-09-20 Yves Blusseau <blusseau@zetam.org>
9667
9668 * util/grub-editenv.c: Use argp instead of getopt.
9669
c5930ec8
YB
96702010-09-20 Yves Blusseau <blusseau@zetam.org>
9671
9672 * util/grub-setup.c: Use argp instead of getopt.
9673
15c69261
YB
96742010-09-20 Yves Blusseau <blusseau@zetam.org>
9675
9676 Use gnulib-tool to create gnulib source files.
9677
9678 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
9679 grub-core/gnulib directories
9680 * .bzignore: Add **/.deps and autogenerated gnulib files
9681 * configure.ac: Assign auxiliary directory to build-aux, add invocation
9682 of gnulib macros, add grub-core/gnulib/Makefile
9683 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
9684 include m4 directory to aclocal.
9685 * Makefile.util.def: Remove direct compilation of gnulib source files
9686 and use the new grub-core/gnulib/libgnu.a.
9687 * build-aux/config.rpath: move config.rpath from top directory to
9688 build-aux
9689 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
9690 in gnulib headers
9691 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
9692 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
9693 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
9694 header.
9695 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
9696 string.
9697
e511c9f5
YB
96982010-09-20 Yves Blusseau <blusseau@zetam.org>
9699
9700 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
9701 grub-core/genmod.sh and grub-core/gensyminfo.sh
9702
c2dede05
BC
97032010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
9704
9705 Add a test for echo command options.
9706
9707 * tests/grub_cmd_echo.in: New test.
9708 * Makefile.util.def: Rules for new test.
9709
c55f5018
SJ
97102010-09-20 Szymon Janc <szymon@janc.net.pl>
9711
9712 Remove crc.mod and move crc command to hashsum.mod.
9713 Remove lib/crc.c - users updated to use gcrypt implementation.
9714
9715 * grub-core/commands/crc.c: Removed.
9716 * grub-core/Makefile.core.def (crc): Module removed.
9717 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
9718 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
9719 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
9720 * grub-core/lib/crc.c: Removed.
9721 * include/grub/lib/crc.h: Removed.
9722 * Makefile.util.def (crc): Remove lib/crc.c
9723 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
9724 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
9725 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
9726 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
9727 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
9728 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
9729
e0337366
VS
97302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9731
9732 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
9733
742f9232
VS
97342010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 Split config.h for util and core.
9737
9738 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
9739 (ADDR32): Likewise.
9740 (DATA32): Likewise.
9741 (BSS_START_SYMBOL): Likewise.
9742 (END_SYMBOL): Likewise.
9743 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
9744 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
9745 * config.h.in: New file.
9746 * configure.ac: Use config-util.h as config define file.
9747 Rename MACHINE into GRUB_MACHINE. All users updated.
9748 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
9749 updated.
9750 (NESTED_FUNC_ATTR): Likewise.
9751 Substitue new variables.
9752 (COND_HAVE_ASM_USCORE): New conditional.
9753 * grub-core/Makefile.am (ASM_PREFIX): New variable.
9754 (kernel_syms.lst): Use ASM_PREFIX.
9755 * grub-core/kern/emu/console.c: Include config-util.h.
9756 * grub-core/kern/emu/misc.c: Likewise.
9757 * grub-core/kern/emu/mm.c: Likewise.
9758 * include/grub/emu/misc.h: Likewise.
9759 * include/grub/libgcc.h: Likewise.
9760
39feb0e8
VS
97612010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
9764 constants usage.
9765 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
9766 Fix GRUB_TERM_KEY_* constants usage.
9767 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
9768
9af6dac3
VS
97692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
9772 print pointer.
9773 * grub-core/bus/usb/uhci.c: Remove empty define.
9774 (grub_uhci_check_transfer): Add missing cast.
9775 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
9776 print pointer.
9777 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
9778 PRIuGRUB_SIZE.
9779 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
9780
d6d94820
VS
97812010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 * grub-core/Makefile.core.def (legacycfg): Add
9784 lib/i386/pc/vesa_modes_table.c on emu.
9785
3572f2b6
BC
97862010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9787
9788 Reduce number of temporary files generated by build system.
9789
9790 * grub-core/gencmdlist.sh: Removed.
9791 * grub-core/genfslist.sh: Removed.
9792 * grub-core/genhandlerlist.sh: Removed.
9793 * grub-core/genmodsrc.sh: Removed.
9794 * grub-core/genpartmaplist.sh: Removed.
9795 * grub-core/genparttoollist.sh: Removed.
9796 * grub-core/gentermiinallist.sh: Removed.
9797 * grub-core/genvideolist.sh: Removed.
9798
9799 * grub-core/genmod.sh.in: New file.
9800 * grub-core/gensyminfo.sh.in: New file.
9801
9802 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
9803 * conf/Makefile.extra-dist: Update with new files.
9804 * gentpl.py: Remove rules related to unnecessary temporary files.
9805 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
9806 and und-* files.
9807 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
9808 genmod.sh scripts.
9809 * grub-core/bus/usb/uhci.c: Remove empty #define.
9810 * grub-core/genmoddep.awk: Updated with new syminfo format.
9811 * util/bash-completion.d/Makefile.am: Add config.log to
9812 CLEANFILES.
9813
c836b030
YB
98142010-09-19 Yves Blusseau <blusseau@zetam.org>
9815
9816 * Makefile.util.def: Add forgotten $(LIBINTL) library.
9817
2f4e8053
BC
98182010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9819
9820 * util/grub-mkconfig.in: Check the config script for syntax errors
9821 before saving.
9822
75831c34
CW
98232010-09-19 Colin Watson <cjwatson@ubuntu.com>
98242010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * Makefile.util.def (grub-install): Use util/grub-install.in on all
9827 platforms.
9828 * util/grub-install.in: Add EFI and IEEE1275 support.
9829 * util/i386/efi/grub-install.in: Removed.
9830 * util/ieee1275/grub-install.in: Likewise.
9831
eaf41b25
VS
98322010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
9835 (grub_cmd_cmosclean): Likewise.
9836 (GRUB_MOD_INIT): Register command cmosclean.
9837 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
9838 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
9839
1a9130dd
CPE
98402010-09-18 Carles Pina i Estany <carles@pina.cat>
98412010-09-18 Aleš Nesrsta <starous@volny.cz>
98422010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 Add keyboard layouts support.
9845
9846 * Makefile.util.def (grub-mklayout): New file.
9847 (grub-kbdcomp): New script.
9848 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
9849 Add keyboard_layouts.h.
9850 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
9851 commands/boot.c on yeeloong.
9852 (keylayouts): New module.
9853 * grub-core/bus/usb/ohci.c
9854 * grub-core/bus/usb/uhci.c
9855 * grub-core/bus/usb/usbhub.c (rescan): New variable.
9856 (grub_usb_add_hub): Poll interrupt pipe for device handling.
9857 (attach_root_port): Likewise.
9858 (poll_nonroot_hub): Likewise.
9859 (grub_usb_poll_devices): Likewise.
9860 (detach_device): Close transfer.
9861 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
9862 function.
9863 (grub_usb_bulk_setup_readwrite): Likewise.
9864 (grub_usb_bulk_finish_readwrite): Likewise.
9865 * grub-core/commands/keylayouts.c: New file.
9866 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
9867 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
9868 aliases.
9869 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
9870 support scancode 2.
9871 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
9872 * include/grub/keyboard_layouts.h: New file.
9873 * util/grub-mklayout.c: New file.
9874 * util/grub-kbdcomp.in: Likewise.
9875
a1d84a5e
VS
98762010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 Unify memory types.
9879
9880 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
9881 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
9882 types.
9883 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
9884 (grub_upper_mem): Likewise.
9885 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
9886 * include/grub/memory.h (grub_memory_type_t): New enum.
9887 All users updated.
9888
9696382e
VS
98892010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * grub-core/Makefile.core.def (lsapm): New module.
9892 * grub-core/commands/i386/pc/lsapm.c: New file.
9893 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
9894 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
9895 Likewise.
9896 * include/grub/i386/pc/apm.h: New file.
9897 * include/multiboot.h (multiboot_apm_info): New struct.
9898
98992010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9900
9901 GRUB-legacy configuration file support.
9902
9903 * Makefile.util.def (grub-menulst2cfg): New util.
9904 * docs/man/grub-menulst2cfg.h2m: New file.
9905 * grub-core/Makefile.core.def (legacycfg): New module.
9906 * grub-core/commands/legacycfg.c: New file.
9907 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
9908 (grub_normal_add_menu_entry): ... this.
9909 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
9910 (grub_normal_set_password): ...this.
9911 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
9912 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
9913 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
9914 * grub-core/lib/legacy_parse.c: New file.
9915 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
9916 * include/grub/i386/pc/vesa_modes_table.h: New file.
9917 * include/grub/legacy_parse.h: Likewise.
9918 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
9919 * util/grub-menulst2cfg.c: New file.
9920
bf8d1338
CW
99212010-09-17 Colin Watson <cjwatson@ubuntu.com>
9922
9923 * grub-core/kern/emu/hostdisk.c
9924 (convert_system_partition_to_system_disk): Initialise node.
9925
9c0bad2e
CW
99262010-09-17 Colin Watson <cjwatson@ubuntu.com>
9927
9928 * grub-core/kern/emu/hostdisk.c
9929 (convert_system_partition_to_system_disk): Fix devmapper memory pool
9930 leak.
9931 Reported and based on patch by: Modestas Vainius.
9932
a939d135
CW
99332010-09-17 Colin Watson <cjwatson@ubuntu.com>
9934
9935 Fix DM-RAID probing with recent versions of device-mapper udev
9936 rules.
9937
9938 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
9939 canonicalise device paths under /dev/mapper/.
9940 (convert_system_partition_to_system_disk): Compare the
9941 uncanonicalised path to /dev/mapper/ rather than the canonicalised
9942 path, since device nodes under /dev/mapper/ are often symlinks.
9943
0f7ee3c9
YB
99442010-09-17 Yves Blusseau <blusseau@zetam.org>
9945
9946 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
9947
10854d0d
YB
99482010-09-16 Yves Blusseau <blusseau@zetam.org>
9949
9950 * configure.ac: Avoid some annoying error messages if freetype-config
9951 program is not found.
9952
108538d8
CW
99532010-09-16 Colin Watson <cjwatson@ubuntu.com>
9954
9955 Support RAID on virtio devices, and others.
9956
9957 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
9958 Rename to ...
9959 [__MINGW32__] (grub_find_device): ... this.
9960 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
9961 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
9962 reasonable default if dir is NULL.
9963 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
9964 ...
9965 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
9966 (grub_guess_root_device): Update callers.
9967 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
9968
9969 * util/raid.c (grub_util_getdiskname): Remove.
9970 (grub_util_raid_getmembers): Use grub_find_device rather than
9971 grub_util_getdiskname.
9972
e5bfc130
CW
99732010-09-16 Colin Watson <cjwatson@ubuntu.com>
9974
9975 * docs/grub.texi (serial): Remove obsolete comment about GRUB
9976 needing to be compiled with serial support.
9977 (ls): Indicate that multiple files are accepted.
9978 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
9979 indicate that multiple files are accepted.
9980
be458ae2
CW
99812010-09-16 Colin Watson <cjwatson@ubuntu.com>
9982
9983 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
9984 libgrub_a_init.c, and util/bash-completion.d/grub.
9985
cb731b5e
VS
99862010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 * util/grub-setup.c (setup): Fix incorrect container semantics.
9989
35139e8a
VS
99902010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
9993 misusage.
9994 Reported by: J. Nick Terry
9995
e50fca4a
VS
99962010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9997
9998 Move embedding routines to partmap sources files.
9999
10000 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
10001 [GRUB_UTIL]: New variable.
10002 (gpt_partition_map_iterate): Set part.parent.
10003 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
10004 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
10005 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
10006 New function.
10007 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
10008 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
10009 (grub_partition_map) [GRUB_UTIL]: New field embed.
10010 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
10011 (setup): Use ->embed.
10012
f00478b7
VS
100132010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
10016 function.
10017 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
10018 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
10019
2b94e3ff
YB
100202010-09-15 Yves Blusseau <blusseau@zetam.org>
10021
10022 Add function to get completions from usage.
10023
10024 * util/bash-completion.d/grub-completion.bash.in: Add function to get
10025 completions from usage. Use LC_ALL=C to get options properly.
10026
2e04a006
VS
100272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10028
10029 * grub-core/gnulib/basename-lgpl.c: Imported.
10030 * grub-core/gnulib/basename.c: Likewise.
10031 * grub-core/gnulib/dirname-lgpl.c: Likewise.
10032 * grub-core/gnulib/dirname.c: Likewise.
10033 * grub-core/gnulib/dirname.h: Likewise.
10034 * grub-core/gnulib/stripslash.c: Likewise.
10035
5dcdf93a
VS
100362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * grub-core/gnulib/error.c: Resynced.
10039 * grub-core/gnulib/getopt.c: Likewise.
10040 * grub-core/gnulib/getopt_int.h: Likewise.
10041 * grub-core/gnulib/regex.h: Likewise.
10042 * grub-core/gnulib/regex_internal.c: Likewise.
10043 * grub-core/gnulib/regex_internal.h: Likewise.
10044
014f47b7
SJ
100452010-09-15 Szymon Janc <szymon@janc.net.pl>
10046
10047 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
10048 CRC calculations and validity checks.
10049 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
10050 calculations.
10051
dd521a4a
SJ
100522010-09-15 Szymon Janc <szymon@janc.net.pl>
10053
10054 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
10055
79c4eeb9
VS
100562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 Fix incorrect echo options handling.
10059 Reported by: Yves Blusseau.
10060
10061 * include/grub/command.h (grub_command_flags_t): New flags
10062 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
10063 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
10064 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
10065
ed80f7d5
VS
100662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
10069 users updated.
10070 (GRUB_COMMAND_FLAG_MENU): Likewise.
10071 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10072 (GRUB_COMMAND_FLAG_TITLE): Removed.
10073 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10074 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
10075 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
10076 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
10077 (grub_command_flags_t): New enum. All users updated.
10078
5fe7620a
SG
100792010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
10080
10081 Fix solaris compilation.
10082
10083 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
10084 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
10085 (grub-emu-list): Likewise.
10086
545b752f
VS
100872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 Remove deprecated root command.
10090
10091 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
10092 updated.
10093
6c1a338c
VS
100942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * util/i386/pc/grub-setup.c: Merge this ...
10097 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
10098 * util/grub-setup.c: ... into this.
10099 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
10100 New struct.
10101
101022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
10105 possible.
10106
d2ea4551
VS
101072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
10110 allocate p.
10111
3c3b5040
VS
101122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10115 explicit root argument to set to prevent UUID to be interpreted as
10116 argument to set.
10117
b71c3fae
VS
101182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
10121
275433e6
VS
101222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 Don't export grub_gate_a20.
10125
10126 * grub-core/kern/i386/pc/init.c: Remove leftovers.
10127 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
10128 to ...
10129 (grub_gate_a20): ... this. All users updated.
10130 * include/grub/i386/pc/init.h: Removed. All users updated.
10131
a5dbb1f1
VS
101322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 Create euro.pf2 which supports most European languages.
10135
10136 * Makefile.am (grubdata_DATA): Add euro.pf2.
10137 (euro.pf2): New target.
10138 (CLEANFILES): Add euro.pf2.
10139
62a747cb
VS
101402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * configure.ac: Disable emu-usb by default to prevent inadvertent
10143 device takeover.
10144
608e43b1
VS
101452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 Disable usbserial on grub-emu since our libusb code isn't good enough
10148 yet.
10149
10150 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
10151 (usbserial_pl2303): Likewise.
10152 (usbserial_ftdi): Likewise.
10153
94564f81
VS
101542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * include/grub/disk.h (grub_disk): Remove has_partitions.
10157 All users updated.
10158 * disk/loopback.c (grub_loopback): Remove has_partitions.
10159 All users updated.
10160 (options): Remove partitions. All users updated.
10161 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
10162 * util/i386/pc/grub-setup.c (setup): copy partition table only when
10163 actual partition table is found.
10164
3352800b
VS
101652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 Remove readability checks (too many false negatives).
10168
10169 * util/grub-install.in: Remove readability checks.
10170 * util/grub-mkconfig.in: Likewise.
10171 * util/grub.d/10_hurd.in: Likewise.
10172 * util/grub.d/10_kfreebsd.in: Likewise.
10173 * util/grub.d/10_linux.in: Likewise.
10174 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
10175 way.
10176
2419f17a
VS
101772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 Enable acpi shutdown on all ACPI platforms.
10180
10181 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
10182 on coreboo, multiboot and EFI.
10183 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
10184 (grub_acpi_halt): Likewise.
10185 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
10186 (grub_cmd_halt): Don't call grub_acpi_halt directly.
10187 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
10188 * grub-core/lib/i386/halt.c (grub_halt)
10189 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
10190
0575c7c3
VS
101912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
10194 context.
10195
54ac3cd1
VS
101962010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * grub-core/video/efi_gop.c: Fix over-80-chars line.
10199 * grub-core/video/efi_uga.c: Likewise.
10200
b2a30ac5
VS
102012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 Filter devaliases and never open same device twice.
10204
10205 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
10206 (last_ihandle): Likewise.
10207 (ofdisk_hash_ent): New member shortest.
10208 (ofdisk_hash_add): Add canonical path too.
10209 (scan): New function.
10210 (grub_ofdisk_iterate): Iterate over hashed entries.
10211 (compute_dev_path): Don't add :0.
10212 (grub_ofdisk_open): Don't really open the disk.
10213 (grub_ofdisk_close): Avoid closing unrelated disk.
10214 (grub_ofdisk_read): Implement reopen logic.
10215 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
10216 New function.
10217 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
10218 New proto.
10219
fb53b340
VS
102202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10221
10222 Fix sparc64.
10223
10224 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
10225 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
10226 right address. Add sparc64_ieee1275_ldflags.
10227 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
10228 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
10229 to grub_host_to_target_addr
10230 (load_image): Likewise.
10231
f452b040
VS
102322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * grub-core/normal/completion.c (complete_file): Handle device
10235 containing slash.
10236 Fix based on patch by Doug Nazar.
10237
9b5b2541
VS
102382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 grub-mknetdir script.
10241
10242 * Makefile.util.def (grub-mknetdir): New module.
10243 * tests/util/grub-shell.in: Support boot=net
10244 * util/grub-mknetdir.in: New file.
10245
9d2be652
VS
102462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 videoinfo on non-vbe.
10249
10250 * grub-core/Makefile.core.def (vbeinfo): Removed.
10251 (vbetest): Removed.
10252 (videoinfo): New module.
10253 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
10254 * grub-core/commands/i386/pc/vbetest.c: Removed.
10255 * grub-core/commands/videoinfo.c: New file.
10256 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
10257 specification.
10258 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
10259 as vbetest.
10260 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
10261 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
10262 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
10263 mode_number. New parameter mode. All users updated.
10264 (grub_video_gop_iterate): New function.
10265 (grub_video_efi_gop): New member iterate.
10266 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
10267 (grub_vbe_set_video_mode): Remove setting useless fields.
10268 (vbe2videoinfo): New function.
10269 (grub_video_vbe_iterate): Likewise.
10270 (grub_video_vbe_setup): Use vbe2videoinfo.
10271 (grub_video_vbe_print_adapter_specific_info): New function.
10272 (grub_video_vbe_adapter): New fields iterate and
10273 print_adapter_specific_info.
10274 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
10275 All users updated.
10276 (grub_video_mode_info): New field mode_number.
10277 (grub_video_adapter): New fields iterate and
10278 print_adapter_specific_info.
10279
179503f5
TG
102802010-09-13 Tristan Gingold <gingold@free.fr>
102812010-09-13 Robert Millan <rmh.grub@aybabtu.com>
102822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * grub-core/commands/efi/lsefisystab.c: New file.
10285 * grub-core/commands/efi/lssal.c: Likewise.
10286 * grub-core/Makefile.core.def (lsacpi): New module.
10287 (lsefisystab): Likewise.
10288 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
10289 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
10290 (grub_efi_sal_system_table): New struct.
10291 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
10292 (grub_efi_sal_system_table_memory_descriptor): Likewise.
10293 (grub_efi_sal_system_table_platform_features): Likewise.
10294 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
10295 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
10296 (grub_efi_sal_system_table_ap_wakeup): Likewise.
10297 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
10298
cf9827de
VS
102992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 Support explicit user claim that a device is BIOS-visible.
10302
10303 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
10304 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
10305 * grub-core/kern/emu/hostdisk.c
10306 (convert_system_partition_to_system_disk): Support mdX.
10307 (find_system_device): New parameter add. All users updated.
10308 (grub_util_biosdisk_is_present): New function.
10309 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
10310 proto.
10311
53f0eb1f
VS
103122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 Search hints support.
10315
10316 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
10317 All users updated.
10318
b23ffd70
YB
103192010-09-13 Yves Blusseau <blusseau@zetam.org>
10320
10321 Bash completion script for util commands
10322
10323 * Makefile.am: Add util/bash-completion.d directory
10324 * configure.ac: Likewise.
10325 * util/bash-completion.d/Makefile.am: New file.
10326 * util/bash-completion.d/grub-completion.bash.in: Likewise.
10327
d547dc28
VS
103282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
10331 (print_backlog): set backlog_ucs4 and backlog_glyphs.
10332 Reported by: Yves Blusseau.
10333
2fc8ccb9
VS
103342010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
10337 partition size and offset.
10338
d8a84076
VS
103392010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
10342
84fb3b3d
VS
103432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
10346
768ec2e2
VS
103472010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
10350 (grub_xvasprintf): Likewise.
10351
4870900f
VS
103522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
10355
faca6bec
VS
103562010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
10359 args ending with NULL.
10360
103612010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
10362
10363 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
10364 pointer.
10365
3c70f225
SJ
103662010-09-11 Szymon Janc <szymon@janc.net.pl>
10367
10368 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
10369
4df7996d
VS
103702010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 Shutdown using ACPI.
10373
10374 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
10375 * grub-core/commands/acpihalt.c: New file.
10376 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
10377 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
10378 (grub_acpi_halt): New proto.
10379 (GRUB_ACPI_SLP_EN): New const.
10380 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
10381 (GRUB_ACPI_OPCODE_*): New enum.
10382 (GRUB_ACPI_EXTOPCODE_*): Likewise.
10383
126b4c32
TG
103842010-09-11 Tristan Gingold <gingold@free.fr>
103852010-09-11 Robert Millan <rmh.grub@aybabtu.com>
103862010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 * commands/lsacpi.c: New file.
10389 * grub-core/Makefile.core.def (lsacpi): New module.
10390 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
10391 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
10392 (grub_acpi_madt_entry_header): New struct.
10393 (grub_acpi_madt): Likewise.
10394 (grub_acpi_madt_entry_interrupt_override): Likewise.
10395 (grub_acpi_madt_entry_sapic): Likewise.
10396 (grub_acpi_madt_entry_lsapic): Likewise.
10397 (grub_acpi_madt_entry_platform_int_source): Likewise.
10398 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
10399 (PRIuGRUB_UINT32_T): Likewise.
10400 (PRIxGRUB_UINT64_T): Likewise.
10401
1aa4fe88
VS
104022010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 Implement loading palette on ieee1275_fb.
10405
10406 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
10407 (have_setcolors): Likewise.
10408 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
10409 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
10410 (grub_video_ieee1275_set_palette): Implement.
10411
25761e13
VS
104122010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
104132010-09-11 Colin Watson <cjwatson@ubuntu.com>
10414
10415 * util/grub-install.in (grub_partition): New variable.
10416 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
10417 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
10418 Fixes a bug reported by Yves Blusseau.
10419
050abaea
VS
104202010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 Fix emu on mipsel.
10423
10424 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
10425 =grub_cpu_flush_cache on all mips and not only yeeloong.
10426 * configure.ac (COND_mips): New conditional.
10427 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
10428 platforms.
10429 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
10430 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
10431 [GRUB_LINKER_HAVE_INIT]: New function.
10432 (grub_emu_post_init): Likewise.
10433 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
10434 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
10435 * include/grub/cache.h (_mips): Include mips/cache.h.
10436 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
10437 LVM and RAID prototypes.
10438 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
10439 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
10440 function.
10441
5ed7d816
CW
104422010-09-10 Colin Watson <cjwatson@ubuntu.com>
10443
10444 * util/grub-install.in: Don't try to verify core.img until after
10445 running grub-mkimage to create it.
10446
90367e04
RM
104472010-09-10 Robert Millan <rmh@gnu.org>
10448
10449 * util/grub.d/10_hurd.in: Add misc readability checks.
10450 * util/grub.d/10_kfreebsd.in: Likewise.
10451 * util/grub.d/10_linux.in: Likewise.
10452
c452fa66
CW
104532010-09-10 Colin Watson <cjwatson@ubuntu.com>
10454
10455 * util/grub-install.in: ${imgext} won't be defined here until the
10456 install branch is merged. For the meantime, only verify core.img on
10457 i386-pc and sparc64-ieee1275 platforms.
10458
c38fe9f4
RM
104592010-09-10 Robert Millan <rmh@gnu.org>
10460
10461 Solaris support in grub_find_zpool_from_dir(). Thanks
10462 Seth Goldberg for referring to getextmntent() facility.
10463
10464 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
10465 `sys/mkdev.h'.
10466 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
10467 `<sys/mnttab.h>'.
10468 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
10469 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
10470 method for finding zpool name.
10471
905f7773
CW
104722010-09-10 Colin Watson <cjwatson@ubuntu.com>
10473
10474 grub-fstest needs the host and hostfs modules while other utilities
10475 actively require those modules to be absent, so grub-fstest needs
10476 its own initialisation and finalisation code.
10477
10478 * Makefile.am (grub_fstest.pp): New target.
10479 (grub_fstest_init.lst): Likewise.
10480 (grub_fstest_init.c): Likewise.
10481 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
10482
fb90b546
RM
104832010-09-10 Robert Millan <rmh@gnu.org>
10484
10485 * configure.ac: Check for `struct statfs.f_fstypename' and
10486 `struct statfs.f_mntfromname'.
10487
10488 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
10489 kFreeBSD-specific code.
10490
66d4bea5
RM
104912010-09-10 Robert Millan <rmh@gnu.org>
10492
10493 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
10494 on ZFS. Now non-main filesystems are supported as / too.
10495
b6a690ee
CW
104962010-09-09 Colin Watson <cjwatson@ubuntu.com>
10497
10498 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
10499 and grub-core/disk/host.c to ...
10500 (grub-fstest): ... here. Having the host disk implementation
10501 present confuses grub-probe and other utility programs.
10502
10503 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
10504 when writing to a file, not when writing to stdout.
10505
8901b00c 105062010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
10507
10508 * tests/partmap_test.in: New test for partitions.
10509 * Makefile.util.def: Rules for new test.
10510
7bf45fdd
RM
105112010-09-09 Robert Millan <rmh@gnu.org>
10512
10513 * util/grub-probe.c (probe): Fix a pair of unhandled error
10514 conditions.
10515
4dfbc574
RM
105162010-09-09 Robert Millan <rmh@gnu.org>
10517
10518 Basic Btrfs support (detection and UUID).
10519
10520 * grub-core/fs/btrfs.c: New file.
10521 * Makefile.util.def (library): Register btrfs.c.
10522 * grub-core/Makefile.core.def: Likewise.
10523
6b8e78ae
RM
105242010-09-08 Robert Millan <rmh@gnu.org>
10525
10526 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
10527 with (optional) parameters to specify device and relative path.
10528 * util/grub-install.in: Use is_path_readable_by_grub() to
10529 verify readability of a few critical files.
10530 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
10531 verify readability of grub.cfg.new.
10532
27f21a8b
VS
105332010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 Split minix.mod into minix.mod and minix2.mod.
10536
10537 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
10538 * grub-core/Makefile.core.def (minix2): New module.
10539 * grub-core/fs/minix.c: Use definitions instead of runtime version
10540 checking.
10541 * grub-core/fs/minix2.c: New file.
10542
c0e53ea5
YB
105432010-09-08 Yves Blusseau <blusseau@zetam.org>
10544
10545 Add new --boot-directory option to replace --root-directory
10546
10547 * util/grub-install.in: Add new --boot-directory option
10548 * util/grub-reboot.in: Likewise.
10549 * util/grub-set-default.in: Likewise.
10550
b9fe6ea2
YB
105512010-09-08 Yves Blusseau <blusseau@zetam.org>
10552
10553 * util/grub-mkconfig.in: Use new variable.
10554
d87aedff
YB
105552010-09-08 Yves Blusseau <blusseau@zetam.org>
10556
10557 * configure.ac: Define some useful variables.
10558
e55e8495
VS
105592010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10562 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
10563 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
10564 Use terminfo and don't use cursor-on/cursor-off unless it's known
10565 to work.
10566 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
10567 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
10568
6fa6d675
CW
105692010-09-08 Colin Watson <cjwatson@ubuntu.com>
10570
10571 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
10572 starts with "(,", fill the drive containing the loaded image in
10573 between those two characters, but expect that a full partition
10574 specification including partition map names will follow.
10575
92f2aef0
RM
105762010-09-08 Robert Millan <rmh@gnu.org>
10577
10578 * configure.ac: Remove `--enable-grub-fstest' option.
10579 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
10580
10581 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
10582 `grub-fstest' instead of `grub-probe' for readability verification.
10583 * util/grub-probe.c (probe): Remove readability verification kludge.
10584
99fd620d
RM
105852010-09-08 Robert Millan <rmh@gnu.org>
10586
10587 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
10588 initializing `GRUB_FS'.
10589
058e30ac 105902010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
10591
10592 Not command (!) support to GRUB script.
10593
10594 * tests/grub_script_not.in: New test.
10595 * Makefile.util.def: Rules for new test.
10596
10597 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10598 ! command as a special case.
10599 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
10600
b61d05ed 106012010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10602
058e30ac 10603 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
10604 grub_free.
b61d05ed 10605
4d69c786 106062010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10607
10608 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
10609
aa3119c4 106102010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10611
10612 * docs/grub.texi (Shell-like scripting): Documentation for break,
10613 continue, shift and return commands.
10614
db0f7e3d
VS
106152010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 Rename CD-ROM to cd on BIOS.
10618
10619 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
10620 "cd".
10621 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
10622
88b87c93
VS
106232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
10626 * util/grub-probe.c (main): Likewise.
10627 * util/i386/pc/grub-setup.c (main): Likewise.
10628 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
10629 Reported and debugged by: alexxy
10630
294f324d
VS
106312010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
10634 diagnostic info.
10635
d7ee3441
JS
106362010-09-05 Jo Shields <directhex@apebox.org>
10637
10638 * util/grub.d/30_os-prober.in: Add missing classes.
10639
d7e06c1f
VS
106402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * docs/grub.texi (Theme file format): Document new position format.
10643
fc157e53
VS
106442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
10647 a table. Use @code instead of @verbatim.
10648
506e9a1c
CB
106492010-09-05 Colin D Bennett <colin@gibibit.com>
10650
10651 Gfxmenu documentation.
10652
10653 * docs/grub.texi (Theme file format): New chapter.
10654
f0aff67c
SJ
106552010-09-05 Szymon Janc <szymon@janc.net.pl>
10656
10657 * grub-core/Makefile.core.def (xzio): New module.
10658 * grub-core/io/xzio.c: New file.
10659 * grub-core/lib/xzembed/xz.h: New file (from xembed).
10660 * grub-core/lib/xzembed/xz_config.h: Likewise.
10661 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
10662 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
10663 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
10664 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
10665 * grub-core/lib/xzembed/xz_private.h: Likewise.
10666 * grub-core/lib/xzembed/xz_stream.h: Likewise.
10667 * include/grub/file.h (grub_file_filter_id): New compression filter
10668 GRUB_FILE_FILTER_XZIO.
10669
82a85062
VS
106702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
10673 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
10674 size.
10675
3579415d
VS
106762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
10679 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
10680
5124ae6d
VS
106812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 Uncompressed checksum support.
10684
10685 * grub-core/commands/hashsum.c (options): Add option --uncompress.
10686 (check_list): New parameter uncompress.
10687 (grub_cmd_hashsum): Handle --uncompress.
10688
9aadb3d1
VS
106892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 Reintroduce testload.
10692
10693 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
10694 from here ...
10695 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
10696 (GRUB_MOD_INIT): New function.
10697 (GRUB_MOD_FINI): Likewise.
10698 * grub-core/Makefile.core.def (testload): New module.
10699
a17792c3
SJ
107002010-09-05 Szymon Janc <szymon@janc.net.pl>
10701
10702 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
10703 (uint8_t): New type.
10704 (uint16_t): Likewise.
10705 (uint32_t): Likewise.
10706 (uint64_t): Likewise.
10707
b81e40a3
SJ
107082010-09-05 Szymon Janc <szymon@janc.net.pl>
10709
10710 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
10711
fc2ef117
VS
107122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
10715 Made static.
10716 (grub_gzfile_open): Removed. All users updated.
10717 (GRUB_MOD_INIT): New function.
10718 (GRUB_MOD_FINI): Likewise.
10719 * grub-core/kern/file.c (grub_file_filters_all): New variable.
10720 (grub_file_filters_enabled): Likewise.
10721 (grub_file_open): Handle filters.
10722 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
10723 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
10724 * include/grub/file.h (grub_file_filter_id_t): New type.
10725 (grub_file_filter_t): Likewise.
10726 (grub_file_filters_all): New extern variable.
10727 (grub_file_filters_enabled): Likewise.
10728 (grub_file_filter_register): New inline function.
10729 (grub_file_filter_unregister): Likewise.
10730 (grub_file_filter_disable): Likewise.
10731 (grub_file_filter_disable_compression): Likewise.
10732 * include/grub/gzio.h: Removed.
10733
35ee15e0
BC
107342010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10735
10736 Filename expansion support for wildcards in GRUB script.
10737
10738 * tests/grub_script_expansion.in: New test.
10739 * Makefile.util.def: Rule for new test.
10740
10741 * grub-core/commands/wildcard.c: New file, implements filename
10742 expansion support for GRUB script.
10743 * grub-core/Makefile.core.def: Rule update for regexp.mod.
10744 * grub-core/script/argv.c: Cosmetic changes.
10745 * grub-core/script/execute.c (grub_script_arglist_to_argv):
10746 Refactored to perform wildcard expansion on arguments.
10747 * include/grub/script_sh.h (grub_script_wildcard_translator): New
10748 struct.
10749
10750 * tests/util/grub-shell.in: Fix quoting for read input.
10751
5f0c4aca
BC
107522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10753
10754 Support for updating environment variables with matched substrings
10755 of regexp.
10756
10757 * tests/grub_cmd_regexp.in: New test.
10758 * Makefile.util.def: Rule for new test.
10759
10760 * grub-core/commands/regexp.c: New option -s to update environment
10761 variables with regexp matches.
10762
3759a35f
SJ
107632010-09-04 Szymon Janc <szymon@janc.net.pl>
10764
10765 * include/grub/file.h (grub_file): New member not_easly_seekable.
10766 (grub_file_seekable): New inline function.
10767 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
10768 easily seekable.
10769 (grub_gzio_open): Set not_easly_seekable.
10770 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
10771 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
10772
ed8c6dec
BC
107732010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10774
10775 Support for options to appear multiple times on cmdline.
10776
10777 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
10778 * grub-core/commands/extcmd.c: Support for repeatable option.
10779 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
10780 repeatable option support.
10781
10782 Refactor menuentry into a regular command.
10783
10784 * grub-core/commands/menuentry.c: New file, menuentry command
10785 implementation.
10786 * grub-core/Makefile.core.def: Rule update for normal.mod.
10787 * grub-core/normal/main.c: Moved menuentry creation to
10788 grub-core/commands/menuentry.c.
10789 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
10790 (grub_menu_execute_entry_real): Removed.
10791 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
10792 function.
10793 (grub_script_execute_menuentry): Removed.
10794 * grub-core/script/parser.y (menuentry): Removed.
10795 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
10796 * grub-core/script/yylex.l (menuentry): Removed.
10797 * include/grub/menu.h (grub_menu_init): New prototype.
10798 (grub_menu_fini): New prototype.
10799 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
10800 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
10801 (grub_script_execute_sourcecode): New prototype.
10802
dacd0cf0
BC
108032010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10804
10805 "return" command for GRUB script functions.
10806
10807 * tests/grub_script_return.in: New test.
10808 * Makefile.util.def: Rules for new test.
10809
10810 * grub-core/script/execute.c (grub_script_return): New function.
10811 * grub-core/script/main.c: Register/unregister return commaond.
10812 * include/grub/script_sh.h (grub_script_return): New prototype.
10813
52e72f9d
BC
108142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10815
10816 "setparams" command to update positional parameters.
10817
10818 * tests/grub_script_setparams.in: New test.
10819 * Makefile.util.def: Rules for new test.
10820
10821 * grub-core/script/argv.c (grub_script_argv_make): New function.
10822 * grub-core/script/execute.c (replace_scope): New function.
10823 (grub_script_setparams): New function.
10824 * grub-core/script/lexer.c: Remove unused variables.
10825 * grub-core/script/main.c: Register/unregister setparams command.
10826 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
10827 (grub_script_setparams): New prototype.
10828
25b60c91
BC
108292010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10830
10831 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
10832 grub_free order.
10833
37e7bf68
BC
108342010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10835
10836 Support for passing block of commands as an argument to extcmds.
10837
10838 * Makefile.util.def: Rules for new test.
10839 * tests/grub_script_blockarg.in: New test.
10840 * grub-core/tests/test_blockarg.c: New file, block argument
10841 command used in the test.
10842
10843 * include/grub/extcmd.h (grub_extcmd_context): New struct.
10844 (grub_register_extcmd_prio): New function prototype.
10845 (grub_extcmd_dispatcher): New function prototype.
10846 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
10847 type.
10848 * include/grub/script_sh.h (struct grub_script): New members
10849 `children', `next_siblings' and `refcnt' for block arguments and
10850 reference counting.
10851 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
10852 (grub_script_arg): New member `script' for block argument.
10853 (grub_script_argv): New member `script' for block argument.
10854 (grub_parser_param): New member `scripts' for block argument.
10855 (grub_script_mem_free): New extern function prototype.
10856 (grub_script_ref): New function prototype.
10857 (grub_script_unref): New function prototype.
10858
10859 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
10860 extcmd form to support block arguments.
10861 * grub-core/script/argv.c: Block arguments support.
10862 * grub-core/script/execute.c: Likewise.
10863 * grub-core/script/lexer.c: Likewise.
10864 * grub-core/script/main.c: Likewise.
10865 * grub-core/script/script.c: Likewise.
10866 * grub-core/script/parser.y: Likewise. New `block' and `block0'
10867 non-terminals.
10868
10869 * grub-core/commands/acpi.c: Update extcmd implementations with
10870 grub_extcmd_context_t.
10871 * grub-core/commands/cat.c: Likewise.
10872 * grub-core/commands/echo.c: Likewise.
10873 * grub-core/commands/extcmd.c: Likewise.
10874 * grub-core/commands/hashsum.c: Likewise.
10875 * grub-core/commands/hdparm.c: Likewise.
10876 * grub-core/commands/help.c: Likewise.
10877 * grub-core/commands/hexdump.c: Likewise.
10878 * grub-core/commands/i386/cpuid.c: Likewise.
10879 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10880 * grub-core/commands/i386/pc/halt.c: Likewise.
10881 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10882 * grub-core/commands/iorw.c: Likewise.
10883 * grub-core/commands/keystatus.c: Likewise.
10884 * grub-core/commands/loadenv.c: Likewise.
10885 * grub-core/commands/ls.c: Likewise.
10886 * grub-core/commands/lspci.c: Likewise.
10887 * grub-core/commands/memrw.c: Likewise.
10888 * grub-core/commands/probe.c: Likewise.
10889 * grub-core/commands/search_wrap.c: Likewise.
10890 * grub-core/commands/setpci.c: Likewise.
10891 * grub-core/commands/sleep.c: Likewise.
10892 * grub-core/disk/loopback.c: Likewise.
10893 * grub-core/hello/hello.c: Likewise.
10894 * grub-core/loader/i386/bsd.c: Likewise.
10895 * grub-core/loader/xnu.c: Likewise.
10896 * grub-core/term/gfxterm.c: Likewise.
10897 * grub-core/term/serial.c: Likewise.
10898 * grub-core/tests/lib/functional_test.c: Likewise.
10899
888d1500
BC
109002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10901
10902 Multi-line quoted strings support.
10903
10904 * grub-core/script/lexer.c (append_newline): Removed.
10905 (grub_script_lexer_yywrap): Refactored.
10906 (grub_script_lexer_init): Refactored.
10907 * grub-core/script/yylex.l (yywrap): New function.
10908 (grub_lexer_resplit): New function.
10909 (grub_lexer_unput): New function.
10910 * include/grub/script_sh.h (grub_lexer_param): New members, unput
10911 and resplit.
10912 * tests/grub_script_echo1.in: Added few more testcases.
10913
dda060dd
VS
109142010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/kern/misc.c: Don't add abort alias in utils.
10917 Reported by: echoline.
10918
6556eba9
BC
109192010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
10920
10921 Add missing files into "make dist" tarball for other platforms.
10922
10923 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
10924 * conf/Makefile.common (dist_noinst_DATA): New variable.
10925 * conf/Makefile.extra-dist: Added missing make dist files.
10926 * grub-core/Makefile.core.def: Likewise.
10927
c8e7bf5f
VS
109282010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 Compress grub_prefix.
10931
10932 * grub-core/boot/i386/pc/lnxboot.S: Use
10933 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
10934 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
10935 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
10936 GRUB_MACHINE_PREFIX_END. All users updated.
10937 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
10938 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
10939 + 0x40.
10940 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10941 * util/grub-mkimage.c (image_target_desc): Change data_end to
10942 prefix_end. All users updated.
10943
a7c00cdb
VS
109442010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
10947 value.
10948 (grub_openbsd_boot): Likewise.
10949 (grub_netbsd_boot): Likewise.
10950 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
10951 (grub_xnu_boot): Likewise.
10952
9f915872
VS
109532010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 * configure.ac: Clean LIBS variable after tests.
10956
efa1bee7
CW
109572010-09-02 Colin Watson <cjwatson@ubuntu.com>
10958
10959 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
10960
61d720e5
VS
109612010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
10964 echo if libdevmapper will be used.
10965
ef8e0ec8
IT
109662010-09-02 Ian Turner <Ian.Turner@deshaw.com>
10967
10968 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
10969 constant for the same file.
10970
03e261d8
VS
109712010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
10974
c2a4eba6
CW
109752010-09-02 Colin Watson <cjwatson@ubuntu.com>
10976
10977 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
10978 grub-core/*.pp.
10979
9056cbf3
CW
109802010-09-02 Colin Watson <cjwatson@ubuntu.com>
10981
10982 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
10983 required by the boot protocol.
10984
10985 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
10986 ebp and edi members.
10987 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
10988 state.ebp and state.edi.
10989 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
10990 %ebp and %edi according to grub_relocator32_ebp and
10991 grub_relocator32_edi respectively.
10992 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
10993 and state.edi.
10994
529cc99a
VS
109952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 Add i386-pc-pxe image target.
10998
10999 * util/grub-mkimage.c (image_target_desc): New enum value
11000 IMAGE_I386_PC_PXE.
11001 (image_targets): New target i386-pc-pxe.
11002 (generate_image): Handle i386-pc-pxe image.
11003
9a093920
VS
110042010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11005
11006 Fix grub_pxe_scan.
11007
11008 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
11009 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
11010 All users updated.
11011 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
11012 (grub_pxe_pxenv): Correct type.
11013
f9cefc4e
CW
110142010-09-01 Colin Watson <cjwatson@ubuntu.com>
11015
11016 * NEWS: Document most of the important changes since 1.98.
11017
4066f57f
CW
110182010-09-01 Colin Watson <cjwatson@ubuntu.com>
11019
11020 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
11021 generated manual page) a little.
11022
da2891f9
CW
110232010-09-01 Colin Watson <cjwatson@ubuntu.com>
11024
11025 * docs/grub.texi: Add myself as an author.
11026
ad717fae
VS
110272010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
11028
11029 * Makefile.util.def (libgrub.a): Add missing sunpc.
11030 Reported by: Seth Goldberg.
11031
eefe8abd
VS
110322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 Interrupt wrapping and code simplifications.
11035
9494ef9a
VS
11036 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
11037 x86_noieee1275 which are functionaly equivalent in this case.
11038 (grub-install): Make source on each platform explicit. Enable on
11039 all noemu.
11040 * gentpl.py (x86_efi_pc): Removed group.
11041 (x86_noefi): Likewise.
11042 (i386_noefi): Likewise.
11043 (x86_noieee1275): Likewise.
11044 (i386_noieee1275): Likewise.
11045 (i386_noefi_noieee1275): Likewise.
11046 (i386_pc_qemu_coreboot): Likewise.
11047 (i386_coreboot_multiboot): Likewise.
11048 (i386_pc_coreboot_multiboot_qemu): Likewise.
11049 (x86_noefi_mips): Likewise.
11050 (noieee1275): Likewise.
11051 (ieee1275_mips): Likewise.
11052 (noemu_noieee1275): Likewise.
11053 (cmos): New group.
11054 (usb): Likewise.
11055 (videoinkernel): Likewise.
11056 (videomodules): Likewise.
eefe8abd 11057 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
11058 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
11059 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
11060 include/grub/loader.h, include/grub/msdos_partition.h,
11061 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
11062 include/grub/machine/console.h, include/grub/machine/vga.h,
11063 include/grub/machine/vbe.h, include/grub/machine/init.h,
11064 include/grub/machine/kernel.h, include/grub/cpu/time.h,
11065 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 11066 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
11067 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
11068 * grub-core/Makefile.core.def (kernel): Explicit the source for
11069 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
11070 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
11071 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
11072 Use videoinkernel tag.
11073 (usb): Enable on all usb.
11074 (usbserial_common): Likewise.
11075 (usbserial_pl2303): Likewise.
11076 (usbserial_ftdi): Likewise.
11077 (uhci): Enable on all x86.
11078 (ohci): Enable on all pci.
11079 (cmostest): Enable on all CMOS.
11080 (acpi): Include commands/acpi.c on all platforms.
11081 (halt): Add relevant lib/*/halt.c.
11082 (hdparm): Enable on all pci.
11083 (lspci): Likewise.
11084 (usbtest): Enable on all usb.
11085 (ata): Enable on all pci.
11086 (ata_pthru): Likewise.
11087 (usbms): Enable on all usb.
11088 (usb_keyboard): Likewise.
11089 (font): Use tag videomodules.
11090 (bufio): Likewise.
11091 (datetime): Use tag cmos. Enable on all noemu.
11092 (mmap): Use tags common and x86.
11093 (gfxterm): Use tag videomodules.
11094 (bitmap): Likewise.
11095 (bitmap_scale): Likewise.
11096 (video_fb): Likewise.
11097 (video): Likewise.
11098 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
11099 adjust padding accordingly. All users updated.
11100 (grub_ohci_transaction): Fix bad format specification.
11101 (GRUB_MOD_INIT): Add asserts for struct size.
11102 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
11103 (grub_alloc_td): Likewise.
11104 (grub_free_queue): Likewise.
11105 (grub_uhci_transfer): Likewise.
11106 (grub_uhci_transaction): Fix bad format specification.
11107 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11108 (grub_usb_bulk_readwrite): Likewise.
11109 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
11110 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
11111 Made static.
11112 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
11113 Made static.
11114 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
11115 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
11116 Transformed into C.
11117 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
11118 Moved from here ...
11119 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
11120 ... here. Transformed into C. Made static.
11121 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
11122 Moved from here ...
11123 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
11124 ... here. Transformed into C. Made static.
11125 * grub-core/kern/i386/pc/startup.S
11126 (grub_biosdisk_check_int13_extensions): Moved from here ...
11127 * grub-core/disk/i386/pc/biosdisk.c
11128 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
11129 Made static.
11130 * grub-core/kern/i386/pc/startup.S
11131 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
11132 * grub-core/disk/i386/pc/biosdisk.c
11133 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
11134 Transformed into C. Made static.
11135 * grub-core/kern/i386/pc/startup.S
11136 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
11137 * grub-core/disk/i386/pc/biosdisk.c
11138 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
11139 Transformed into C. Made static.
11140 * grub-core/kern/i386/pc/startup.S
11141 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
11142 * grub-core/disk/i386/pc/biosdisk.c
11143 (grub_biosdisk_get_diskinfo_standard): ... here.
11144 Transformed into C. Made static.
11145 * grub-core/kern/i386/pc/startup.S
11146 (grub_biosdisk_get_num_floppies): Moved from here ...
11147 * grub-core/disk/i386/pc/biosdisk.c
11148 (grub_biosdisk_get_num_floppies): ... here.
11149 Transformed into C. Made static.
11150 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
11151 New function.
11152 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
11153 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
11154 Transformed into C. Made static.
11155 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
11156 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
11157 Transformed into C. Made static.
11158 * grub-core/kern/i386/ieee1275/init.c: Removed.
11159 * grub-core/kern/i386/misc.S: Likewise.
11160 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
11161 Splitted from here ...
11162 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
11163 Transformed into C. Made static. All users updated.
11164 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
11165 Transformed into C. Made static. All users updated.
11166 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
11167 Moved from here...
11168 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
11169 Transformed into C. Made static. All users updated.
11170 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
11171 Moved from here...
11172 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
11173 Transformed into C. Made static. All users updated.
11174 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
11175 Removed (replaced by C version).
11176 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
11177 Moved from here...
11178 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
11179 Transformed into C. Made static.
11180 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
11181 Moved from here...
11182 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
11183 ... here. Transformed into C.
11184 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
11185 Moved from here...
11186 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
11187 ... here. Transformed into C.
11188 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
11189 Moved from here...
11190 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
11191 ... here. Transformed into C. Made static.
11192 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
11193 Moved from here...
11194 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
11195 ... here. Transformed into C.
21ed554b
VS
11196 * grub-core/kern/i386/pc/startup.S
11197 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
11198 * grub-core/video/i386/pc/vbe.c
11199 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
11200 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
11201 Moved from here...
11202 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
11203 ... here. Transformed into C.
11204 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
11205 Moved from here...
11206 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
11207 ... here. Transformed into C.
11208 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
11209 Moved from here...
11210 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
11211 ... here. Transformed into C.
11212 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
11213 Moved from here...
11214 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
11215 ... here. Transformed into C.
11216 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
11217 Moved from here...
11218 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
11219 ... here. Transformed into C. Made static.
11220 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
11221 Moved from here...
11222 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
11223 ... here. Transformed into C. Made static.
11224 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
11225 Moved from here...
11226 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
11227 ... here. Transformed into C. Made static.
11228 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
11229 pxe_rm_entry as third argument.
11230 (grub_bios_interrupt): New function.
11231 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
11232 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
11233 of calling grub_stop.
11234 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
11235 * grub-core/lib/efi/halt.c (grub_halt): ...here.
11236 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
11237 * grub-core/lib/emu/halt.c (grub_halt): ... here.
11238 * grub-core/lib/i386/halt.c: Moved from here ...
11239 * grub-core/lib/i386/halt.c: ... here.
11240 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
11241 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
11242 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
11243 grub_stop_floppy.
11244 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
11245 * include/grub/i386/coreboot/init.h: Removed.
11246 * include/grub/i386/multiboot/init.h: Likewise.
11247 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
11248 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
11249 * include/grub/i386/pc/int.h: New file.
11250 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
11251 (grub_pxe_scan): Removed.
11252 (grub_pxe_call): Update prototype.
11253 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
11254 prototypes.
11255 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
11256 * include/grub/i386/qemu/init.h: Removed.
11257 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
11258 noreturn.
11259 (grub_halt): Likewise.
11260 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
11261 (grub_reboot): Likewise.
11262 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
11263 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
11264 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
11265
215dd471
RM
112662010-08-30 Robert Millan <rmh@gnu.org>
11267
11268 * NEWS: Document addition of ZFS support in `grub-install' and
11269 `grub-mkconfig'.
11270
ebd65b82
BC
112712010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
11272
11273 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
11274 dprintf output.
11275
11721d19
VS
112762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11277
11278 Remove leftover embedding of font objects.
11279
11280 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11281 * util/grub-install.in (font): Removed.
11282 * util/grub-mkimage.c (generate_image): Remove font support. All users
11283 updated.
11284
37837d4e
VS
112852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 Remove leftover embedding of font objects.
11288
11289 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11290 * util/grub-install.in (font): Removed.
11291 * util/grub-mkimage.c (generate_image): Remove font support. All users
11292 updated.
11293
b4c1aae0
VS
112942010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 11297 Reported by: Ian Turner
b4c1aae0 11298
8920a08d
VS
112992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
11302 timeout to avoid indefinite boot stalling.
11303
f21db033
VS
113042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
11307 (grub_env_write_color_highlight): Likewise.
11308
9a9de209
VS
113092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11310
11311 * grub-core/normal/term.c (print_more): Return to normal and not
11312 to standard state after printing "---MORE---".
11313
3dca01d7
VS
113142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
11317 Mask out the bit 0x80 since it has other meaning that specifiing color.
11318
0b986c40
VS
113192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 New relocator. Allows for more kernel support and more straightforward
11322 loader writing.
11323
11324 * Makefile.am (BOOTTARGET): New variable.
11325 (QEMU32): Likewise.
11326 (linux.init.x86_64): New target.
11327 (linux.init.i386): Likewise.
11328 (multiboot.elf): Likewise.
11329 (kfreebsd.elf): Likewise.
11330 (kfreebsd.aout): Likewise.
11331 (pc-chainloader.elf): Likewise.
11332 (pc-chainloader.bin): Likewise.
11333 (ntldr.elf): Likewise.
11334 (ntldr.bin): Likewise.
11335 (multiboot2.elf): Likewise.
11336 (kfreebsd.init.x86_64): Likewise.
11337 (kfreebsd.init.i386): Likewise.
11338 (knetbsd.init.i386): Likewise.
11339 (kopenbsd.init.i386): Likewise.
11340 (knetbsd.init.x86_64): Likewise.
11341 (kopenbsd.init.x86_64): Likewise.
11342 (linux-initramfs.i386): Likewise.
11343 (linux-initramfs.x86_64): Likewise.
11344 (kfreebsd-mfsroot.i386.img): Likewise.
11345 (knetbsd.image.i386): Likewise.
11346 (kopenbsd.image.i386): Likewise.
11347 (kopenbsd.image.x86_64): Likewise.
11348 (knetbsd.miniroot-image.i386.img): Likewise.
11349 (kfreebsd-mfsroot.x86_64.img): Likewise.
11350 (knetbsd.image.x86_64): Likewise.
11351 (knetbsd.miniroot-image.x86_64.img): Likewise.
11352 (kfreebsd-mfsroot.i386.gz): Likewise.
11353 (bootcheck-kfreebsd-i386): Likewise.
11354 (kfreebsd-mfsroot.x86_64.gz): Likewise.
11355 (bootcheck-kfreebsd-x86_64): Likewise.
11356 (knetbsd.miniroot-image.i386.gz): Likewise.
11357 (bootcheck-knetbsd-i386): Likewise.
11358 (bootcheck-kopenbsd-i386): Likewise.
11359 (bootcheck-kopenbsd-x86_64): Likewise.
11360 (knetbsd.miniroot-image.x86_64.gz): Likewise.
11361 (bootcheck-knetbsd-x86_64): Likewise.
11362 (bootcheck-linux-i386): Likewise.
11363 (bootcheck-linux-x86_64): Likewise.
11364 (bootcheck-linux16-i386): Likewise.
11365 (bootcheck-linux16-x86_64): Likewise.
11366 (bootcheck-multiboot): Likewise.
11367 (bootcheck-multiboot2): Likewise.
11368 (bootcheck-kfreebsd-aout): Likewise.
11369 (bootcheck-pc-chainloader): Likewise.
11370 (bootcheck-ntldr): Likewise.
11371 (CLEANFILES): Add new targets.
11372 (BOOTCHECKS): New variable.
11373 (.PHONY): Add bootchecks.
11374 (SUCCESSFUL_BOOT_STRING): New variable.
11375 (BOOTCHECK_TIMEOUT): Likewise.
11376 (bootcheck): New target
11377 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
11378 * configure.ac: Correct efiemu excuse.
11379 * docs/grub.texi (Supported kernels): New chapter.
11380 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
11381 include/grub/mm_private.h. Simplify inclusion of
11382 include/grub/boot.h, include/grub/loader.h
11383 and include/grub/msdos_partition.h
11384 (KERNEL_HEADER_FILES) [i386_coreboot]:
11385 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
11386 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
11387 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
11388 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
11389 include/grub/machine/loader.h.
11390 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
11391 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
11392 extra_dist.
11393 (pci.mod): Enable on i386-multiboot.
11394 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
11395 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
11396 i386-qemu.
11397 (relocator.mod): Rewritten.
11398 (aout.mod): Enable on all x86.
11399 (bsd.mod): Likewise.
11400 (ntldr.mod): New module.
11401 (linux.mod): Use loader/i386/linux.c on all x86.
11402 (xnu.mod): Enable on all x86.
11403 (vga_text.mod): disable on EFI and QEMU.
11404 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
11405 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
11406 * grub-core/efiemu/loadcore.c: Likewise.
11407 * grub-core/efiemu/main.c: Likewise.
11408 (grub_efiemu_exit_boot_services): Removed.
11409 (grub_efiemu_finish_boot_services): Likewise.
11410 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
11411 function.
11412 * grub-core/efiemu/i386/nocfgtables.c: New file.
11413 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
11414 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
11415 (grub_efi_finish_boot_services): Moved from here ...
11416 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
11417 Fille finish memory map and related data.
11418 (finish_mmap_buf): New variable.
11419 (grub_efi_uintn_t finish_mmap_size): Likewise.
11420 (grub_efi_uintn_t finish_key): Likewise.
11421 (grub_efi_uintn_t finish_desc_size): Likewise.
11422 (grub_efi_uint32_t finish_desc_version): Likewise.
11423 (grub_efi_is_finished): Likewise.
11424 (grub_efi_get_memory_map): Use saved memory map if EFI is already
11425 finished.
11426 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
11427 (grub_elf64_phdr_iterate): Likewise.
11428 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
11429 (grub_os_area_size): Likewise.
11430 (grub_machine_init): Don't reserve os area.
11431 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
11432 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
11433 * grub-core/kern/i386/loader.S: Removed.
11434 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
11435 (grub_os_area_size): Likewise.
11436 (grub_machine_init): Don't reserve os area.
11437 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11438 Don't call grub_dl_unload_all.
11439 Don't include loader.S.
11440 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
11441 Declare the memory after _end as available.
11442 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 11443 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 11444 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
11445 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
11446 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
11447 * include/grub/mm_private.h (grub_mm_header): ... here.
11448 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
11449 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
11450 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
11451 (grub_mm_region): ..here. Removed addr. Added pre_size.
11452 All users updated.
11453 * grub-core/kern/mm.c (base): Renamed to ...
11454 (grub_mm_base): ... this. Made global.
11455 (grub_real_malloc): Alloc from end of region.
11456 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
11457 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
11458 * grub-core/kern/powerpc/cache_flush.S: ... here.
11459 * grub-core/lib/efi/relocator.c: New file.
11460 * grub-core/lib/i386/relocator.c: Rewritten.
11461 * grub-core/lib/i386/relocator16.S: New file.
11462 * grub-core/lib/i386/relocator32.S: Likewise.
11463 * grub-core/lib/i386/relocator64.S: Likewise.
11464 * grub-core/lib/i386/relocator_asm.S: Rewritten.
11465 * grub-core/lib/i386/relocator_common.S: New file.
11466 * grub-core/lib/ieee1275/relocator.c: Likewise.
11467 * grub-core/lib/mips/relocator.c: Rewritten.
11468 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
11469 stylistic adjustments.
11470 * grub-core/lib/powerpc/relocator.c: New file.
11471 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
11472 * grub-core/lib/relocator.c: Rewritten.
11473 * grub-core/lib/x86_64/relocator_asm.S: New file.
11474 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
11475 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
11476 (bsd_tag): New struct.
11477 (tags): New variable.
11478 (tags_last): Likewise.
11479 (netbsd_module): New struct.
11480 (netbsd_mods): New variable.
11481 (netbsd_mods_last): Likewise.
11482 (openbsd_opts): New parameter "serial".
11483 (OPENBSD_SERIAL_ARG): New definition.
11484 (netbsd_opts): New parameter "serial".
11485 (NETBSD_SERIAL_ARG): New definition.
11486 (grub_freebsd_add_meta): Reorganised into ...
11487 (grub_bsd_add_meta): ...this. All users updated.
11488 (grub_freebsd_add_mmap): Reorganised into ...
11489 (generate_e820_mmap): ...this...
11490 (grub_bsd_add_mmap): ...and this. All users updated.
11491 (grub_freebsd_list_modules): Use tags.
11492 (grub_netbsd_add_meta_module): New function.
11493 (grub_netbsd_list_modules): Likewise.
11494 (grub_freebsd_boot): Use relocator and finish EFI.
11495 (grub_openbsd_boot): Likewise.
11496 (grub_netbsd_setup_video): New function.
11497 (grub_netbsd_add_modules): Likewise.
11498 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
11499 and finish EFI.
11500 (grub_bsd_unload): Unload tags.
11501 (grub_bsd_load_aout): Use relocator.
11502 (grub_bsd_elf32_size_hook): New function.
11503 (grub_bsd_elf32_hook): Use relocator.
11504 (grub_bsd_elf64_size_hook): New function.
11505 (grub_bsd_elf64_hook): Use relocator.
11506 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
11507 (grub_bsd_load): Zero-out openbsd_ramdisk.
11508 (grub_bsd_load): Use relocator.
11509 (grub_cmd_openbsd): Support serial.
11510 (grub_cmd_netbsd): Support modules.
11511 (grub_cmd_freebsd_module): Use relocator.
11512 (grub_netbsd_module_load): New function.
11513 (grub_cmd_netbsd_module): Likewise.
11514 (grub_cmd_openbsd_ramdisk): Likewise.
11515 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
11516 kopenbsd_ramdisk.
11517 (GRUB_MOD_FINI): Unregister new commands.
11518 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
11519 (grub_freebsd_load_elfmodule_obj): Use relocator.
11520 (grub_freebsd_load_elfmodule): Likewise.
11521 (grub_freebsd_load_elf_meta): Likewise.
11522 (grub_netbsd_load_elf_meta): New function.
11523 (grub_openbsd_find_ramdisk): Likewise.
11524 * grub-core/loader/i386/bsd_helper.S: Removed.
11525 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
11526 * grub-core/loader/i386/bsd_trampoline.S: Removed.
11527 * grub-core/loader/i386/efi/linux.c: Likewise.
11528 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
11529 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
11530 (DEFAULT_VIDEO_MODE): Likewise.
11531 (real_mode_target): New variable.
11532 (prot_mode_target): Likewise.
11533 (initrd_mem_target): Likewise.
11534 (relocator): Likewise.
11535 (efi_mmap_buf): Likewise.
11536 (efi_mmap_size): Likewise.
11537 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
11538 (free_pages): Use relocator.
11539 (allocate_pages): Account for efi_mmap and use relocator. Return error.
11540 (grub_linux_setup_video): Return error.
11541 (grub_linux_trampoline_start): Removed.
11542 (grub_linux_trampoline_end): Likewise.
11543 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
11544 andd video parameters depending on firmware.
11545 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
11546 [GRUB_MACHINE_EFI]: Pass EFI parameters.
11547 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
11548 (grub_cmd_initrd): Use relocator.
11549 * grub-core/loader/i386/linux_trampoline.S: Removed.
11550 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
11551 (elf_sec_entsize): Likewise.
11552 (elf_sec_shstrndx): Likewise.
11553 (elf_sections): Likewise.
11554 (grub_multiboot_load): Use relocator.
11555 (grub_multiboot_get_mbi_size): Account for sections.
11556 (grub_multiboot_make_mbi): Use relocator and support sections.
11557 (grub_multiboot_add_elfsyms): New function.
11558 (grub_multiboot_free_mbi): Free sections.
11559 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
11560 (grub_linux_real_target): Likewise.
11561 (grub_linux_real_chunk): Likewise.
11562 (grub_linux16_prot_size): Likewise.
11563 (grub_linux16_boot): Use relocator.
11564 (grub_linux_unload): Unload relocator.
11565 (grub_cmd_linux): Use relocator.
11566 (grub_cmd_initrd): Likewise.
11567 * grub-core/loader/i386/pc/ntldr.c: New file.
11568 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
11569 Don't try to guess CPU frequency.
11570 (grub_xnu_set_video): Stretch bitmap.
11571 (grub_xnu_boot): Use relocator.
11572 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
11573 (grub_linux_unload): Free relocator.
11574 (grub_linux_load32): Use relocator.
11575 (grub_linux_load64): Likewise.
11576 (grub_cmd_initrd): Likewise.
11577 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
11578 (grub_multiboot_unload): Unload relocator.
11579 (grub_cmd_multiboot): Use relocator.
11580 (grub_cmd_module): Likewise.
11581 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
11582 Use relocator and support sections.
11583 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
11584 (elf_sec_entsize): Likewise.
11585 (elf_sec_shstrndx): Likewise.
11586 (elf_sections): Likewise.
11587 (grub_multiboot_load): Use relocator.
11588 (grub_multiboot_get_mbi_size): Account for sections.
11589 (grub_multiboot_make_mbi): Use relocator and support sections.
11590 (grub_multiboot_add_elfsyms): New function.
11591 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
11592 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
11593 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
11594 Prototype changed. All users updated.
11595 (grub_xnu_align_heap): Simplified.
11596 (grub_xnu_writetree_toheap): Likewise.
11597 (grub_xnu_unload): Unload relocator.
11598 (grub_cmd_xnu_kernel): Use relocator.
11599 (grub_cmd_xnu_kernel64): Likewise.
11600 (grub_xnu_register_memory): Simplified.
11601 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
11602 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
11603 EFI is finished.
11604 (grub_console_checkkey): Likewise.
11605 (grub_console_getkey): Likewise.
11606 (grub_console_getwh): Likewise.
11607 (grub_console_getxy): Likewise.
11608 (grub_console_gotoxy): Likewise.
11609 (grub_console_cls): Likewise.
11610 (grub_console_setcolorstate): Likewise.
11611 (grub_console_setcursor): Likewise.
11612 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
11613 * grub-core/tests/boot/kbsd.init-i386.S: New file.
11614 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
11615 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
11616 * grub-core/tests/boot/kernel-8086.S: Likewise.
11617 * grub-core/tests/boot/kernel-i386.S: Likewise.
11618 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
11619 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
11620 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
11621 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
11622 * grub-core/tests/boot/knetbsd.cfg: Likewise.
11623 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
11624 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
11625 * grub-core/tests/boot/linux.cfg: Likewise.
11626 * grub-core/tests/boot/linux.init-i386.S: Likewise.
11627 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
11628 * grub-core/tests/boot/linux16.cfg: Likewise.
11629 * grub-core/tests/boot/multiboot.cfg: Likewise.
11630 * grub-core/tests/boot/multiboot2.cfg: Likewise.
11631 * grub-core/tests/boot/ntldr.cfg: Likewise.
11632 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
11633 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
11634 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
11635 New definition.
11636 * include/grub/dl.h (grub_dl_unload_all): Removed.
11637 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
11638 (grub_efi_finish_boot_services): Change prototype.
11639 (grub_efi_is_finished): New variable.
11640 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
11641 Changed prototype.
11642 (grub_efiemu_finish_boot_services): Removed.
11643 (grub_machine_efiemu_init_tables): New prototype.
11644 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
11645 (grub_elf64_phdr_iterate): Likewise.
11646 * include/grub/i386/bsd.h: Include relocator.h.
11647 (freebsd_tag_header): New struct.
11648 (grub_openbsd_bios_mmap): Removed.
11649 (grub_unix_real_boot): Removed.
11650 (grub_freebsd_load_elfmodule32): Changed prototype.
11651 (grub_freebsd_load_elfmodule_obj64): Likewise.
11652 (grub_freebsd_load_elf_meta32): Likewise.
11653 (grub_freebsd_load_elf_meta64): Likewise.
11654 (grub_freebsd_add_meta): Removed.
11655 (grub_netbsd_load_elf_meta32): New prototype.
11656 (grub_netbsd_load_elf_meta64): Likewise.
11657 (grub_bsd_add_meta): Likewise.
11658 (grub_openbsd_ramdisk_descriptor): New struct.
11659 (grub_openbsd_find_ramdisk32): New prototype.
11660 (grub_openbsd_find_ramdisk64): Likewise.
11661 * include/grub/i386/coreboot/loader.h: Removed.
11662 * include/grub/i386/efi/loader.h: Likewise.
11663 * include/grub/i386/ieee1275/loader.h: Likewise.
11664 * include/grub/i386/linux.h (linux_kernel_header): Change void *
11665 to grub_uint32_t.
11666 * include/grub/i386/loader.h: Removed.
11667 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
11668 value.
11669 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
11670 (grub_phys_addr_t): New type.
11671 (grub_vtop): New inline function.
11672 (grub_map_memory): Likewise.
11673 (grub_unmap_memory): Likewise.
11674 * include/grub/i386/multiboot/loader.h: Removed.
11675 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
11676 (NETBSD_BTINFO_CONSOLE): New definition.
11677 (NETBSD_BTINFO_SYMTAB): Likewise.
11678 (NETBSD_BTINFO_MODULES): Likewise.
11679 (NETBSD_BTINFO_FRAMEBUF): Likewise.
11680 (grub_netbsd_bootinfo): New struct.
11681 (grub_netbsd_btinfo_common): Use explicit bitsize.
11682 (grub_netbsd_btinfo_mmap_entry): Removed.
11683 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
11684 (grub_netbsd_btinfo_bootdisk): New struct.
11685 (grub_netbsd_btinfo_symtab): Likewise.
11686 (grub_netbsd_btinfo_serial): Likewise.
11687 (grub_netbsd_btinfo_modules): Likewise.
11688 (grub_netbsd_btinfo_framebuf): Likewise.
11689 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
11690 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
11691 Likewise.
11692 (grub_openbsd_bootargs): Use explicit bitsize.
11693 (grub_openbsd_bootarg_console): New struct.
11694 (GRUB_OPENBSD_COM_MAJOR): New definition.
11695 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
11696 * include/grub/i386/pc/efiemu.h: Removed.
11697 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
11698 * include/grub/i386/qemu/loader.h: Removed.
11699 * include/grub/i386/relocator.h: Rewritten.
11700 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
11701 * include/grub/mips/memory.h: New file.
11702 * include/grub/mips/multiboot.h: Rewritten.
11703 * include/grub/mips/relocator.h: Rewritten.
11704 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
11705 (grub_vtop): New function.
11706 (grub_map_memory): Likewise.
11707 (grub_unmap_memory): Likewise.
11708 * include/grub/misc.h (ALIGN_DOWN): New definition.
11709 * include/grub/mm.h (grub_mm_check_real): New proto.
11710 (GRUB_MM_CHECK): New definition.
11711 * include/grub/mm_private.h: New file.
11712 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
11713 (grub_multiboot_get_mbi_size): Removed.
11714 (grub_multiboot_make_mbi): Change prottype.
11715 (grub_multiboot_set_accepts_video): New proto.
11716 (grub_multiboot_add_elfsyms): Likewise.
11717 (grub_multiboot_payload_eip): New variable.
11718 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
11719 New prototype.
11720 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
11721 New definition.
11722 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
11723 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
11724 * include/grub/powerpc/ieee1275/loader.h: Removed.
11725 * include/grub/powerpc/memory.h: New file.
11726 * include/grub/powerpc/relocator.h: Likewise.
11727 * include/grub/relocator.h: Likewise.
11728 * include/grub/relocator_private.h: Likewise.
11729 * include/grub/sparc64/ieee1275/loader.h: Removed.
11730 * include/grub/x86_64/memory.h: New file.
11731 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
11732 (grub_xnu_heap_malloc): Likewise.
11733 (grub_xnu_heap_real_start): Removed.
11734 (grub_xnu_heap_start): Likewise.
11735 (grub_xnu_relocator): New variable.
11736 (grub_xnu_heap_target_start): Likewise.
11737 * tests/util/grub-shell.in: Support non-pc.
11738 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 11739
5303b85d
VS
117402010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
11743 on malloc error.
11744 (grub_bidi_logical_to_visual): Check that malloc succeded.
11745 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
11746 puts.
11747 (grub_xputs_normal): Likewise.
11748
d768d159
VS
117492010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
11752 extra_dist.
11753
117542010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * grub-core/efiemu/runtime/efiemu.sh: Removed.
11757
5bf84df4
VS
117582010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
11761
3626810e
VS
117622010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
11765 dprintf.
11766
a7363f53
BC
117672010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
11768
11769 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
11770
902f75f6
VS
117712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 * grub-core/normal/term.c (print_more): Fix a memory leak.
11774 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
11775 (grub_xputs_normal): Likewise.
11776
3c707967
VS
117772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11778
11779 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
11780 the begining of the string
11781
2053cc07
VS
117822010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11783
11784 * grub-core/script/script.c (grub_script_parse): Free parsed on
11785 failure.
11786
46422ebf
VS
117872010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11788
11789 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
11790 on failure.
11791
9e0fa3f6
VS
117922010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11793
11794 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
11795 return.
11796
3393cf16
VS
117972010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
11800 (scroll_up): Fix a memory leak.
11801
b17540cb
VS
118022010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
11805 errors.
11806
67140446
VS
118072010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 Handle USB pendrives exposed as floppies.
11810
11811 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
11812 floppy.
11813 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11814 Check for partitions on all devices.
11815
e35e46fc
VS
118162010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11817
11818 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
11819 (readkey): Likewise.
11820
d24c6190
BC
118212010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11822
11823 Multiple variable names support to "export" command.
11824
11825 * normal/context.c (grub_cmd_export): "export" command supports
11826 multiple variable names.
11827
04ddcc6a
ST
118282010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
11829
11830 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
11831 --target=drive output to Mach device name.
11832
0c8b61d8
BC
118332010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11834
11835 New Automake based build system for GRUB.
11836
11837 * ABOUT-NLS: New file.
11838 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
11839 in Makefile.util.def file.
11840 * Makefile.util.def: New file. Autogen build definitions file for
11841 GRUB host utils.
11842 * conf/Makefile.common: New file. Common variables for GRUB host
11843 utils and target modules.
11844 * conf/Makefile.extra-dist: New file. Extra files for make dist.
11845 * docs/Makefile.am: New file. Automake file for docs.
11846 * gentpl.py: New file. Python script to generate Autogen
11847 template.
11848 * grub-core/Makefile.am: New file. GRUB target modules' rules
11849 that doesn't fit in Makefile.core.def file.
11850 * grub-core/Makefile.core.def: New file. Autogen build
11851 definitions file for GRUB target modules.
11852 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
11853 specific setjmp.S file.
11854 * po/Makefile.am: New file.
11855
11856 * .bzrignore: New ignores.
11857 * INSTALL: New requirements, without Ruby.
11858 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
11859 * autogen.sh: Updated to invoke autogen as necessary.
11860 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
11861 and defines for Automake conditionals.
11862 * geninit.sh: Refactoring.
11863
11864 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
11865 necessary.
11866 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
11867 New prototype.
11868
11869 * include/grub/test.h: Fix functional test modules' naming.
11870 * grub-core/tests/example_functional_test.c: Fix test module name.
11871
11872 * util/misc.c: Hosted versions' of grub functions for libgrub.a
11873 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
11874 * util/grub-editenv.c: Likewise.
11875 * util/grub-fstest.c: Likewise.
11876 * util/grub-mkdevicemap.c: Likewise.
11877 * util/grub-mkfont.c: Likewise.
11878 * util/grub-mkimage.c: Likewise.
11879 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11880 * util/grub-probe.c: Likewise.
11881 * util/grub-script-check.c: Likewise.
11882 * util/i386/pc/grub-setup.c: Likewise.
11883 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11884
11885 * tests/util/grub-shell.in: Fix override directory path.
11886 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
11887 * util/import_gcry.py: Create Makefile.gcry.def file instead.
11888
11889 * util/lvm.c: Update #includes.
11890 * util/raid.c: Likewise.
11891 * util/resolve.c: Likewise.
11892 * grub-core/bus/emu/pci.c: Likewise.
11893 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
11894 * grub-core/lib/posix_wrap/string.h: Likewise.
11895 * grub-core/kern/emu/main.c: Likewise.
11896
11897 * grub-core/gensymlist.sh: New file. Script for generating kernel
11898 symbols file.
11899 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
11900
11901 * grub-core/gentrigtables.c: Fix unused variable warnings.
11902
11903 * Makefile.in: Removed.
11904 * conf/any-emu.rmk: Removed.
11905 * conf/common.rmk: Removed.
11906 * conf/i386-coreboot.rmk: Removed.
11907 * conf/i386-efi.rmk: Removed.
11908 * conf/i386-ieee1275.rmk: Removed.
11909 * conf/i386-multiboot.rmk: Removed.
11910 * conf/i386-pc.rmk: Removed.
11911 * conf/i386-qemu.rmk: Removed.
11912 * conf/i386.rmk: Removed.
11913 * conf/mips-yeeloong.rmk: Removed.
11914 * conf/mips.rmk: Removed.
11915 * conf/powerpc-ieee1275.rmk: Removed.
11916 * conf/sparc64-ieee1275.rmk: Removed.
11917 * conf/tests.rmk: Removed.
11918 * conf/x86-efi.rmk: Removed.
11919 * conf/x86_64-efi.rmk: Removed.
11920 * gendistlist.sh: Removed.
11921 * geninitheader.sh: Removed.
11922 * genkernsyms.sh.in: Removed.
11923 * genmk.rb: Removed.
11924 * gensymlist.sh.in: Removed.
11925 * mkinstalldirs: Removed.
11926 * boot: Moved ...
11927 * grub-core/boot: ... to here.
11928 * bus: Moved ...
11929 * grub-core/bus: ... to here.
11930 * commands: Moved ...
11931 * grub-core/commands: ... to here.
11932 * disk: Moved ...
11933 * grub-core/disk: ... to here.
11934 * efiemu: Moved ...
11935 * grub-core/efiemu: ... to here.
11936 * font: Moved ...
11937 * grub-core/font: ... to here.
11938 * fs: Moved ...
11939 * grub-core/fs: ... to here.
11940 * gencmdlist.sh: Moved ...
11941 * grub-core/gencmdlist.sh: ... to here.
11942 * genemuinit.sh: Moved ...
11943 * grub-core/genemuinit.sh: ... to here.
11944 * genemuinitheader.sh: Moved ...
11945 * grub-core/genemuinitheader.sh: ... to here.
11946 * genfslist.sh: Moved ...
11947 * grub-core/genfslist.sh: ... to here.
11948 * genhandlerlist.sh: Moved ...
11949 * grub-core/genhandlerlist.sh: ... to here.
11950 * genmoddep.awk: Moved ...
11951 * grub-core/genmoddep.awk: ... to here.
11952 * genmodsrc.sh: Moved ...
11953 * grub-core/genmodsrc.sh: ... to here.
11954 * genpartmaplist.sh: Moved ...
11955 * grub-core/genpartmaplist.sh: ... to here.
11956 * genparttoollist.sh: Moved ...
11957 * grub-core/genparttoollist.sh: ... to here.
11958 * genterminallist.sh: Moved ...
11959 * grub-core/genterminallist.sh: ... to here.
11960 * gentrigtables.c: Moved ...
11961 * grub-core/gentrigtables.c: ... to here.
11962 * genvideolist.sh: Moved ...
11963 * grub-core/genvideolist.sh: ... to here.
11964 * gettext: Moved ...
11965 * grub-core/gettext: ... to here.
11966 * gfxmenu: Moved ...
11967 * grub-core/gfxmenu: ... to here.
11968 * gnulib: Moved ...
11969 * grub-core/gnulib: ... to here.
11970 * hello: Moved ...
11971 * grub-core/hello: ... to here.
11972 * hook: Moved ...
11973 * grub-core/hook: ... to here.
11974 * io: Moved ...
11975 * grub-core/io: ... to here.
11976 * kern: Moved ...
11977 * grub-core/kern: ... to here.
11978 * lib: Moved ...
11979 * grub-core/lib: ... to here.
11980 * loader: Moved ...
11981 * grub-core/loader: ... to here.
11982 * mmap: Moved ...
11983 * grub-core/mmap: ... to here.
11984 * normal: Moved ...
11985 * grub-core/normal: ... to here.
11986 * partmap: Moved ...
11987 * grub-core/partmap: ... to here.
11988 * parttool: Moved ...
11989 * grub-core/parttool: ... to here.
11990 * script: Moved ...
11991 * grub-core/script: ... to here.
11992 * term: Moved ...
11993 * grub-core/term: ... to here
11994 * tests/example_functional_test.c: Moved ...
11995 * grub-core/tests/example_functional_test.c: ... to here.
11996 * tests/lib/functional_test.c: Moved ...
11997 * grub-core/tests/lib/functional_test.c: ... to here.
11998 * tests/lib/test.c: Moved ...
11999 * grub-core/tests/lib/test.c: ... to here.
12000 * video: Moved ...
12001 * grub-core/video: ... to here.
12002
645586e6
BC
120032010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12004
12005 Replace --enable-grub-emu-modules with grub-emu-lite.
12006
12007 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
12008 cache.S.
12009
12010 * include/grub/emu/misc.h (grub_emu_init): New prototype.
12011 * kern/emu/full.c: New file. For grub-emu specific initialization.
12012 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
12013 * kern/emu/main.c: Call initialization function grub_emu_init.
12014
12015 * Makefile.in: Include grub-emu-lite in install.
12016 * commands/parttool.c: Use grub_no_autoload to differentiate
12017 between grub-emu and grub-emu-lite.
12018 * include/grub/misc.h: New variable grub_no_autoload.
12019
12020 * conf/any-emu.rmk: New rules for grub-emu-lite.
12021 * configure.ac: Remove --enable-grub-emu-modules.
12022 * genmk.rb: Cleanup unnecessary rules.
12023 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
12024
12025 * normal/main.c: Don't load list files on grub-emu-lite.
12026 * util/misc.c (grub_arch_sync_caches): Removed.
12027
f86a4030
CW
120282010-08-23 Colin Watson <cjwatson@ubuntu.com>
12029
12030 * kern/mips/startup.S (grub_prefix): Update comment to refer to
12031 grub-mkimage rather than grub-mkelfimage.
12032 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12033
06776944
VS
120342010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
12037 a key after CapsLock or NumLock. It's just a qemu bug.
12038
df262419
VS
120392010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12040
12041 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
12042 needed by libusb wrapper.
12043
b40ea81b
ST
120442010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12045
12046 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
12047
dee50575
VS
120482010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12049
12050 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
12051 --nounzip is passed.
12052
fb1d7b79
VS
120532010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 USB hotunplugging and USB serial support.
12056
12057 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
12058 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
12059 (grub_uhci_transfer): Respect timeout and set *actual.
12060 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
12061 non-standard length.
12062 (grub_usb_device_attach): Autoload modules.
12063 (GRUB_MOD_INIT): Set grub_term_poll_usb.
12064 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
12065 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
12066 users updated.
12067 (grub_usb_add_hub): Fill nports and children.
12068 (attach_root_port): Receive hub instead of controller.
12069 All users updated. Fill hub->devices.
12070 (grub_usb_root_hub): Allocate hub->devices.
12071 (detach_device): New function.
12072 (poll_nonroot_hub): Fill children and detach devices.
12073 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
12074 actual arguments. All users updated.
12075 (grub_usb_bulk_read_extended): New function.
12076 * bus/usb/serial/common.c: New file.
12077 * bus/usb/serial/ftdi.c: Likewise.
12078 * bus/usb/serial/pl2303.c: Likewise.
12079 * commands/terminal.c (handle_command): Support wildcard.
12080 * commands/usbtest.c: Output "Unknown" instead of empty string.
12081 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
12082 (usbserial_common_mod_SOURCES): New variable.
12083 (usbserial_common_mod_CFLAGS): Likewise.
12084 (usbserial_common_mod_LDFLAGS): Likewise.
12085 (pkglib_MODULES): Add usbserial_pl2303.mod.
12086 (usbserial_pl2303_mod_SOURCES): New variable.
12087 (usbserial_pl2303_mod_CFLAGS): Likewise.
12088 (usbserial_pl2303_mod_LDFLAGS): Likewise.
12089 (pkglib_MODULES): Add usbserial_ftdi.mod.
12090 (usbserial_ftdi_mod_SOURCES): New variable.
12091 (usbserial_ftdi_mod_CFLAGS): Likewise.
12092 (usbserial_ftdi_mod_LDFLAGS): Likewise.
12093 (pkglib_MODULES): Add serial.mod.
12094 (serial_mod_SOURCES): New variable.
12095 (serial_mod_CFLAGS): Likewise.
12096 (serial_mod_LDFLAGS): Likewise.
12097 * conf/i386-pc.rmk: Likewise.
12098 * conf/mips-yeeloong.rmk: Likewise.
12099 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
12100 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12101 * disk/usbms.c (first_available_slot): New variable.
12102 (grub_usbms_attach): Don't reuse free slots due to potential cache
12103 problems.
12104 * include/grub/serial.h: Moved to ..
12105 * include/grub/ns8250.h: ...this.
12106 * include/grub/serial.h: New file.
12107 * include/grub/term.h (grub_term_poll_usb): New variable.
12108 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
12109 readkey. All users updated.
12110 (grub_terminfo_output_state): Pass term to put.
12111 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
12112 (grub_usb_controller_dev): Add timeout and actual arguments to
12113 transfer. All users updated.
12114 (grub_usb_interface): New field detach_data.
12115 (grub_usb_device): New fields children and nports.
12116 (grub_usb_ep_type_t): New type.
12117 (grub_usb_get_ep_type): New function.
12118 (grub_usb_bulk_read_extended): Likewise.
12119 * include/grub/usbdesc.h (grub_usb_desc): New type.
12120 * include/grub/usbserial.h: New file.
12121 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
12122 * kern/term.c (grub_term_poll_usb): New variable.
12123 (grub_getkey): Call grub_term_poll_usb if set.
12124 (grub_checkkey): Likewise.
12125 (grub_getkeystatus): Likewise.
12126 * term/serial.c: Moved controller-specific parts to ...
12127 * term/ns8250.c: ... here.
12128 * term/serial.c: Mostly rewritten.
12129 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
12130 according to spec.
12131
21a313de
RM
121322010-08-20 Robert Millan <rmh@gnu.org>
12133
12134 Make kFreeBSD code more generic to support ext2fs as root, ufs as
12135 a separate module and maybe other interesting combinations.
12136
12137 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
12138 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
12139 (kfreebsd_entry): Add generic filesystem module load routine.
12140 Map GRUB `ext2' to kFreeBSD `ext2fs'.
12141
63c734a6
CW
121422010-08-20 Colin Watson <cjwatson@ubuntu.com>
12143
12144 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
12145 "numcenter" (I misunderstood the purpose of this entry).
12146 * docs/grub.texi (sendkey): Likewise.
12147
c4d16542
CW
121482010-08-20 Colin Watson <cjwatson@ubuntu.com>
12149
12150 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
12151 status flag options; simply omitting the option is equivalent and
12152 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
12153 (keysym_table): Rename "num5numlock" to "numlock".
12154 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
12155 can uniformly say that only the last of multiple `sendkey'
12156 invocations has any effect.
12157 * docs/grub.texi (sendkey): New section.
12158
93541d66
CW
121592010-08-19 Colin Watson <cjwatson@ubuntu.com>
12160
12161 * commands/i386/pc/sendkey.c (options): Fix three typos.
12162
b4ece5e1
VS
121632010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 Implement sendkey support.
12166
12167 * commands/i386/pc/sendkey.c: New file.
12168 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
12169 (sendkey_mod_SOURCES): New variable.
12170 (sendkey_mod_CFLAGS): Likewise.
12171 (sendkey_mod_LDFLAGS): Likewise.
12172
51f1f5af
CW
121732010-08-18 Colin Watson <cjwatson@ubuntu.com>
12174
12175 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
12176 fix warnings from Autoconf.
12177
9da94e05
CW
121782010-08-18 Colin Watson <cjwatson@ubuntu.com>
12179
12180 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
12181 to avoid false positives with some assemblers that output things
12182 like "someprefix_func" as part of their output.
12183
729a0f2e
RM
121842010-08-15 Robert Millan <rmh@gnu.org>
12185
12186 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
12187 errors.
12188 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
12189 grub_get_libzfs_handle() errors.
12190
f3710e08
RM
121912010-08-14 Robert Millan <rmh@gnu.org>
12192
12193 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
12194 filesystem is not ZFS.
12195
7a3c13de
BC
121962010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12197
12198 Fix for misspelled color names defaulting to black/black (bug
12199 reported by Doug Nazar)
12200
12201 * include/grub/normal.h (grub_parse_color_name_pair): Add return
12202 status to prototype.
12203 * normal/color.c (grub_parse_color_name_pair): Return failure
12204 status.
12205 (grub_env_write_color_normal): Ignore bad color names.
12206 (grub_env_write_color_highlight): Likewise.
12207 * normal/main.c (GRUB_MOD_INIT): Set default color names.
12208
ab8ba50d
BC
122092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12210
12211 "shift" command support to GRUB script.
12212
12213 * include/grub/script_sh.h (grub_script_shift): New prototype.
12214 * script/execute.c (grub_script_shift): New function.
12215 * script/main.c (grub_script_init): Register shift command.
12216 (grub_script_fini): Unregister shift command.
12217 * util/grub-script-check.c (grub_script_cmd_shift): New function.
12218
12219 * tests/grub_script_shift.in: New testcase.
12220 * conf/tests.rmk: Rules for new testcase.
12221
4d61999e
BC
122222010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12223
12224 "continue" command support to GRUB script.
12225
12226 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
12227 (grub_script_break): Continue support.
12228 * script/main.c (grub_script_init): Register continue command.
12229 (grub_script_fini): Unregister continue command.
12230
12231 * tests/grub_script_continue.in: New testcase.
12232 * conf/tests.rmk: Rules for new testcase.
12233
4df51e00
BC
122342010-08-12 BVK Chaitanya <bvk@dbook>
12235
12236 "break" command support to GRUB script.
12237
12238 * conf/common.rmk: Rule updates to grub-script-check.
12239 * include/grub/misc.h (grub_min): New function.
12240 * include/grub/script_sh.h (grub_script_init): New prototype.
12241 (grub_script_fini): New prototype.
12242 (grub_script_break): New prototype.
12243 * script/main.c (grub_script_init): New function.
12244 (grub_script_fini): New function.
12245 * script/execute.c (grub_script_break): New function.
12246 * normal/main.c: Calls to grub_script_{init,fini}.
12247 * util/grub-script-check.c (grub_script_break): New function.
12248
12249 * tests/grub_script_break.in: New testcase.
12250 * conf/tests.rmk: Rules for new test case.
12251
f12c8420
BC
122522010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12253
12254 Function parameters support to GRUB script.
12255
12256 * script/yylex.l (VARIABLE): Regular expression update.
12257 * script/function.c (grub_script_function_call): Moved ...
12258 * script/execute.c (grub_script_function_call): ... to here.
12259 (grub_script_execute_arglist_to_argv): Removed.
12260 (grub_script_arglist_to_argv): New function.
12261 * script/argv.c: New file.
12262 (grub_script_argv_free): New function.
12263 (grub_script_argv_next): Likewise.
12264 (grub_script_argv_append): Likewise.
12265 (grub_script_argv_split_append): Likewise.
12266 * include/grub/script_sh.h (grub_script_argv): New struct.
12267 (grub_script_argv_free): New function.
12268 (grub_script_argv_next): Likewise.
12269 (grub_script_argv_append): Likewise.
12270 (grub_script_argv_split_append): Likewise.
12271
12272 * conf/common.rmk (normal.mod): New source script/argv.c.
12273
12274 * tests/grub_script_echo1.in: More tests.
12275 * tests/grub_script_vars1.in: Likewise.
12276 * tests/grub_script_functions.in: New test case.
12277 * conf/tests.rmk: Rules for new testcase.
12278
8022b748
BC
122792010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12280
12281 Remove grub_script_cmdblock struct.
12282
12283 * include/grub/script_sh.h: Remove grub_script_cmdblock.
12284 * script/parser.y: Likewise.
12285 * script/execute.c: Rename cmdblock suffix to cmdlist.
12286 * script/script.c: Likewise.
12287 * util/grub-script-check.c: Likewise.
12288
79a6ba61
YB
122892010-08-11 Yves Blusseau <blusseau@zetam.org>
12290
12291 * .bzrignore: add grub-macho2img
12292
d04b9414
VS
122932010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
12296
f947ab49
VS
122972010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 Remove the dump of sm712 initialisation sequence.
12300
12301 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
12302 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
12303 (GRUB_VGA_IO_MISC_WRITE): Likewise.
12304 (GRUB_VGA_CR_*): Added many registers.
12305 (GRUB_VGA_SR_*): Likewise.
12306 (GRUB_VGA_GR_*): Likewise.
12307 (grub_vga_write_arx): New function.
12308 (grub_video_hw_config): New struct.
12309 (grub_vga_set_geometry): New function.
12310 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
12311 GRUB_PCI_CLASS_SUBCLASS_VGA.
12312 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
12313 * video/sm712.c (grub_sm712_write_reg): New function
12314 (grub_sm712_read_reg): Likewise.
12315 (grub_sm712_sr_write): Likewise.
12316 (grub_sm712_gr_write): Likewise.
12317 (grub_sm712_cr_write): Likewise.
12318 (grub_sm712_write_arx): Likewise.
12319 (grub_sm712_cr_shadow_write): Likewise.
12320 (grub_sm712_write_dda_lookup): Likewise.
12321 (grub_video_sm712_setup): Initialise the video rather then
12322 blindly replay the dump.
12323 (main) [TEST]: Add a routine to be able to compile as standalone for
12324 tests.
12325 * video/sm712_init.c (sm712_init): Removed.
12326 (sm712_sr_seq1): New array.
12327 (sm712_sr_seq2): Likewise.
12328
f0206638
VS
123292010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 * include/grub/vga.h: Add missing grub/pci.h include.
12332
2764da3b
YB
123332010-08-10 Yves Blusseau <blusseau@zetam.org>
12334
12335 * util/grub-macho2img.c (main): fix typo
12336
cf0c775e
VS
123372010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
12340 (grub_vga_gr_read): Likewise.
12341 (grub_vga_cr_write): Likewise.
12342 (grub_vga_cr_read): Likewise.
12343 (grub_vga_sr_write): Likewise.
12344 (grub_vga_sr_read): Likewise.
12345 (grub_vga_palette_read): Likewise.
12346 (grub_vga_palette_write): Likewise.
12347 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
12348 (grub_sm712_sr_read): New function.
12349 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
12350 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
12351
07f360e9
RM
123522010-08-09 Robert Millan <rmh@gnu.org>
12353
12354 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
12355 out unused variables on non-ZFS build.
12356
346c2072
RM
123572010-08-08 Robert Millan <rmh@gnu.org>
12358
12359 Fix path generation for sub-filesystems in ZFS.
12360
12361 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
12362 missing slash.
12363
71175420
RM
123642010-08-08 Robert Millan <rmh@gnu.org>
12365
12366 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
12367
0d8286f3
RM
123682010-08-08 Robert Millan <rmh@gnu.org>
12369
12370 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
12371 exist, issue a proper error message (rely on `ls' for translated
12372 strings).
12373
55dd2924
RM
123742010-08-08 Robert Millan <rmh@gnu.org>
12375
12376 Fix grub-probe invocation.
12377
12378 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
12379
d3dd9e80
RM
123802010-08-04 Robert Millan <rmh@gnu.org>
12381
12382 * configure.ac: Remove checks for getfsstat() and getmntany().
12383 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
12384 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
12385 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
12386 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
12387 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
12388 function.
12389 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
12390 via find_mount_point_from_dir() and getfsstat() / getmntany().
12391
0de22aa9
RM
123922010-08-04 Robert Millan <rmh@gnu.org>
12393
12394 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
12395 (grub_find_zpool_from_mount_point): Merge into ...
12396 (grub_find_zpool_from_dir): ... this.
12397 * kern/emu/misc.c: Likewise.
12398
12399 * kern/emu/misc.c
12400 (grub_make_system_path_relative_to_its_root): Replace
12401 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
12402 with grub_find_zpool_from_dir().
12403 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
12404
62858144
RM
124052010-08-04 Robert Millan <rmh@gnu.org>
12406
12407 Support OpenSolaris in ZFS device resolution.
12408
12409 * configure.ac: Check for getmntany().
12410 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
12411 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
12412 support.
12413
9dd6fd50
RM
124142010-08-03 Robert Millan <rmh@gnu.org>
12415
12416 Fix grub-emu build.
12417
12418 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
12419 * include/grub/emu/misc.h: ... here.
12420
12421 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
12422 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
12423
12424 * util/misc.c: Remove `<grub/util/libzfs.h>'.
12425 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
12426 (grub_get_libzfs_handle): Move to ...
12427 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
12428 (grub_get_libzfs_handle): ... here.
12429
c9f7ff97
BC
124302010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
12431
12432 * script/execute.c (grub_script_execute_cmdline): Check for NULL
12433 as command name case.
12434
a870a783
CW
124352010-08-02 Colin Watson <cjwatson@ubuntu.com>
12436
12437 * disk/raid.c (insert_array): Select unique numbers for named arrays
12438 as well, for use as keys in the disk cache.
12439
c7db243b
RM
124402010-08-01 Robert Millan <rmh@gnu.org>
12441
12442 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
12443 kFreeBSD device name, except on ZFS where the filesystem label is
12444 used.
12445 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
12446 `/boot/zfs/zpool.cache'.
12447 Set mountfrom kernel variable using ${kfreebsd_device}.
12448
f7abdefb
RM
124492010-08-01 Robert Millan <rmh@gnu.org>
12450
12451 Make it even harder to use uninitialized `libzfs_handle' (and
12452 make the interface a bit simpler).
12453
12454 * include/grub/util/misc.h (grub_util_init_libzfs)
12455 (libzfs_handle): Remove.
12456 (grub_get_libzfs_handle): New prototype.
12457
12458 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
12459 attribute.
12460 (grub_util_init_libzfs): Remove.
12461 (grub_get_libzfs_handle): New function.
12462
12463 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
12464 grub_get_libzfs_handle() to obtain a libzfs handle instead of
12465 accessing `libzfs_handle' directly.
12466
c882acc0
RM
124672010-08-01 Robert Millan <rmh@gnu.org>
12468
12469 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
12470 (grub_find_zpool_from_mount_point): New function prototypes.
12471
12472 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
12473 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
12474
12475 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
12476 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
12477 `static' attribute.
12478
12479 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
12480 finding zpool from mount point into ...
12481 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
12482
12483 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
12484 requested path is part of a ZFS pool, use
12485 grub_find_zpool_from_mount_point() to detect its filesystem name,
12486 and generate a path with `/fsname@path' syntax.
12487
8bfe31d8
CW
124882010-08-01 Colin Watson <cjwatson@ubuntu.com>
12489
12490 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
12491 (void) rather than () so that this is a proper prototype.
12492
553df63d
VS
124932010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12494
12495 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
12496
8687cf07
VS
124972010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
12500 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
12501
ea9be8ea
CW
125022010-08-01 Colin Watson <cjwatson@ubuntu.com>
12503
12504 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
12505
6eea041a
CW
125062010-08-01 Colin Watson <cjwatson@ubuntu.com>
12507
12508 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
12509
2cfb45df
CW
125102010-08-01 Colin Watson <cjwatson@ubuntu.com>
12511
12512 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
12513 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
12514 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
12515 disable gfxpayload.
12516 (Shell-like scripting): Add real content.
12517 (Serial terminal): Suggest `terminal_input serial; terminal_output
12518 serial' rather than putting the two commands on separate lines,
12519 since console input will be inoperative after the first command.
12520 (menuentry): Document --class, --users, and --hotkey options.
12521 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
12522 Vladimir Serbinenko).
12523
7decd202
VS
125242010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
125252010-08-01 Colin Watson <cjwatson@ubuntu.com>
12526
12527 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
12528
c882acc0
RM
125292010-08-01 Robert Millan <rmh@gnu.org>
12530
12531 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
12532 (grub_find_zpool_from_mount_point): New function prototypes.
12533
12534 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
12535 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
12536
12537 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
12538 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
12539 `static' attribute.
12540
12541 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
12542 finding zpool from mount point into ...
12543 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
12544
12545 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
12546 requested path is part of a ZFS pool, use
12547 grub_find_zpool_from_mount_point() to detect its filesystem name,
12548 and generate a path with `/fsname@path' syntax.
12549
deb0caa3
RM
125502010-08-01 Robert Millan <rmh@gnu.org>
12551
12552 Prevent accidental use of uninitialized libzfs_handle.
12553
12554 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
12555 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
12556 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
12557
ce04ef47
CW
125582010-08-01 Colin Watson <cjwatson@ubuntu.com>
12559
12560 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
12561 util/grub.d/10_linux.in). Fixes Debian bug #591093.
12562
ebf53056
RM
125632010-08-01 Robert Millan <rmh@gnu.org>
12564
12565 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 12566
3710bb6b
RM
125672010-07-31 Robert Millan <rmh@gnu.org>
12568
12569 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
12570
8072efeb
RM
125712010-07-31 Robert Millan <rmh@gnu.org>
12572
12573 * kern/emu/misc.c: Add missing license header.
12574
3169f4c7
RM
125752010-07-31 Robert Millan <rmh@gnu.org>
12576
12577 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
12578
12579 * include/grub/util/libnvpair.h: Include `<config.h>'.
12580 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
12581 declaring libnvpair prototypes ourselves.
12582 * include/grub/util/libzfs.h: Include `<config.h>'.
12583 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
12584 declaring libzfs prototypes ourselves.
12585
12586 (libzfs_handle): Moved to ...
12587 * include/grub/util/misc.h (libzfs_handle): ... here.
12588 Include `<grub/util/libzfs.h>'.
12589
c9a00aee
RM
125902010-07-30 Robert Millan <rmh@gnu.org>
12591
12592 * include/grub/emu/misc.h: Add missing license header.
12593
a184f9c8
RM
125942010-07-30 Robert Millan <rmh@gnu.org>
12595
12596 Enable `grub-probe -t device' resolution on ZFS.
12597
12598 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
12599 * include/grub/util/libnvpair.h: New file.
12600 * include/grub/util/libzfs.h: New file.
12601
12602 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
12603 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
12604 `<grub/util/libnvpair.h>'.
12605 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
12606
12607 (find_mount_point_from_dir): New static function.
12608 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
12609 function.
12610 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
12611 find_root_device_from_libzfs() before ressorting to find_root_device().
12612
12613 * include/grub/util/misc.h (grub_util_init_libzfs): New function
12614 prototype.
12615 * util/misc.c: Include `<grub/util/libzfs.h>'.
12616 (grub_util_init_libzfs): New function.
12617 [HAVE_LIBZFS] (libzfs_handle): New global variable.
12618 [HAVE_LIBZFS] (fini_libzfs): New static function.
12619 (grub_util_init_libzfs): New function.
12620 * util/grub-probe.c (main): Call grub_util_init_libzfs().
12621
f7790cdd
RM
126222010-07-30 Robert Millan <rmh@gnu.org>
12623
12624 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
12625 (xmalloc, xrealloc, xstrdup, xasprintf): Add
12626 `warn_unused_result' attribute.
12627 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
12628 (grub_xasprintf, grub_xvasprintf): Likewise.
12629 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
12630
0806b63c
RM
126312010-07-29 Robert Millan <rmh@gnu.org>
12632
12633 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
12634 (probe): Handle `PRINT_FS_LABEL'.
12635 (main): Handle `-t fs_label'.
12636
9f841f5c
RM
126372010-07-29 Robert Millan <rmh@gnu.org>
12638
12639 * configure.ac: Remove grub-mkisofs checks.
12640
46371121
VS
126412010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
12642
12643 * util/ieee1275/grub-install.in: Don't use empty grub_device.
12644 Reported by: Lennart Sorensen.
12645
126462010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
12649 prior to terminal_input/terminal_output separation. It's been over 1.5
12650 years and those versions weren't widely deployed.
12651
a9600892
CW
126522010-07-22 Colin Watson <cjwatson@ubuntu.com>
12653
12654 * disk/raid.c (insert_array): Don't count named arrays when looking
12655 for unused array numbers.
697e053c 12656 Reported and tested by: Michael Guntsche.
a9600892 12657
c03507df
CW
126582010-07-20 Colin Watson <cjwatson@ubuntu.com>
12659
12660 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
12661 implementation of this so that grub-emu links again, with a note
12662 that this should support hotplugging in the future.
12663
b26f1c11
CW
126642010-07-20 Colin Watson <cjwatson@ubuntu.com>
12665
12666 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12667
efc9d7f1
CW
126682010-07-20 Colin Watson <cjwatson@ubuntu.com>
12669
12670 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
12671 handle on failure.
12672 (grub_loopback_close): Remove empty function.
12673 (grub_loopback_dev): Remove close method.
12674
dd8ff5c9
CW
126752010-07-20 Colin Watson <cjwatson@ubuntu.com>
12676
12677 Disable EFI cursor when the EFI console becomes inactive.
12678
12679 * term/efi/console.c (grub_efi_console_init): New function.
12680 (grub_efi_console_fini): New function.
12681 (grub_console_term_output): Register init and fini methods.
12682
5e3bec67
VS
126832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 * tests/util/grub-shell-tester.in: Remove bashism and declare as
12686 sh script.
12687
afaec079
VS
126882010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12689
12690 * disk/loopback.c (grub_loopback): Replace filename with file.
12691 (delete_loopback): Handle new semantics.
12692 (grub_cmd_loopback): Likewise.
12693 (grub_loopback_iterate): Likewise.
12694 (grub_loopback_close): Likewise.
12695
a6a11f3c
VS
126962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
12699 with -p "".
12700 Reported by: Tito Keitel.
12701
64a638b0
VS
127022010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12703
12704 * docs/grub.texi (Naming convention): Document new naming convention.
12705
ab8ba957
VS
127062010-07-20 Vadim Solomin <vadic052@gmail.com>
127072010-07-20 Colin Watson <cjwatson@ubuntu.com>
12708
12709 Generate device.map in something closer to the old ordering.
12710
12711 * util/deviceiter.c (struct device): New declaration.
12712 (compare_file_names): Rename to ...
12713 (compare_devices): ... this. Sort by kernel name in preference to
12714 the stable by-id name, but keep the latter as a fallback comparison.
12715 Update header comment.
12716 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
12717 of `struct device' rather than of plain file names.
12718
a29d6a4b
TF
127192010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
12720
12721 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
12722 on i386.
12723
39d824e8
VS
127242010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 * commands/acpi.c (setup_common_tables): Use sizeof instead of
12727 hardcoding size.
12728 (setv1table): Likewise.
12729
f058276b
FZ
127302010-07-20 Colin Watson <cjwatson@ubuntu.com>
12731
12732 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
12733 removing the homehost if present.
12734 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
12735 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
12736 removing the homehost if present.
12737 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
12738 if possible.
12739 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
12740
12741 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
12742 parameter. Set its pointer target to 0.
12743 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
12744 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
12745 `data_offset' value from the superblock for 1.x metadata.
12746 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
12747 data on the device.
12748 (insert_array): Record the start sector of data on the device.
12749 (grub_raid_register): Pass start_sector parameters to
12750 grub_raid_list->detect and insert_array.
12751 * include/grub/raid.h (struct grub_raid_array): Add start_sector
12752 member.
12753 (struct grub_raid): Add start_sector parameter to `detect'.
12754
12755 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
12756 __attribute__ ((packed)), leaving a comment.
12757 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
12758 (grub_mdraid_detect_09): ... here and ...
12759 (grub_mdraid_detect_1x): ... here.
12760
127612010-07-20 Peter Henn <peter.henn@web.de>
12762
12763 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
12764 chunk size and disk size, which are already given as sector counts
12765 as distinct from the 0.90 units. Fetch the correct device number
12766 from the role table instead of using the table index.
12767
127682010-07-20 Felix Zielcke <fzielcke@z-51.de>
12769
12770 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
12771 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
12772 (WriteMostly1): New macro.
12773 Set array->name to NULL for metadata format 0.90. Add support for
12774 metadata 1.x. Fix some comments.
12775 * disk/raid.c (): Add support for name based RAID arrays. Fix a
12776 few comments.
12777 * util/getroot.c (grub_util_get_grub_dev): Add support for
12778 /dev/md/name style devices.
12779
4b761da9
CW
127802010-07-20 Colin Watson <cjwatson@ubuntu.com>
12781
12782 * .bzrignore: Ignore 20_linux_xen.
12783
5771289a
CW
127842010-07-17 Colin Watson <cjwatson@ubuntu.com>
12785
12786 * util/import_unicode.py: Remove unnecessary imports.
12787
5dab68df
AN
127882010-07-17 Aleš Nesrsta <starous@volny.cz>
12789
12790 Hotplugging and USB hub support.
12791
12792 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
12793 (grub_ohci): Likewise.
12794 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
12795 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
12796 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
12797 (GRUB_OHCI_CTRL_EDS): Likewise.
12798 (GRUB_OHCI_BULK_EDS): Likewise.
12799 (GRUB_OHCI_TDS): Likewise.
12800 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
12801 (grub_ohci_ed_phys2virt): New function.
12802 (grub_ohci_virt_to_phys): Likewise.
12803 (grub_ohci_td_phys2virt): Likewise.
12804 (grub_ohci_td_virt2phys): Likewise.
12805 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
12806 attachment.
12807 (grub_ohci_find_ed): New function.
12808 (grub_ohci_alloc_td): Likewise.
12809 (grub_ohci_free_td): Likewise.
12810 (grub_ohci_free_tds): Likewise.
12811 (grub_ohci_transfer): Use previously allocated memory.
12812 (grub_ohci_portstatus): Reset status changed bit.
12813 (grub_ohci_detect_dev): Supply status changed.
12814 (grub_ohci_fini_hw): Free memory.
12815 (grub_ohci_restore_hw): Reallocate memory.
12816 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
12817 Reset status change.
12818 (grub_uhci_detect_dev): Supply status_change.
12819 * bus/usb/usb.c (attach_hooks): New var.
12820 (grub_usb_device_attach): New function.
12821 (grub_usb_register_attach_hook_class): Likewise.
12822 (grub_usb_unregister_attach_hook_class): Likewise.
12823 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
12824 (grub_usb_add_hub): Reset connection changed bit.
12825 (attach_root_port): New function.
12826 (grub_usb_root_hub): Likewise.
12827 (poll_nonroot_hub): Likewise.
12828 (grub_usb_poll_devices): Likewise.
12829 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
12830 * disk/usbms.c (grub_usbms_open): Use device hooks.
12831 (grub_usbms_iterate) :Poll devices.
12832 (grub_usbms_finddevs): Split into ...
12833 (grub_usbms_attach): ... this ...
12834 (grub_usbms_attach): ... and this.
12835 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
12836 in detect_dev.
12837 (grub_usb_interface): New fields attached and detach_hook.
12838 (grub_usb_attach_hook_class): New type.
12839 (grub_usb_attach_desc): New struct.
12840 (grub_usb_register_attach_hook_class): New function.
12841 (grub_usb_unregister_attach_hook_class): Likewise.
12842 (grub_usb_poll_devices): Likewise.
12843 (grub_usb_device_attach): Likewise.
12844 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
12845 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
12846
3222efaf
VS
128472010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
12850 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
12851 delta determination style. Works with most NetBSD partitions too.
12852
139b714a
VS
128532010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12854
12855 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
12856 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
12857
986aad56
VS
128582010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
12861
99be513c
AB
128622010-07-14 Anton Blanchard <anton@samba.org>
12863
12864 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
12865 ET_DYN files.
12866
18075f62
GS
128672010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12868
12869 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
12870
8d9a5b15
GS
128712010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12872
12873 * kern/partition.c (grub_partition_check_containment): New function to
12874 check that a partition is physically contained in a parent. Since
12875 offsets are relative (and non-negative), this reduces to checking that
12876 the partition ends before its parent.
12877 (grub_partition_map_probe): Discard out-of-range sub-partitions.
12878 (grub_partition_iterate): Likewise.
12879 * include/grub/partition.h (grub_partition_map): Slightly more detailed
12880 comments.
12881 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
12882 partitions that start before their parent, and add debug printfs.
12883
19563c25
CW
128842010-07-13 Colin Watson <cjwatson@ubuntu.com>
12885
12886 * Makefile.in (.SUFFIX): Spell correctly, as ...
12887 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
12888 bare module name without `.mod', e.g. `test') tried to invoke a
12889 Modula-2 compiler.
12890
1a1f1e67
CW
128912010-07-13 Colin Watson <cjwatson@ubuntu.com>
12892
12893 * README: Point to the Info manual.
12894
811b0dca
JS
128952010-07-13 Jiro SEKIBA <jir@unicus.jp>
12896
12897 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
12898 2nd superblock position from partition size.
12899
e4f4eafc
CW
129002010-07-10 Colin Watson <cjwatson@ubuntu.com>
12901
12902 * Makefile.in (MAINTAINER_CLEANFILES): Remove
12903 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
12904 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
12905 outputs.
12906
4274c30f
VS
129072010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 Restructure SCSI .id handling.
12910 Reported and tested by: Aleš Nesrsta.
12911
12912 * disk/ata.c (grub_atapi_close): Removed. All users updated.
12913 (grub_atapi_dev): Changed .name to "ata". New field .id.
12914 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
12915 (grub_usbms_dev): New field .id.
12916 * disk/scsi.c (grub_scsi_iterate): Generate name.
12917 (grub_scsi_open): Parse name.
12918 * include/grub/scsi.h (grub_make_scsi_id): New function.
12919 (grub_scsi_dev): Change iterate and open to number instead of naming
12920 busses. All users updated.
12921 (grub_scsi): Remove name. Add .bus.
12922
5bc24388
VS
129232010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 * commands/help.c (grub_cmd_help): Fix a typo.
12926
249975ba
VS
129272010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
12930 Reported and tested by: Colin Watson.
12931
3eaac1a1
VS
129322010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
12935 in this context.
12936
becce1b1
VS
129372010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
12940
f7bf0918
CW
129412010-07-07 Colin Watson <cjwatson@ubuntu.com>
12942
12943 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
12944 indentation.
12945
0b0f9620
CW
129462010-07-06 Colin Watson <cjwatson@ubuntu.com>
12947
12948 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
12949 and disk/raid6_recover.c.
12950 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12951 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12952
1e545469
CW
129532010-07-06 Colin Watson <cjwatson@ubuntu.com>
12954
12955 * term/gfxterm.c (repaint_schedulded): Rename to ...
12956 (repaint_scheduled): ... this. Update all callers.
12957 (repaint_was_schedulded): Rename to ...
12958 (repaint_was_scheduled): ... this. Update all callers.
12959
5357687a
CW
129602010-07-06 Colin Watson <cjwatson@ubuntu.com>
12961
12962 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
12963 which we expect to be handled by upper layers.
12964
29d7e783
BC
129652010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
12966
12967 * bus/usb/usbhub.c: #include time.h header.
12968
37582066
CW
129692010-07-06 Colin Watson <cjwatson@ubuntu.com>
12970
12971 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
12972 entry_name also for entries without stat blocks (e.g. ".."); fixes
12973 corruption of the first entry in a directory.
12974
c8c06953
CW
129752010-07-06 Colin Watson <cjwatson@ubuntu.com>
12976
12977 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
12978 after setting gfxterm as the active terminal. GRUB_BACKGROUND
12979 doesn't work otherwise.
12980
e75056f1
CW
129812010-07-05 Colin Watson <cjwatson@ubuntu.com>
12982
12983 * docs/grub.texi (Features): Update list of supported file systems.
12984 (GNU/Linux): Update for GRUB 2.
12985 (Serial terminal): Remove mention of --disable-serial, which was a
12986 GRUB Legacy configure option. Update instructions to use
12987 `terminal_input' and `terminal_output' rather than `terminal'.
12988 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
12989 configuration' and `Installing GRUB using grub-install'.
12990 (Menu entry editor): Update for GRUB 2.
12991 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
12992 Document new -a, -u, and -v options.
12993 (initrd): New section.
12994 (initrd16): New section.
12995 (linux): New section.
12996 (linux16): New section.
12997 (search): The `var' argument to `--set' is optional.
12998 (GRUB only offers a rescue shell): Go into a little more detail on
12999 drive ordering.
13000
5cf69151
CW
130012010-07-05 Colin Watson <cjwatson@ubuntu.com>
13002
13003 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
13004
e3f90044
CW
130052010-07-05 Colin Watson <cjwatson@ubuntu.com>
13006
13007 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
13008 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
13009
38d8f4f3
CW
130102010-07-05 Colin Watson <cjwatson@ubuntu.com>
13011
13012 * util/i386/pc/grub-setup.c (setup): Rename prefix to
13013 install_prefix, in line with install_dos_part and install_bsd_part.
13014 Add new prefix variable, which is copied to install_prefix after
13015 comparing core.img in memory with the one read from disk in the
13016 no-embedding case, and use that rather than overwriting
13017 install_prefix immediately when installing to a partition.
13018 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
13019 Bicakci.
13020
57ebd41e
GS
130212010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13022
13023 * configure.ac: Avoid == in test command, it's not portable.
13024 * util/grub.d/30_os-prober.in: Likewise.
13025
cb7f64b2
CW
130262010-07-04 Colin Watson <cjwatson@ubuntu.com>
13027
13028 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
13029
6b654bb0
GS
130302010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13031
13032 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
13033 multiple (top-level) partmaps.
13034
72a2026d
VS
130352010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 13038 Reported by: Tino Keitel.
72a2026d 13039
df3eb88f
VS
130402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13041
13042 Bidi and diacritics support.
13043
13044 * Makefile.in (widthspec.bin): New target.
13045 (widthspec.h): Likewise.
13046 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
13047 * autogen.sh: Generate unidata.c.
13048 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
13049 * commands/ls.c (grub_ls_list_devices): Likewise.
13050 (grub_ls_list_files): Likewise.
13051 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
13052 (grub_mini_cmd_lsmod): Likewise.
13053 * commands/read.c: Likewise.
13054 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
13055 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
13056 * lib/arg.c (grub_arg_show_help): Likewise.
13057 * lib/crypto.c (grub_password_get): Likewise.
13058 * normal/auth.c (grub_username_get): Likewise.
13059 * normal/misc.c (grub_normal_print_device_info): Likewise.
13060 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
13061 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
13062 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
13063 (normal/charset.c_DEPENDENCIES): New variable.
13064 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
13065 (pkglib_MODULES): Remove charset.mod.
13066 (charset_mod_SOURCES): Removed.
13067 (charset_mod_CFLAGS): Likewise.
13068 (charset_mod_LDFLAGS): Likewise.
13069 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
13070 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
13071 and term/tparm.c.
13072 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13073 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13074 (kernel_img_HEADERS): Add terminfo.h.
13075 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
13076 Fill ->font. Reverse ascii bitmaps.
13077 (grub_font_get_xheight): New function.
13078 * font/font.c (grub_font_get_string_width): Moved from here ...
13079 * gfxmenu/font.c (grub_font_get_string_width): ... here.
13080 * font/font.c (grub_font_draw_string): Moved from here ...
13081 * gfxmenu/font.c (grub_font_draw_string): ... here.
13082 * font/font.c (grub_font_dup_glyph): New function.
13083 (grub_font_blit_glyph): Likewise.
13084 (grub_font_blit_glyph_mirror): Likewise.
13085 (blit_comb): Likewise.
13086 (grub_font_construct_dry_run): Likewise.
13087 (grub_font_get_constructed_device_width): Likewise.
13088 (grub_font_construct_glyph): Likewise.
13089 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
13090 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
13091 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
13092 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
13093 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
13094 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
13095 (grub_font_get_xheight): New proto.
13096 (grub_font_get_constructed_device_width): Likewise.
13097 (grub_font_construct_glyph): Likewise.
13098 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
13099 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
13100 * include/grub/font.h (grub_font_draw_string): Moved from here ...
13101 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
13102 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
13103 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
13104 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
13105 (grub_console_getcharwidth): Likewise.
13106 * include/grub/misc.h (grub_xputs): New proto.
13107 (grub_puts): Inlined.
13108 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
13109 (grub_normal_get_line_counter): Removed.
13110 (grub_install_newline_hook): Likewise.
13111 (grub_normal_get_char_counter): New proto.
13112 (grub_normal_reset_more): Likewise.
13113 (grub_xputs_normal): Likewise.
13114 * include/grub/powerpc/ieee1275/console.h: Removed.
13115 * include/grub/sparc64/ieee1275/console.h: Likewise.
13116 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
13117 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
13118 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
13119 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
13120 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
13121 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
13122 (grub_term_input): Pass reference to self. All users updated.
13123 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
13124 Pass reference to self. New fields normal_color, highlight_color and
13125 data. All users updated.
13126 (grub_putchar): Removed.
13127 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
13128 (grub_unicode_estimate_width): New function.
13129 (grub_term_getcharwidth): Add defaults.
13130 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
13131 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
13132 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
13133 (grub_cls): Remove EXPORT_FUNC.
13134 (grub_setcolorstate): Inline.
13135 (grub_newline_hook): Removed.
13136 * include/grub/terminfo.h: Rewritten. All users updated.
13137 * include/grub/unicode.h: New file.
13138 * include/grub/video.h (grub_video_signed_rect): New type.
13139 * kern/emu/console.c (grub_console_highlight_color): Removed.
13140 (grub_console_normal_color): Likewise.
13141 (grub_console_standard_color): Made static.
13142 (grub_ncurses_putchar): Remove mapping.
13143 (grub_ncurses_getcharwidth): Removed.
13144 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
13145 (grub_ncurses_setcolor): Removed.
13146 (grub_ncurses_getcolor): Likewise.
13147 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
13148 (grub_console_putchar): ... this.
13149 (grub_console_putchar): Handle argument difference.
13150 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
13151 console_init_early and console_init_lately.
13152 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
13153 * kern/misc.c (grub_puts): Removed.
13154 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
13155 (grub_vsnprintf_real): Remove str = NULL support.
13156 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
13157 * normal/charset.c (grub_utf8_to_ucs4): ... here.
13158 * kern/term.c (grub_putcode): Renamed to ...
13159 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
13160 (grub_putchar): Removed.
13161 (grub_xputs_dumb): New function.
13162 (grub_xputs): New variable.
13163 * lib/charset.c: Move from here ...
13164 * normal/charset.c: ... to here.
13165 (grub_ucs4_to_utf8): New function.
13166 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
13167 (join_types): New variable.
13168 (unpack_join): New function.
13169 (bidi_types): New variable.
13170 (unpack_bidi): New function.
13171 (get_bidi_type): Likewise.
13172 (get_join_type): Likewise.
13173 (is_mirrored): Likewise.
13174 (grub_unicode_get_comb_type): Likewise.
13175 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
13176 (is_type_after): Likewise.
13177 (grub_unicode_aglomerate_comb): Likewise.
13178 (bidi_line_wrap): Likewise.
13179 (grub_bidi_line_logical_to_visual): Likewise.
13180 (grub_bidi_logical_to_visual): Likewise.
13181 (grub_unicode_mirror_code): Likewise.
13182 (grub_unicode_shape_code): Likewise.
13183 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
13184 Don't use grub_putchar.
13185 * normal/main.c (grub_normal_init_page): Use grub_putcode.
13186 (grub_normal_reader_init): Likewise.
13187 (grub_xputs_saved): New variable.
13188 (GRUB_MOD_INIT): Set grub_xputs.
13189 (GRUB_MOD_FINI): Restore grub_xputs.
13190 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
13191 (menu_init): Avoid printing gfxmenu error.
13192 (show_menu): Use grub_normal_get_char_counter.
13193 * normal/menu_entry.c (update_screen): Fix out-of-array.
13194 (complete): Avoid NULL dereferencing.
13195 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
13196 * normal/menu_text.c (print_spaces): Removed.
13197 (grub_print_ucs4): Likewise.
13198 (grub_print_message_indented): Use grub_print_ucs4.
13199 (print_message): Use grub_putcode.
13200 (print_entry): Hanlde diacritics.
13201 * normal/term.c (term_state): New type.
13202 (grub_more_lines): Removed.
13203 (term_states): New variable.
13204 (grub_normal_line_counter): Renamed to ..
13205 (grub_normal_char_counter): ...this. All users updated.
13206 (grub_normal_get_line_counter): Renamed to ...
13207 (grub_normal_get_char_counter): ... this.
13208 (grub_normal_reset_more): New function.
13209 (process_newline): Removed.
13210 (print_more): New function.
13211 (grub_install_newline_hook): Removed.
13212 (map_code): New function.
13213 (grub_puts_terminal): Use grub_print_ucs4.
13214 (putglyph): New function.
13215 (putcode_real): Likewise.
13216 (grub_putcode): Use putcode_real.
13217 (get_maxwidth): New function.
13218 (get_startwidth): Likewise.
13219 (print_ucs4_terminal): Likewise.
13220 (find_term_state): Likewise.
13221 (put_glyphs_terminal): Likewise.
13222 (print_backlog): Likewise.
13223 (print_ucs4_real): Likewise.
13224 (grub_print_ucs4): Likewise.
13225 (grub_xputs_normal): Likewise.
13226 * term/efi/console.c (grub_console_putchar): Output diacritics.
13227 (grub_console_getcharwidth): Removed.
13228 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
13229 * term/gfxterm.c (clear_char): Free chars.
13230 (scroll_up): Avoid leaking memory.
13231 (grub_gfxterm_putchar): Support diacritics.
13232 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
13233 * term/i386/pc/console.c (grub_console_term_output): Declare as
13234 GRUB_TERM_CODE_TYPE_VGA.
13235 * term/i386/pc/vga.c (grub_vga_term): Declare as
13236 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
13237 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
13238 GRUB_TERM_CODE_TYPE_VGA.
13239 * term/i386/vga_common.c (map_char): Removed.
13240 (grub_console_putchar): Likewise.
13241 (grub_console_getcharwidth): Likewise.
13242 * term/ieee1275/ofconsole.c: Simplify using terminfo.
13243 (colors): Reordered to match terminfo.
13244 (grub_ofconsole_normal_color): Removed.
13245 (grub_ofconsole_writeesc): Likewise.
13246 (grub_ofconsole_highlight_color): Likewise.
13247 (grub_ofconsole_getcharwidth): Likewise.
13248 (grub_ofconsole_setcolorstate): Likewise.
13249 (grub_ofconsole_setcolor): Likewise.
13250 (grub_ofconsole_getcolor): Likewise.
13251 (grub_ofconsole_readkey): Renamed to ...
13252 (readkey): ... this. Remove escape sequence handling. Return -1 on no
13253 key.
13254 (grub_ofconsole_checkkey): Removed.
13255 (grub_ofconsole_getkey): Likewise.
13256 (grub_ofconsole_getxy): Likewise.
13257 (grub_ofconsole_gotoxy): Likewise.
13258 (grub_ofconsole_cls): Likewise.
13259 (grub_ofconsole_refresh): Likewise.
13260 (grub_ofconsole_terminfo_input): New struct.
13261 (grub_ofconsole_terminfo_output): Likewise.
13262 (grub_ofconsole_term_input): Use terminfo.
13263 (grub_ofconsole_term_output): Likewise.
13264 (grub_console_init): Split into ...
13265 (grub_console_init_early): ...this and ...
13266 (grub_console_init_lately): ...this. Use terminfo.
13267 (grub_ofconsole_putchar): Renamed to ...
13268 (put): ... this. Remove mapping.
13269 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
13270 * term/serial.c: Simplify using terminfo.
13271 (xpos): Removed.
13272 (ypos): Likewise.
13273 (keep_track): Likewise.
13274 (registered): Likewise.
13275 (input_buf): Likewise.
13276 (npending): Likewise.
13277 (serial_translate_key_sequence): Likewise.
13278 (fill_input_buf): Likewise.
13279 (grub_serial_checkkey): Likewise.
13280 (grub_serial_getkey): Likewise.
13281 (grub_serial_getxy): Likewise.
13282 (grub_serial_gotoxy): Likewise.
13283 (grub_serial_putchar): Likewise.
13284 (grub_serial_cls): Likewise.
13285 (grub_serial_setcolorstate): Likewise.
13286 (grub_serial_setcursor): Likewise.
13287 (serial_hw_init): Use serial_hw_fetch.
13288 (grub_serial_terminfo_input): New variable.
13289 (grub_serial_terminfo_output): Likewise.
13290 (grub_serial_term_input): Use terminfo.
13291 (grub_serial_term_output): Likewise.
13292 * term/terminfo.c (putstr): Use put.
13293 (grub_terminfo_all_free): New function
13294 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
13295 (grub_terminfo_output_register): New function.
13296 (grub_terminfo_output_unregister): Likewise.
13297 (grub_terminfo_getxy): Likewise.
13298 (grub_terminfo_readkey): Likewise.
13299 (grub_terminfo_checkkey): Likewise.
13300 (grub_terminfo_getkey): Likewise.
13301 (grub_terminfo_input_init): Likewise.
13302 (print_terminfo): Likewise.
13303 (grub_cmd_terminfo): Handle encoding.
13304 (grub_terminfo_gotoxy): Track position.
13305 (grub_terminfo_cls): Likewise.
13306 (grub_terminfo_putchar): Likewise.
13307 (grub_terminfo_setcolorstate): Handle colors
13308 (grub_terminfo_cursor_on): This ...
13309 (grub_terminfo_cursor_off): ... and this merged into ...
13310 (grub_terminfo_setcursor): ... this.
13311 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
13312 * unicode/ArabicShaping.txt: New file (imported from Unicode).
13313 * unicode/BidiMirroring.txt: Likewise.
13314 * unicode/UnicodeData.txt: Likewise.
13315 * unicode/COPYING: Likewise.
13316 * util/grub-editenv.c (grub_putchar): Removed.
13317 (grub_xputs_real): New function.
13318 (grub_xputs): New variable.
13319 * util/grub-fstest.c (grub_putchar): Removed.
13320 (grub_xputs_real): New function.
13321 (grub_xputs): New variable.
13322 * util/grub-mkdevicemap.c (grub_putchar): Removed.
13323 (grub_xputs_real): New function.
13324 (grub_xputs): New variable.
13325 * util/grub-probe.c (grub_putchar): Removed.
13326 (grub_xputs_real): New function.
13327 (grub_xputs): New variable.
13328 * util/grub-script-check.c (grub_putchar): Removed.
13329 (grub_xputs_real): New function.
13330 (grub_xputs): New variable.
13331 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
13332 (grub_xputs_real): New function.
13333 (grub_xputs): New variable.
13334 * util/import_unicode.py: New file.
13335 * util/grub-mkfont.c (ft_errmsgs): New array.
13336 (grub_glyph_info): Make bitmap a pointer.
13337 (file_formats): New type WIDTH_SPEC.
13338 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
13339 (options): Add width-spec.
13340 (help): Likewise.
13341 (add_char): Renamed to ...
13342 (add_glyph): ... this.
13343 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
13344 (glyph_replace): New type.
13345 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
13346 (add_char): New function.
13347 (add_subst): Likewise.
13348 (process_cursive): Likewise.
13349 (add_font): Handle GSUB.
13350 (write_font_width_spec): New function.
13351 (main): Sort glyphs.
13352 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
13353 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
13354 * kern/term.c (grub_cls): Moved from here...
13355 * normal/term.c (grub_cls): ... here.
13356
50f0bcda
CW
133572010-07-02 Colin Watson <cjwatson@ubuntu.com>
13358
13359 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
13360 suitable for using within the format argument of printf when
13361 converting grub_size_t.
13362 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
13363 "x" to convert grub_size_t arguments.
13364
40372103
VS
133652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13366
13367 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
13368 too long captions.
13369 (list_get_minimal_size): Take selection box into account.
13370
942a10c7
VS
133712010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13372
13373 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
13374 NULL font.
13375
2bdb2892
CW
133762010-07-02 Colin Watson <cjwatson@ubuntu.com>
13377
13378 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
13379 devices when iterating over /dev/disk/by-id; they will be handled
13380 later if appropriate, which they aren't always (e.g. LVM).
13381
e03ed6c1
CW
133822010-07-02 Colin Watson <cjwatson@ubuntu.com>
13383
13384 * include/grub/misc.h (grub_reboot): Declare as noreturn.
13385 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
13386 fails.
13387 (grub_halt): Likewise.
13388 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
13389 reset-all fails.
13390 (grub_halt): Don't return, even if all of shut-down, power-off, and
13391 poweroff fail.
13392
47695765
CW
133932010-07-02 Colin Watson <cjwatson@ubuntu.com>
13394
13395 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
13396 arguments, not three.
13397
507736c8
CW
133982010-07-02 Colin Watson <cjwatson@ubuntu.com>
13399
13400 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
13401 * util/grub.d/10_linux.in: Use it to check for LVM, so that
13402 LVM-on-RAID is handled correctly.
13403
e3c8cd37
CW
134042010-07-02 Colin Watson <cjwatson@ubuntu.com>
13405
13406 * docs/grub.texi (Changes from GRUB Legacy): New section.
13407 (Future): Fix typo.
13408
8d4a2fec
CW
134092010-07-02 Colin Watson <cjwatson@ubuntu.com>
13410
13411 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
13412 grub.d/README accidentally ends up executable for one reason or
13413 another. Ignore it.
13414
1c4827be
VS
134152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
13418 (gpt_partition_map_iterate): Support non-512B sectors.
13419
d9a0c941
VS
134202010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 * kern/efi/init.c (grub_efi_init): Disable watchdog.
13423 Tested by: Seth Goldberg.
13424
48f27e87
VS
134252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
13428 Properly align mbi.
13429 Reported by: Seth Goldberg.
13430
b0c4f956
VS
134312010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
13432
13433 * util/grub-mkrescue.in: Avoid module duplication.
13434
105a2e8c
SF
134352010-07-01 Sean Finney <seanius@seanius.net>
13436
13437 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
13438
5944958c
SF
134392010-07-01 Sean Finney <seanius@seanius.net>
13440
13441 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
13442
134432010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
13444
13445 * disk/lvm.c (grub_lvm_checkvalue): New function.
13446 (grub_lvm_check_flag): Likewise.
13447
b79889ba
RM
134482010-07-01 Robert Millan <rmh@gnu.org>
13449
13450 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
13451 Support 'p' as partition separator on kernel of FreeBSD (used
13452 with GPT labels).
13453 (grub_util_biosdisk_get_grub_dev): Likewise.
13454
ec1d04f1
VS
134552010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 Yeeloong firmware port.
13458
13459 * boot/mips/yeeloong/fwstart.S: New file.
13460 * bus/cs5536.c (gpiodump): New const.
13461 (set_io_space): New function.
13462 (set_iod): Likewise.
13463 (set_p2d): Likewise.
13464 (grub_cs5536_init_geode): Likewise.
13465 * commands/mips/yeeloong/lsspd.c: New file.
13466 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
13467 (serial_mod_SOURCES): New variable.
13468 (serial_mod_CFLAGS): Likewise.
13469 (serial_mod_LDFLAGS): Likewise.
13470 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
13471 term/terminfo.c and term/tparm.c.
13472 (pkglib_IMAGES): Add fwstart.img.
13473 (fwstart_img_SOURCES): New variable.
13474 (fwstart_img_CFLAGS): Likewise.
13475 (fwstart_img_ASFLAGS): Likewise.
13476 (fwstart_img_LDFLAGS): Likewise.
13477 (fwstart_img_FORMAT): Likewise.
13478 (pkglib_MODULES): Add lsspd.mod.
13479 (lsspd_mod_SOURCES): New variable.
13480 (lsspd_mod_CFLAGS): Likewise.
13481 (lsspd_mod_LDFLAGS): Likewise.
13482 (pkglib_MODULES): Add halt.mod.
13483 (halt_mod_SOURCES): New variable.
13484 (halt_mod_CFLAGS): Likewise.
13485 (halt_mod_LDFLAGS): Likewise.
13486 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
13487 (serial_mod_SOURCES): Removed.
13488 (serial_mod_CFLAGS): Likewise.
13489 (serial_mod_LDFLAGS): Likewise.
13490 * disk/ata.c (check_device): New function.
13491 (grub_ata_device_initialize): Use check_device.
13492 (grub_ata_iterate): Recheck devices.
13493 (grub_ata_open): Likewise.
13494 (grub_atapi_iterate): Likewise.
13495 (grub_atapi_open): Likewise.
13496 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
13497 (GRUB_ATA_CH1_PORT1): Likewise.
13498 (GRUB_ATA_CH0_PORT2): Likewise.
13499 (GRUB_ATA_CH1_PORT2): Likewise.
13500 * include/grub/mips/loongson.h: New file.
13501 * include/grub/mips/yeeloong/ec.h: Likewise.
13502 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
13503 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
13504 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
13505 * include/grub/misc.h (grub_halt): Declare as noreturn.
13506 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
13507 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
13508 (UART_ENABLE_FIFO_TRIGGER1): New definition.
13509 (UART_ENABLE_DTRRTS): Likewise.
13510 (UART_ENABLE_MODEM): Removed.
13511 (UART_ENABLE_OUT2): New const.
13512 * include/grub/term.h (grub_term_register_input_active): New function.
13513 (grub_term_register_output_active): Likewise.
13514 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
13515 argument.
13516 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
13517 (init_pci): New function.
13518 (grub_machine_init): Execute platform init when firmware. Init serial.
13519 (grub_halt): Implement.
13520 (grub_exit): Likewise.
13521 (grub_reboot): Likewise.
13522 * term/serial.c (serial_hw_init): Update macros.
13523 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
13524 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
13525 (image_targets): New target mipsel-yeeloong-flash.
13526 (generate_image): Support IMAGE_YEELOONG_FLASH.
13527 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
13528 (grub_video_sm712_setup): Init card.
13529 (grub_video_sm712_set_palette): Removed.
13530 * video/sm712_init.c: New file.
13531
ff4a70d2
CW
135322010-06-30 Colin Watson <cjwatson@ubuntu.com>
13533
13534 * Makefile.in (install-local): Temporarily prepend $(builddir) to
13535 PATH when running help2man and then run it on the unadorned
13536 executable names, rather than passing $(builddir)/* paths to
13537 help2man. This avoids the build directory ending up in generated
13538 manual pages.
13539
1246efeb
CW
135402010-06-29 Colin Watson <cjwatson@ubuntu.com>
13541
13542 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
13543 to avoid accidents when debugging with 'sh -x'.
13544 * util/grub-mkrescue.in: Likewise.
13545 * util/grub.d/00_header.in: Likewise.
13546 * util/grub.d/10_hurd.in: Likewise.
13547 * util/grub.d/10_kfreebsd.in: Likewise.
13548 * util/grub.d/10_linux.in: Likewise.
13549 * util/grub.d/10_netbsd.in: Likewise.
13550 * util/grub.d/10_windows.in: Likewise.
13551 * util/grub.d/20_linux_xen.in: Likewise.
13552 * util/grub.d/30_os-prober.in: Likewise.
13553 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13554
1ba9b889
CW
135552010-06-29 Colin Watson <cjwatson@ubuntu.com>
13556
13557 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
13558 last character in the buffer.
13559 Reported by: Vladimir Serbinenko.
13560
dccaf99d
RM
135612010-06-29 Robert Millan <rmh@gnu.org>
13562
13563 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
13564 (Command-line and menu entry commands): Document `badram' command.
13565
d500ed12
RM
135662010-06-28 Robert Millan <rmh@gnu.org>
13567
13568 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
13569 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
13570 command using ${GRUB_BADRAM} as parameter.
13571
20bc84a6
CW
135722010-06-28 Colin Watson <cjwatson@ubuntu.com>
13573
13574 * docs/grub.texi (Device map): New section.
13575 (Themes): New section (stub).
13576 * Makefile.in (docs/grub.info): The info documentation now builds
13577 without errors. Make sure it stays that way.
13578
4045dee1
VS
135792010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13580
13581 Use normal parser for menu entries.
13582 Reported by: Thomas Frauendorfer
13583
13584 * include/grub/parser.h (grub_parser_execute): Don't export.
13585 * normal/menu.c (grub_menu_execute_entry_real): New function.
13586 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
13587
bca58c7b
CW
135882010-06-28 Colin Watson <cjwatson@ubuntu.com>
13589
13590 * docs/grub.texi (Embedded configuration): New section (replacing
13591 old "Preset Menu" stub).
13592 (Images): New section.
13593 (configfile): Note that any menu entries defined in `file' are shown
13594 immediately.
13595
dec53e63
JT
135962010-06-28 Josh Triplett <josh@joshtriplett.org>
13597
13598 * mmap/i386/pc/mmap_helper.S: Set CF on return.
13599
c06e40f7
CW
136002010-06-28 Colin Watson <cjwatson@ubuntu.com>
13601
13602 * util/grub-install.in: Add --debug-image= option.
13603
cb88052b
CW
136042010-06-28 Colin Watson <cjwatson@ubuntu.com>
13605
13606 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
13607 possible on Linux.
13608
13609 * util/deviceiter.c (check_device): Rename to ...
13610 (check_device_readable_unique): ... this. Update all callers.
13611 Maintain and check a list of which devices (by canonicalized name)
13612 have already been seen.
13613 (clear_seen_devices): New function.
13614 (compare_file_names) [__linux__]: New function.
13615 (grub_util_iterate_devices): Clear the list of seen devices on exit
13616 and (just in case) on entry.
13617 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
13618 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
13619 seen-devices list, superseded by general code in check_device.
13620
bbe34652
CW
136212010-06-28 Colin Watson <cjwatson@ubuntu.com>
13622
13623 * commands/cat.c (options): New variable.
13624 (grub_cmd_cat): Parse options. If the --dos option is given, print
13625 DOS-style "\r\n" line endings as simple newlines (Debian bug
13626 #586358).
13627 (GRUB_MOD_INIT): Use extcmd.
13628 (GRUB_MOD_FINI): Likewise.
13629 * docs/grub.texi (cat): Document --dos.
13630
412e09f3
VS
136312010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 XEN with Linux grub-mkconfig support.
13634
13635 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
13636 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
13637 GRUB_CMDLINE_XEN_DEFAULT.
13638 * util/grub.d/20_linux_xen.in: New file.
13639
53f3ef38 136402010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
13641
13642 Initialise VGA video on qemu ourselves.
13643
13644 * boot/i386/qemu/boot.S: Don't call 0xc000.
13645 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
13646 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
13647 (kernel_img_HEADERS): Add pci.h.
13648 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
13649 * configure.ac: Force unifont on qemu and yeeloong.
13650 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
13651 (grub_vga_palette_write): Use correct register.
13652 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
13653 Call grub_qemu_init_cirrus.
13654 * kern/i386/qemu/init.c: New file.
13655 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
13656
13657 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
13658
c75be4fb
PR
136592010-06-26 Pavel Roskin <proski@gnu.org>
13660
13661 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
13662 13.
13663
d8034603
CW
136642010-06-26 Colin Watson <cjwatson@ubuntu.com>
13665
13666 * docs/grub.texi (Simple configuration): Explain that
13667 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
13668 set to `true' to disable their respective recovery entries, not
13669 merely set.
13670
3fa06487
CW
136712010-06-26 Colin Watson <cjwatson@ubuntu.com>
13672
13673 Make the `source' command slightly faster.
13674
13675 * normal/main.c (grub_normal_execute): Don't re-read list files when
13676 nested.
13677
e9b29642
CW
136782010-06-23 Colin Watson <cjwatson@ubuntu.com>
13679
13680 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
13681 field position and mask size to red fields from mode_info, not
13682 green.
13683 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
13684 Remove redundant tag->common.framebuffer_type assignment.
13685 Reported by: Seth Goldberg.
13686
e726542f
CW
136872010-06-23 Colin Watson <cjwatson@ubuntu.com>
13688
13689 Sync up other versions of the Linux loader with Robert Millan's
13690 change of 2010-01-09, "Make loader output a bit more user-friendly".
13691
13692 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
13693 grub_dprintf().
13694 (grub_cmd_linux): Likewise.
13695 (grub_cmd_initrd): Likewise.
13696 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
13697 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13698
d6e98a17
CW
136992010-06-21 Colin Watson <cjwatson@ubuntu.com>
13700
13701 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
13702 larger than MEMORY_MAP_SIZE.
13703
14d3f08e
BC
137042010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
13705
13706 Fix parallel build.
13707
13708 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
13709 dependency.
13710 * script/parser.y: #include grub_script.tab.h header.
13711
4f9613a3
VS
137122010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 Support >3GiB and <16MiB RAM in i386-qemu.
13715
13716 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
13717 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
13718 (grub_lower_mem): Removed.
13719 (grub_upper_mem): Likewise.
13720 (mem_size): Made static.
13721 (above_4g): New variable.
13722 (grub_machine_mmap_init): Detect small mem_size and above_4g.
13723 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
13724 support.
13725
05e51879
VS
137262010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 Cirrus 5446 and Bochs video cards support.
13729
13730 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
13731 video_bochs.mod
13732 (video_cirrus_mod_SOURCES): New variable.
13733 (video_cirrus_mod_CFLAGS): Likewise.
13734 (video_cirrus_mod_LDFLAGS): Likewise.
13735 (video_bochs_mod_SOURCES): Likewise.
13736 (video_bochs_mod_CFLAGS): Likewise.
13737 (video_bochs_mod_LDFLAGS): Likewise.
13738 * include/grub/vga.h: New file.
13739 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
13740 (grub_video_fb_set_page_t): New type.
13741 (grub_video_fb_setup): New prototype.
13742 (grub_video_fb_swap_buffers): Likewise.
13743 (grub_video_fb_get_info_and_fini): Likewise.
13744 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
13745 (CRTC_DATA_PORT): Likewise.
13746 (CRTC_CURSOR): Likewise.
13747 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13748 (CRTC_CURSOR_ADDR_LOW): Likewise.
13749 (CRTC_CURSOR_DISABLE): Likewise.
13750 (update_cursor): Use grub_vga_cr_write.
13751 (grub_vga_text_setcursor): Likewise.
13752 * video/bochs.c: New file.
13753 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
13754 (palette): Likewise.
13755 (palette_size): Likewise.
13756 (framebuffer): New variable.
13757 (grub_video_fb_init): Use 'framebuffer'.
13758 (grub_video_fb_fini): Likewise.
13759 (grub_video_fb_get_info): Likewise.
13760 (grub_video_fb_get_palette): Likewise.
13761 (grub_video_fb_set_palette): Likewise.
13762 (grub_video_fb_set_viewport): Likewise.
13763 (grub_video_fb_get_viewport): Likewise.
13764 (grub_video_fb_map_color): Likewise.
13765 (grub_video_fb_map_rgb): Likewise.
13766 (grub_video_fb_map_rgba): Likewise.
13767 (grub_video_fb_unmap_color): Likewise.
13768 (grub_video_fb_unmap_color_int): Likewise.
13769 (grub_video_fb_fill_rect): Likewise.
13770 (grub_video_fb_blit_bitmap): Likewise.
13771 (grub_video_fb_blit_render_target): Likewise.
13772 (grub_video_fb_scroll): Likewise.
13773 (grub_video_fb_create_render_target): Likewise.
13774 (grub_video_fb_doublebuf_blit_init): Likewise.
13775 (grub_video_fb_set_active_render_target): Handle doublebuffering.
13776 (doublebuf_pageflipping_update_screen): New function.
13777 (doublebuf_pageflipping_init): Likewise.
13778 (grub_video_fb_setup): Likewise.
13779 (grub_video_fb_swap_buffers): Likewise.
13780 (grub_video_fb_get_info_and_fini): Likewise.
13781 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
13782 All users updated.
13783 (doublebuf_pageflipping_commit): Restructured into ...
13784 (doublebuf_pageflipping_set_page): ... this.
13785 (doublebuf_pageflipping_update_screen): Removed.
13786 (doublebuf_pageflipping_init): Likewise.
13787 (double_buffering_init): Likewise.
13788 (grub_video_vbe_setup): Use grub_video_fb_setup.
13789 (grub_video_vbe_swap_buffers): Removed.
13790 (grub_video_vbe_set_active_render_target): Likewise.
13791 (grub_video_vbe_get_active_render_target): Likewise.
13792 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
13793 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
13794 grub_video_fb_set_active_render_target and
13795 grub_video_fb_get_active_render_target.
13796 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
13797 (SEQUENCER_DATA_PORT): Likewise.
13798 (MAP_MASK_REGISTER): Likewise.
13799 (CRTC_ADDR_PORT): Likewise.
13800 (CRTC_DATA_PORT): Likewise.
13801 (START_ADDR_HIGH_REGISTER): Likewise.
13802 (START_ADDR_LOW_REGISTER): Likewise.
13803 (GRAPHICS_ADDR_PORT): Likewise.
13804 (GRAPHICS_DATA_PORT): Likewise.
13805 (READ_MAP_REGISTER): Likewise.
13806 (INPUT_STATUS1_REGISTER): Likewise.
13807 (INPUT_STATUS1_VERTR_BIT): Likewise.
13808 (get_map_mask): Use grub_vga_sr_read.
13809 (set_map_mask): Use grub_vga_sr_write.
13810 (set_read_map): Use grub_vga_gr_write.
13811 (set_start_address): Use grub_vga_cr_write.
13812 * video/sm712.c (framebuffer): Remove leftover fields.
13813
4321c64a
CW
138142010-06-20 Colin Watson <cjwatson@ubuntu.com>
13815
13816 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
13817 setting GRUB_VIDEO_BACKEND. Make it available as a user override
13818 instead. Replace the gfxterm backend check with a check that
13819 ${GRUB_PREFIX}/video.lst is non-empty.
13820 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
13821 again.
13822 (load_video): New generated function. Call it before loading
13823 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
13824 * util/grub.d/10_linux.in (linux_entry): Call load_video.
13825 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
13826 * docs/grub.texi (Simple configuration): Document
13827 GRUB_VIDEO_BACKEND.
13828
138292010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13830
13831 Use video functions in linux and xnu loaders.
13832
13833 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
13834 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
13835 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
13836 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
13837 loader/i386/pc/linux.c.
13838 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
13839 (find_line_len): Removed.
13840 (find_framebuf): Likewise.
13841 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
13842 * loader/i386/efi/xnu.c: Removed.
13843 * loader/i386/pc/xnu.c: Moved from here...
13844 * loader/i386/xnu.c: ...here.
13845
13846 Enable priorities in video drivers.
13847
13848 * include/grub/video.h (grub_video_adapter_prio_t): New type.
13849 (grub_video_adapter): New field prio.
13850 (grub_video_register): Respect prio when inserting.
13851 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
13852 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
13853 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
13854 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
13855 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
13856 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
13857 * video/sm712.c (grub_video_sm712_adapter): Likewise.
13858
13859 Fix SDL driver ID.
13860
13861 * include/grub/video.h (grub_video_driver_id_t): New value
13862 GRUB_VIDEO_DRIVER_SDL.
13863 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
13864
7d24e434
CW
138652010-06-17 Colin Watson <cjwatson@ubuntu.com>
13866
13867 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
13868 argument to printf.
13869 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13870
c88a83f6
CW
138712010-06-17 Colin Watson <cjwatson@ubuntu.com>
13872
13873 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
13874 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13875
094dfb69
CW
138762010-06-17 Colin Watson <cjwatson@ubuntu.com>
13877
13878 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
13879 directly, and recommend grub-install instead.
13880 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13881
2164da6b
CW
138822010-06-17 Colin Watson <cjwatson@ubuntu.com>
13883
13884 Fix i386-pc prefix handling with nested partitions (Debian bug
13885 #585068). Note that the case where the core image is booted using
13886 multiboot and relocated from its original location still requires
13887 more work.
13888
13889 * kern/i386/pc/init.c (make_install_device): If the prefix starts
13890 with "(,", fill the boot drive in between those two characters, but
13891 expect that a full partition specification including partition map
13892 names will follow.
13893 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
13894 specified, write a prefix without the drive name but including a
13895 full partition specification.
13896
044e2e60
CW
138972010-06-16 Colin Watson <cjwatson@ubuntu.com>
13898
13899 * util/grub-mkconfig.in: Ignore non-option arguments, for
13900 compatibility with older versions (before 2010-06-12) which did the
13901 same. In particular, this makes it easier to ship an update-grub
13902 wrapper which is compatible with that used with GRUB Legacy (Debian
13903 bug #586056).
13904
5591324f
GS
139052010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13906
13907 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
13908 for manual page generation.
13909
662e24d5
GS
139102010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13911
13912 * po/POTFILES: Remove leftover commands/handler.c.
13913
8d70754e
CW
139142010-06-14 Colin Watson <cjwatson@ubuntu.com>
13915
13916 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
13917 left this script non-functional.
13918
41160e2e
CW
139192010-06-14 Colin Watson <cjwatson@ubuntu.com>
13920
13921 * docs/man/grub-emu.h2m: New file.
13922
b5309cc1
CW
139232010-06-13 Colin Watson <cjwatson@ubuntu.com>
13924
13925 * docs/grub.texi (Commands): Document reduced command set in rescue
13926 mode.
13927 (cpuid): New section.
13928
fcb2d090
GS
139292010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
13930
13931 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
13932 new partition naming style.
13933 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
13934
96e5c556
BC
139352010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
13936
13937 Add "-o grub.iso" like cmdline options support.
13938
13939 * util/grub-install.in: Improve cmdline option parsing.
13940 * util/grub-mkconfig.in: Likewise.
13941 * util/grub-mkrescue.in: Likewise.
13942 * util/grub-reboot.in: Likewise.
13943 * util/grub-set-default.in: Likewise.
13944 * util/i386/efi/grub-install.in: Likewise.
13945 * util/ieee1275/grub-install.in: Likewise.
13946 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13947
c16be99b
CW
139482010-06-12 Colin Watson <cjwatson@ubuntu.com>
13949
13950 * .bzrignore: Ignore 41_custom.
13951
ce08a9fb
TS
139522010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13953
13954 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
13955
7beac90c
CW
139562010-06-12 Colin Watson <cjwatson@ubuntu.com>
13957
13958 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
13959 prototype declarations.
13960
13961 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
13962 generating fs, partmap, and video lists.
13963 * include/grub/fs.h (grub_fs_register): Omit prototype if
13964 GRUB_LST_GENERATOR is defined.
13965 * include/grub/partition.h (grub_partition_map_register): Likewise.
13966 * include/grub/video.h (grub_video_register): Likewise.
13967
1c8f0f8d
JM
139682010-06-12 Javier Martín <lordhabbit@gmail.com>
13969
13970 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
13971
a6085973
TS
139722010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13973
13974 * util/grub-mkrescue.in: Support --xorriso argument.
13975
25c56d29
VS
139762010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
13979 Suggested by: Thomas Schmitt.
13980
e03e4b24
VS
139812010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
13984 Suggested by: Thomas Schmitt.
13985
57711df6
VS
139862010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 custom.cfg support.
13989
13990 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
13991 * util/grub.d/41_custom.in: New file.
13992
ee62c427
CW
139932010-06-12 Colin Watson <cjwatson@ubuntu.com>
13994
13995 * util/grub-mkrescue.in (make_image): Remove sh module, which has
13996 been merged back into normal.
13997
283af07a
CW
139982010-06-11 Colin Watson <cjwatson@ubuntu.com>
13999
14000 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
14001 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
14002
56a0d956
CW
140032010-06-11 Colin Watson <cjwatson@ubuntu.com>
14004
14005 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
14006 when generating manual pages.
14007 * docs/man/grub-bin2h.h2m: New file.
14008 * docs/man/grub-editenv.h2m: New file.
14009 * docs/man/grub-fstest.h2m: New file.
14010 * docs/man/grub-install.h2m: New file.
14011 * docs/man/grub-macho2img.h2m: New file.
14012 * docs/man/grub-mkconfig.h2m: New file.
14013 * docs/man/grub-mkdevicemap.h2m: New file.
14014 * docs/man/grub-mkfont.h2m: New file.
14015 * docs/man/grub-mkimage.h2m: New file.
14016 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
14017 * docs/man/grub-mkrelpath.h2m: New file.
14018 * docs/man/grub-mkrescue.h2m: New file.
14019 * docs/man/grub-ofpathname.h2m: New file.
14020 * docs/man/grub-pe2elf.h2m: New file.
14021 * docs/man/grub-probe.h2m: New file.
14022 * docs/man/grub-reboot.h2m: New file.
14023 * docs/man/grub-script-check.h2m: New file.
14024 * docs/man/grub-set-default.h2m: New file.
14025 * docs/man/grub-setup.h2m: New file.
14026
3a37e322
VS
140272010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 Use FOR_* macros instead of *_iterate whenever possible.
14030
14031 * commands/handler.c: Removed.
14032 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
14033 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
14034 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14035 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
14036 (grub_probe_SOURCES): Remove kern/parser.c.
14037 (util/grub-script-check.c_DEPENDENCIES): Removed.
14038 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
14039 and grub_script_check_init.c.
14040 (grub_script_check_init.lst): Removed.
14041 (grub_script_check_init.h): Likewise.
14042 (grub_script_check_init.c): Likewise.
14043 (pkglib_MODULES): Remove handler.mod and sh.mod.
14044 (handler_mod_SOURCES): Removed.
14045 (handler_mod_CFLAGS): Likewise.
14046 (handler_mod_LDFLAGS): Likewise.
14047 (normal_mod_SOURCES): Remove normal/handler.c.
14048 Add script/main.c, script/script.c, script/execute.c,
14049 script/function.c, script/lexer.c, grub_script.tab.c
14050 and grub_script.yy.c.
14051 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14052 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14053 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
14054 (grub_setup_SOURCES): Remove kern/parser.c.
14055 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14056 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
14057 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14058 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14059 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14060 (grub_setup_SOURCES): Remove kern/parser.c.
14061 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14062 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
14063 * include/grub/command.h (grub_command_iterate): Removed.
14064 (FOR_COMMANDS): New macro.
14065 * include/grub/dl.h (grub_dl): New member next.
14066 (grub_dl_iterate): Removed.
14067 (grub_dl_head): New variable declaration.
14068 (FOR_DL_MODULES): New macro.
14069 * include/grub/fs.h: Include list.h.
14070 (grub_fs): Make next first element.
14071 (grub_fs_list): New variable declaration.
14072 (grub_fs_register): Make inline.
14073 (grub_fs_unregister): Likewise.
14074 (grub_fs_iterate): Removed.
14075 (FOR_FILESYSTEMS): New macro.
14076 * include/grub/handler.h: Removed.
14077 * include/grub/list.h (grub_list_hook_t): Removed.
14078 (grub_list_test_t): Likewise.
14079 (grub_list_pop): Likewise.
14080 (grub_list_iterate): Likewise.
14081 (grub_list_insert): Likewise.
14082 (FOR_LIST_ELEMENTS): New macro.
14083 * include/grub/parser.h (grub_parser_class): Removed.
14084 (grub_parser_register): Likewise.
14085 (grub_parser_unregister): Likewise.
14086 (grub_parser_get_current): Likewise.
14087 (grub_parser_set_current): Likewise.
14088 (grub_register_rescue_parser): Likewise.
14089 (grub_rescue_parse_line): New function.
14090 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
14091 * include/grub/script_sh.h (grub_script_function_list): New variable
14092 declaration.
14093 (FOR_SCRIPT_FUNCTIONS): New macro.
14094 (grub_script_function_iterate): Removed.
14095 (grub_normal_parse_line): New prototype.
14096 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
14097 (FOR_DISABLED_TERM_INPUTS): Likewise.
14098 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14099 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14100 * include/grub/video.h (grub_video_adapter): Move 'next' to first
14101 element.
14102 (grub_video_register): Inline.
14103 (grub_video_unregister): Likewise.
14104 (grub_video_adapter_list): New variable declaration.
14105 (grub_video_iterate): Removed.
14106 (FOR_VIDEO_ADAPTERS): New macro.
14107 * kern/dl.c (grub_dl_list): Removed. All users updated.
14108 (grub_dl_iterate): Removed.
14109 * kern/fs.c (grub_fs_list): Make global.
14110 (grub_fs_register): Removed.
14111 (grub_fs_unregister): Likewise.
14112 (grub_fs_iterate): Likewise.
14113 * kern/handler.c: Removed.
14114 * kern/list.c (grub_list_pop): Removed.
14115 (grub_list_iterate): Likewise.
14116 (grub_list_insert): Likewise.
14117 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
14118 (grub_prio_list_insert): Don't use grub_list_insert.
14119 * kern/main.c (grub_register_rescue_parser): Don't call
14120 grub_register_rescue_parser.
14121 * kern/parser.c (grub_parser_class): Removed.
14122 (grub_parser_execute): Use grub_rescue_parse_line.
14123 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
14124 (grub_rescue_parser): Removed.
14125 (grub_register_rescue_parser): Likewise.
14126 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
14127 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
14128 (grub_auth_check_authentication): Likewise.
14129 * normal/completion.c (iterate_command): Removed.
14130 (grub_normal_do_completion): Use FOR_COMMANDS.
14131 * normal/handler.c: Removed.
14132 * normal/main.c (read_config_file): Remove parser changing.
14133 (grub_normal_execute): Don't call read_handler_list.
14134 (grub_normal_read_line_real): Statically allocate prompt.
14135 (grub_cmdline_run): Use grub_normal_parse_line.
14136 (GRUB_MOD_FINI): Don't call free_handler_list.
14137 * normal/menu_entry.c (run): Likewise.
14138 * script/function.c (grub_script_function_list): Make global.
14139 (grub_script_function_iterate): Removed.
14140 * script/main.c (grub_normal_parse_line): Make global.
14141 (grub_sh_parser): Removed.
14142 (GRUB_MOD_INIT): Likewise.
14143 (GRUB_MOD_FINI): Likewise.
14144 * tests/lib/functional_test.c (grub_functional_test): Use
14145 FOR_LIST_ELEMENTS.
14146 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
14147 (grub_test_run): Use FOR_LIST_ELEMENTS.
14148 * tests/lib/unit_test.c (main): Likewise.
14149 * util/deviceiter.c (grub_util_iterate_devices): Don't use
14150 grub_list_pop.
14151 * util/grub-fstest.c (grub_term_input_class): Removed.
14152 (grub_term_output_class): Likewise.
14153 * util/grub-probe.c: Likewise.
14154 * util/i386/pc/grub-setup.c: Likewise.
14155 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14156 * util/grub-script-check.c (main): Don't call grub_init_all and
14157 grub_fini_all.
14158 * video/video.c (grub_video_adapter_list): Make global.
14159 (grub_video_register): Removed.
14160 (grub_video_unregister): Likewise.
14161 (grub_video_iterate): Likewise.
14162
6289c3a7
VS
141632010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
14164
14165 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
14166 reported by Henrique Ferreiro.
14167
91460247
RM
141682010-06-09 Robert Millan <rmh@gnu.org>
14169
14170 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
14171 ones, when both are available.
14172
0ea7c4f9
GS
141732010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14174
14175 Make --version uniform and avoid hard-coded program name.
14176
14177 * util/grub-mkimage.c (main): Use `program_name' instead of
14178 hard-coded string.
14179 * util/i386/pc/grub-setup.c (main): Likewise.
14180 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
14181 * util/grub-install.in: Save the basename of $0 in $self, and use the
14182 latter in informational messages. Use the same format for --version
14183 as the binary programs.
14184 * util/grub-mkconfig.in: Likewise.
14185 * util/grub-mkrescue.in: Likewise.
14186 * util/grub-reboot.in: Likewise.
14187 * util/grub-set-default.in: Likewise.
14188 * util/i386/efi/grub-install.in: Likewise.
14189 * util/ieee1275/grub-install.in: Likewise.
14190 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14191
e8a6f3b6
GS
141922010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14193
14194 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
14195 embedding area. Use <= instead of == when checking for non-emptiness.
14196
f4d095d7
GS
141972010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14198
14199 * configure.ac: Add `.' to the directories searched for unifont.
14200
50e532ca
CW
142012010-06-08 Colin Watson <cjwatson@ubuntu.com>
14202
14203 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
14204 grub_script.yy.h.
14205
d39f3dec
CW
142062010-06-08 Colin Watson <cjwatson@ubuntu.com>
14207
14208 * docs/grub.texi (History): Expand to cover GRUB 2.
14209 (Serial terminal): Refer to `terminal_input' and `terminal_output'
14210 commands, not `terminal'.
14211 (serial): Likewise.
14212 (terminal_input): New section.
14213 (terminal_output): New section.
14214 (uppermem): New section (stub).
14215 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
14216
6ef0ddb4
CW
142172010-06-08 Colin Watson <cjwatson@ubuntu.com>
14218
14219 * docs/grub.texi (Security): Menu entries are unrestricted by
14220 default, not restricted to superusers as I had previously thought.
14221 Reword to account for this.
14222
e0f4c438
CW
142232010-06-07 Colin Watson <cjwatson@ubuntu.com>
14224
14225 * kern/emu/misc.c (device_mapper_null_log): New function.
14226 (grub_device_mapper_supported): New function.
14227 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
14228 prototype.
14229 * kern/emu/hostdisk.c (find_partition_start): Check whether
14230 device-mapper is supported before trying to use it.
14231 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
14232
da908200
CW
142332010-06-07 Colin Watson <cjwatson@ubuntu.com>
14234
14235 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
14236 (File name syntax): Likewise.
14237 (help): --all is no longer supported in GRUB 2. Be more precise
14238 about pattern matching.
14239
fb55c3ac
CW
142402010-06-07 Colin Watson <cjwatson@ubuntu.com>
14241
14242 * normal/completion.c (grub_normal_do_completion): When completing
14243 arguments to "set" and the current word contains an equals sign,
14244 skip to after the equals sign before starting completion.
14245
258c2573
CW
142462010-06-07 Colin Watson <cjwatson@ubuntu.com>
14247
14248 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
14249
ee75515e
CW
142502010-06-07 Colin Watson <cjwatson@ubuntu.com>
14251
14252 * docs/grub.texi (Network): New section.
14253 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
14254 `(nd)' as in GRUB Legacy.
14255 (pxe_unload): New section.
14256
a6a700aa
CW
142572010-06-07 Colin Watson <cjwatson@ubuntu.com>
14258
14259 * docs/grub.texi (Troubleshooting): `echo' is not usually available
14260 in the rescue shell, so recommend using `set' instead. Thanks,
14261 Jordan Uggla.
14262
4003dd38
CW
142632010-06-07 Colin Watson <cjwatson@ubuntu.com>
14264
14265 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
14266 (password): New section.
14267 (password_pbkdf2): New section.
14268 (search): New section.
14269 (Security): New section.
14270 (Troubleshooting): New section, currently very incomplete.
14271 (Invoking grub-mkpasswd-pbkdf2): New section.
14272 (Internals): New section, currently very incomplete.
14273
e1cbcc40
CW
142742010-06-07 Colin Watson <cjwatson@ubuntu.com>
14275
14276 * util/grub.d/00_header.in: Add some more quoting (of
14277 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
14278 work again.
14279 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
14280
db8fa1ad
CW
142812010-06-07 Colin Watson <cjwatson@ubuntu.com>
14282
14283 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
14284 to `count', fixing variable shadowing that broke the -c option.
14285
142862010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
14287
14288 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
14289 in case they contain spaces.
14290
f28a9212
CW
142912010-06-04 Colin Watson <cjwatson@ubuntu.com>
14292
14293 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
14294 "part_" to partmap module names, in line with grub-install.
14295 Reported by: Jindřich Makovička (Debian bug #584426).
14296
9cdfe32f
CW
142972010-06-04 Colin Watson <cjwatson@ubuntu.com>
14298
14299 * util/grub-mkimage.c: Make target-related error messages slightly
14300 more helpful; -O talks about "format". Explicitly point to the use
14301 of -O if no target is specified.
14302 Reported by: Didier Raboud (Debian bug #584415).
14303
795b593a
CW
143042010-06-03 Colin Watson <cjwatson@ubuntu.com>
14305
14306 * INSTALL: Document several build requirements for optional features
14307 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
14308
9d9b5833
GS
143092010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14310
14311 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
14312 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
14313 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
14314
0819fec8
CW
143152010-06-02 Colin Watson <cjwatson@ubuntu.com>
14316
14317 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
14318 Thanks to Jordan Uggla for spotting this.
14319
49396b4f
VS
143202010-06-02 Aleš Nesrsta <starous@volny.cz>
14321
14322 Finally make USB usable.
14323
14324 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
14325 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
14326 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
14327 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
14328 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
14329 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
14330 (GRUB_OHCI_FSMPS): Likewise.
14331 (GRUB_OHCI_PERIODIC_START): Likewise.
14332 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
14333 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
14334 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
14335 (GRUB_OHCI_SET_PORT_RESET): Likewise.
14336 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
14337 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
14338 (grub_ohci_transaction): Likewise.
14339 (grub_ohci_transfer): Improve condition detection algorithms.
14340 Handle toggle property. Program the transactions correctly.
14341 Improve error handling. Various important fixups.
14342 (grub_ohci_portstatus): Put register writes in right order.
14343 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
14344 (grub_uhci_transfer): Don't show "failed" message on success.
14345 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
14346 array.
14347 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
14348 determine its size.
14349 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
14350 before initialization is completed. Use IN direction for empty
14351 transfers. Use last_trans and compute toggle.
14352 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
14353 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
14354 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
14355 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
14356 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
14357 (grub_usb_device): Increase toggle to 256.
14358 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
14359 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
14360 GRUB_USBMS_SUBCLASS_SFF8070.
14361 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
14362 (grub_scsi_inquiry): New member page and alloc_length.
14363 (grub_scsi_request_sense): New structure.
14364 (grub_scsi_request_sense_data): Likewise.
14365 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
14366 control.
14367 * disk/scsi.c (grub_scsi_request_sense): New function.
14368 (grub_scsi_test_unit_ready): Likewise.
14369 (grub_scsi_inquiry): Fill new fields.
14370 (grub_scsi_read_capacity): Likewise.
14371 (grub_scsi_read10): Add request sense at the end.
14372 (grub_scsi_read12): Likewise.
14373 (grub_scsi_write10): Likewise.
14374 (grub_scsi_write12): Likewise.
14375 (grub_scsi_open): Add Test Unit Ready.
14376 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
14377 Support additional subclasses. Con't clear halt yet. Activate the
14378 proper config. Calculate LUNs correctly.
14379 (grub_usbms_transfer): Various important fixups.
14380
143812010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
14384 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
14385 (grub_ohci_fini_hw): New function.
14386 (grub_ohci_restore_hw): Likewise.
14387 (GRUB_MOD_INIT(ohci)): Register preboot hook.
14388 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
14389 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
14390
143912010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 Dedicated DMA allocations.
14394
14395 * bus/pci.c (grub_memalign_dma32): New function
14396 (grub_dma_free): Likewise.
14397 (grub_dma_get_virt): Likewise.
14398 (grub_dma_get_phys): Likewise.
14399 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
14400 (grub_ohci_pci_iter): Use dma32_alloc.
14401 (grub_ohci_transfer): Likewise.
14402 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14403 (grub_usb_bulk_readwrite): Likewise.
14404 * include/grub/pci.h: Add declarations.
14405
144062010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
14407
14408 CS5536 support.
14409
14410 * bus/cs5536.c: New file.
14411 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
14412 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
14413 (cs5536_mod_SOURCES): New variable.
14414 (cs5536_mod_CFLAGS): Likewise.
14415 (cs5536_mod_LDFLAGS): Likewise.
14416 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
14417 machine/pci.h.
14418 (kernel_img_SOURCES): Add bus/cs5536.c.
14419 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
14420 usb_keyboard.mod.
14421 (usb_mod_SOURCES): New variable.
14422 (usb_mod_CFLAGS): New variable.
14423 (usb_mod_LDFLAGS): New variable.
14424 (usbtest_mod_SOURCES): New variable.
14425 (usbtest_mod_CFLAGS): New variable.
14426 (usbtest_mod_LDFLAGS): New variable.
14427 (ohci_mod_SOURCES): New variable.
14428 (ohci_mod_CFLAGS): New variable.
14429 (ohci_mod_LDFLAGS): New variable.
14430 (usbms_mod_SOURCES): New variable.
14431 (usbms_mod_CFLAGS): New variable.
14432 (usbms_mod_LDFLAGS): New variable.
14433 (usb_keyboard_mod_SOURCES): New variable.
14434 (usb_keyboard_mod_CFLAGS): New variable.
14435 (usb_keyboard_mod_LDFLAGS): New variable.
14436 * include/grub/smbus.h: New file.
14437 * include/grub/cs5536.h: New file.
14438
0b35b2a9
CW
144392010-06-02 Colin Watson <cjwatson@ubuntu.com>
14440
14441 * util/grub.d/00_header.in: Add safety check to make sure that
14442 ${locale_dir} exists before trying to probe it.
14443
ca0afd5b
CW
144442010-06-02 Colin Watson <cjwatson@ubuntu.com>
14445
14446 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
14447 per the GNU Coding Standards; this is now too obscure to be worth
14448 documenting.
14449 (QNX): Likewise.
14450 (chainloader): Remove cross-reference to `SCO UnixWare'.
14451
1c41aa78
CW
144522010-06-02 Colin Watson <cjwatson@ubuntu.com>
14453
14454 * docs/grub.texi (Chain-loading): New section.
14455 (DOS/Windows): New section, borrowed from GRUB Legacy with details
14456 adjusted for GRUB 2.
14457 (SCO UnixWare): Likewise.
14458 (QNX): Likewise.
14459 (chainloader): Add reference to `Block list syntax'.
14460 (drivemap): New section.
14461 (parttool): New section.
14462
bb8ea0f5
CW
144632010-06-02 Colin Watson <cjwatson@ubuntu.com>
14464
14465 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
14466 the grub shell'.
14467 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
14468 (Installing GRUB using grub-install): Remove reference to the grub
14469 shell; mention `grub-mkimage' and `grub-setup' instead.
14470 (Invoking grub-install): Likewise.
14471 (Interface): Add reference to `Menu entry editor'.
14472 (serial): Remove `--device' option.
14473
288dd6ed
CW
144742010-06-02 Colin Watson <cjwatson@ubuntu.com>
14475
14476 * docs/grub.texi (Configuration): New section, documenting
14477 configuration file generation using grub-mkconfig. I've left a slot
14478 for documenting the full shell scripting format but have not yet
14479 started on writing that up.
14480 (Invoking grub-mkconfig): New section.
14481
34c9f0e9
CW
144822010-06-02 Colin Watson <cjwatson@ubuntu.com>
14483
14484 * docs/grub.texi (direntry): Remove grub-terminfo reference.
14485 (GNU GRUB manual): Likewise.
14486 (General commands): Update description of `terminfo' for GRUB 2.
14487
9121567e
CW
144882010-06-02 Colin Watson <cjwatson@ubuntu.com>
14489
14490 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
14491 (GRUB_MOD_INIT): Fix capitalisation.
14492 * docs/grub.texi (Command-line and menu entry commands): Document
14493 gettext and gptsync commands.
14494
ab631611
CW
144952010-06-02 Colin Watson <cjwatson@ubuntu.com>
14496
14497 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
14498 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
14499
bde4a9ac
CW
145002010-06-01 Colin Watson <cjwatson@ubuntu.com>
14501
14502 Add btrfs probing support, currently only in the single-device case.
14503
14504 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
14505 function.
14506 (grub_guess_root_device): Call find_root_device_from_mountinfo
14507 before looking in /dev.
14508
b1d17e10
VS
145092010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14510
14511 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
14512 GRUB_DISK_SIZE_UNKNOWN.
14513 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
14514
dfbfe004
JS
145152010-05-31 Jiro SEKIBA <jir@unicus.jp>
14516
14517 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
14518 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
14519 corrupted or not synced properly.
14520
c2ffc8e9
VS
145212010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
14524 Reported by: Seth Goldberg.
14525
56293166
VS
145262010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
14529 addition of dest.
14530 Reported by: Seth Goldberg.
14531
7620e7de
VS
145322010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
14535 Reported by: Seth Goldberg.
14536
c837af3f
VS
145372010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
14540 64-bit address as signed on MIPS.
14541
c7c75cf4
CW
145422010-05-28 Colin Watson <cjwatson@ubuntu.com>
14543
14544 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
14545 to the empty string.
14546
fa4b8490
BC
145472010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
14548
14549 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
14550
14551 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
14552 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
14553 * kern/misc.c (__enable_execute_stack): Disable on
14554 GRUB_MACHINE_EMU.
14555
a33075b9
CW
145562010-05-28 Colin Watson <cjwatson@ubuntu.com>
14557
14558 Make grub-probe work with symbolic links under /dev/mapper as well
14559 as with real block devices. The Linux world seems to be (at best)
14560 in transition here, and GRUB shouldn't get caught in the middle.
14561
14562 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
14563 /dev/mapper.
14564
d8708134
CW
145652010-05-27 Colin Watson <cjwatson@ubuntu.com>
14566
14567 * util/grub-script-check.c (main): Ensure defined behaviour on empty
14568 input files (in which case exit zero).
14569
db2102a0
CW
145702010-05-27 Colin Watson <cjwatson@ubuntu.com>
14571
14572 * kern/emu/misc.c (canonicalize_file_name): realpath can still
14573 return NULL for various reasons even if it has a maximum-length
14574 buffer: for example, there might be a symlink loop, or the path
14575 might exceed PATH_MAX. If this happens, return NULL.
14576
5fdba519
RM
145772010-05-27 Robert Millan <rmh@gnu.org>
14578
14579 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
14580 partmap module to handle cross-partmap setups.
14581 Reported by Orestes Mas. Gràcies!
14582
d1d368e4
CW
145832010-05-27 Colin Watson <cjwatson@ubuntu.com>
14584
14585 * util/grub-mkrescue.in: Initialise override_dir rather than
14586 assuming that it's unset or empty in the environment.
14587
95ac3c73
GS
145882010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
14589
14590 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
14591 variable index into p_index to suppress a warning with -Wshadow.
14592
7d8c0213
BC
145932010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
14594
14595 * INSTALL: Added flex >= 2.5.35 requirement.
14596
db4d5813
VS
145972010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
14600
f24f4300
VS
146012010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14602
14603 cmostest support.
14604
14605 * commands/i386/cmostest.c: New file.
14606 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
14607 (cmostest_mod_SOURCES): New variable.
14608 (cmostest_mod_CFLAGS): Likewise.
14609 (cmostest_mod_LDFLAGS): Likewise.
14610 * conf/i386-pc.rmk: Likewise.
14611 * docs/grub.texi (Vendor power-on keys): New section.
14612 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
14613 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
14614 and GRUB_BUTTON_CMOS_ADDRESS.
14615 * util/grub.d/00_header.in: Handle powering-on by separate button.
14616
ad603f61
VS
146172010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14618
14619 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
14620 Removed drawing_scrollbar argument. All users updated
14621 Fixes #29792.
14622 Reported by Jo Shields
14623
3ecb080a
VS
146242010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
14627 buffer since gfxterm handles double repaint.
14628
5f2316c1
VS
146292010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
14632 * term/gfxterm.c (real_scroll): Likewise.
14633
9a25f885
VS
146342010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
14637 before calling BIOS.
14638
39fbb79a
VS
146392010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14640
14641 * include/grub/i18n.h: Always enable grub_gettext.
14642
228cfa97
VS
146432010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14644
14645 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
14646 partition naming style.
14647
21717c8f
CW
146482010-05-21 Colin Watson <cjwatson@ubuntu.com>
14649
14650 * util/grub-mkconfig.in: Fix handling of -o so that it works when
14651 not the first option.
14652
c0f48e65
CW
146532010-05-20 Colin Watson <cjwatson@ubuntu.com>
14654
14655 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
14656
96779aec
CW
146572010-05-20 Colin Watson <cjwatson@ubuntu.com>
14658
14659 * util/misc.c: Move inclusion of <limits.h> to ...
14660 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
14661
fa9d256e
GS
146622010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
14663
14664 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
14665 Fix merge error in NetBSD code.
14666 (find_partition_start) [__NetBSD__]: Likewise.
14667
123b7a85
BC
146682010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
14669
14670 Fix grub-mkrescue usage unit testing.
14671
14672 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
14673
74276c0d
CF
146742010-05-18 Christian Franke <franke@computer.org>
14675
14676 * util/grub.d/10_windows.in: Use path names instead of
14677 drive letters to prevent warning from Cygwin 1.7.
14678 Add drivemap command to menuentry if needed.
14679
c4f7b523
ST
146802010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
14681
14682 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
14683 gnumach and gnumach.gz.
14684
95b97950
VS
146852010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * include/grub/i18n.h (gettext): Inline instead of using #define.
14688 (grub_gettext): Likewise.
14689 (_): Likewise.
14690
01b8d2d7
VS
146912010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
14694 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
14695 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
14696 (main): Add a slash after pkglibdirroot.
14697
654e1d1e
VS
146982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 * util/grub-install.in: Add missing "in" keyword.
14701
26966aeb
VS
147022010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14703
14704 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
14705 Reported by: Seth Goldberg.
14706
75006747
VS
147072010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
14710
74cbf5bd
CW
147112010-05-18 Colin Watson <cjwatson@ubuntu.com>
14712
14713 * configure.ac: Check for Linux device-mapper support.
14714
14715 * util/hostdisk.c (device_is_mapped): New function.
14716 (find_partition_start): New function, partly broken out from
14717 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
14718 device-mapper support added.
14719 (linux_find_partition): Use find_partition_start.
14720 (convert_system_partition_to_system_disk): Add `st' argument.
14721 Support Linux /dev/mapper/* devices if device-mapper support is
14722 available; only DM-RAID devices are understood at present.
14723 (find_system_device): Add `st' argument. Pass it to
14724 convert_system_partition_to_system_disk.
14725 (grub_util_biosdisk_get_grub_dev): Pass stat result to
14726 find_system_device and convert_system_partition_to_system_disk. Use
14727 find_partition_start.
14728
14729 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
14730 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
14731 * util/deviceiter.c [__linux__]: Define MINOR.
14732 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
14733 * util/mkdevicemap.c (grub_putchar): New function.
14734 (grub_getkey): New function.
14735 (grub_refresh): New function.
14736 (main): Set debug=all if -v -v is used.
14737
355b51e9
CW
147382010-05-18 Colin Watson <cjwatson@ubuntu.com>
14739
14740 Fix build with non-GNU libcs.
14741
14742 * util/misc.c (canonicalize_file_name): Move to ...
14743 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
14744 grub_make_system_path_relative_to_its_root.
14745
7fb5c25f
CW
147462010-05-18 Colin Watson <cjwatson@ubuntu.com>
14747
14748 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
14749 we handle finding grub-mkimage. Default to finding grub-mkimage in
14750 ${bindir} with program_transform_name applied, and provide a
14751 --grub-mkimage option to override this.
14752
1d3293d6
VS
147532010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14754
14755 Remove grub-mkisofs.
14756
14757 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
14758 (grub_mkisofs_SOURCES): Removed.
14759 (grub_mkisofs_CFLAGS): Removed.
14760 * util/mkisofs/defaults.h: Removed.
14761 * util/mkisofs/eltorito.c: Likewise.
14762 * util/mkisofs/exclude.h: Likewise.
14763 * util/mkisofs/hash.c: Likewise.
14764 * util/mkisofs/include/: Likewise.
14765 * util/mkisofs/include/fctldefs.h: Likewise.
14766 * util/mkisofs/include/mconfig.h: Likewise.
14767 * util/mkisofs/include/prototyp.h: Likewise.
14768 * util/mkisofs/include/statdefs.h: Likewise.
14769 * util/mkisofs/iso9660.h: Likewise.
14770 * util/mkisofs/joliet.c: Likewise.
14771 * util/mkisofs/match.c: Likewise.
14772 * util/mkisofs/match.h: Likewise.
14773 * util/mkisofs/mkisofs.c: Likewise.
14774 * util/mkisofs/mkisofs.h: Likewise.
14775 * util/mkisofs/msdos_partition.h: Likewise.
14776 * util/mkisofs/multi.c: Likewise.
14777 * util/mkisofs/name.c: Likewise.
14778 * util/mkisofs/rock.c: Likewise.
14779 * util/mkisofs/tree.c: Likewise.
14780 * util/mkisofs/write.c: Likewise.
14781
5dde9afe
VS
147822010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 Unify grub-mkimage accross platforms.
14785
14786 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
14787 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
14788 (grub_mkelfimage_SOURCES): Removed.
14789 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
14790 (util/grub-mkimage.c_DEPENDENCIES): .. this.
14791 (bin_UTILITIES): Add grub-mkimage.
14792 (grub_mkimage_SOURCES): New variable.
14793 (kernel_img_HEADERS): Remove machine/kernel.h.
14794 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
14795 (pkglib_PROGRAMS): Add kernel.img.
14796 (kernel_img_HEADERS): Add machine/kernel.h.
14797 (kernel_img_FORMAT): Removed.
14798 (bin_UTILITIES): Remove grub-mkimage.
14799 (grub_mkimage_SOURCES): Removed.
14800 (grub_mkimage_CFLAGS): Likewise.
14801 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14802 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
14803 (pkglib_PROGRAMS): Add kernel.img.
14804 (bin_UTILITIES): Remove grub-mkimage.
14805 (grub_mkimage_SOURCES): Removed.
14806 (grub_mkimage_CFLAGS): Likewise.
14807 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14808 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
14809 (pkglib_PROGRAMS): Add kernel.img.
14810 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
14811 (pkglib_PROGRAMS): Add kernel.img.
14812 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
14813 (grub_mkimage_SOURCES): Removed.
14814 (grub_mkimage_CFLAGS): Likewise.
14815 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14816 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
14817 (pkglib_PROGRAMS): Add kernel.img.
14818 (bin_UTILITIES): Remove grub-mkimage.
14819 (grub_mkimage_SOURCES): Removed.
14820 (grub_mkimage_CFLAGS): Likewise.
14821 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14822 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
14823 (grub_mkimage_SOURCES): Removed.
14824 (grub_mkimage_CFLAGS): Likewise.
14825 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14826 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
14827 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
14828 (grub_pe32_optional_header): ... this.
14829 (grub_pe64_optional_header): ... and this. All users updated.
14830 (GRUB_PE32_PE32_MAGIC): Split into ..
14831 (GRUB_PE32_PE32_MAGIC): .. this.
14832 (GRUB_PE32_PE64_MAGIC): .. and this.
14833 (GRUB_PE32_SIGNATURE_SIZE): New definition.
14834 * include/grub/elf.h (PT_GNU_STACK): New definition.
14835 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
14836 * include/grub/i386/efi/kernel.h: Likewise.
14837 * include/grub/i386/kernel.h: Likewise.
14838 * include/grub/i386/pc/kernel.h: Likewise.
14839 * include/grub/i386/qemu/boot.h: Likewise.
14840 * include/grub/mips/kernel.h: Likewise.
14841 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14842 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14843 * include/grub/powerpc/kernel.h: Likewise.
14844 * include/grub/sparc64/ieee1275/boot.h: Likewise.
14845 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14846 * include/grub/sparc64/kernel.h: Likewise.
14847 * include/grub/x86_64/efi/kernel.h: Likewise.
14848 * include/grub/x86_64/kernel.h: Likewise.
14849 * include/grub/offsets.h: New file.
14850 * include/grub/kernel.h (grub_module_info): Split into ...
14851 (grub_module_info32): ... this.
14852 (grub_module_info64): ... and this.
14853 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
14854 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
14855 (grub_boot_blocklist): Moved from here ...
14856 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
14857 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
14858 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
14859 * include/grub/types.h (grub_target_to_host16): Removed.
14860 (grub_target_to_host32): Likewise.
14861 (grub_target_to_host64): Likewise.
14862 (grub_host_to_target16): Likewise.
14863 (grub_host_to_target32): Likewise.
14864 (grub_host_to_target64): Likewise.
14865 (grub_host_to_target_addr): Likewise.
14866
14867 Support grub-mkrescue for efi, coreboot and qemu.
14868
14869 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
14870 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
14871 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
14872 * util/grub-mkrawimage.c: Moved from here ...
14873 * util/grub-mkimage.c: ... here. All users updated.
14874 (ALIGN_ADDR): Use image_target.
14875 (TARGET_NO_FIELD): New const.
14876 (image_target_desc): New type.
14877 (image_targets): New array.
14878 (grub_target_to_host64): Use image_target.
14879 (grub_target_to_host32): Likewise.
14880 (grub_target_to_host16): Likewise.
14881 (grub_host_to_target64): Likewise.
14882 (grub_host_to_target32): Likewise.
14883 (grub_host_to_target16): Likewise.
14884 (grub_host_to_target_addr): Likewise.
14885 (generate_image): Handle multiimage.
14886 (main): Require -O parameter. All users updated.
14887 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
14888 util/efi/grub-mkimage.c
14889 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
14890 New option --rom-directory.
14891 Use xorriso.
14892 * util/i386/efi/grub-mkimage.c: Removed.
14893 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
14894 (grub_target_to_host32): Likewise.
14895 (grub_target_to_host64): Likewise.
14896 (grub_host_to_target16): Likewise.
14897 (grub_host_to_target32): Likewise.
14898 (grub_host_to_target64): Likewise.
14899 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
14900 (grub_target_to_host32): Likewise.
14901 (grub_target_to_host64): Likewise.
14902 (grub_host_to_target16): Likewise.
14903 (grub_host_to_target32): Likewise.
14904 (grub_host_to_target64): Likewise.
14905
f4fc97d0
BC
149062010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
14907
14908 Source tree is reorganized for emu build.
14909
14910 * include/grub/util/console.h: Move from here...
14911 * include/grub/emu/console.h: ...to here.
14912 * include/grub/util/getroot.h: Move from here...
14913 * include/grub/emu/getroot.h: ...to here.
14914 * include/grub/util/hostdisk.h: Move from here...
14915 * include/grub/emu/hostdisk.h: ...to here.
14916 * util/console.c: Move from here...
14917 * kern/emu/console.c: ...to here.
14918 * util/getroot.c: Move from here...
14919 * kern/emu/getroot.c: ...to here.
14920 * util/grub-emu.c: Move from here...
14921 * kern/emu/main.c: ...to here.
14922 * util/hostdisk.c: Move from here...
14923 * kern/emu/hostdisk.c: ...to here.
14924 * util/hostfs.c: Move from here...
14925 * kern/emu/hostfs.c: ...to here.
14926 * util/mm.c: Move from here...
14927 * kern/emu/mm.c: ...to here.
14928 * util/pci.c: Move from here...
14929 * bus/emu/pci.c: ...to here.
14930 * util/sdl.c: Move from here...
14931 * video/emu/sdl.c: ...to here.
14932 * util/time.c: Move from here...
14933 * kern/emu/time.c: ...to here.
14934 * util/usb.c: Move from here...
14935 * bus/usb/emu/usb.c: ...to here.
14936
14937 * include/grub/emu/misc.h: New header for grub-emu functions.
14938 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
14939
14940 * conf/any-emu.rmk: Rule updates for above renames.
14941 * conf/common.rmk: Likewise.
14942 * conf/i386-pc.rmk: Likewise.
14943 * conf/i386-qemu.rmk: Likewise.
14944 * conf/mips.rmk: Likewise.
14945 * conf/sparc64-ieee1275.rmk: Likewise.
14946 * conf/x86-efi.rmk: Likewise.
14947
14948 * disk/lvm.h: #include updates for above renames.
14949 * util/grub-mkrelpath.c: Likewise.
14950 * util/grub-probe.c: Likewise.
14951 * util/i386/pc/grub-setup.c: Likewise.
14952 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14953 * kern/emu/console.c: Likewise.
14954 * kern/emu/getroot.c: Likewise.
14955 * kern/emu/hostdisk.c: Likewise.
14956 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
14957
14958 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
14959 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
14960 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
14961 * util/misc.c: Remove grub-emu functions.
14962
cced9145
VS
149632010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 Fix gfxmenu crash.
14966 Reported by: Thorsten Grützmacher.
14967
14968 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
14969 timeout hook.
14970 (circprog_set_property): Register and unregister timeout hook.
14971 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
14972 (label_destroy): Free template. and unregister hook.
14973 (label_set_state): New function.
14974 (label_set_property): Handle templates and hooks.
14975 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
14976 timeout hook.
14977 (progress_bar_set_property): Register and unregister timeout hook.
14978 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
14979 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
14980 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
14981 (update_timeout_visit): Removed.
14982 (update_timeouts): New function.
14983 (redraw_timeouts): Likewise.
14984 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
14985 (grub_gfxmenu_clear_timeout): Likewise.
14986 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
14987 (grub_gfxmenu_timeout_notify): Likewise.
14988 (grub_gfxmenu_timeout_notifications): New external variable.
14989 (grub_gfxmenu_timeout_register): New function.
14990 (grub_gfxmenu_timeout_unregister): Likewise.
14991
c6e5caab
VS
149922010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 Transform (broken) vga terminal into (working) vga video driver.
14995
14996 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
14997 video/i386/pc/vga.c.
14998 * include/grub/video.h (grub_video_driver_id):
14999 Add GRUB_VIDEO_DRIVER_VGA.
15000 * term/i386/pc/vga.c: Renamed to ...
15001 * video/i386/pc/vga.c: ...this
15002 (DEBUG_VGA): Removed.
15003 (CHAR_WIDTH): Likewise.
15004 (CHAR_HEIGHT): Likewise.
15005 (TEXT_WIDTH): Likewise.
15006 (TEXT_HEIGHT): Likewise.
15007 (DEFAULT_FG_COLOR): Likewise.
15008 (DEFAULT_BG_COLOR): Likewise.
15009 (colored_char): Likewise.
15010 (xpos): Likewise.
15011 (ypos): Likewise.
15012 (cursor_state): Likewise.
15013 (fg_color): Likewise.
15014 (bg_color): Likewise.
15015 (text_buf): Likewise.
15016 (page): Likewise.
15017 (font): Likewise.
15018 (framebuffer): New variable.
15019 (set_read_map): Disabled.
15020 (setup): New variable.
15021 (is_target): Likewise.
15022 (grub_vga_mod_init): Likewise.
15023 (grub_vga_mod_fini): Likewise.
15024 (check_vga_mem): Likewise.
15025 (write_char): Likewise.
15026 (write_cursor): Likewise.
15027 (scroll_up): Likewise.
15028 (grub_vga_putchar): Likewise.
15029 (grub_vga_getcharwidth): Likewise.
15030 (grub_vga_getwh): Likewise.
15031 (grub_vga_getxy): Likewise.
15032 (grub_vga_gotoxy): Likewise.
15033 (grub_vga_cls): Likewise.
15034 (grub_vga_setcolorstate): Likewise.
15035 (grub_vga_setcursor): Likewise.
15036 (grub_video_vga_init): New function.
15037 (grub_video_vga_setup): Likewise.
15038 (grub_video_vga_fini): Likewise.
15039 (update_target): Likewise.
15040 (grub_video_vga_blit_bitmap): Likewise.
15041 (grub_video_vga_blit_render_target): Likewise.
15042 (grub_video_vga_set_active_render_target): Likewise.
15043 (grub_video_vga_get_active_render_target): Likewise.
15044 (grub_video_vga_swap_buffers): Likewise.
15045 (grub_video_vga_set_palette): Likewise.
15046 (grub_video_vga_get_info_and_fini): Likewise.
15047 (grub_vga_term): Removed.
15048 (grub_video_vga_adapter): New variable.
15049 (GRUB_MOD_INIT): Register a video driver instead of terminal.
15050 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
15051
2bf61a98
VS
150522010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 * video/readers/jpeg.c: Indented.
15055
09ddcd11
VS
150562010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 Various jpeg cleanups.
15059
15060 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
15061 (grub_jpeg_decode_quan_table): Use sizeof.
15062 (grub_jpeg_decode_du): Use ARRAY_SIZE.
15063
e5507505
PH
150642010-05-05 Peter Hurley <No e-mail available> (tiny change)
15065
15066 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
15067 tables. Ignore non-last ac bit.
15068 (grub_jpeg_decode_quan_table): Likewise.
15069
7e720a9b
VS
150702010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15071
15072 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
15073 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
15074 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15075 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
15076 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
15077 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
15078
a7fc080b
VS
150792010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15080
15081 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
15082 error.
15083
2bf6012d
VS
150842010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
15087
265d68cd
VS
150882010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15089
15090 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
15091 condition.
15092
150932010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
15094
15095 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
15096 part.
15097
265d68cd 150982010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
15099
15100 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
15101 pointers.
15102
265d68cd 151032010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
15104
15105 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
15106
d1b61374
CF
151072010-05-01 Christian Franke <franke@computer.org>
15108
15109 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
15110 Remove broken Cygwin path conversion.
15111 * util/misc.c: [__CYGWIN__] Add include and define.
15112 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
15113 for Cygwin 1.7.
15114 (make_system_path_relative_to_its_root): Simplify loop, replace early
15115 return by break.
15116 [__CYGWIN__] Add conversion to win32 path.
15117 Include "/" case in trailing slash removal.
15118
3558c6e9
VS
151192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 * kern/main.c (grub_load_config): Fix copy-pasted comment.
15122 Reported by: Seth Goldberg
15123
f5f3ff93
VS
151242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 * commands/help.c (grub_cmd_help): Fix a typo.
15127 Reported by: Seth Goldberg
15128
d8b5cd40
VS
151292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15130
15131 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
15132 name and add N_.
15133 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
15134 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
15135 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
15136 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
15137 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
15138 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
15139 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
15140 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
15141 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
15142 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15143 * normal/context.c (GRUB_MOD_INIT): Likewise.
15144 * normal/main.c (GRUB_MOD_INIT): Likewise.
15145 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
15146 * term/serial.c (GRUB_MOD_INIT): Likewise.
15147 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
15148
88c14915
VS
151492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
15152 extra == 0.
15153
165134bc
VS
151542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15155
15156 * commands/iorw.c: New file.
15157 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
15158 (iorw_mod_SOURCES): New variable.
15159 (iorw_mod_CFLAGS): Likewise.
15160 (iorw_mod_LDFLAGS): Likewise.
15161
c5ac9b32
VS
151622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15163
15164 Hotkey support
15165
15166 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
15167 * normal/main.c (hotkey_aliases): New variable.
15168 (grub_normal_add_menu_entry): Parse "--hotkey".
15169 * normal/menu_text.c (run_menu): Handle hotkeys.
15170
ce60689c
VS
151712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 * kern/i386/coreboot/init.c (grub_machine_init): Call
15174 grub_machine_mmap_init on qemu.
15175
0359d006
VS
151762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 * boot/i386/qemu/boot.S: Add a missing .code16.
15179
7819a456
VS
151802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15181
15182 Use LBIO on coreboot.
15183
15184 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
15185 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
15186 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
15187 New declaration.
15188 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
15189 grub_machine_mmap_init on coreboot.
15190 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
15191 GRUB_LINUXBIOS_MEMBER_LINK.
15192 (grub_machine_mmap_iterate): Fix declaration.
15193 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
15194
7210dca9
VS
151952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15196
15197 Split coreboot and multiboot ports.
15198
15199 * conf/i386-multiboot.rmk: New file.
15200 * configure.ac: Add multiboot port.
15201 * include/grub/i386/multiboot/boot.h: New file.
15202 * include/grub/i386/multiboot/console.h: Likewise.
15203 * include/grub/i386/multiboot/init.h: Likewise.
15204 * include/grub/i386/multiboot/kernel.h: Likewise.
15205 * include/grub/i386/multiboot/loader.h: Likewise.
15206 * include/grub/i386/multiboot/memory.h: Likewise.
15207 * include/grub/i386/multiboot/serial.h: Likewise.
15208 * include/grub/i386/multiboot/time.h: Likewise.
15209 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
15210 * loader/multiboot.c: Likewise.
15211 * loader/multiboot_mbi2.c: Likewise.
15212 * util/grub-mkrescue.in: Generate multiboot rescue.
15213
6f8aaf68
VS
152142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15215
3080f7a7
VS
15216 * kern/parser.c (grub_parser_execute): Cope with read-only config.
15217
152182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15219
15220 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
15221
15222 * commands/terminal.c (abstract_terminal): New struct.
15223 (handle_command): New function. Based on grub_cmd_terminal_input.
15224 (grub_cmd_terminal_input): Use handle_command.
15225 (grub_cmd_terminal_output): Use handle_command.
15226
a8ebb841
BC
152272010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
15228
15229 Fix comment handling.
15230
15231 * tests/grub_script_comments.in: New testcase.
15232 * conf/tests.rmk: Rules for new testcase.
15233 * script/yylex.l: Updated flex rules.
15234
bb06ba08
ST
152352010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
15236
15237 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
15238 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
15239 if argc is 1.
bb06ba08 15240
cc9d2425
VS
152412010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
15244 autogen issues.
15245
460d8402
CF
152462010-04-26 Christian Franke <franke@computer.org>
15247
15248 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
15249 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
15250 (grub_get_prefix): Remove function.
15251 * util/grub-emu.c (main): Replace grub_get_prefix () call by
15252 make_system_path_relative_to_its_root ().
15253 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15254
553c01f9
CF
152552010-04-24 Christian Franke <franke@computer.org>
15256
15257 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
15258 (kernel_img_LDFLAGS): Remove -static-libgcc.
15259
2aec1692
CF
152602010-04-24 Christian Franke <franke@computer.org>
15261
15262 * configure.ac: Do not CHECK_BSS_START_SYMBOL
15263 and CHECK_END_SYMBOL if grub-emu is built.
15264 Unset TARGET_OBJ2ELF if grub-emu is built
15265 without module support.
15266
f67dc308
JS
152672010-04-24 Jiro SEKIBA <jir@unicus.jp>
15268
15269 Nilfs2 support.
15270
15271 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
15272 (grub_fstest_SOURCES): Likewise.
15273 (pkglib_MODULES): Add nilfs2.mod.
15274 (nilfs2_mod_SOURCES): New variable.
15275 (nilfs2_mod_CFLAGS): Likewise.
15276 (nilfs2_mod_LDFLAGS): Likewise.
15277 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15278 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15279 * fs/nilfs2.c: New file.
15280
4ba8d354
VS
152812010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
15284 is not supported.
15285
0d2c20c6
GS
152862010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
15287
15288 Add grub-mkconfig support for NetBSD.
15289
15290 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
15291 * util/grub-mkconfig.in: export new NetBSD specific variables.
15292 * po/POTFILES-shell: added 10_netbsd.in.
15293 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
15294
bc4a2d83
BC
152952010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
15296
15297 Fix emu build with grub-emu-pci and grub-emu-modules.
15298
15299 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
15300 functions.
15301 * include/grub/libpciaccess.h: New file.
15302 * conf/any-emu.rmk: Update kernel headers for emu build.
15303
f48c87aa
VS
153042010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15305
15306 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
15307
18959385
VS
153082010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
15311
0037de3f
VS
153122010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15313
15314 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
15315 Retrieve chosen/bootpath if bootpath isn't hardcoded.
15316 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
15317 util/ieee1275/ofpath.c.
15318 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
15319 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
15320 * include/grub/sparc64/ieee1275/boot.h
15321 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
15322 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
15323 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
15324 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
15325 const char *.
15326 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
15327 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
15328 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
15329 install.
15330
38e55e90
GS
153312010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15332
15333 * util/grub-mkconfig.in: Corrected two == equality tests.
15334 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
15335 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
15336 expect a number appended to it.
15337 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
15338 expects a number appended to it.
15339
a9e6ff28
VS
153402010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
15343
0b830b8f
VS
153442010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 * util/hostdisk.c (make_device_name): Change to new partition naming.
15347
0973daeb
VS
153482010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
15351
460d8402 153522010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
15353
15354 * Makefile.in: Add missing localedir setting.
15355
0b456309
CW
153562010-04-14 Colin Watson <cjwatson@ubuntu.com>
15357
15358 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
15359 mistake in r2156. Noticed by Anthony Fok.
15360
15361 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
15362 @localedir@.
15363 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
15364
08f46d62
BC
153652010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
15366
15367 Fix a spurious, uninitialized variable warning.
15368
15369 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
15370 Initialize variable, shdr.
15371 (grub_freebsd_load_elfmodule): Likewise.
15372 (grub_freebsd_load_elf_meta): Likewise.
15373
8c4a72d4
BC
153742010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
15375
15376 Fix for escaped dollar in double quoted strings.
15377
15378 * script/yylex.l: Updated flex rules.
15379 * conf/tests.rmk: Rule for new testcase.
15380 * tests/grub_script_dollar.in: New testcase.
15381
ce44826e
CPE
153822010-04-13 Carles Pina i Estany <carles@pina.cat>
153832010-04-13 Colin Watson <cjwatson@ubuntu.com>
15384
15385 Enclose all translated strings in grub.cfg in single quotes, and
15386 escape them appropriately (Ubuntu bug #552921).
15387
15388 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
15389 * util/grub.d/10_hurd.in: Use it.
15390 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
15391 * util/grub.d/10_linux.in (linux_entry): Likewise.
15392
4b0cd8f8
VS
153932010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 Fix cygwin compilation.
15396
15397 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
15398 * include/grub/misc.h (__register_frame_info)
15399 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
15400 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
15401 * kern/misc.c (__register_frame_info)
15402 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
15403 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
15404
01fcf061
VS
154052010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
15408
5d04b11e
VS
154092010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 Unify libgcc processing.
15412
15413 * Makefile.in (kernel_img_LDFLAGS): New variable.
15414 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
15415 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
15416 overwriting.
15417 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
15418 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
15419 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
15420 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
15421 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
15422 overwriting. Remove -lgcc and -static-libgcc
15423 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
15424 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
15425 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
15426 (kernel_img_LDFLAGS): Append instead of overwriting.
15427 Remove -lgcc and -static-libgcc
15428 * conf/sparc64-ieee1275.rmk: Likewise.
15429 * include/grub/powerpc/libgcc.h: Move to ...
15430 * include/grub/libgcc.h: .. this.
15431 * include/grub/libgcc.h: Don't export most of the function on x86.
15432 (__bswapsi2): New export.
15433 (__bswapdi2): Likewise.
15434 * include/grub/mips/libgcc.h: Removed.
15435 * include/grub/sparc64/libgcc.h: Likewise.
15436
b7f3ac29
VS
154372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15438
15439 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
15440 disk_info_msg (conflicts with gettexting into languages with cases).
15441
2c7031b1
GS
154422010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
15443
15444 Add grub-probe support for NetBSD.
15445
15446 * util/getroot.c (find_root_device): Convert block device to
15447 character device on NetBSD.
15448 * util/probe.c (probe): Require character device on NetBSD.
15449 * util/hostdisk.c: NetBSD specific headers.
15450 (configure_device_driver): new function to tune device driver
15451 parameters (currently only for NetBSD floppy driver).
15452 (grub_util_biosdisk_open): NetBSD specific code (get disk size
15453 via disklabel ioctl).
15454 (open_device): call configure_device_driver on NetBSD.
15455 (convert_system_partition_to_system_disk): NetBSD specific code.
15456 (device_is_wholedisk): Likewise.
15457 (grub_util_biosdisk_get_grub_dev): Likewise.
15458 (make_device_name): Fixed a typo in bsd_part_str.
15459 * configure.ac: check for opendisk() and getrawpartition() on
15460 NetBSD and set LIBUTIL.
15461 * Makefile.in: add LIBUTIL to LIBS.
15462
f516290c
BC
154632010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
15464
15465 Documentation fix.
15466
15467 * util/grub-script-check.c: Better help message.
15468
d8dcc0df
BC
154692010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
15470
15471 Fix FreeBSD build.
15472
15473 * configure.ac: Flex version check.
15474 * conf/common.rmk: Add -Wno-error to sh.mod.
15475 * script/yylex.l: Remove all #pragma.
15476
6734334a
VS
154772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15478
15479 * include/grub/util/misc.h (canonicalise_file_name): Add missing
15480 prototype.
15481 Reported by: Seth Goldberg.
15482
daea6abd
VS
154832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15484
15485 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
15486 Rename "module" to "module2".
15487 Reported by: Seth Goldberg.
15488
f2fd9d2b
VS
154892010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
15492 EXPORT_FUNC.
15493 Reported by: Seth Goldberg.
15494
be124579
VS
154952010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15496
15497 * lib/posix_wrap/locale.h: Add missing file.
15498 Reported by: Seth Goldberg.
15499
ef5da797
VS
155002010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15501
15502 grub-emu module load support.
15503
15504 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
15505 NO_DYNAMIC_MODULES switched to this.
15506 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
15507 (CFLAGS): Likewise.
15508 * conf/any-emu.rmk: Generate symlist.
15509 (kernel_img_HEADERS): Add util/datetime.h.
15510 (kernel_img_HEADERS) [sdl]: Add sdl.h.
15511 (kernel_img_HEADERS) [libusb]: Add libusb.h.
15512 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
15513 kern/$(target_cpu)/cache.S.
15514 * configure.ac (grub-emu-modules): New option.
15515 * genmk.rb: Handle multiple source lists.
15516 * include/grub/sdl.h: New file.
15517 * include/grub/libusb.h: Likewise.
15518 * util/grub-emu.c (main): Hanle (host) root.
15519 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
15520 GRUB_ERR_UNKNOWN_DEVICE.
15521 * util/misc.c: Move mm functions to ...
15522 * util/mm.c: ... here. All users updated.
15523
47822096
VS
155242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
15527 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
15528 missing files.
15529 (maintainer-clean): Remove libgcrypt-grub.
15530
5d7e7445
VS
155312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
15534
25f4e252
EC
155352010-04-09 EFI Coder <eficoder@hotmail.com>
15536
15537 * normal/menu_text.c (print_message): Clean up the message and show
15538 the Fn information when on EFI
15539 * term/efi/console.c (grub_console_checkkey): Add F4 support.
15540
027de555
VS
155412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
15544 All users updated.
15545 * normal/crypto.c (read_crypto_list): Likewise.
15546 * normal/dyncmd.c (read_command_list): Likewise.
15547 * normal/term.c (read_terminal_list): Likewise.
15548 * normal/main.c (read_lists): Use explicit prefix.
15549 (read_lists_hook): Use read_lists.
15550 (grub_normal_execute): Likewise.
15551
47779711
VS
155522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
15555 Reported by: Thomas Schmitt.
15556 Add -no-emul-boot to grub-mkisofs parameters.
15557
1118c32e
VS
155582010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 * font/font.c: Indented.
15561
7d652447
BC
155622010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
15563
15564 Elif support to GRUB script (by Deepak Vankadaru).
15565
15566 * tests/grub_script_if.in: New testcase.
15567 * conf/tests.rmk: Rule for new testcase.
15568 * script/parser.y: Grammar rules for elif.
15569
34bb22df
BC
155702010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
15571
15572 While and until loops support to GRUB script.
15573
15574 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
15575 (grub_script_create_cmdwhile): New function prototype.
15576 (grub_script_execute_cmdwhile): New function prototype.
15577 * script/execute.c (grub_script_execute_cmdwhile): New function.
15578 * script/parser.y (command): New commands.
15579 (whilecmd): New grammar rule.
15580 (untilcmd): New grammar rule.
15581 * script/script.c (grub_script_create_cmdwhile): New function.
15582 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
15583 function.
15584
15585 * tests/grub_script_while1.in: New testcase.
15586 * conf/tests.rmk: Rule for new testcase.
15587
e215d8e0
VS
155882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15589
15590 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
15591 as *.jpg.
15592
d7c43ba1
MV
155932010-04-09 Mario Vazquez <mariovazq@gmail.com>
15594
15595 GRUB_BACKGROUND support.
15596
15597 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
15598 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
15599
d64795c0
VS
156002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 15603 Idea by: Mario Vazquez
d64795c0
VS
15604
15605 * util/grub.d/00_header.in: Load pf2 and image modules.
15606
f267f83a
VS
156072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 grub-mkconfig multiple terminal support.
15610
15611 * util/grub-mkconfig.in: Handle multiple terminals correctly.
15612 * util/grub.d/00_header.in: Likewise.
15613
b7841ceb
VS
156142010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15615
15616 * Makefile.in: Specify files explicitly instead of using $< and $@ since
15617 we use cd $(srcdir).
15618
df60998c
CW
156192010-04-08 Colin Watson <cjwatson@ubuntu.com>
15620
15621 * util/grub.d/10_linux.in: Only use the first word of
15622 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
15623 spaces in GRUB_DISTRIBUTOR.
15624 * util/grub.d/10_kfreebsd.in: Likewise.
15625 * util/grub.d/10_hurd.in: Likewise.
15626
fa09c82e
BC
156272010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
15628
14e18ae3 15629 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
15630
15631 * tests/util/grub-shell.in: Remove -serial stdio option.
15632
daf892b3
BC
156332010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15634
15635 POSIX header file wrappers.
15636
15637 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
15638 equivalents.
15639 * lib/posix_wrap/ctype.h: Likewise.
15640 * lib/posix_wrap/errno.h: Likewise.
15641 * lib/posix_wrap/langinfo.h: Likewise.
15642 * lib/posix_wrap/limits.h: Likewise.
15643 * lib/posix_wrap/localcharset.h: Likewise.
15644 * lib/posix_wrap/stdint.h: Likewise.
15645 * lib/posix_wrap/stdio.h: Likewise.
15646 * lib/posix_wrap/stdlib.h: Likewise.
15647 * lib/posix_wrap/string.h: Likewise.
15648 * lib/posix_wrap/sys/types.h: Likewise.
15649 * lib/posix_wrap/unistd.h: Likewise.
15650 * lib/posix_wrap/wchar.h: Likewise.
15651 * lib/posix_wrap/wctype.h: Likewise.
15652 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
15653 (grub_script.yy.h): Likewise.
15654 * script/yylex.l: Remove POSIX emulation #defines.
15655 * Makefile.in (POSIX_CFLAGS): New variable.
15656 (GNULIB_UTIL_CFLAGS): Likewise.
15657
15658 Regexp support.
15659
15660 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
15661 (regexp_mod_SOURCES): New variable.
15662 (regexp_mod_CFLAGS): Likewise.
15663 (regexp_mod_LDFLAGS): Likewise.
15664 * commands/regexp.c: New file.
15665 * gnulib/regcomp.c: New file. Imported from gnulib.
15666 * gnulib/regex.c: Likewise.
15667 * gnulib/regex_internal.c: Likewise.
15668 * gnulib/regex_internal.h: Likewise.
15669 * gnulib/regexec.c: Likewise.
15670 * gnulib/regex.h: Likewise.
15671
974ac4f7
VS
156722010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
15675 unsupported video mode types.
15676
2622c3ff
VS
156772010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
15680
064cb524
VS
156812010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15682
15683 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
15684 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
15685
a8c3b552
VS
156862010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 Remove unused grub_vga_get_font.
15689
15690 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
15691 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
15692
187bbe3d
GS
156932010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15694
15695 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
15696 * include/grub/misc.h: Likewise.
15697
b9396631
GS
156982010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15699
15700 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
15701 for which failure is fatal.
15702
50479feb
GS
157032010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15704
15705 * util/grub-install.in: Use mkdir -p to create grub directory.
15706 * util/i386/efi/grub-install.in: Likewise.
15707 * util/ieee1275/grub-install.in: Likewise.
15708
b1654fdf
GS
157092010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15710
15711 * Makefile.in (LEX): new variable.
15712
bd5a6415
GS
157132010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15714
15715 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
15716 `=' and added double quotes on operands of this equality test.
15717
3db3a82b
VS
157182010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15719
15720 * Makefile.in (uninstall): Remove a leftover debug echo.
15721 Reported by: Grégoire Sutre
15722
38023412
VS
157232010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 MIPS multiboot2 support.
15726
15727 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
15728 (multiboot2_mod_SOURCES): New variable.
15729 (multiboot2_mod_CFLAGS): Likewise.
15730 (multiboot2_mod_LDFLAGS): Likewise.
15731 (multiboot2_mod_ASFLAGS): Likewise.
15732 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
15733 definition.
15734 (MULTIBOOT_ENTRY_REGISTER): Likewise.
15735 (MULTIBOOT_MBI_REGISTER): Likewise.
15736 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
15737 (MULTIBOOT_ELF32_MACHINE): Likewise.
15738 (MULTIBOOT_ELF64_MACHINE): Likewise.
15739 * include/grub/mips/multiboot.h: New file.
15740 * include/grub/video.h (grub_video_driver_id): New type
15741 GRUB_VIDEO_DRIVER_SM712.
15742 (grub_video_get_info_and_fini): Export.
15743 (grub_video_get_palette): Likewise.
15744 (grub_video_get_driver_id): Likewise.
15745 * include/multiboot2.h: Resynced with spec.
15746 * loader/i386/multiboot.c: Moved from here ...
15747 * loader/multiboot.c: ... here. All users updated.
15748 (grub_multiboot_boot): Use platform-specific macros.
15749 * loader/i386/multiboot_elfxx.c: Moved from here ...
15750 * loader/multiboot_elfxx.c: ... here. All users updated.
15751 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
15752 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
15753 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
15754
47674667
VS
157552010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15756
15757 Import gnulib argp module.
15758
15759 * gnulib/argp-ba.c: New file.
15760 * gnulib/argp-eexst.c: Likewise.
15761 * gnulib/argp-fmtstream.c: Likewise.
15762 * gnulib/argp-fmtstream.h: Likewise.
15763 * gnulib/argp-fs-xinl.c: Likewise.
15764 * gnulib/argp-help.c: Likewise.
15765 * gnulib/argp-namefrob.h: Likewise.
15766 * gnulib/argp-parse.c: Likewise.
15767 * gnulib/argp-pin.c: Likewise.
15768 * gnulib/argp-pv.c: Likewise.
15769 * gnulib/argp-pvh.c: Likewise.
15770 * gnulib/argp-version-etc.c: Likewise.
15771 * gnulib/argp-version-etc.h: Likewise.
15772 * gnulib/argp-xinl.c: Likewise.
15773 * gnulib/argp.h: Likewise.
15774
495442ed
VS
157752010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 * kern/device.c (grub_device_iterate): Clear errors after failed
15778 opening device.
15779
f9fd65df
VS
157802010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
15783 returned by firmware.
15784
af09641e
VS
157852010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
15788 compilation on coreboot and qemu
15789
016883a5
VS
157902010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * include/multiboot2.h: Resync with spec.
15793
f97e1f7d
VS
157942010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 Multiboot2 tag support
15797
15798 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
15799 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
15800 Remove loader/multiboot_loader.c.
15801 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
15802 (grub_multiboot2_real_boot): Likewise.
15803 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
15804 (grub_get_multiboot_mmap_count): New proto.
15805 (grub_fill_multiboot_mmap): Likewise.
15806 (grub_multiboot_set_video_mode): Likewise.
15807 (grub_multiboot_set_console): Likewise.
15808 (grub_multiboot_load): Likewise.
15809 (grub_multiboot_load_elf): Likewise.
15810 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
15811 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
15812 * include/multiboot.h: Resynced with specification.
15813 * include/multiboot2.h: Resynced with specification.
15814 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
15815 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
15816 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
15817 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
15818 users updated.
15819 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
15820 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
15821 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
15822 Removed.
15823 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
15824 Moved from here...
15825 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
15826 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15827 Moved from here...
15828 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
15829 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
15830 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
15831 All users updated.
15832 * loader/i386/multiboot_mbi2.c: New file.
15833
3506b90b
VS
158342010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 Resync with gnulib.
15837
15838 * Makefile.in (GNULIB_CFLAGS): New variable.
15839 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
15840 (grub_script_check_CFLAGS): New variable.
15841 * gnulib/alloca.h: Resync with gnulib.
15842 * gnulib/error.c: Likewise.
15843 * gnulib/error.h: Likewise.
15844 * gnulib/fnmatch.c: Likewise.
15845 * gnulib/fnmatch_loop.c: Likewise.
15846 * gnulib/getdelim.c: Likewise.
15847 * gnulib/getline.c: Likewise.
15848 * gnulib/getopt.c: Likewise.
15849 * gnulib/getopt1.c: Likewise.
15850 * gnulib/getopt_int.h: Likewise.
15851 * gnulib/gettext.h: Likewise.
15852 * gnulib/progname.c: Likewise.
15853 * gnulib/progname.h: Likewise.
15854
394a3120
GS
158552010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
15856
15857 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
15858 which is the case with --disabled-nls.
15859
15860 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
15861 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
15862 * util/misc.c: Likewise.
15863 * util/mkisofs/mkisofs.c: Likewise.
15864 * util/mkisofs/mkisofs.h: Likewise.
15865
969d1c78
VS
158662010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15867
15868 Simplify Apple CC support.
15869
15870 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
15871 Add 0 byte at the end not to have a symbol with empty target.
15872 * mmap/i386/pc/mmap_helper.S: Likewise.
15873 * genmk.rb: Ignore errors 2030 and 2050.
15874 * kern/i386/pc/startup.S: Use LOCAL when possible.
15875
8d2977bb
BC
158762010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
15877
15878 Testcase and the fix for final semicolon on cmdline.
15879
15880 * tests/grub_script_final_semicolon.in: New testcase.
15881 * conf/tests.rmk: Rules for the new testcase.
15882 * script/parser.y: Grammar fix.
15883
a7bd6915
BC
158842010-03-26 BVK Chaitanya <bvk@localhost>
15885
15886 Blank lines testcase for GRUB script.
15887
15888 * tests/grub_script_blanklines.in: New testcase.
15889 * conf/tests.rmk: Rules for the new testcase.
15890
e4ff6628
VS
158912010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 Don't use __FILE__.
15894
15895 * genmk.rb: Add -DGRUB_FILE to all C targets.
15896 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
15897 * include/grub/list.h: Likewise.
15898 * include/grub/misc.h: Likewise.
15899 * include/grub/mm.h: Likewise.
15900 * include/grub/test.h: Likewise.
15901 * kern/mm.c: Likewise.
15902 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15903
6a5cf6b6
VS
159042010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15905
15906 Sunpc partitions support.
15907
15908 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
15909 (grub_fstest_SOURCES): Likewise.
15910 (pkglib_MODULES): Add part_sunpc.mod.
15911 (part_sunpc_mod_SOURCES): New variable.
15912 (part_sunpc_mod_CFLAGS): Likewise.
15913 (part_sunpc_mod_LDFLAGS): Likewise.
15914 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
15915 * partmap/sunpc.c: New file.
15916
746d9045
BC
159172010-03-26 BVK Chaitanya <bvk@localhost>
15918
15919 For loop support to GRUB script.
15920
15921 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
15922 (grub_script_create_cmdfor): New function prototype.
15923 (grub_script_execute_cmdfor): New function prototype.
15924 * script/execute.c (grub_script_execute_cmdfor): New function.
15925 * script/parser.y (command): New for command.
15926 (forcmd): New grammar rule.
15927 * script/script.c (grub_script_create_cmdfor): New function.
15928 * util/grub-script-check.c (grub_script_execute_cmdfor): New
15929 function.
15930 * tests/grub_script_for1.in: New testcase.
15931 * conf/tests.rmk: Rules for new testcase.
15932
18486b18
VS
159332010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 Nested partitions
15936
15937 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
15938 'partition' is NULL, grub_partition_get_start already does that.
15939 * commands/loadenv.c (check_blocklists): Likewise.
15940 (write_blocklists): Likewise.
15941 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
15942 (grub_fstest_SOURCES): Likewise.
15943 (pkglib_MODULES): Add part_bsd.mod.
15944 (part_bsd_mod_SOURCES): New variable.
15945 (part_bsd_mod_CFLAGS): Likewise.
15946 (part_bsd_mod_LDFLAGS): Likewise.
15947 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
15948 (grub_emu_SOURCES): Likewise.
15949 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15950 * include/grub/bsdlabel.h: New file.
15951 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
15952 'get_name'.
15953 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
15954 (grub_partition_map_list): New variable.
15955 (grub_partition_map_register): Inline.
15956 (grub_partition_map_unregister): Likewise.
15957 (FOR_PARTITION_MAPS): New macro.
15958 (grub_partition_map_iterate): Removed.
15959 (grub_partition_get_start): Handle nested partitions.
15960 * include/grub/msdos_partition.h: Remove bsd-related entries.
15961 (grub_pc_partition): Remove.
15962 * kern/disk.c (grub_disk_close): Free partition data.
15963 (grub_disk_adjust_range): Handle nested partitions.
15964 * kern/partition.c (grub_partition_map_probe): New function.
15965 (grub_partition_probe): Parse name to number, handle subpartitions.
15966 (get_partmap): New function.
15967 (grub_partition_iterate): Handle subpartitions.
15968 (grub_partition_get_name): Likewise.
15969 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
15970 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
15971 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
15972 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
15973 Set 'number'.
15974 (acorn_partition_map_probe): Remove.
15975 (acorn_partition_map_get_name): Likewise.
15976 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
15977 Set 'number'.
15978 Set 'index' to 0 since there can be only one partition entry per sector.
15979 (amiga_partition_map_probe): Remove.
15980 (amiga_partition_map_get_name): Likewise.
15981 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
15982 Set 'number'.
15983 Set 'offset' and 'index' to real positions of partitions.
15984 (apple_partition_map_probe): Remove.
15985 (apple_partition_map_get_name): Likewise.
15986 * partmap/bsdlabel.c: New file.
15987 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
15988 Set 'number'.
15989 Allocate 'data' so it can be correctly freed.
15990 Set 'index' to offset inside sector.
15991 (gpt_partition_map_probe): Remove.
15992 (gpt_partition_map_get_name): Likewise.
15993 * partmap/msdos.c (grub_partition_parse): Remove.
15994 (pc_partition_map_iterate): Don't force raw access.
15995 Set 'number'.
15996 Make 'ext_offset' a local variable.
15997 (pc_partition_map_probe): Remove.
15998 (pc_partition_map_get_name): Remove.
15999 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
16000 Set 'number'.
16001 (sun_partition_map_probe): Remove.
16002 (sun_partition_map_get_name): Likewise.
16003 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
16004 (grub_pcpart_type): Likewise.
16005 * util/hostdisk.c (open_device): Handle new numbering scheme.
16006 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
16007 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
16008 * util/grub-probe.c (probe_partmap): Handle nested paritions.
16009 * util/grub-install.in: Insert all subpartition modules.
16010 * util/ieee1275/grub-install.in: Likewise.
16011
a3940f88
AG
160122010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
16013
16014 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
16015 grammar.
16016
21b99926 160172010-03-24 Colin Watson <cjwatson@ubuntu.com>
16018
16019 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
16020
bed1d352
CW
160212010-03-21 Colin Watson <cjwatson@ubuntu.com>
16022
16023 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
16024 match where 'make install' puts them.
16025 * util/i386/efi/grub-install.in: Likewise.
16026
c9f58427
CW
160272010-03-19 Colin Watson <cjwatson@ubuntu.com>
16028
16029 * .bzrignore: Add gentrigtables, grub-script-check,
16030 grub_script_check_init.c, grub_script_check_init.h, and
16031 trigtables.c.
16032
f84afb27
VS
160332010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 * kern/parser.c: Indented.
16036
ed0e3d30
VS
160372010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
16040
0ea81d98
VS
160412010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
16044 alpha_mask_size == 0 case.
16045
0cdc2a09
BC
160462010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
16047
16048 GRUB shell lexer and parser improvements.
16049
16050 * conf/any-emu.rmk: Build rule updates.
16051 * conf/common.rmk: Likewise.
16052 * conf/i386-coreboot.rmk: Likewise.
16053 * conf/i386-efi.rmk: Likewise.
16054 * conf/i386-ieee1275.rmk: Likewise.
16055 * conf/i386-pc.rmk: Likewise.
16056 * conf/powerpc-ieee1275.rmk: Likewise.
16057 * conf/x86_64-efi.rmk: Likewise.
16058
16059 * configure.ac: Configure check for flex.
16060
16061 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
16062 types.
16063 (grub_lexer_param): Struct member updates.
16064 (grub_parser_param): Likewise.
16065 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
16066 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
16067 (grub_script_lexer_init): Prototype update.
16068 (grub_script_lexer_record_start): Likewise.
16069 (grub_script_lexer_record_stop): Likewise.
16070 (grub_script_lexer_yywrap): New function prototype.
16071 (grub_script_lexer_fini): Likewise.
16072 (grub_script_execute_argument_to_string): Removed by...
16073 (grub_script_execute_argument_to_argv): ...better version.
16074
16075 * script/execute.c (ROUND_UPTO): New macro.
16076 (grub_script_execute_cmdline): Out of memory fixes.
16077 (grub_script_execute_menuentry): Likewise.
16078 (grub_script_execute_argument_to_string): Removed. Update all
16079 users by...
16080 (grub_script_execute_argument_to_argv): ...better version.
16081 * script/function.c (grub_script_function_create): Use
16082 grub_script_execute_argument_to_argv instead of
16083 grub_script_execute_argument_to_string.
16084
16085 * script/lexer.c (check_varstate): Removed.
16086 (check_textstate): Removed.
16087 (grub_script_lexer_record_start): Likewise.
16088 (grub_script_lexer_record_stop): Likewise.
16089 (recordchar): Replaced with...
16090 (grub_script_lexer_record): ...new function.
16091 (nextchar): Removed.
16092 (grub_script_lexer_init): Rewritten.
16093 (grub_script_yylex): Rewritten.
16094 (append_newline): New function.
16095 (grub_script_lexer_yywrap): New function.
16096 (grub_script_lexer_fini): New function.
16097 (grub_script_yyerror): Sets error flag.
16098
16099 * script/yylex.l: New file.
16100 (grub_lexer_yyfree): Wrapper for flex yyffre.
16101 (grub_lexer_yyalloc): Likewise.
16102 (grub_lexer_yyrealloc): Likewise.
16103 * script/parser.y: Refactored.
16104
16105 * script/script.c (grub_script_arg_add): Out of memory fixes.
16106 (grub_script_add_arglist): Likewise.
16107 (grub_script_create_cmdline): Likewise.
16108 (grub_script_create_cmdmenu): Likewise.
16109 (grub_script_add_cmd): Likewise.
16110 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
16111 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
16112 unnecessary code.
16113
16114 * tests/grub_script_echo1.in: New testcase.
16115 * tests/grub_script_vars1.in: New testcase.
16116 * tests/grub_script_echo_keywords.in: New testcase.
16117
1d63a066
VS
161182010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 Remove some redundancy in build system.
16121
16122 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
16123 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
16124 (TARGET_LDFLAGS): Add -nostdlib.
16125 (TARGET_IMG_LDFLAGS): Likewise.
16126 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
16127 anything since mmap isn't available.
16128 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
16129 Add util/time.c.
16130 (pkglib_MODULES): Remove reboot.mod.
16131 (reboot_mod_SOURCES): Removed.
16132 (reboot_mod_CFLAGS): Likewise.
16133 (reboot_mod_LDFLAGS): Likewise.
16134 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
16135 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
16136 (DEFSYMFILES): Add kernel_syms.lst.
16137 (kernel_img_HEADERS): Add common headers.
16138 (symlist.c): New target.
16139 (kernel_syms.lst): Likewise.
16140 (pkglib_MODULES): Add memdisk.mod.
16141 (memdisk_mod_SOURCES): New variable.
16142 (memdisk_mod_CFLAGS): Likewise.
16143 (memdisk_mod_LDFLAGS): Likewise.
16144 (pkglib_MODULES): Add reboot.mod.
16145 (reboot_mod_SOURCES): New variable.
16146 (reboot_mod_CFLAGS): Likewise.
16147 (reboot_mod_LDFLAGS): Likewise.
16148 (pkglib_MODULES): Add date.mod.
16149 (date_mod_SOURCES): New variable.
16150 (date_mod_CFLAGS): Likewise.
16151 (date_mod_LDFLAGS): Likewise.
16152 (pkglib_MODULES): Add datehook.mod.
16153 (datehook_mod_SOURCES): New variable.
16154 (datehook_mod_CFLAGS): Likewise.
16155 (datehook_mod_LDFLAGS): Likewise.
16156 (pkglib_MODULES): Add lsmmap.mod.
16157 (lsmmap_mod_SOURCES): New variable.
16158 (lsmmap_mod_CFLAGS): Likewise.
16159 (lsmmap_mod_LDFLAGS): Likewise.
16160 (pkglib_MODULES): Add boot.mod.
16161 (boot_mod_SOURCES): New variable.
16162 (boot_mod_CFLAGS): Likewise.
16163 (boot_mod_LDFLAGS): Likewise.
16164 * conf/i386-coreboot.rmk: Removed redundant parts.
16165 * conf/i386-ieee1275.rmk: Likewise.
16166 * conf/i386-pc.rmk: Likewise.
16167 * conf/mips-yeeloong.rmk: Likewise.
16168 * conf/mips.rmk: Likewise.
16169 * conf/powerpc-ieee1275.rmk: Likewise.
16170 * conf/sparc64-ieee1275.rmk: Likewise.
16171 * conf/x86_64-efi.rmk: Likewise.
16172 * conf/i386-coreboot.rmk: Moved qemu parts ..
16173 * conf/i386-qemu.rmk: ... here
16174 * conf/i386-efi.rmk: Moved common parts to...
16175 * conf/x86-efi.rmk: ... here.
16176 * conf/i386.rmk: Added modules common to all x86 variants.
16177 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
16178 * disk/memdisk.c: Remove grub/machine/kernel.h.
16179 * gensymlist.sh.in: Include symbol.h.
16180 * hook/datehook.c: Correct module name.
16181 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
16182 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
16183 * include/grub/i386/efi/serial.h: New file.
16184 * include/grub/x86_64/efi/serial.h: Likewise.
16185 * util/time.c: Likewise.
16186 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
16187
463ac55f
CK
161882010-03-14 Colin King <colin.king@ubuntu.com>
161892010-03-14 Colin Watson <cjwatson@ubuntu.com>
16190
16191 Shrink the pre-partition-table part of boot.img by eight bytes.
16192
16193 * boot/i386/pc/boot.S (ERR): New macro.
16194 (chs_mode): Use ERR.
16195 (geometry_error): Likewise.
16196 (hd_probe_error): Remove. This is only used once, so we wrwite
16197 it inline instead.
16198 (read_error): Instead of printing read_error_string, just set up
16199 %si and fall through to ...
16200 (error_message): ... this new function, also used by ERR.
16201
08e46ede
CW
162022010-03-14 Colin Watson <cjwatson@ubuntu.com>
16203
16204 Speed up consecutive hostdisk operations on the same device.
16205
16206 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
16207 (grub_util_biosdisk_open): Initialise disk->data.
16208 (struct linux_partition_cache): New structure.
16209 (linux_find_partition): Cache partition start positions; these are
16210 expensive to compute on every read and write.
16211 (open_device): Cache open file descriptor in disk->data, so that we
16212 don't have to reopen it and flush the buffer cache for consecutive
16213 operations on the same device.
16214 (grub_util_biosdisk_close): New function.
16215 (grub_util_biosdisk_dev): Set `close' member.
16216
16217 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
16218 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
16219 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16220 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16221 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
16222
4a6d2d06
VS
162232010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16224
16225 Compile parts of grub-emu as modules.
16226
16227 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
16228 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
16229 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
16230 (all-local): Add $(GRUB_EMU).
16231 (install-local): Install $(GRUB_EMU).
16232 (uninstall): Uninstall $(GRUB_EMU).
16233 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
16234 * kern/dl.c: Likewise.
16235 * commands/sleep.c: Not include machine/time.h.
16236 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
16237 (COMMON_CFLAGS): Likewise.
16238 (sbin_UTILITIES): Remove grub-emu.
16239 (grub_emu_SOURCES): Removed.
16240 (kernel_img_RELOCATABLE): New variable.
16241 (pkglib_PROGRAMS): Add kernel.img.
16242 (kernel_img_SOURCES): New variable
16243 (kernel_img_CFLAGS): Likewise.
16244 (kernel_img_LDFLAGS): Likewise.
16245 (TARGET_NO_STRIP): Likewise.
16246 (TARGET_NO_DYNAMIC_MODULES): Likewise.
16247 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
16248 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
16249 (grub-emu): New target.
16250 (GRUB_EMU): New variable.
16251 * configure.ac: Whitelist -emu as possible x86_64 architecture.
16252 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
16253 * loader/xnu.c: Likewise.
16254 * include/grub/pci.h: Likewise.
16255 * genemuinit.sh: New file.
16256 * genemuinitheader.sh: Likewise.
16257 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
16258 Support TARGET_NO_DYNAMIC_MODULES.
16259 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
16260 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
16261 * disk/loopback.c: Likewise.
16262 * font/font_cmd.c: Likewise.
16263 * partmap/acorn.c: Likewise.
16264 * partmap/amiga.c: Likewise.
16265 * partmap/apple.c: Likewise.
16266 * partmap/gpt.c: Likewise.
16267 * partmap/msdos.c: Likewise.
16268 * partmap/sun.c: Likewise.
16269 * parttool/msdospart.c: Likewise.
16270 * term/gfxterm.c: Likewise.
16271 * video/bitmap.c: Likewise.
16272 * video/readers/jpeg.c: Likewise.
16273 * video/readers/png.c: Likewise.
16274 * video/readers/tga.c: Likewise.
16275 * video/video.c: Likewise.
16276 * util/grub-emu.c (read_command_list): Removed.
16277 (main): Don't call util_init_nls.
16278 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
16279 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
16280
91fdd2ed
VS
162812010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
16284 date.mod, datehook.mod.
16285 (datetime_mod_SOURCES): New variable.
16286 (datetime_mod_CFLAGS): Likewise.
16287 (datetime_mod_LDFLAGS): Likewise.
16288 (date_mod_SOURCES): Likewise.
16289 (date_mod_CFLAGS): Likewise.
16290 (date_mod_LDFLAGS): Likewise.
16291 (datehook_mod_SOURCES): Likewise.
16292 (datehook_mod_CFLAGS): Likewise.
16293 (datehook_mod_LDFLAGS): Likewise.
16294 * conf/sparc64-ieee1275.rmk: Likewise.
16295 * lib/ieee1275/datetime.c: New file.
16296
873ccae6
VS
162972010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16298
16299 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
16300 (ieee1275_fb_mod_SOURCES): New variable.
16301 (ieee1275_fb_mod_CFLAGS): Likewise.
16302 (ieee1275_fb_mod_LDFLAGS): Likewise.
16303 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
16304 New proto.
16305 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
16306 (HEAP_MAX_ADDR): Likewise.
16307 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
16308 type.
16309 Correct stop condition.
16310 (grub_ieee1275_devices_iterate): New function.
16311 * video/ieee1275.c: New file.
16312
601c97c0
VS
163132010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
16316
16317 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
16318 as scratch.
16319 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
16320 SCRATCH_PAD_DISKBOOT as scratch.
16321 (bootit): Pass Openfirmware pointer in %o4.
16322 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
16323 of 0x200000.
16324 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
16325 with util/grub-mkrawimage.c.
16326 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
16327 * include/grub/aout.h (AOUT_MID_SUN): New definition.
16328 (grub_aout_get_type) [GRUB_UTIL]: Removed.
16329 (grub_aout_load) [GRUB_UTIL]: Likewise.
16330 * include/grub/kernel.h (grub_modules_get_end): New proto.
16331 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
16332 (SCRATCH_PAD_BOOT): New definition.
16333 (SCRATCH_PAD_DISKBOOT): Likewise.
16334 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
16335 * include/grub/sparc64/ieee1275/ieee1275.h
16336 (grub_ieee1275_original_stack): New variable
16337 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16338 New definition
16339 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
16340 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
16341 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
16342 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
16343 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
16344 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
16345 (grub_platform_image_format_t): New type.
16346 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
16347 * kern/main.c (grub_modules_get_end)
16348 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
16349 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
16350 (codestart): Switch stacks.
16351 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
16352 variable.
16353 (grub_heap_init): Use grub_modules_get_end.
16354 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
16355 stack.
16356 * util/grub-mkrawimage.c (generate_image): Support sparc64.
16357 (main): Likewise.
16358 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
16359
d68b491e
TG
163602010-03-14 Thorsten Glaser <tg@mirbsd.org>
16361
16362 * util/grub-mkrescue.in: Base ISO UUID on UTC.
16363
4e02ed50
MK
163642010-03-08 Matt Kraai <kraai@ftbfs.org>
16365
16366 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
16367 bug #559005).
16368
1f15fc1e
VS
163692010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 * genmoddep.awk: Output all missing symbols and not only first.
16372
fce5d8ff
VS
163732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16374
16375 * NEWS: Put the date of 1.98 release.
16376
d1e8a02f
VS
163772010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16378
16379 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
16380 ft2build.h.
16381
696fd607
VS
163822010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16383
16384 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
16385 completition in the middle of string.
16386
33e2e6f3
VS
163872010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16388
16389 * util/grub-mkrescue.in: Use mktemp with explicit template.
16390
b1f6d291
VS
163912010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16392
16393 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
16394
2ac227c7
VS
163952010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16396
16397 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
16398 right pointer.
16399
8f9a632b
VS
164002010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
16401
16402 Fix FreeBSD compilation.
16403
16404 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
16405 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
16406
60b03859
VS
164072010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
16410
48a5a769
VS
164112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
16414
3ab4bd77
VS
164152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16416
16417 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
16418
d116e0d8
RM
164192010-03-04 Robert Millan <rmh.grub@aybabtu.com>
16420
16421 Support relative image path in theme file.
16422
16423 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
16424 (image_set_property): Handle theme_dir and relative path.
16425
c7ef54aa
VS
164262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 * configure.ac: Alias amd64 to x86_64.
16429
fcee14ed
VS
164302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16431
16432 * NEWS: mention multiboot on EFI.
16433
d0780363
VS
164342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 * kern/main.c (grub_load_modules): Handle errors from init functions of
16437 embeded modules.
16438
41168ea4
VS
164392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16440
16441 * normal/autofs.c (autoload_fs_module): Handle errors.
16442
b54d93ac
VS
164432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16444
16445 Disable linux.mod on qemu-mips since it's not functional and leads
16446 to compilation failure.
16447
16448 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
16449 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
16450 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
16451 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
16452 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
16453 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
16454 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
16455 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
16456 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
16457 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
16458 Reported by: BVK Chaitanya
16459
fc8345da
JU
164602010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
16461
16462 * INSTALL: Add gettext as a dependency and add qemu to a new section
16463 "Prerequisites for make-check".
16464
4760f979
CF
164652010-03-04 Christian Franke <franke@computer.org>
16466
16467 * util/grub-pe2elf.c: Add missing include "progname.h".
16468
f209b5b2
VS
164692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 * normal/crypto.c (read_crypto_list): Fix a typo.
16472 Reported by: Seth Goldberg.
16473
b4b7be98
VS
164742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16475
16476 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 16477 Reported by: Seth Goldberg.
b4b7be98 16478
c0ee0385
VS
164792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
16482 ascii.bitmaps.
16483
a8efbf64
VS
164842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16485
16486 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 16487 Reported by: Seth Goldberg.
a8efbf64 16488
08dcd913
VS
164892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 * util/i386/efi/grub-install.in: Copy gettext files.
16492
c4d0b332
VS
164932010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16494
16495 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
16496
c6f2fe52
VS
164972010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16498
16499 Wait for user entry basing on presence of output rather than on errors.
16500
16501 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
16502 (grub_install_newline_hook): Likewise.
16503 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
16504 * normal/menu.c (show_menu): Check line_counter to determine presence
16505 of output.
16506 * normal/term.c (grub_normal_line_counter): New variable.
16507 (grub_normal_get_line_counter): New function.
16508 (grub_install_newline_hook): Likewise.
16509
5382b1e4
VS
165102010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
16513
5519963b
VS
165142010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16515
16516 * configure.ac: Update version to 1.98.
16517
72b28631
VS
165182010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * util/grub.d/10_linux.in (linux_entry): Don't default to
16521 gfxpayload=keep if Linux doesn't support video handover.
16522
c140a180
VS
165232010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 Don't compile video modules on yeeloong since video subsystem is part
16526 of kernel.
16527
16528 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
16529 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
16530 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
16531 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
16532 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
16533 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
16534 * include/grub/bitmap_scale.h: Likewise.
16535 * include/grub/bufio.h: Likewise.
16536 * include/grub/font.h: Likewise.
16537 * include/grub/gfxterm.h: Likewise.
16538 * include/grub/video.h: Likewise.
16539 * include/grub/vbe.h: Don't include video_fb.h.
16540 * video/i386/pc/vbe.c: Include video_fb.h.
16541 * commands/i386/pc/vbetest.c: Include video.h.
16542
a0ca21c2
CW
165432010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
16544
16545 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
16546 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
16547 default entry if GRUB_SAVEDEFAULT=true. This allows using
16548 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
16549 saving a new default on every boot.
16550
4a8a763c
VS
165512010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
16552
16553 * normal/crypto.c (read_crypto_list): Fix a memory leak.
16554 * normal/term.c (read_terminal_list): Likewise.
16555 * normal/main.c (grub_normal_init_page): Likewise.
16556 (grub_normal_read_line_real): Likewise.
16557
607ffde2
VS
165582010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
16559
16560 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
16561 memory leak.
16562 Reported by: Seth Goldberg.
16563
2b8fa975
CW
165642010-02-24 Joey Korkames <joey+lists@kidfixit.com>
16565
16566 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
16567 duplicate declaration of `start'.
16568
618307dd
VS
165692010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
16572 filename.
16573 Reported by: Georgy Buranov
16574
7dd05b96 165752010-02-20 Carles Pina i Estany <carles@pina.cat>
16576
16577 * util/grub-mkrawimage.c (usage): Change string formatting to
16578 improve gettext.
16579
d1484a42
MRA
165802010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16581
16582 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
16583 backspace keys.
16584
42b1d186
VS
165852010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
16586
16587 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
16588 Reported by: Michael Suchanek.
16589
165902010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
16591
16592 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
16593 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
16594
d9f31a41
VS
165952010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 Remove any reference to non-free fonts.
16598
16599 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
16600 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
16601 uses non-free components.
16602 * font/font.c (grub_font_get_name): Remove example name.
16603 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
16604 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16605 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
16606 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
16607
2793c71e
GB
166082010-02-16 Georgy Buranov <gburanov@gmail.com>
16609
16610 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
16611
402e3779
VS
166122010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16613
16614 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
16615 Double divisor.
16616 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
16617 features.
16618 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
16619
0dd1e0dd
VS
166202010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16621
16622 * gensymlist.sh.in: Use TARGET_CC instead of CC.
16623
6fa7cfce
ST
166242010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16625
16626 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
16627 * docs/grub.texi (Command-line and menu entry commands): Document play
16628 command.
16629
37c8483b
ST
166302010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16631
16632 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
16633 parse arguments as inline tempo and notes. Move code for playing notes
16634 to...
16635 (play): ... new function.
16636
14da0fb7
ST
166372010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16638
16639 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
16640 grub_uint16_t instead of short.
16641 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
16642 disk from little endian to cpu endianness.
16643
04459e70
ST
166442010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
16645
16646 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
16647 GRUB_TICKS_PER_SECOND instead of 120.
16648
a0876943
VS
166492010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
16652 escape sequence after \e.
16653
e29f95dc
VS
166542010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
16657 non-ASCII characters.
16658
d27859b2
VS
166592010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
16662 set root in single quotes to prevent \, from being unescaped.
16663
bc028f2f
VS
166642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 Prevent unknown commands from stopping menuentry execution.
16667
16668 * script/execute.c (grub_script_execute_cmdline): Print error after
16669 unknown command.
16670
095f5f82
VS
166712010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16672
16673 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
16674 Reported by: Pavel Pisa.
16675
8c717950
VS
166762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
16679
904935c3
VS
166802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16681
16682 Merge grub_ieee1275_map_physical into grub_map and rename to
16683 grub_ieee1275_map
16684
16685 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
16686 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
16687 Remove.
16688 * kern/ieee1275/openfw.c (grub_map): Rename to ...
16689 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
16690 necessary.
16691 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
16692
5b59a4e3
VS
166932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16694
16695 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
16696 opening and not after.
16697
69e137e8
VS
166982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
16701 constants.
16702
2c0fcc36
VS
167032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
16706 (alloc_phys): Use ALIGN_UP instead of align_addr.
16707
8c6052ce
VS
167082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
16711
17cec782
VS
167122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16713
16714 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
16715
e0128bbd
VS
167162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16717
16718 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
16719 verbose dprintf.
16720
ca62070b
VS
167212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16722
16723 Fix over-4GiB seek on sparc64.
16724
16725 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
16726 Replace pos_i and pos_lo with pos. All users updated.
16727 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16728 New constant.
16729 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16730 Likewise.
16731 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
16732 and pos_lo.
16733
bdca2607
VS
167342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16735
16736 * util/grub-mkrawimage.c (main): Call set_program_name.
16737
da278c4d
VS
167382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16739
16740 Properly align 64-bit targets.
16741
16742 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
16743 (generate_image): Use ALIGN_ADDR.
16744
b274d734
VS
167452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 Properly create cross-endian images.
16748
16749 * include/grub/types.h (grub_host_to_target_addr): New macro
16750 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
16751
82da2062
VS
167522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16753
16754 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
16755
7cae4377
VS
167562010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
16759
16760 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
16761 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
16762 (grub_linux_boot): Divide by 64K when on VESA.
16763
65a533e7
VS
167642010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16765
16766 Support GRUB_GFXPAYLOAD_LINUX.
16767
16768 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
16769 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
16770
dd01d397
VS
167712010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
16774 to show messages instead of discarding them.
16775 Process errors after executing command and not before. Keep old method
16776 too as precaution.
16777
660960d6
VS
167782010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 * configure.ac: Check for ft2build.h.
16781
62509f04
VS
167822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
16785
473df63d
VS
167862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16787
16788 * genkernsyms.sh.in: Use TARGET_CC.
16789
c98d2a13
CW
167902010-02-07 Colin Watson <cjwatson@ubuntu.com>
16791
16792 * NEWS: Update.
16793
6e14234c
VS
167942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16795
16796 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
16797 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
16798 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 16799
b255e9cf
YB
168002010-02-07 Yves Blusseau <blusseau@zetam.org>
16801
6e14234c 16802 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 16803
98e6959d
VS
168042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 Fix warnings in grub-emu when compiling with maximum warning options.
16807
16808 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
16809 (grub_arch_modules_addr): Return 0 and not NULL.
16810 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 16811 (xstrdup): Use newstr instead of dup.
f88d801b
VS
16812 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
16813 of disk to dsk to avoid shadowing.
74e4934e
VS
16814 (find_free_slot): Fix prototype.
16815 * util/getroot.c (grub_util_is_dmraid): Make static.
16816 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
16817 Add missing prototype.
16818 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 16819
74e31b5c
VS
168202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16821
16822 * loader/i386/linux.c (grub_linux_setup_video): Handle error
16823 appropriately.
16824
6b2ad14b
VS
168252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
16828 code out.
16829
8f891adc
VS
168302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16831
16832 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
16833 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
16834 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
16835 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
16836 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
16837 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
16838
74b45184
VS
168392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 * include/grub/err.h (grub_err_printf): Don't export.
16842
a4bced77
VS
168432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16844
16845 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
16846
007d0695
VS
168472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16848
16849 * include/grub/i18n.h (grub_gettext_dummy): Removed.
16850 * kern/misc.c (grub_gettext_dummy): Make static.
16851
b6c0d9c2
VS
168522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
16855 by non-valid ones.
16856 * kern/term.c (grub_putchar): Likewise.
16857
f51a90d0
VS
168582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16859
16860 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
16861 buggy hook call and memory leak.
16862
6846cec5
VS
168632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
16866
468d69fe
VS
168672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
16870
51906b8c
VS
168712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
16874 modevar.
16875 Return grub_errno on allocation error.
16876
09706ce5
VS
168772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16878
16879 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
16880
911df80c
YB
168812010-02-06 Yves Blusseau <blusseau@zetam.org>
16882
16883 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
16884 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
16885
3746a6bc
VS
168862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
16889 non-pxe disk.
16890 (grub_pxefs_open): Likewise.
16891
09706ce5
VS
168922010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16893
16894 * util/grub.d/10_hurd.in: Add --class information to menuentries.
16895 * util/grub.d/10_kfreebsd.in: Likewise.
16896 * util/grub.d/10_linux.in: Likewise.
16897
7cc192d9
VS
168982010-02-06 Colin D Bennett <colin@gibibit.com>
16899
16900 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
16901 (gfxmenu_mod_SOURCES): New variable.
16902 (gfxmenu_mod_CFLAGS): Likewise.
16903 (gfxmenu_mod_LDFLAGS): Likewise.
16904 * include/grub/term.h (grub_term_set_current_output): Declare
16905 argument as const.
16906 * docs/gfxmenu-theme-example.txt: New file.
16907 * gfxmenu/gfxmenu.c: Likewise.
16908 * gfxmenu/gui_box.c: Likewise.
16909 * gfxmenu/gui_canvas.c: Likewise.
16910 * gfxmenu/gui_circular_progress.c: Likewise.
16911 * gfxmenu/gui_image.c: Likewise.
16912 * gfxmenu/gui_label.c: Likewise.
16913 * gfxmenu/gui_list.c: Likewise.
16914 * gfxmenu/gui_progress_bar.c: Likewise.
16915 * gfxmenu/gui_string_util.c: Likewise.
16916 * gfxmenu/gui_util.c: Likewise.
16917 * gfxmenu/icon_manager.c: Likewise.
16918 * gfxmenu/model.c: Likewise.
16919 * gfxmenu/named_colors.c: Likewise.
16920 * gfxmenu/theme_loader.c: Likewise.
16921 * gfxmenu/view.c: Likewise.
16922 * gfxmenu/widget-box.c: Likewise.
16923 * include/grub/gfxmenu_model.h: Likewise.
16924 * include/grub/gfxmenu_view.h: Likewise.
16925 * include/grub/gfxwidgets.h: Likewise.
16926 * include/grub/gui.h: Likewise.
16927 * include/grub/gui_string_util.h: Likewise.
16928 * include/grub/icon_manager.h: Likewise.
16929
169302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 Agglomerate scrolling in gfxterm.
16933
16934 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
16935 (grub_virtual_screen_setup): Initialise 'total_screen'.
16936 (write_char): Split to ...
16937 (paint_char): ... this ...
16938 (write_char): ... and this.
16939 (paint_char): Handle delayed scrolling.
16940 (draw_cursor): Likewise.
16941 (scroll_up): Split to ...
16942 (real_scroll): ... this ...
16943 (scroll_up): ... and this.
16944 (real_scroll): Handle multi-line scroll and draw below-the-bottom
16945 characters.
16946 (grub_gfxterm_refresh): Call real_scroll.
16947
169482010-02-06 Colin D Bennett <colin@gibibit.com>
16949
16950 * include/grub/misc.h (grub_iscntrl): New inline function.
16951 (grub_isalnum): Likewise.
16952 (grub_strtol): Likewise.
16953
169542010-02-06 Colin D Bennett <colin@gibibit.com>
16955
16956 * normal/menu_text.c (get_entry_number): Move from here ...
16957 * normal/menu.c (get_entry_number): ... moved here.
16958 * include/grub/menu.h (grub_menu_get_default_entry_index):
16959 New prototype.
16960 * normal/menu.c (grub_menu_get_default_entry_index): New function.
16961 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
16962 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
16963 (grub_menu_viewer_should_return): Likewise.
16964 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
16965 * normal/menu_text.c (run_menu): Enable menu switching.
16966 * normal/menu_viewer.c (should_return): New variable.
16967 (menu_viewer_changed): Likewise.
16968 (grub_menu_viewer_show_menu): Handle menu viewer changes.
16969 (grub_menu_viewer_should_return): New function.
16970 (menuviewer_write_hook): Likewise.
16971 (grub_menu_viewer_init): Likewise.
16972
169732010-02-06 Colin D Bennet <colin@gibibit.com>
169742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16975
16976 Support for gfxterm in a window.
16977
16978 * include/grub/gfxterm.h: New file.
16979 * include/grub/video.h (struct grub_video_rect): New declaration.
16980 (grub_video_rect_t): Likewise.
16981 * term/gfxterm.c (struct grub_gfxterm_window): New type.
16982 (refcount): New variable.
16983 (render_target): Likewise.
16984 (window): Likewise.
16985 (repaint_callback): Likewise.
16986 (grub_virtual_screen_setup): Use 'render_target'.
16987 (init_window): New function.
16988 (grub_gfxterm_init_window): Likewise.
16989 (grub_gfxterm_init): Check reference counter.
16990 Use init_window.
16991 (destroy_window): New function.
16992 (grub_gfxterm_destroy_window): Likewise.
16993 (grub_gfxterm_fini): Check reference counter.
16994 Use destroy_window.
16995 (redraw_screen_rect): Restore viewport.
16996 Use 'render_target' and 'window'.
16997 Call 'repaint_callback'.
16998 (write_char): Use 'render_target'.
16999 (draw_cursor): Likewise.
17000 (scroll_up): Restore viewport.
17001 Use 'render_target' and 'window'.
17002 Call 'repaint_callback'.
17003 (grub_gfxterm_cls): Likewise.
17004 (grub_gfxterm_refresh): Use 'window'.
17005 (grub_gfxterm_set_repaint_callback): New function.
17006 (grub_gfxterm_background_image_cmd): Use 'window'.
17007 (grub_gfxterm_get_term): New function.
17008 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
17009
170102010-02-06 Colin D Bennett <colin@gibibit.com>
17011
17012 Bitmap scaling support.
17013
17014 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
17015 (bitmap_scale_mod_SOURCES): New variable.
17016 (bitmap_scale_mod_CFLAGS): Likewise.
17017 (bitmap_scale_mod_LDFLAGS): Likewise.
17018 * include/grub/bitmap_scale.h: New file.
17019 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
17020 (background_image_cmd_options): New variable.
17021 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
17022 (cmd): Rename and change type to ...
17023 (background_image_cmd_handle): ... this. All users updated.
17024 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
17025 * video/bitmap_scale.c: New file.
17026
170272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17028
17029 SDL support.
17030
17031 * Makefile.in (LIBSDL): New variable.
17032 (enable_grub_emu_sdl): Likewise.
17033 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
17034 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
17035 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
17036 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
17037 * util/sdl.c: New file.
17038
170392010-02-06 Colin D Bennett <colin@gibibit.com>
170402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 Double buffering support.
17043
17044 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
17045 * include/grub/video.h: Update comment.
17046 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
17047 New type.
17048 (grub_video_fb_doublebuf_blit_init): New prototype.
17049 * term/gfxterm.c (scroll_up): Support double buffering.
17050 (grub_gfxterm_refresh): Likewise.
17051 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
17052 (grub_video_fb_doublebuf_blit_init): Likewise.
17053 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
17054 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
17055 'displayed_page', 'render_page' and 'update_screen'.
17056 (grub_video_vbe_fini): Free offscreen buffer.
17057 (doublebuf_pageflipping_commit): New function.
17058 (doublebuf_pageflipping_update_screen): Likewise.
17059 (doublebuf_pageflipping_init): Likewise.
17060 (double_buffering_init): Likewise.
17061 (grub_video_vbe_setup): Enable doublebuffering.
17062 (grub_video_vbe_swap_buffers): Implement.
17063 (grub_video_vbe_set_active_render_target): Handle double buffering.
17064 (grub_video_vbe_get_active_render_target): Likewise.
17065 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
17066 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
17067 (grub_video_vbe_enable_double_buffering): Likewise.
17068 (grub_video_vbe_swap_buffers): Use update_screen.
17069 (grub_video_set_mode): Use double buffering.
17070
170712010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17072
17073 * maintainance/gentrigtables.py: Remove.
17074 * lib/trig.c: Likewise.
17075
17076 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
17077
17078 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
17079 `trigtables.c'.
17080 (trigtables.c): New rule.
17081 (gentrigtables): Likewise.
17082 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
17083
170842010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17085
17086 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
17087 integer constants.
17088
170892010-02-06 Colin D Bennet <colin@gibibit.com>
17090
17091 Trigonometry support.
17092
17093 * include/grub/trig.h: New file.
17094 * lib/trig.c: Likewise.
17095 * maintainance/gentrigtables.py: Likewise.
17096 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
17097 (trig_mod_SOURCES): New variable.
17098 (trig_mod_CFLAGS): Likewise.
17099 (trig_mod_LDFLAGS): Likewise.
17100
5562834e
VS
171012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
17104 disk devices.
17105
4f8528fc
VS
171062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17107
17108 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
17109 error.
17110
2b4068e9
VS
171112010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
17112
17113 * util/hostdisk.c (open_device): Don't use partition device when reading
17114 before the partition.
17115 (grub_util_biosdisk_read): Don't read from partition and before the
17116 partition in single operation.
17117 (grub_util_biosdisk_write): Don't write to partition and before the
17118 partition in single operation.
17119
399f6e4d
TL
171202010-02-03 Torsten Landschoff <torsten@debian.org>
17121
17122 * kern/disk.c (grub_disk_read): Fix offset computation when reading
17123 last sectors.
17124
996649b0
VS
171252010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
17128 CDROM reads.
17129 (grub_biosdisk_write): Refuse to write to CDROM.
17130
3b205d4d
VS
171312010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
17132
17133 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
17134
61e89d9d
VS
171352010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
17136
17137 * font/font.c (find_glyph): Check that bmp_idx is available before
17138 using it.
17139 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
17140 with (font == NULL).
17141
bf7fcba2
CS
171422010-01-28 Christian Schmitt <chris@ilovelinux.de>
17143
17144 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
17145
f45d2663
BC
171462010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
17147
17148 * include/grub/script_sh.h (sourcecode): Add const qualifier.
17149 * util/grub-script-check.c (getline): Fix empty lines case.
17150
ec1444e6
RM
171512010-01-28 Robert Millan <rmh.grub@aybabtu.com>
17152
17153 * Makefile.in (check): Exit with fail status when one of the tests
17154 fails.
17155 * tests/example_functional_test.c (example_test): Fix reversed assert.
17156 * tests/example_unit_test.c (example_test): Likewise.
17157
2e1cb9bb
CW
171582010-01-28 Colin Watson <cjwatson@ubuntu.com>
17159
17160 * util/grub.d/10_linux.in: This script does not use any of the
17161 contents of gettext.sh, only the external command `gettext', so stop
17162 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
17163 the same prefix as GRUB.)
17164 * util/grub.d/10_kfreebsd.in: Likewise.
17165
63533ab0
VS
171662010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
17169 of the line.
17170
989e1f93
VS
171712010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17172
17173 * kern/disk.c (grub_disk_read): Fix offset computation when reading
17174 last sectors.
17175
e709ebe2
VS
171762010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17177
17178 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
17179 having a 4KiB and not 32KiB buffer size.
17180
27dea7ed
RM
171812010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17182
17183 * util/hostfs.c: Include `<errno.h>'.
17184 (grub_hostfs_read): Handle errors from fseeko() and fread().
17185
67667b9c
RM
171862010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17187
17188 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
17189 loop when using read hooks on files whose size isn't sector-aligned.
17190
c294d9d8
RM
171912010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17192
17193 Remove unused parameter.
17194
17195 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
17196 (grub_iso9660_open): Remove initialization of `data->length'.
17197
af75a9f1
RM
171982010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17199
17200 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
17201 memleak conditions.
17202
254e2ce5 172032010-01-27 Carles Pina i Estany <carles@pina.cat>
17204
17205 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
17206 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
17207
b510928c 172082010-01-26 Carles Pina i Estany <carles@pina.cat>
17209
17210 * util/bin2h.c (usage): Fix warning (space after backslash).
17211
aa2f9dd2 172122010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 17213
17214 * font/font.c: Include `grub/fontformat.h.
17215 Remove font file format constants.
17216 (grub_font_load): Use the new macros.
17217 * include/grub/fontformat.h: New file.
17218 * util/grub-mkfont.c: Include `grub/fontformat.c'.
17219 (write_font_pf2): Use the new macros.
17220
94e7e712
RM
172212010-01-26 Robert Millan <rmh.grub@aybabtu.com>
17222
17223 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
17224 does.
17225
3973a59a
RM
172262010-01-26 Robert Millan <rmh.grub@aybabtu.com>
17227
17228 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
17229
17230 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
17231 (_start): Macroify `0x7F'.
17232
17233 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
17234 (make_install_device): Use "(pxe)" as fallback prefix when booting
17235 via PXE.
17236
42e0cba3
GS
172372010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
17238
17239 * configure.ac: Reset LIBS after check for libgcc symbols.
17240
847effd8
CW
172412010-01-25 Colin Watson <cjwatson@ubuntu.com>
17242
17243 * util/hostdisk.c (open_device): Add trailing newline to debug
17244 message.
17245
ea4a7e35
GS
172462010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
17247
17248 * configure.ac: Check for `limits.h'.
17249 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
17250
67951a53
RM
172512010-01-24 Robert Millan <rmh.grub@aybabtu.com>
17252
17253 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
17254 capitalize error strings.
17255
c273d4ce
ST
172562010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
17257
17258 * util/grub.d/10_hurd.in: Add a recovery mode.
17259
69be5b74
VS
172602010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
17261
17262 * configure.ac: Check for libgcc symbols with -nostdlib.
17263
fc9e5810
BC
172642010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
17265
17266 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
17267
4b358c0a
VS
172682010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
17271 stack since heap may be unavailable at that point.
17272 (grub_ofconsole_gotoxy): Likewise.
17273
454fcd1c
VS
172742010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 * configure.ac: Check for _restgpr_14_x.
17277 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
17278 and _savegpr_* prototypes.
17279
566863ca
RM
172802010-01-22 Robert Millan <rmh.grub@aybabtu.com>
17281
17282 Use generic grub_reboot() for i386-efi.
17283
17284 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
17285 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
17286 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
17287
bf86e59a
VS
172882010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17289
17290 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
17291 presence of "prefix" variable as it breaks when normal.mod is
17292 embedded.
17293
d645e0f8
VS
172942010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17295
17296 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
17297 stack since heap is unavailable at that point.
17298
f9ab2e25
VS
172992010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
17302 (grub_freebsd_bootinfo): Rewritten.
17303 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
17304
01fc7054
VS
173052010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
17308
caab4fd6
RM
173092010-01-21 Robert Millan <rmh.grub@aybabtu.com>
17310
17311 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
17312 domain now.
17313
67eb1427
FZ
173142010-01-20 Felix Zielcke <fzielcke@z-51.de>
17315
17316 * util/misc.c (make_system_path_relative_to_its_root): Change the work
17317 around for handling "/" to the correct fix. Fix a memory leak. Use
17318 xstrdup instead of strdup.
17319
a9ed4ff3
VS
173202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17321
17322 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
17323
173242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
17325
17326 Optimise glyph lookup by Basic Multilingual Plane lookup array.
17327
17328 * font/font.c (struct grub_font): New member 'bmp_idx'.
17329 (font_init): Initialise 'bmp_idx'.
17330 (load_font_index): Fill 'bmp_idx'.
17331 (find_glyph): Make inline. Use bmp_idx for BMP characters.
17332
48209f4f
VS
173332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17334
17335 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
17336 unnecessary calls.
17337
9f0a4bb7
VS
173382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 Move context handling out of the kernel.
17341
17342 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
17343 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
17344 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
17345 * conf/i386-efi.rmk: Likewise.
17346 * conf/i386-ieee1275.rmk: Likewise.
17347 * conf/i386-pc.rmk: Likewise.
17348 * conf/powerpc-ieee1275.rmk: Likewise.
17349 * conf/sparc64-ieee1275.rmk: Likewise.
17350 * conf/x86_64-efi.rmk: Likewise.
17351 * include/grub/env.h: Include grub/menu.h.
17352 (grub_env_var_type): Removed.
17353 (grub_env_var): Replaced field 'type' with 'global'.
17354 (grub_env_find): New prototype.
17355 (grub_env_context_open): Remove EXPORT_FUNC.
17356 (grub_env_context_close): Likewise.
17357 (grub_env_export): Likewise.
17358 (grub_env_set_data_slot): Removed.
17359 (grub_env_get_data_slot): Likewise.
17360 (grub_env_unset_data_slot): Likewise.
17361 (grub_env_unset_menu): New prototype.
17362 (grub_env_set_menu): Likewise.
17363 (grub_env_get_menu): Likewise.
17364 * include/grub/env_private.h: New file.
17365 * include/grub/normal.h (grub_context_init): New prototype.
17366 (grub_context_fini): Likewise.
17367 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
17368 * normal/context.c (grub_cmd_export): ... to here.
17369 * kern/env.c: Include env_private.h.
17370 (HASHSZ): Moved to include/grub/env_private.h.
17371 (grub_env_context): Likewise.
17372 (grub_env_sorted_var): Likewise.
17373 (current_context): Renamed from this ...
17374 (grub_current_context): ...to this. 'static' removed. All users updated.
17375 (grub_env_find): Removed 'static'.
17376 (grub_env_context_open): Moved to normal/context.c.
17377 (grub_env_context_close): Likewise.
17378 (grub_env_export): Likewise.
17379 (mangle_data_slot_name): Removed.
17380 (grub_env_set_data_slot): Likewise.
17381 (grub_env_get_data_slot): Likewise.
17382 (grub_env_unset_data_slot): Likewise.
17383 * kern/main.c (grub_set_root_dev): Don't export root.
17384 It will be done later.
17385 (grub_main): Don't export prefix.
17386 It will be done later.
17387 * normal/context.c: New file.
17388 * normal/main.c (free_menu): Use grub_env_unset_menu.
17389 (grub_normal_add_menu_entry): Use grub_env_get_menu.
17390 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
17391 (GRUB_MOD_INIT(normal)): Call grub_context_init.
17392 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
17393
8dd35b8c
VS
173942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 setpci support.
17397
17398 * commands/setpci.c: New file.
17399 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
17400 (setpci_mod_SOURCES): New variable.
17401 (setpci_mod_CFLAGS): Likewise.
17402 (setpci_mod_LDFLAGS): Likewise.
17403
449193d5
VS
174042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17405
17406 Byte-addressable PCI configuration space.
17407
17408 * bus/pci.c (grub_pci_make_address): Use byte address instead of
17409 dword address.
17410 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
17411 GRUB_PCI_REG_CACHELINE.
17412 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
17413 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
17414 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
17415 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
17416 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
17417 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
17418 grub_pci_make_address.
17419 (lock_rom_area): Likewise.
17420 * commands/lspci.c (grub_lspci_iter): Use macroses
17421 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
17422 of grub_pci_make_address.
17423 * disk/ata.c (grub_ata_pciinit): Likewise.
17424 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
17425 (GRUB_PCI_REG_VENDOR): Likewise.
17426 (GRUB_PCI_REG_DEVICE): Likewise.
17427 (GRUB_PCI_REG_COMMAND): Likewise.
17428 (GRUB_PCI_REG_STATUS): Likewise.
17429 (GRUB_PCI_REG_REVISION): Likewise.
17430 (GRUB_PCI_REG_CLASS): Likewise.
17431 (GRUB_PCI_REG_CACHELINE): Likewise.
17432 (GRUB_PCI_REG_LAT_TIMER): Likewise.
17433 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
17434 (GRUB_PCI_REG_BIST): Likewise.
17435 (GRUB_PCI_REG_ADDRESSES): Likewise.
17436 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17437 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17438 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17439 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17440 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17441 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17442 (GRUB_PCI_REG_CIS_POINTER): Likewise.
17443 (GRUB_PCI_REG_SUBVENDOR): Likewise.
17444 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
17445 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
17446 (GRUB_PCI_REG_CAP_POINTER): Likewise.
17447 (GRUB_PCI_REG_IRQ_LINE): Likewise.
17448 (GRUB_PCI_REG_IRQ_PIN): Likewise.
17449 (GRUB_PCI_REG_MIN_GNT): Likewise.
17450 (GRUB_PCI_REG_MAX_LAT): Likewise.
17451 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
17452 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
17453 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 17454 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
17455 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
17456 space.
17457
96d73208
RM
174582010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17459
17460 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
17461 can be reliably determined to be supported.
17462
d4484482
RM
174632010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17464
17465 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
17466 that VESA is supported.
17467 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
17468 supported.
17469
00308ecf
VS
174702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17471
17472 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
17473
f66924a4
RM
174742010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17475
17476 * util/misc.c (make_system_path_relative_to_its_root): Work around
17477 special-casing of "/", as previous incarnation of this routine did.
17478
cbca0ada
VS
174792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17480
17481 Fix any-emu compilation.
17482
17483 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
17484 * grub_bin2h_SOURCES: New variable.
17485
34a66d99
RM
174862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17487
17488 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
17489
94fabf58
RM
174902010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17491
17492 * util/grub.d/00_header.in: Fix handling of locale_dir.
17493
02cf98ca
VS
174942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17495
17496 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
17497 as possible unifont location (Gentoo).
17498 Reported by: Alexander Brüning
17499
327dbcd7
VS
175002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17501
17502 Don't try to generate lists for kernel.img.
17503
17504 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
17505 (pkglib_MODULES): Remove kernel.img.
17506 (kernel_img_EXPORTS): Removed.
17507 (kernel_img_RELOCATABLE): New variable.
17508 * conf/x86_64-efi.rmk: Likewise.
17509 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
17510
ca467290
VS
175112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17512
17513 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
17514 grub_xasprintf or grub_snprintf.
17515 (grub_vsprintf): Likewise.
17516 (grub_snprintf): New proto.
17517 (grub_vsnprintf): Likewise.
17518 (grub_xasprintf): Likewise.
17519 (grub_xvasprintf): Likewise.
17520 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
17521 (grub_sprintf): Removed.
17522 (grub_vsnprintf): New function.
17523 (grub_snprintf): Likewise.
17524 (grub_xvasprintf): Likewise.
17525 (grub_xasprintf): Likewise.
17526 (grub_vsprintf): Renamed to ...
17527 (grub_vsnprintf_real): ...this. New argument max_len.
17528
aca655fd
BC
175292010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
17530
17531 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
17532 fix grub-script-check warning.
17533
7ee92c32
VS
175342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17535
17536 * include/grub/font.h (grub_font_load): Fix prototype.
17537
f80927ca
VS
175382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17539
17540 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
17541
119c50ea
VS
175422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17543
17544 * include/grub/x86_64/at_keyboard.h: New file.
17545
47d5f3c1
VS
175462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 * loader/mips/linux.c: Include missing grub/i18n.h.
17549
55ff5266
RM
175502009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17551
17552 * normal/menu.c (notify_execution_failure): Clarify error message.
17553
c893cc87
RM
175542009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17555
17556 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
17557 return value (and revert all return statements). Update users.
17558
917dd370
CW
175592010-01-20 Dan Merillat <debian@dan.merillat.org>
17560
17561 * kern/device.c (grub_device_iterate): Allocate new part_ent
17562 structure based on sizeof (*p) rather than sizeof (p->next), to
17563 account for structure padding.
17564
17565 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
17566 disk is NULL, which might happen for LVM physical volumes with no
17567 LVM signature.
17568
d4a4ee57
RM
175692009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17570
17571 * loader/mips/linux.c (grub_cmd_initrd)
17572 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
17573
175742009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17575
17576 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
17577 (grub_video_video_init, grub_video_bitmap_init)
17578 (grub_font_manager_init, grub_term_gfxterm_init)
17579 (grub_at_keyboard_init): New extern declarations.
17580 (grub_machine_init): Initialize gfxterm and at_keyboard.
17581
17582 * kern/main.c (grub_main): Revert grub_printf delay kludge.
17583
17584 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
17585 `gfxterm.mod' into core image.
17586
17587 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17588 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17589 (kernel_img_FORMAT): Copy to ...
17590
17591 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17592 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17593 (kernel_img_FORMAT): ... here, and ...
17594
17595 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17596 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17597 (kernel_img_FORMAT): ... here.
17598
17599 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
17600 and input (at_keyboard) terminals in kernel.
17601 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
17602
17603 (pkglib_MODULES): Remove `pci.mod'.
17604 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
17605 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
17606 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
17607 (at_keyboard_mod_LDFLAGS): Remove variables.
17608
176092010-01-11 Felix Zielcke <fzielcke@z-51.de>
17610
17611 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
17612
176132009-12-10 Robert Millan <rmh.grub@aybabtu.com>
17614
17615 * include/grub/mips/libgcc.h: Only export symbols for functions
17616 that libgcc provides.
17617
176182009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 MIPS support.
17621
17622 * bus/bonito.c: New file.
17623 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
17624 GRUB_PCI_NUM_DEVICES.
17625 * term/i386/pc/serial.c: Move to ...
17626 * term/serial.c: ... here. All users updated.
17627 * util/i386/pc/grub-mkimage.c: Move to ...
17628 * util/grub-mkrawimage.c: ... here. All users updated.
17629 * term/i386/pc/at_keyboard.c: Move to ...
17630 * term/at_keyboard.c: ... here. All users updated.
17631 * conf/mips-qemu-mips.rmk: New file.
17632 * conf/mips-yeeloong.rmk: Likewise.
17633 * conf/mips.rmk: Likewise.
17634 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
17635 mipsel-qemu-mips.
17636 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
17637 to port addresses.
17638 (grub_ata_pciinit): Support CS5536.
17639 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
17640 * font/font_cmd.c (loadfont_command): Open file before passing it to
17641 grub_font_load.
17642 (pseudo_file_read): New function.
17643 (pseudo_file_close): Likewise.
17644 (pseudo_fs): New structure.
17645 (load_font_module): New function.
17646 (GRUB_MOD_INIT(font_manager)): Load embedded font.
17647 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
17648 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
17649 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
17650 * include/grub/i386/at_keyboard.h: Split into ...
17651 * include/grub/at_keyboard.h: ... this ...
17652 * include/grub/i386/at_keyboard.h: ... and this.
17653 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
17654 New prototype.
17655 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
17656 updated.
17657 (grub_elf64_size): Likewise.
17658 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
17659 filename.
17660 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
17661 * include/grub/i386/coreboot/serial.h: Rewritten.
17662 * include/grub/i386/ieee1275/serial.h: Include
17663 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
17664 * include/grub/i386/pc/serial.h: Moved from here ...
17665 * include/grub/serial.h: ... to here. All users updated.
17666 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
17667 (GRUB_PCI_NUM_BUS): Likewise.
17668 (GRUB_PCI_NUM_DEVICES): Likewise.
17669 (grub_pci_device_map_range): Add missing volatile keyword.
17670 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
17671 * include/grub/mips/at_keyboard.h: New file.
17672 * include/grub/mips/cache.h: Likewise.
17673 * include/grub/mips/io.h: Likewise.
17674 * include/grub/mips/kernel.h: Likewise.
17675 * include/grub/mips/libgcc.h: Likewise.
17676 * include/grub/mips/pci.h: Likewise.
17677 * include/grub/mips/qemu-mips/boot.h: Likewise.
17678 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17679 * include/grub/mips/qemu-mips/loader.h: Likewise.
17680 * include/grub/mips/qemu-mips/memory.h: Likewise.
17681 * include/grub/mips/qemu-mips/serial.h: Likewise.
17682 * include/grub/mips/qemu-mips/time.h: Likewise.
17683 * include/grub/mips/relocator.h: Likewise.
17684 * include/grub/mips/time.h: Likewise.
17685 * include/grub/mips/types.h: Likewise.
17686 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
17687 * include/grub/mips/yeeloong/boot.h: Likewise.
17688 * include/grub/mips/yeeloong/kernel.h: Likewise.
17689 * include/grub/mips/yeeloong/loader.h: Likewise.
17690 * include/grub/mips/yeeloong/memory.h: Likewise.
17691 * include/grub/mips/yeeloong/pci.h: Likewise.
17692 * include/grub/mips/yeeloong/serial.h: Likewise.
17693 * include/grub/mips/yeeloong/time.h: Likewise.
17694 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
17695 * kern/elf.c (grub_elf32_size): New parameter. All users
17696 updated.
17697 (grub_elf64_size): Likewise.
17698 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
17699 Load modules before saying "Welcome to GRUB!".
17700 Call grub_refresh after saying "Welcome to GRUB!".
17701 * kern/mips/cache.S: New file.
17702 * kern/mips/cache_flush.S: Likewise.
17703 * kern/mips/dl.c: Likewise.
17704 * kern/mips/init.c: Likewise.
17705 * kern/mips/qemu-mips/init.c: Likewise.
17706 * kern/mips/startup.S: Likewise.
17707 * kern/mips/yeeloong/init.c: Likewise.
17708 * kern/term.c (grub_putcode): Handle NULL terminal.
17709 (grub_getcharwidth): Likewise.
17710 (grub_getkey): Likewise.
17711 (grub_checkkey): Likewise.
17712 (grub_getkeystatus): Likewise.
17713 (grub_getxy): Likewise.
17714 (grub_getwh): Likewise.
17715 (grub_gotoxy): Likewise.
17716 (grub_cls): Likewise.
17717 (grub_setcolorstate): Likewise.
17718 (grub_setcolor): Likewise.
17719 (grub_getcolor): Likewise.
17720 (grub_refresh): Likewise.
17721 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
17722 (write_jump): Add hatch nop.
17723 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
17724 * lib/mips/setjmp.S: New file.
17725 * loader/mips/linux.c: Likewise.
17726 * term/i386/pc/at_keyboard.c: Move from here ...
17727 * term/at_keyboard.c: ... to here.
17728 * term/i386/pc/serial.c: Moved from here ...
17729 * term/serial.c: ... to here. All users updated.
17730 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
17731 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
17732 (serial_translate_key_sequence): Avoid deadlock.
17733 (grub_serial_getkey): Handle backspace.
17734 (grub_serial_putchar): Fix newline handling.
17735 * util/i386/pc/grub-mkimage.c: Move from here ...
17736 * util/grub-mkrawimage.c: ... to here. All users updated.
17737 (generate_image): New parameters 'font_path' and 'format'.
17738 Support embedding font.
17739 Use grub_host_to_target* instead of grub_cpu_to_le*.
17740 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
17741 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
17742 (options): New option "--font".
17743 (usage): Likewise.
17744 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
17745 (main): Handle "--font".
17746 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
17747 (grub_virtual_screen_setup): Set bg_color_display.
17748 (redraw_screen_rect): Use bg_color_display instead of incorrect
17749 bg_color.
17750 (grub_gfxterm_cls): Likewise.
17751 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
17752 Support embedding config file.
17753 (add_segments): Likewise.
17754 (options): New option "--config".
17755 (main): Handle "--config".
17756 * video/sm712.c: New file.
17757
25c2b5b3
RM
177582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17759
17760 Fix parallel builds.
17761
17762 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
17763 font.c depend on ascii.h).
17764
177652010-01-12 Carles Pina i Estany <carles@pina.cat>
17766
17767 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
17768
177692010-01-11 Carles Pina i Estany <carles@pina.cat>
17770
17771 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
17772 By default: disabled.
17773 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
17774 parameter.
17775
177762010-01-10 Carles Pina i Estany <carles@pina.cat>
17777
17778 * font/font.c: Update copyright years.
17779 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
17780
177812010-01-10 Carles Pina i Estany <carles@pina.cat>
17782
17783 * font/font.c: Include `ascii.h'.
17784 (ASCII_BITMAP_SIZE): New macro.
17785 (ascii_font_glyph): Define.
17786 (ascii_glyph_lookup): New function.
17787 (grub_font_get_string_width): Change comment. If glyph not found, use
17788 ascii_glyph_lookup.
17789 (grub_font_get_glyph_with_fallback): If glyph not available returns
17790 ascii_glyph_lookup.
17791 * util/grub-mkfont.c (file_formats): New enum.
17792 (options): Add `ascii-bitmaps' new option.
17793 (usage): Add `asii-bitmaps' new option.
17794 (write_font_ascii_bitmap): New function.
17795 (write_font): Rename to ...
17796 (write_font_p2): ... this. Remove print_glyphs call.
17797 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
17798 used. Call print_glyphs.
17799 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
17800
178012010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17802
17803 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
17804 (grub_bin2h_SOURCES): New variable.
17805 * util/bin2h.c: New file.
17806
915fc1b8
VS
178072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17808
17809 * include/multiboot.h: Resynced with spec.
17810 * include/multiboot2.h: Likewise.
17811 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
17812 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
17813
9444b678
RM
178142010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17815
17816 * include/grub/term.h (grub_term_register_input,
17817 grub_term_register_output): Check return of terminal init()
17818 routines, and abort if errors are raised.
17819
17820 * commands/terminal.c: Update copyright year.
17821
cba98e8d
RM
178222010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17823
17824 * commands/terminal.c (grub_cmd_terminal_input)
17825 (grub_cmd_terminal_output): Check return of terminal init()
17826 routines, and abort if errors are raised.
17827
6f7db5d6
VS
178282010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17829
17830 * include/grub/i386/bsd.h: Fix include pathes.
17831
262bff8d
VS
178322010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17833
17834 Add missing *BSD copyright headers.
17835
17836 * include/grub/aout.h: Add BSD licence.
17837 * include/grub/i386/bsd.h: Parts under different licences moved to ...
17838 * include/grub/i386/freebsd_linker.h: ... here,
17839 * include/grub/i386/freebsd_reboot.h: ... here,
17840 * include/grub/i386/netbsd_bootinfo.h: ... here,
17841 * include/grub/i386/netbsd_reboot.h: ... here,
17842 * include/grub/i386/openbsd_bootarg.h: ... here,
17843 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
17844 licence to each file.
17845
b2cab848
RM
178462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17847
17848 * acinclude.m4: Remove `nop' assembly instruction; it's not
17849 implemented by all architectures.
17850
2cb6be4b
RM
178512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17852
17853 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
17854 ELILO. This is no longer necessary.
17855
a2eaee15
BC
178562010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
17857
17858 Added new tool, grub-scrit-check to verify grub.cfg syntax.
17859
17860 * util/grub-script-check.c: grub-script-check tool.
17861 * conf/common.rmk: Make rules for grub-script-check.
17862
88d17012
RM
178632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17864
17865 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
17866 spotting it back in 2008. Shame on me for forgetting he did.
17867
17868 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
17869
8040619d
RM
178702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17871
17872 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
17873 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
17874 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
17875 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
17876 (GRUB_VIDEO_TYPE_EFI): Rename to ...
17877 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
17878
a0c2a0f6
RM
178792010-01-17 Robert Millan <rmh.grub@aybabtu.com>
17880
17881 * include/grub/test.h: Add license header.
17882 * tests/example_functional_test.c: Likewise.
17883 * tests/example_unit_test.c: Likewise.
17884 * tests/lib/functional_test.c: Likewise.
17885 * tests/lib/test.c: Likewise.
17886 * tests/lib/unit_test.c: Likewise.
17887
b0b13907
VS
178882010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
17889
17890 Use flag-based instead of hook-based video mode selection and "auto"
17891 keyword.
17892
17893 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
17894 (grub_video_set_mode): Changed prototype. All users updated.
17895 (grub_video_check_mode_flag): New inline function.
17896 * video/video.c (parse_modespec): New function.
17897 (grub_video_set_mode): Parse flags and keywords.
17898
ea379330 178992010-01-17 Carles Pina i Estany <carles@pina.cat>
17900
17901 * util/misc.c (grub_util_info): Fix the order of the parameters in a
17902 fprintf call.
17903
e15c215e
FZ
179042010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
17905
17906 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
17907
409ae1c9 179082010-01-16 Carles Pina i Estany <carles@pina.cat>
17909
17910 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
17911 string.
17912 * util/grub-emu.c (usage): Likewise.
17913 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
17914 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17915 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17916 * util/i386/pc/grub-setup.c (usage): Likewise.
17917
70a14d3d 179182010-01-16 Carles Pina i Estany <carles@pina.cat>
17919
17920 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
17921 the message.
17922 (grub_util_info): Likewise.
17923 (grub_util_error): Likewise.
17924 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
17925 and/or new lines in `grub_util_warna', `grub_util_info',
17926 `grub_util_error' calls.
17927 * util/getroot.c: Likewise.
17928 * util/grub-editenv.c: Likewise.
17929 * util/grub-emu.c: Likewise.
17930 * util/grub-fstest.c: Likewise.
17931 * util/grub-mkdevicemap.c: Likewise.
17932 * util/grub-mkfont.c: Likewise.
17933 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17934 * util/grub-mkrelpath.c: Likewise.
17935 * util/grub-pe2elf.c: Likewise.
17936 * util/grub-probe.c: Likewise.
17937 * util/hostdisk.c: Likewise.
17938 * util/i386/efi/grub-mkimage.c: Likewise.
17939 * util/i386/pc/grub-mkimage.c: Likewise.
17940 * util/i386/pc/grub-setup.c: Likewise.
17941 * util/ieee1275/ofpath.c: Likewise.
17942 * util/mkisofs/eltorito.c: Likewise.
17943 * util/mkisofs/rock.c: Likewise.
17944 * util/mkisofs/write.c: Likewise.
17945 * util/raid.c: Likewise.
17946 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17947 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17948
a0b766fc
VS
179492010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17950
17951 Enable multiboot on non-pc.
17952
17953 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
17954 multiboot.mod and multiboot2.mod to ...
17955 * conf/i386.rmk (pkglib_MODULES): ... here.
17956 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
17957 Moved to ...
17958 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
17959 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
17960 Moved to ...
17961 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
17962 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
17963 Moved to ...
17964 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
17965 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
17966 Moved to ...
17967 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
17968 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
17969 relocator.mod.
17970 (ata_mod_SOURCES): Removed.
17971 (ata_mod_CFLAGS): Likewise.
17972 (ata_mod_LDFLAGS): Likewise.
17973 (relocator_mod_SOURCES): Removed.
17974 (relocator_mod_CFLAGS): Likewise.
17975 (relocator_mod_ASFLAGS): Likewise.
17976 (relocator_mod_LDFLAGS): Likewise.
17977 Include i386.mk.
17978 * include/grub/x86_64/multiboot.h: New file.
17979 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
17980 Terminate EFI.
17981
884ade56
VS
179822010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17983
17984 Video multiboot support.
17985
17986 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
17987 New prototype.
17988 * include/multiboot.h: Resynced with multiboot specification.
17989 * include/multiboot2.h: Likewise.
17990 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
17991 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
17992 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
17993 (HAS_VGA_TEXT): Likewise.
17994 (accepts_video): New variable.
17995 (grub_multiboot_set_accepts_video): New function.
17996 (grub_multiboot_get_mbi_size): Account for video structures.
17997 (set_video_mode): New function.
17998 (retrieve_video_parameters): Likewise.
17999 (grub_multiboot_make_mbi): Fill video fields.
18000
0d90e8a6
VS
180012010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18002
18003 Video driver ids.
18004
18005 * include/grub/video.h (grub_video_driver_id): New type.
18006 (grub_video_adapter): New member 'id'. All users updated.
18007 (grub_video_get_driver_id): New proto.
18008 * video/video.c (grub_video_get_driver_id): New function.
18009
5c71db1b 180102010-01-14 Carles Pina i Estany <carles@pina.cat>
18011
18012 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
18013 `var=val'.
18014
cca15b52 180152010-01-14 Carles Pina i Estany <carles@pina.cat>
18016
18017 * normal/cmdline.c (print_completion): Gettextizze.
18018
c586fbb2 180192001-01-14 Carles Pina i Estany <carles@pina.cat>
18020
18021 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
18022
ba2f6848 180232010-01-14 Carles Pina i Estany <carles@pina.cat>
18024
18025 * gettext/gettext.c (grub_gettext_translate): Push and pop
18026 grub_errno.
18027 (grub_gettext_delete_list): Change comment style.
18028 * kern/err.c (grub_error): Gettextizze.
18029 (grub_fatal): Gettextizze.
18030
0a46429a
RM
180312010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18032
18033 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
18034 (grub_linux16_real_boot): ... this.
18035 * kern/i386/loader.S: Likewise.
18036 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
18037 (grub_linux16_boot): New function. Switches to text mode and calls
18038 grub_linux16_real_boot().
18039
18040 * loader/i386/bsd.c: Include `<grub/video.h>'.
18041 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
18042 text mode before calling grub_unix_real_boot().
18043
18044 * loader/i386/multiboot.c: Include `<grub/video.h>'.
18045 (grub_multiboot_boot): Switch to text mode before calling
18046 grub_relocator32_boot().
18047
18048 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
18049 (grub_chainloader_boot): Switch to text mode before calling
18050 grub_chainloader_real_boot().
18051
d6f93a66
RM
180522010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
180532010-01-05 Colin Watson <cjwatson@ubuntu.com>
18054
18055 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
18056 non-empty value.
18057
180582010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
180592010-01-05 Colin Watson <cjwatson@ubuntu.com>
18060
18061 * util/grub.d/00_header.in: Define a "savedefault" function for use
18062 in menu entries.
18063 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
18064
180652010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
180662010-01-05 Colin Watson <cjwatson@ubuntu.com>
18067
18068 * util/grub-mkconfig_lib.in (save_default_entry): Only set
18069 saved_entry if boot_once is unset.
18070 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
18071 previous saved entry (i.e. grub-reboot).
18072
180732009-12-08 Colin Watson <cjwatson@ubuntu.com>
18074
18075 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
18076
180772009-12-08 Colin Watson <cjwatson@ubuntu.com>
18078
18079 * util/grub.d/00_header.in: Use `set var=val' rather than plain
18080 `var=val'.
18081 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
18082
180832009-12-08 Colin Watson <cjwatson@ubuntu.com>
18084
18085 * util/grub-reboot.in: Fix --version output.
18086 * util/grub-set-default.in: Likewise.
18087
180882009-12-08 Colin Watson <cjwatson@ubuntu.com>
18089
18090 * util/grub.d/00_header.in: Silently ignore zero-sized environment
18091 blocks.
18092
180932009-12-08 Colin Watson <cjwatson@ubuntu.com>
18094
18095 * util/grub.d/00_header.in: Quote the value assigned to `default',
18096 in case it contains spaces.
18097
180982009-12-08 Colin Watson <cjwatson@ubuntu.com>
18099
18100 * util/grub.d/30_os-prober.in: Fix merge error that moved a
18101 `save_default_entry' call from the macosx case to the linux case.
18102
181032009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
181042009-10-25 Colin Watson <cjwatson@ubuntu.com>
18105
18106 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
18107 in `chosen' environment variable.
18108 * normal/menu_text.c (get_entry_number): Check if the variable
18109 matches the title of a menu entry.
18110 (run_menu): Pass menu to get_entry_number.
18111
18112 * util/grub-reboot.in: New file.
18113 * util/grub-set-default.in: New file.
18114 * conf/common.rmk (grub-reboot): New utility.
18115 (grub-set-default): New utility.
18116
18117 * util/grub-mkconfig_lib.in (save_default_entry): New function.
18118 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
18119 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
18120 move it to `saved_entry' for the next boot. Load environment on
18121 initialisation.
18122 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
18123 * util/grub.d/10_hurd.in: Likewise.
18124 * util/grub.d/10_linux.in (linux_entry): Likewise.
18125 * util/grub.d/10_windows.in: Likewise.
18126 * util/grub.d/30_os-prober.in: Likewise.
18127
18128 * util/grub-install.in: Create environment block.
18129 * util/i386/efi/grub-install.in: Likewise.
18130 * util/ieee1275/grub-install.in: Likewise.
18131 * util/sparc64/ieee1275/grub-install.in: Likewise.
18132
0934d184
BC
181332010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
18134
18135 Unit testing framework for GRUB.
18136
18137 * Makefile.in: Test framework build rules for 'make check'.
18138 * conf/tests.rmk: Build rules for individual tests and framework.
18139
18140 * include/grub/test.h: Header file for whitebox tests.
18141 * tests/lib/functional_test.c: Framework support for whitebox
18142 functional tests.
18143 * tests/lib/test.c: Common whitebox testing code for unit and
18144 functional tests.
18145 * tests/lib/unit_test.c: Framework support for whitebox unit
18146 tests.
18147
18148 * tests/util/grub-shell-tester.in: Support utility for grub-script
18149 tests.
18150 * tests/util/grub-shell.in: Utility to execute grub-script
18151 commands in a Qemu instance.
18152
18153 * tests/example_functional_test.c: Example whitebox functional
18154 test.
18155 * tests/example_grub_script_test.in: Example grub-script test.
18156 * tests/example_scripted_test.in: Example scripted test.
18157 * tests/example_unit_test.c: Example whitebox unit test.
18158
9c4ffeeb
VS
181592010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
18162 Add loader/i386/multiboot_mbi.c.
18163 (multiboot2_mod_SOURCES): Likewise.
18164 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
18165 (multiboot2_mod_SOURCES): Likewise.
18166 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
18167 (grub_multiboot_make_mbi): Likewise.
18168 (grub_multiboot_free_mbi): Likewise.
18169 (grub_multiboot_init_mbi): Likewise.
18170 (grub_multiboot_add_module): Likewise.
18171 (grub_multiboot_set_bootdev): Likewise.
18172 * loader/i386/multiboot.c (mbi): Removed.
18173 (mbi_dest): Likewise.
18174 (alloc_mbi): New variable.
18175 (grub_multiboot_payload_size): Removed. All users updated.
18176 (grub_multiboot_pure_size): New variable.
18177 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
18178 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
18179 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
18180 (grub_fill_multiboot_mmap): Likewise.
18181 (grub_multiboot_get_bootdev): Likewise.
18182 (grub_multiboot): Use multiboot_mbi functions.
18183 * loader/i386/multiboot_mbi.c: New file.
18184
17383dfe
VS
181852010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18186
18187 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
18188 it would result in module crash.
18189
c1f28820
VS
181902010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18191
18192 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
18193 (grub_ofconsole_getwh): Split to ...
18194 (grub_ofconsole_getwh): ... this.
18195 (grub_ofconsole_dimensions): ...and this.
18196 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
18197
58655a16
RM
181982010-01-13 Robert Millan <rmh.grub@aybabtu.com>
18199
18200 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
18201
10891398
VS
182022010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18203
18204 * loader/i386/pc/multiboot2.c: Removed stalled file.
18205
0b8a223c
VS
182062010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
18209 Reported by: Grégoire Sutre
18210
92ab12b0
RM
182112010-01-11 Robert Millan <rmh.grub@aybabtu.com>
18212
18213 * util/misc.c (canonicalize_file_name): New function.
18214 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
18215 instead of realpath().
18216
a788afb6
CW
182172010-01-11 Colin Watson <cjwatson@ubuntu.com>
18218
18219 * util/grub-install.in (usage): Clarify meaning of --root-directory,
18220 and make it clearer that it's optional. Based on confusion
18221 witnessed on IRC.
18222
ffa8e3d2
VS
182232010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
18226 in premature implicit newline.
18227
e9060a9d
VS
182282010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
18231 which resulted in garbled command line at the end of screen.
18232
f0d0c0b7
RM
182332010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18234
18235 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
18236 initialization with similar approach as with other Linux loaders.
18237
0e60bae7
RM
182382010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18239
18240 Fix i386-ieee1275 build.
18241
18242 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
18243 and grub_term_height() for video_{width,height} initialization.
18244
182452010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
18246
18247 Fix grub-emu build.
18248
18249 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
18250
cdb3f378
RM
182512010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
182522010-01-09 Robert Millan <rmh.grub@aybabtu.com>
18253
18254 Support for multiple terminals.
18255
18256 * Makefile.in (pkglib_DATA): terminal.lst.
18257 (terminal.lst): New target.
18258 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
18259 (GRUB_MOD_INIT(handler)): Likewise.
18260 (GRUB_MOD_FINI(handler)): Likewise.
18261 * commands/help.c (grub_cmd_help): Handle multiple terminals.
18262 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
18263 * commands/sleep.c (do_print): Use grub_term_restore_pos.
18264 (grub_cmd_sleep): Use grub_term_save_pos.
18265 * commands/terminal.c: New file.
18266 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
18267 commands/terminal.c and lib/charset.c.
18268 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
18269 (pkglib_MODULES): Add terminal.mod.
18270 (terminal_mod_SOURCES): New variable.
18271 (terminal_mod_CFLAGS): Likewise.
18272 (terminal_mod_LDFLAGS): Likewise.
18273 * genhandlerlist.sh: Don't handle terminals.
18274 * genmk.rb: Generate terminal-*.lst.
18275 * genterminallist.sh: New file.
18276 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
18277 (grub_is_valid_utf8): Likewise.
18278 (grub_utf8_to_ucs4_alloc): Likewise.
18279 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
18280 (grub_menu_register_viewer): Changed argument.
18281 (grub_menu_try_text): New proto.
18282 (grub_gfxmenu_try_hook): New declaration.
18283 * include/grub/normal.h (grub_normal_exit_level): New declaration.
18284 (grub_menu_init_page): Additional argument term.
18285 (grub_normal_init_page): Likewise.
18286 (grub_cmdline_get): Arguments simplified.
18287 (grub_utf8_to_ucs4_alloc): Removed.
18288 (grub_print_ucs4): Additional argument term.
18289 (grub_getstringwidth): Likewise.
18290 (grub_print_message_indented): Likewise.
18291 (grub_menu_text_register_instances): New proto.
18292 (grub_show_menu): Likewise.
18293 (read_terminal_list): Likewise.
18294 (grub_set_more): Likewise.
18295 * include/grub/parser.h: Include handler.h.
18296 * include/grub/reader.h: Rewritten.
18297 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
18298 (GRUB_TERM_WIDTH): Changed to function.
18299 (GRUB_TERM_HEIGHT): Likewise.
18300 (GRUB_TERM_BORDER_WIDTH): Likewise.
18301 (GRUB_TERM_BORDER_HEIGHT): Likewise.
18302 (GRUB_TERM_NUM_ENTRIES): Likewise.
18303 (GRUB_TERM_ENTRY_WIDTH): Likewise.
18304 (GRUB_TERM_CURSOR_X): Likewise.
18305 (grub_term_input_class): Likewise.
18306 (grub_term_output_class): Likewise.
18307 (grub_term_outputs_disabled): New declaration.
18308 (grub_term_inputs_disabled): Likewise.
18309 (grub_term_outputs): Likewise.
18310 (grub_term_inputs): Likewise.
18311 (grub_term_register_input): Rewritten.
18312 (grub_term_register_output): Likewise.
18313 (grub_term_unregister_input): Likewise.
18314 (grub_term_unregister_output): Likewise.
18315 (FOR_ACTIVE_TERM_INPUTS): New macro.
18316 (FOR_DISABLED_TERM_INPUTS): Likewise.
18317 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18318 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18319 * include/grub/terminfo.h: Add oterm argument to all protypes.
18320 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
18321 Use grub_rescue_run.
18322 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
18323 All users updated.
18324 * kern/reader.c: Removed. All users updated.
18325 * kern/rescue_reader.c (grub_rescue_init): Removed.
18326 (grub_rescue_reader): Likewise.
18327 (grub_register_rescue_reader): Likewise.
18328 (grub_rescue_run): New function based on kern/reader.c.
18329 * kern/term.c: Adapted for multiterm.
18330 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
18331 (grub_is_valid_utf8): Likewise.
18332 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
18333 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
18334 right terminal.
18335 * loader/i386/linux.c (grub_linux_boot): Likewise.
18336 * normal/auth.c (grub_username_get): New function.
18337 (grub_auth_check_authentication): Use grub_username_get.
18338 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
18339 * normal/color.c: Adapt for multiterm.
18340 * normal/main.c (read_config_file): Don't use grub_reader_loop.
18341 (grub_normal_init_page): Additional argument term.
18342 (read_lists): Call read_terminal_lists.
18343 (grub_enter_normal_mode): Call grub_cmdline_run.
18344 Handle grub_normal_exit_level.
18345 (grub_cmd_normal): Make reentrant.
18346 (grub_cmd_normal_exit): New function.
18347 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
18348 * normal/menu.c: Adapt for multiterm.
18349 * normal/menu_entry.c: Likewise.
18350 * normal/menu_text.c: Likewise.
18351 * normal/menu_viewer.c: Removed. All users updated.
18352 * normal/term.c: New file.
18353 * util/console.c: Change order of includes to workaround a bug in
18354 ncurses headers.
18355 * term/terminfo.c: New argument oterm on all exported functions.
18356 All users updated.
18357 * util/grub-editenv.c (grub_term_input_class): Removed.
18358 (grub_term_output_class): Likewise.
18359
1a064917
RM
183602010-01-09 Robert Millan <rmh.grub@aybabtu.com>
18361
18362 Make loader output a bit more user-friendly.
18363
18364 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
18365 is being loaded. Likewise for the Hurd.
18366
18367 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
18368 that kernel of FreeBSD ${version} is being loaded.
18369
18370 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
18371 grub_dprintf().
18372 (grub_cmd_initrd): Likewise.
18373 * util/grub.d/10_linux.in (linux_entry): Print message indicating
18374 that Linux ${version} is being loaded. Likewise for initrd.
18375
5ce0a83a 183762010-01-09 Carles Pina i Estany <carles@pina.cat>
18377
18378 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
18379
809bbfeb 183802010-01-08 Carles Pina i Estany <carles@pina.cat>
18381
18382 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
18383 (GRUB_MOD_INIT): Gettextizze.
18384 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
18385 (GRUB_MOD_INIT): Gettextizze.
18386 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
18387 (grub_cmd_linux): Capitalise Linux.
18388 (GRUB_MOD_INIT): Gettextizze.
18389 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
18390 (grub_cmd_linux): Capitalise Linux.
18391 (GRUB_MOD_INIT): Gettextizze.
18392 * loader/i386/linux.c: Include `<grub/i18n.h>'.
18393 (grub_cmd_linux): Capitalise Linux.
18394 (GRUB_MOD_INIT): Gettextizze.
18395 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
18396 (GRUB_MOD_INIT): Gettextizze.
18397 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
18398 (grub_cmd_linux): Capitalise Linux.
18399 (GRUB_MOD_INIT): Gettextizze.
18400 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
18401 (grub_cpu_xnu_init): Gettextizze.
18402 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
18403 (GRUB_MOD_INIT): Gettextizze.
18404 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
18405 (GRUB_MOD_INIT): Gettextizze.
18406 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
18407 (grub_linux_load64): Capitalise Linux.
18408 (GRUB_MOD_INIT): Gettextizze.
18409 * loader/xnu.c: Include `<grub/i18n.h>'.
18410 (GRUB_MOD_INIT): Gettextizze.
18411 * po/POTFILES: Add `loader/efi/appleloader.c',
18412 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
18413 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
18414 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
18415 `loader/i386/xnu.c', `loader/multiboot_loader.c',
18416 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
18417 and `loader/xnu.c'.
18418
b394b2ca
RM
184192010-01-08 Robert Millan <rmh.grub@aybabtu.com>
18420
18421 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
18422
184232010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
18424
18425 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
18426 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
18427 * util/mkisofs/mkisofs.c (main): Readjust --version output.
18428
bc8b32b3
RM
184292010-01-07 Robert Millan <rmh.grub@aybabtu.com>
18430
18431 Reset Multiboot 2 support. New loader implements the draft in
18432 /branches/multiboot2 and shares as much code as possible with the
18433 production Multiboot 1 implementation.
18434
18435 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
18436 * loader/multiboot2.c: Likewise.
18437 * loader/i386/multiboot_helper.S: Likewise.
18438 * include/multiboot2.h: Replace with latest version from the draft
18439 in /branches/multiboot2.
18440
18441 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
18442 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
18443 and `loader/multiboot2.c'.
18444 (pkglib_MODULES): Add `multiboot2.mod'.
18445 (multiboot2_mod_SOURCES): New variable.
18446 (multiboot2_mod_LDFLAGS): Likewise.
18447 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
18448
18449 * conf/i386-pc.rmk: Likewise.
18450
18451 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18452 (multiboot_mod_SOURCES): Remove variable.
18453 (multiboot_mod_LDFLAGS): Likewise.
18454 (multiboot_mod_CFLAGS): Likewise.
18455
18456 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
18457 `<multiboot2.h>' instead of `<multiboot.h>'.
18458 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
18459 (MULTIBOOT_HEADER_MAGIC): New macros.
18460
18461 * loader/multiboot_loader.c (module_version_status): Remove variable.
18462 (find_multi_boot2_header): Remove function.
18463 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
18464 logic. Always check for the Multiboot version we're compiling for.
18465 (grub_cmd_module_loader): Likewise.
18466 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
18467 command instead of `multiboot'.
18468
5d2c52b8
RM
184692010-01-07 Robert Millan <rmh.grub@aybabtu.com>
18470
18471 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
18472 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
18473 all users.
18474
53108d92
RM
184752010-01-07 Robert Millan <rmh.grub@aybabtu.com>
184762010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 Fix breakage introduced with previous commit.
18479
18480 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
18481 commands.
18482 * normal/handler.c (read_handler_list): Revert part of previous commit
18483 affecting this file.
18484 * normal/main.c (read_lists): Move read_handler_list() call back to ...
18485 (grub_normal_execute): ... here.
18486
e2e936b2
RM
184872010-01-07 Robert Millan <rmh.grub@aybabtu.com>
18488
18489 Merge prefix-redefinition-fix branch.
18490
18491 * normal/autofs.c (read_fs_list): Make function capable of being
18492 run multiple times, gracefuly replacing the previous data
18493 structures.
18494 * normal/dyncmd.c (read_command_list): Likewise.
18495 * normal/handler.c (read_handler_list): Likewise.
18496 * normal/main.c (read_lists): New function. Calls all the
18497 list reading functions.
18498 (grub_normal_execute): Use read_lists() instead of calling all
18499 list reading functions explicitly. Register read_lists() as a
18500 variable hook attached to ${prefix}.
18501
607a3701
VS
185022010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18503
18504 Merge crypto branch.
18505
18506 * Makefile.in (pkglib_DATA): Add crypto.lst.
18507 (crypto.lst): New target.
18508 * commands/hashsum.c: New file.
18509 * commands/password.c (check_password): Use grub_crypto_memcmp.
18510 * commands/password_pbkdf2.c: New file.
18511 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
18512 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
18513 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
18514 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
18515 -I$(srcdir)/lib/libgcrypt_wrap.
18516 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
18517 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
18518 password_pbkdf2.mod.
18519 (crypto_mod_SOURCES): New variable.
18520 (crypto_mod_CFLAGS): Likewise.
18521 (crypto_mod_LDFLAGS): Likewise.
18522 (hashsum_mod_SOURCES): New variable.
18523 (hashsum_mod_CFLAGS): Likewise.
18524 (hashsum_mod_LDFLAGS): Likewise.
18525 (pbkdf2_mod_SOURCES): New variable.
18526 (pbkdf2_mod_CFLAGS): Likewise.
18527 (pbkdf2_mod_LDFLAGS): Likewise.
18528 (password_pbkdf2_mod_SOURCES): New variable.
18529 (password_pbkdf2_mod_CFLAGS): Likewise.
18530 (password_pbkdf2_mod_LDFLAGS): Likewise.
18531 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
18532 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
18533 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
18534 Include conf/gcry.rmk.
18535 * include/grub/auth.h: Rewritten.
18536 * include/grub/crypto.h: New file.
18537 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
18538 * include/grub/normal.h (read_crypto_list): New prototype.
18539 * lib/crypto.c: New file.
18540 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18541 * lib/pbkdf2.c: Likewise.
18542 * normal/auth.c (grub_auth_strcmp): Removed.
18543 (grub_iswordseparator): Likewise.
18544 (grub_auth_strword): Likewise.
18545 (is_authenticated): Use grub_strword.
18546 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
18547 and grub_strword. Pass entered password to authentication callback.
18548 * normal/crypto.c: New file.
18549 * normal/main.c: Call read_crypto_list.
18550 * util/grub-mkpasswd-pbkdf2.c: New file.
18551 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
18552
42841caa
VS
185532010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 Fix descent and ascent calculation.
18556
18557 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
18558 (options): New option "asce".
18559 (usage): Likewise.
18560 (add_char): Ignore invalid glyphs for descent calculation.
18561 Calculate ascent from actual content.
18562 (print_glyphs): Use 'asce'.
18563 (write_font): Likewise. Allow ascent override.
18564 (main): Handle "asce" option.
18565
e7730de7 185662010-01-06 Carles Pina i Estany <carles@pina.cat>
18567
18568 * kern/err.c: Include `<grub/i18n.h>'.
18569 (grub_print_error): Add full stop. Gettextizze.
18570 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
18571 (grub_bsd_load_elf): Capitalise ELF.
18572 (grub_cmd_freebsd_loadenv): Add `s' in error string.
18573 (grub_cmd_freebsd_module): Likewise.
18574 (grub_cmd_freebsd_module_elf): Likewise.
18575 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
18576
40e3a41f 185772010-01-06 Carles Pina i Estany <carles@pina.cat>
18578
18579 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
18580 * commands/search_file.c (HELP_MESSAGE): New macro.
18581 * commands/search_label.c (HELP_MESSAGE): Likewise.
18582 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
18583 * po/POTFILES: Add `commands/search_file.c',
18584 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
18585 `commands/search.c'.
18586
83507e68
RM
185872010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18588
18589 * config.rpath: Update from Gnulib.
18590
465c787b
YB
185912010-01-05 Yves Blusseau <blusseau@zetam.org>
18592
18593 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
18594
6581dd3a
YB
185952010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
18596
18597 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
18598
3bff18c5
CW
185992010-01-05 Colin Watson <cjwatson@ubuntu.com>
18600
18601 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
18602 arguments to fread so that we get a return value in bytes, rather
18603 than something that will normally be rounded down to 0.
18604 Adjust error handling to avoid producing garbage when size_t is not
18605 the same size as long long.
18606
a1368118
CW
186072010-01-05 Colin Watson <cjwatson@ubuntu.com>
18608
18609 * util/mkisofs/write.c (padblock_write): Check return value of
18610 fread.
18611
7c302978
RM
186122010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18613
18614 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
18615 floppy images now.
18616
18617 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
18618
e33ace06
RM
186192010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18620
18621 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
18622 instead of manual alignment.
18623 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
18624 verbose). Avoid attempts to read past end of the device
18625 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
18626 but GRUB_DISK_CACHE_SIZE may exceed that).
18627
4b856776
RM
186282010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18629
18630 * commands/crc.c (grub_cmd_crc): Abort on read errors.
18631 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
18632 it to upper layer.
18633
52c2d97f
VS
186342010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18635
18636 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
18637 New constant.
18638 (grub_efi_piwg_device_path): New structure
18639 (grub_efi_piwg_device_path_t): New type.
18640 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
18641 (devpath_1): Transform to a structure. All users updated.
18642 (devpath_2): Likewise.
18643 (devpath_3): Likewise.
18644 (devpath_4): Likewise.
18645 (devpath_5): Likewise.
18646
98ff6a54
VS
186472010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18648
18649 * loader/efi/appleloader.c: Restored. Update all users.
18650
3a73dcb6
RM
186512010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18652
18653 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
18654
18655 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
18656 (struct boot_blocklist): Move from here ...
18657 * include/grub/i386/pc/boot.h [ASM_FILE]
18658 (struct grub_boot_blocklist): ... to here. Update all users.
18659 (setup): Only initialize `start' member of `first_block'
18660 structure. Add assert() calls to verify the other members.
18661
18662 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
18663 (generate_image): Fix broken blocklist length initialization.
18664 Add assert() call to verify blocklist `segment' field.
18665
ab0eeb0c
RM
186662010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18667
18668 * loader/efi/appleloader.c: Remove. Update all users.
18669
58bc8bd5
RM
186702010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18671
18672 * boot/i386/pc/boot.S: Update copyright year.
18673 * boot/i386/pc/cdboot.S: Likewise.
18674 * boot/i386/pc/diskboot.S: Likewise.
18675 * boot/i386/pc/lnxboot.S: Likewise.
18676 * boot/i386/pc/pxeboot.S: Likewise.
18677 * bus/pci.c: Likewise.
18678 * commands/cmp.c: Likewise.
18679 * commands/help.c: Likewise.
18680 * commands/hexdump.c: Likewise.
18681 * commands/i386/pc/halt.c: Likewise.
18682 * commands/i386/pc/play.c: Likewise.
18683 * commands/i386/pc/vbeinfo.c: Likewise.
18684 * commands/ls.c: Likewise.
18685 * commands/test.c: Likewise.
18686 * disk/dmraid_nvidia.c: Likewise.
18687 * disk/i386/pc/biosdisk.c: Likewise.
18688 * disk/ieee1275/nand.c: Likewise.
18689 * disk/ieee1275/ofdisk.c: Likewise.
18690 * disk/lvm.c: Likewise.
18691 * disk/raid.c: Likewise.
18692 * disk/raid6_recover.c: Likewise.
18693 * disk/scsi.c: Likewise.
18694 * fs/affs.c: Likewise.
18695 * fs/cpio.c: Likewise.
18696 * fs/ext2.c: Likewise.
18697 * fs/hfs.c: Likewise.
18698 * fs/iso9660.c: Likewise.
18699 * fs/ntfs.c: Likewise.
18700 * fs/sfs.c: Likewise.
18701 * fs/udf.c: Likewise.
18702 * fs/ufs.c: Likewise.
18703 * fs/xfs.c: Likewise.
18704 * gencmdlist.sh: Likewise.
18705 * genmk.rb: Likewise.
18706 * include/grub/disk.h: Likewise.
18707 * include/grub/efi/api.h: Likewise.
18708 * include/grub/efi/efi.h: Likewise.
18709 * include/grub/efi/pe32.h: Likewise.
18710 * include/grub/elf.h: Likewise.
18711 * include/grub/fs.h: Likewise.
18712 * include/grub/i386/at_keyboard.h: Likewise.
18713 * include/grub/i386/pc/memory.h: Likewise.
18714 * include/grub/i386/pc/vbe.h: Likewise.
18715 * include/grub/i386/pci.h: Likewise.
18716 * include/grub/i386/tsc.h: Likewise.
18717 * include/grub/ieee1275/ieee1275.h: Likewise.
18718 * include/grub/ntfs.h: Likewise.
18719 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18720 * include/grub/sparc64/libgcc.h: Likewise.
18721 * include/grub/symbol.h: Likewise.
18722 * include/grub/types.h: Likewise.
18723 * include/multiboot2.h: Likewise.
18724 * io/gzio.c: Likewise.
18725 * kern/device.c: Likewise.
18726 * kern/disk.c: Likewise.
18727 * kern/efi/efi.c: Likewise.
18728 * kern/efi/mm.c: Likewise.
18729 * kern/elf.c: Likewise.
18730 * kern/file.c: Likewise.
18731 * kern/i386/dl.c: Likewise.
18732 * kern/i386/pc/init.c: Likewise.
18733 * kern/i386/pc/startup.S: Likewise.
18734 * kern/ieee1275/ieee1275.c: Likewise.
18735 * kern/ieee1275/init.c: Likewise.
18736 * kern/main.c: Likewise.
18737 * kern/mm.c: Likewise.
18738 * kern/powerpc/dl.c: Likewise.
18739 * kern/sparc64/dl.c: Likewise.
18740 * kern/x86_64/dl.c: Likewise.
18741 * lib/hexdump.c: Likewise.
18742 * loader/efi/appleloader.c: Likewise.
18743 * loader/i386/ieee1275/linux.c: Likewise.
18744 * loader/i386/pc/chainloader.c: Likewise.
18745 * loader/i386/pc/linux.c: Likewise.
18746 * loader/i386/pc/multiboot2.c: Likewise.
18747 * loader/ieee1275/multiboot2.c: Likewise.
18748 * loader/multiboot2.c: Likewise.
18749 * loader/multiboot_loader.c: Likewise.
18750 * loader/powerpc/ieee1275/linux.c: Likewise.
18751 * normal/completion.c: Likewise.
18752 * normal/menu_entry.c: Likewise.
18753 * partmap/apple.c: Likewise.
18754 * util/grub.d/10_hurd.in: Likewise.
18755 * util/hostfs.c: Likewise.
18756 * video/readers/png.c: Likewise.
18757
e2d70b5c
CW
187582010-01-03 Colin Watson <cjwatson@ubuntu.com>
18759
18760 * include/grub/misc.h (GNUC_PREREQ): New macro.
18761 (ATTRIBUTE_ERROR): New macro.
18762 * include/grub/list.h (grub_bad_type_cast_real): Use
18763 ATTRIBUTE_ERROR.
18764
a173283f 187652010-01-03 Carles Pina i Estany <carles@pina.cat>
18766
18767 * normal/menu_text.c (print_message): Change messages.
18768
7fa7ff74 187692010-01-03 Carles Pina i Estany <carles@pina.cat>
18770
18771 * normal/menu_entry.c (store_completion): Gettextizze.
18772
136d24f6 187732010-01-03 Carles Pina i Estany <carles@pina.cat>
18774
18775 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
18776
f936862e 187772010-01-03 Carles Pina i Estany <carles@pina.cat>
18778
18779 * po/POTFILES: Sort correctly.
18780
29c44ad1 187812010-01-03 Carles Pina i Estany <carles@pina.cat>
18782
18783 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
18784 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
18785 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
18786 full stop.
18787 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
18788 summary. Gettextizze the strings.
18789 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
18790 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
18791 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
18792 full stop.
18793 (GRUB_MOD_INIT): Remove command name from summary.
18794 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
18795 summary.
18796 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
18797 * term/i386/pc/serial.c (options): Add full stops.
18798 (GRUB_MOD_INIT): Remove command name from the summary.
18799
77a79592 188002010-01-03 Carles Pina i Estany <carles@pina.cat>
18801
18802 * commands/acpi.c: Gettextizze help strings and/or options. Include
18803 `grub/i18n.h' if needed.
18804 * commands/blocklist.c: Likewise.
18805 * commands/boot.c: Likewise.
18806 * commands/cat.c: Likewise.
18807 * commands/cmp.c: Likewise.
18808 * commands/configfile.c: Likewise.
18809 * commands/crc.c: Likewise.
18810 * commands/date.c: Likewise.
18811 * commands/echo.c: Likewise.
18812 * commands/efi/fixvideo.c: Likewise.
18813 * commands/efi/loadbios.c: Likewise.
18814 * commands/gptsync.c: Likewise.
18815 * commands/halt.c: Likewise.
18816 * commands/handler.c: Likewise.
18817 * commands/hdparm.c: Likewise.
18818 * commands/hexdump.c: Likewise.
18819 * commands/i386/cpuid.c: Likewise.
18820 * commands/i386/pc/drivemap.c: Likewise.
18821 * commands/i386/pc/halt.c: Likewise.
18822 * commands/i386/pc/pxecmd.c: Likewise.
18823 * commands/i386/pc/vbeinfo.c: Likewise.
18824 * commands/i386/pc/vbetest.c: Likewise.
18825 * commands/ieee1275/suspend.c: Likewise.
18826 * commands/keystatus.c: Likewise.
18827 * commands/loadenv.c: Likewise.
18828 * commands/ls.c: Likewise.
18829 * commands/lsmmap.c: Likewise.
18830 * commands/lspci.c: Likewise.
18831 * commands/memrw.c: Likewise.
18832 * commands/minicmd.c: Likewise.
18833 * commands/parttool.c: Likewise.
18834 * commands/password.c: Likewise.
18835 * commands/probe.c: Likewise.
18836 * commands/read.c: Likewise.
18837 * commands/reboot.c: Likewise.
18838 * commands/search.c: Likewise.
18839 * commands/sleep.c: Likewise.
18840 * commands/test.c: Likewise.
18841 * commands/true.c: Likewise.
18842 * commands/usbtest.c: Likewise.
18843 * commands/videotest.c: Likewise.
18844 * commands/xnu_uuid.c: Likewise.
18845 * disk/loopback.c: Likewise.
18846 * hello/hello.c: Likewise.
18847 * loader/i386/bsd.c: Likewise.
18848 * term/i386/pc/serial.c: Likewise.
18849 * po/POTFILES: Add new files.
18850
da8d5c53
CW
188512010-01-02 Colin Watson <cjwatson@ubuntu.com>
18852
18853 * term/i386/pc/at_keyboard.c
18854 (keyboard_controller_wait_untill_ready): Rename to ...
18855 (keyboard_controller_wait_until_ready): ... this. Update all users.
18856
33937904 188572010-01-01 Carles Pina i Estany <carles@pina.cat>
18858
18859 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
18860 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
18861 string using string width.
18862 * normal/menu_text.c (grub_print_message_indented): Use
18863 grub_print_spaces and not print_spaces.
18864 (print_timeout): Likewise.
18865 (print_spaces): Move to...
18866 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
18867
3fd3b8d8
RM
188682010-01-01 Robert Millan <rmh.grub@aybabtu.com>
18869
18870 Import from Gnulib.
18871
18872 * gnulib/getdelim.c: New file.
18873 * gnulib/getline.c: Likewise.
18874
33433555
VS
188752009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
18876
18877 * include/grub/list.h (grub_assert_fail): Removed.
18878 (grub_bad_type_cast_real): New function.
18879 (grub_bad_type_cast): New macro.
18880 (GRUB_AS_LIST): Use grub_bad_type_cast.
18881 (GRUB_AS_LIST_P): Likewise.
e44721e8 18882 (GRUB_AS_NAMED_LIST): Likewise.
33433555 18883 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 18884 (GRUB_AS_PRIO_LIST): Likewise.
33433555 18885 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 18886 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 18887
f5a51306
VS
188882009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
18889
18890 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
18891 Fix syntax error.
18892
90d1e879
RM
188932009-12-29 Robert Millan <rmh.grub@aybabtu.com>
18894
18895 * configure.ac: Check for TARGET_CFLAGS initialization before we
18896 initialize it ourselves (sigh).
18897 Move a few modifications to TARGET_CFLAGS to be unconditional
18898 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
18899 eh_frame)
18900
18901 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
18902 * term/i386/pc/at_keyboard.c
18903 (keyboard_controller_wait_untill_ready): Likewise.
18904 (keyboard_controller_led): Rename `led_status' paramter to avoid
18905 name conflict.
18906
465b5a81 189072009-12-28 Carles Pina i Estany <carles@pina.cat>
18908
18909 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
18910 quotes.
18911
c181849b
VS
189122009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18913
18914 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
18915
9c8739a4
VS
189162009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18917
18918 * normal/menu_text.c (grub_print_message_indented): Prevent
18919 past-the-end-of-array dereference.
18920
3e74249c
VS
189212009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
18924 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
18925
64fd18ed 189262009-12-27 Carles Pina i Estany <carles@pina.cat>
18927
18928 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
18929 * normal/main.c (grub_normal_read_line): Remove a space from the
18930 default prompt.
18931
714af9b9 189322009-12-27 Carles Pina i Estany <carles@pina.cat>
18933
18934 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
18935 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18936 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18937 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18938 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18939 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18940 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18941
82f3e412 189422009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 18943
18944 * video/readers/jpeg.c (cmd): Declare.
18945 (grub_cmd_jpegtest): Use `grub_command_t' type.
18946 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18947 Assign to `cmd'.
18948 (GRUB_MOD_FINI): Use `cmd' to unregister.
18949 * video/readers/png.c (cmd): Declare.
18950 (grub_cmd_pngtest): Use `grub_command_t' type.
18951 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18952 Assign to `cmd'.
18953 (GRUB_MOD_FINI): Use `cmd' to unregister.
18954 * video/readers/tga.c (cmd): Declare.
18955 (grub_cmd_tgatest): Use `grub_command_t' type.
18956 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18957 Assign to `cmd'.
18958 (GRUB_MOD_FINI): Use `cmd' to unregister.
18959
82f3e412 189602009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 18961
18962 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
18963 stops.
18964 * kern/corecmd.c (grub_register_core_commands): Likewise.
18965 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
18966 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18967 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
18968 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18969 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18970 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
18971 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18972 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
18973 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18974 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18975 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18976 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18977 * normal/handler.c (insert_handler): Likewise.
18978 * normal/main.c (GRUB_MOD_INIT): Likewise.
18979 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18980
fdcdbb66 189812009-12-26 Carles Pina i Estany <carles@pina.cat>
18982
18983 * commands/help.c (grub_cmd_help): Print the command name before the
18984 summary.
18985 (GRUB_MOD_INIT): Remove command name from the summary.
18986 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 18987 string as summary.
fdcdbb66 18988 * lib/arg.c (find_long): Print the command name before the summary.
18989 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
18990 summary.
18991 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
18992 * commands/cat.c (GRUB_MOD_INIT): Likewise.
18993 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
18994 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18995 * commands/crc.c (GRUB_MOD_INIT): Likewise.
18996 * commands/date.c (GRUB_MOD_INIT): Likewise.
18997 * commands/echo.c (GRUB_MOD_INIT): Likewise.
18998 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
18999 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
19000 * commands/handler.c (GRUB_MOD_INIT): Likewise.
19001 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
19002 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
19003 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
19004 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
19005 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
19006 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
19007 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
19008 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
19009 * commands/ls.c (GRUB_MOD_INIT): Likewise.
19010 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
19011 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
19012 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
19013 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
19014 * commands/password.c (GRUB_MOD_INIT): Likewise.
19015 * commands/probe.c (GRUB_MOD_INIT): Likewise.
19016 * commands/read.c (GRUB_MOD_INIT): Likewise.
19017 * commands/search.c (GRUB_MOD_INIT): Likewise.
19018 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
19019 * commands/test.c (GRUB_MOD_INIT): Likewise.
19020 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
19021 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19022 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19023 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
19024 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19025 * lib/arg.c (GRUB_MOD_INIT): Likewise.
19026 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
19027 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19028 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19029 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19030 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19031 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
19032 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
19033 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
19034
9c288be2
VS
190352009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19036
19037 Use search command for preliminar UUID search.
19038
19039 * commands/search.c: Split into ...
19040 * commands/search_wrap.c: ...this
19041 * commands/search.c: ...and this.
19042 * commands/search_file.c: New file.
19043 * commands/search_label.c: New file.
19044 * commands/search_uuid.c: New file.
19045 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
19046 Add commands/search_wrap.c, commands/search_file.c,
19047 commands/search_label.c and commands/search_uuid.c.
19048 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
19049 (search_mod_SOURCES): Set to commands/search_wrap.c.
19050 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
19051 search_label.mod.
19052 (search_fs_file_mod_SOURCES): New variable.
19053 (search_fs_file_mod_CFLAGS): Likewise.
19054 (search_fs_file_mod_LDFLAGS): Likewise.
19055 (search_label_mod_SOURCES): Likewise.
19056 (search_label_mod_CFLAGS): Likewise.
19057 (search_label_mod_LDFLAGS): Likewise.
19058 (search_fs_uuid_mod_SOURCES): New variable.
19059 (search_fs_uuid_mod_CFLAGS): Likewise.
19060 (search_fs_uuid_mod_LDFLAGS): Likewise.
19061 (fs_file_mod_SOURCES): Removed.
19062 (fs_file_mod_CFLAGS): Likewise.
19063 (fs_file_mod_LDFLAGS): Likewise.
19064 (fs_uuid_mod_SOURCES): Removed.
19065 (fs_uuid_mod_CFLAGS): Likewise.
19066 (fs_uuid_mod_LDFLAGS): Likewise.
19067 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
19068 Set to util/grub-install.in.
19069 * disk/fs_file.c: Removed.
19070 * disk/fs_uuid.c: Likewise.
19071 * include/grub/search.h: New file.
19072 * util/grub-install.in: Handle sparc64.
19073 Create and use load.cfg.
19074 * util/sparc64/ieee1275/grub-install.in: Removed.
19075
db943399
VS
190762009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19077
19078 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
19079 Ignore return status if CF is cleared.
19080 (grub_biosdisk_get_diskinfo_standard): Likewise.
19081
3fdae612
RM
190822009-12-25 Robert Millan <rmh.grub@aybabtu.com>
19083
19084 * term/i386/pc/at_keyboard.c
19085 (keyboard_controller_wait_untill_ready): New function.
19086 (grub_keyboard_controller_write, grub_keyboard_controller_read)
19087 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
19088 for keyboard polling, rather than duplicate the same loop. This
19089 saves a few bytes in code size.
19090
7ebaa2b4
VS
190912009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 Support for (pxe[:server[:gateway]]) syntax and
19094 use environment variable for PXE.
19095
19096 * commands/i386/pc/pxecmd.c (options): Removed.
19097 (print_ip): Removed.
19098 (grub_cmd_pxe): Removed
19099 (grub_cmd_pxe_unload): New function.
19100 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
19101 (grub_pxe_your_ip): Made static.
19102 (grub_pxe_default_server_ip): Likewise.
19103 (grub_pxe_default_gateway_ip): Likewise.
19104 (grub_pxe_blksize): Likewise.
19105 (parse_ip): New function.
19106 (grub_pxe_open): Support server and gateway specification.
19107 (grub_pxe_close): Free disk->data.
19108 (grub_pxefs_open): Use disk->data.
19109 (grub_pxefs_read): Likewise.
19110 (grub_env_write_readonly): New function.
19111 (set_mac_env): Likewise.
19112 (set_env_limn_ro): Likewise.
19113 (parse_dhcp_vendor): Likewise.
19114 (grub_pxe_detect): Set the environment variables.
19115 (set_ip_env): New function.
19116 (write_ip_env): Likewise.
19117 (grub_env_write_pxe_default_server): Likewise.
19118 (grub_env_write_pxe_default_gateway): Likewise.
19119 (grub_env_write_pxe_blocksize): Likewise.
19120 (GRUB_MOD_INIT(pxe)): Set environment variables.
19121 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
19122 (grub_pxe_mac_addr_t): ... this. All users updated.
19123 (grub_pxe_your_ip): Removed.
19124 (grub_pxe_server_ip): Likewise.
19125 (grub_pxe_gateway_ip): Likewise.
19126 (grub_pxe_blksize): Likewise.
19127
ec5f98ab 191282009-12-25 Carles Pina i Estany <carles@pina.cat>
19129
19130 * commands/help.c: Include `<grub/i18n.h>'.
19131 (grub_cmd_help): Gettextizze.
19132 (GRUB_MOD_INIT): Likewise.
19133 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
19134 (GRUB_MOD_INIT): Gettextizze.
19135 * commands/search.c: Include `<grub/i18n.h>'.
19136 (options): Gettextizze.
19137 (GRUB_MOD_INIT): Gettextizze.
19138 * lib/arg.c: Include `<grub/i18n.h>'.
19139 (help_options): Gettextizze.
19140 (find_long): Likewise.
19141 (grub_arg_show_help): Likewise.
19142 * normal/dyncmd.c: Include `<grub/i18n.h>'.
19143 (read_command_list): Gettextizze.
19144 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 19145 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 19146
22815526
RM
191472009-12-25 Robert Millan <rmh.grub@aybabtu.com>
19148
19149 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
19150 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
19151 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
19152 (led_status): New variable.
19153 (keyboard_controller_led): New function.
19154 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
19155 update led status for caps lock, num lock and scroll lock.
19156
0ad46fd7
FZ
191572009-12-25 Felix Zielcke <fzielcke@z-51.de>
19158
19159 * util/hostdisk.c (open_device): Fix a comment.
19160
d0e158c2
RM
191612009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19162
19163 * util/grub-install.in (host_os): New variable.
19164 * util/i386/efi/grub-install.in (host_os): Likewise.
19165
401c0ad6
RM
191662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19167
19168 * util/mkisofs/write.c (padblock_write): Abort when given an
19169 excedingly large embed image, instead of silently truncating it.
19170
d14d3370
RM
191712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19172
19173 * include/multiboot.h: Indentation fixes.
19174
eeed10b4
RM
191752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19176
19177 * include/multiboot.h (struct multiboot_aout_symbol_table)
19178 (struct multiboot_elf_section_header_table): New structure
19179 declarations (stolen from GRUB Legacy).
19180 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
19181 table information.
19182
19183 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
19184 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
19185 type aliases.
19186
681c70ab
RM
191872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19188
19189 * include/multiboot.h: Make comments src2texi-friendly.
19190
e4d47d8d
RM
191912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19192
19193 For consistency with [multiboot]/docs/boot.S.
19194
19195 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
19196 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
19197 (MULTIBOOT_MAGIC2): Rename from this ...
19198 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
19199
a0b70bda
RM
192002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19201
19202 * include/multiboot.h: Remove `<grub/types.h>'.
19203 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
19204 types. Update all users.
19205
61ba42be 192062009-12-25 Carles Pina i Estany <carles@pina.cat>
19207
19208 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
19209 `couldn't' and `can not' by `cannot'.
19210 * commands/i386/pc/drivemap.c: Likewise.
19211 * disk/ata.c: Likewise.
19212 * disk/ieee1275/nand.c: Likewise.
19213 * fs/affs.c: Likewise.
19214 * fs/fat.c: Likewise.
19215 * fs/hfs.c: Likewise.
19216 * fs/hfsplus.c: Likewise.
19217 * fs/iso9660.c: Likewise.
19218 * fs/jfs.c: Likewise.
19219 * fs/minix.c: Likewise.
19220 * fs/reiserfs.c: Likewise.
19221 * fs/sfs.c: Likewise.
19222 * fs/udf.c: Likewise.
19223 * fs/ufs.c: Likewise.
19224 * fs/xfs.c: Likewise.
19225 * loader/powerpc/ieee1275/linux.c: Likewise.
19226 * loader/sparc64/ieee1275/linux.c: Likewise.
19227 * util/grub-probe.c: Likewise.
19228 * util/misc.c: Likewise.
19229
7fd0baee 192302009-12-24 Carles Pina i Estany <carles@pina.cat>
19231
19232 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
19233 grub_errno calls.
19234 * commands/acpi.c: Likewise.
19235 * commands/blocklist.c: Likewise.
19236 * commands/efi/loadbios.c: Likewise.
19237 * commands/i386/pc/drivemap.c: Likewise.
19238 * commands/loadenv.c: Likewise.
19239 * commands/memrw.c: Likewise.
19240 * commands/password.c: Likewise.
19241 * commands/videotest.c: Likewise.
19242 * disk/ata.c: Likewise.
19243 * disk/ata_pthru.c: Likewise.
19244 * disk/dmraid_nvidia.c: Likewise.
19245 * disk/ieee1275/nand.c: Likewise.
19246 * disk/ieee1275/ofdisk.c: Likewise.
19247 * disk/loopback.c: Likewise.
19248 * disk/lvm.c: Likewise.
19249 * disk/mdraid_linux.c: Likewise.
19250 * disk/raid.c: Likewise.
19251 * disk/raid6_recover.c: Likewise.
19252 * disk/scsi.c: Likewise.
19253 * efiemu/main.c: Likewise.
19254 * efiemu/mm.c: Likewise.
19255 * efiemu/pnvram.c: Likewise.
19256 * efiemu/symbols.c: Likewise.
19257 * font/font.c: Likewise.
19258 * fs/cpio.c: Likewise.
19259 * fs/hfsplus.c: Likewise.
19260 * fs/iso9660.c: Likewise.
19261 * fs/jfs.c: Likewise.
19262 * fs/minix.c: Likewise.
19263 * fs/ntfs.c: Likewise.
19264 * fs/ntfscomp.c: Likewise.
19265 * fs/reiserfs.c: Likewise.
19266 * fs/ufs.c: Likewise.
19267 * fs/xfs.c: Likewise.
19268 * gettext/gettext.c: Likewise.
19269 * include/grub/auth.h: Likewise.
19270 * kern/elf.c: Likewise.
19271 * kern/file.c: Likewise.
19272 * kern/ieee1275/init.c: Likewise.
19273 * kern/ieee1275/mmap.c: Likewise.
19274 * kern/ieee1275/openfw.c: Likewise.
19275 * kern/powerpc/dl.c: Likewise.
19276 * kern/sparc64/dl.c: Likewise.
19277 * lib/arg.c: Likewise.
19278 * loader/i386/bsd.c: Likewise.
19279 * loader/i386/bsdXX.c: Likewise.
19280 * loader/i386/efi/linux.c: Likewise.
19281 * loader/i386/efi/xnu.c: Likewise.
19282 * loader/i386/ieee1275/linux.c: Likewise.
19283 * loader/i386/linux.c: Likewise.
19284 * loader/i386/multiboot.c: Likewise.
19285 * loader/i386/pc/linux.c: Likewise.
19286 * loader/i386/pc/multiboot2.c: Likewise.
19287 * loader/i386/xnu.c: Likewise.
19288 * loader/ieee1275/multiboot2.c: Likewise.
19289 * loader/macho.c: Likewise.
19290 * loader/machoXX.c: Likewise.
19291 * loader/multiboot2.c: Likewise.
19292 * loader/multiboot_loader.c: Likewise.
19293 * loader/powerpc/ieee1275/linux.c: Likewise.
19294 * loader/sparc64/ieee1275/linux.c: Likewise.
19295 * loader/xnu.c: Likewise.
19296 * loader/xnu_resume.c: Likewise.
19297 * mmap/i386/pc/mmap.c: Likewise.
19298 * normal/menu_viewer.c: Likewise.
19299 * partmap/acorn.c: Likewise.
19300 * partmap/amiga.c: Likewise.
19301 * partmap/apple.c: Likewise.
19302 * script/lexer.c: Likewise.
19303 * term/gfxterm.c: Likewise.
19304 * term/i386/pc/serial.c: Likewise.
19305 * term/i386/pc/vga.c: Likewise.
19306 * term/ieee1275/ofconsole.c: Likewise.
19307 * term/terminfo.c: Likewise.
19308 * video/bitmap.c: Likewise.
19309 * video/efi_gop.c: Likewise.
19310 * video/efi_uga.c: Likewise.
19311 * video/fb/video_fb.c: Likewise.
19312 * video/i386/pc/vbe.c: Likewise.
19313 * video/readers/tga.c: Likewise.
19314 * video/video.c: Likewise.
19315
0ad46fd7 193162009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
19317
19318 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
19319 * commands/lspci.c: Likewise.
19320 * commands/probe.c: Likewise.
19321 * commands/xnu_uuid.c: Likewise.
19322 * conf/i386-coreboot.rmk: Likewise.
19323 * conf/i386-efi.rmk: Likewise.
19324 * conf/i386-ieee1275.rmk: Likewise.
19325 * conf/i386-pc.rmk: Likewise.
19326 * conf/powerpc-ieee1275.rmk: Likewise.
19327 * conf/sparc64-ieee1275.rmk: Likewise.
19328 * conf/x86_64-efi.rmk: Likewise.
19329 * fs/i386/pc/pxe.c: Likewise.
19330 * gettext/gettext.c: Likewise.
19331 * include/grub/efi/graphics_output.h: Likewise.
19332 * include/grub/i386/pc/memory.h: Likewise.
19333 * kern/env.c: Likewise.
19334 * kern/i386/qemu/startup.S: Likewise.
19335 * lib/i386/pc/biosnum.c: Likewise.
19336 * lib/i386/relocator.c: Likewise.
19337 * lib/i386/relocator_asm.S: Likewise.
19338 * lib/relocator.c: Likewise.
19339 * loader/i386/bsd.c: Likewise.
19340 * loader/i386/multiboot.c: Likewise.
19341 * loader/i386/pc/chainloader.c: Likewise.
19342 * loader/i386/xnu.c: Likewise.
19343 * loader/xnu.c: Likewise.
19344 * normal/main.c: Likewise.
19345 * normal/menu_text.c: Likewise.
19346 * util/getroot.c: Likewise.
19347 * util/grub-mkconfig_lib.in: Likewise.
19348 * util/grub.d/00_header.in: Likewise.
19349 * util/i386/pc/grub-mkimage.c: Likewise.
19350 * util/mkisofs/eltorito.c: Likewise.
19351 * util/mkisofs/exclude.h: Likewise.
19352 * util/mkisofs/hash.c: Likewise.
19353 * util/mkisofs/iso9660.h: Likewise.
19354 * util/mkisofs/joliet.c: Likewise.
19355 * util/mkisofs/mkisofs.c: Likewise.
19356 * util/mkisofs/mkisofs.h: Likewise.
19357 * util/mkisofs/multi.c: Likewise.
19358 * util/mkisofs/name.c: Likewise.
19359 * util/mkisofs/rock.c: Likewise.
19360 * util/mkisofs/tree.c: Likewise.
19361 * util/mkisofs/write.c: Likewise.
19362 * video/efi_gop.c: Likewise.
19363
009ec743
VS
193642009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
19365
19366 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
19367 size counting.
19368
0ad46fd7 193692009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
19370
19371 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
19372 * genmk.rb (class SCRIPT): Modify the target file instead of source.
19373
d3d30ea0
VS
193742009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
19377 (GRUB_MOD_INIT(memrw)): Update help line.
19378
a34f5c70
VS
193792009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19380
19381 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
19382 Use grub_extcmd_t. All users updated.
19383 (options): New variable.
19384 (grub_cmd_read): Restructure for readability. Support "-v" option.
19385 (grub_cmd_write): Restructure for readability.
19386
0ad46fd7 193872009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
19388
19389 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
19390
0ad46fd7 193912009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
19392
19393 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
19394 with the actual contents of the correspondending make variable.
19395 * util/grub-mkrescue.in (pkglib_DATA): New variable.
19396 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
19397 specifying `*.lst' and `efiemu??.o'
19398
0ad46fd7 193992009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
19400
19401 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
19402 after function name.
19403 Noticed by Rene Engelhard <rene@debian.org>.
19404
dc77a799
VS
194052009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19406
19407 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
19408 (options): New variable.
19409 (iospace): Likewise.
19410 (grub_lspci_iter): List IO spaces if "-i" was given.
19411 (grub_cmd_lspci): Parse options.
19412 (GRUB_MOD_INIT(lspci)): Use extcmd.
19413 (GRUB_MOD_FINI(lspci)): Likewise.
19414
0ad46fd7 194152009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
19416
19417 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
19418 `function' keyword.
19419 Patch by Tony Mancill <tmancill@debian.org>.
19420
b5d5993b
VS
194212009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19422
19423 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
19424 (grub_uhci_portstatus): Likewise.
19425 (grub_uhci_portstatus): Add necessary delay.
11d18281 19426 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 19427
941903f2 194282009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 19429
941903f2 19430 * commands/acpi.c (options): Fix capitalizations and/or full stops.
19431 (GRUB_MOD_INIT): Likewise.
19432 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 19433 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
19434 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 19435 * commands/efi/loadbios.c (enable_rom_area): Likewise.
19436 (enable_rom_area): Likewise.
19437 (GRUB_MOD_INIT): Likewise.
19438 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
19439 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
19440 * commands/handler.c (GRUB_MOD_INIT): Likewise.
19441 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
19442 * commands/hexdump.c (options): Likewise.
19443 * commands/i386/cpuid.c (options): Likewise.
19444 (GRUB_MOD_INIT): Likewise.
19445 * commands/i386/pc/drivemap.c (options): Likewise.
19446 (GRUB_MOD_INIT): Likewise.
19447 * commands/i386/pc/halt (options): Likewise.
19448 (GRUB_MOD_INIT): Likewise.
19449 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
19450 * commands/i386/pc/pxecmd.c (options): Likewise.
19451 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
19452 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
19453 * commands/keystatus.c (options): Likewise.
19454 (GRUB_MOD_INIT): Likewise.
19455 * commands/loadenv.c (options): Likewise.
19456 * commands/ls.c (options): Likewise.
19457 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
19458 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
19459 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
19460 * commands/parttool.c (helpmsg): Likewise.
19461 * commands/probe.c (options): Likewise.
19462 * commands/read.c (GRUB_MOD_INIT): Likewise.
19463 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
19464 * commands/search.c (options): Likewise.
19465 * commands/sleep.c (options): Likewise.
19466 * commands/test.c (GRUB_MOD_INIT): Likewise.
19467 * commands/true.c (GRUB_MOD_INIT): Likewise.
19468 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
19469 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
19470 * lib/arg.c (help_options): Likewise.
e9bbb4e7 19471 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
19472 `$(XGETTEXT)'.
98a50553 19473 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 19474
0ad46fd7 194752009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 19476
ef3c2c3a 19477 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
19478 instead of specifying them explicit.
19479
7922f68b
RM
194802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19481
19482 * NEWS: Add grub-probe support for GNU/Hurd.
19483
537ce47f
RM
194842009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19485
19486 * NEWS: gettext was added after 1.97.
19487
9b214e3a
RM
194882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19489
19490 * util/mkisofs/msdos_partition.h: New file (based on
19491 include/grub/msdos_partition.h).
19492 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
19493 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
19494 (ld_options, main): Recognize --protective-msdos-label.
19495 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
19496 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
19497 (padblock_write): If `use_protective_msdos_label' is set, patch a
19498 protective DOS-style label in the output image.
19499
19500 * util/grub-mkrescue.in: Use --protective-msdos-label.
19501
e9309813
RM
195022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19503
19504 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
19505 boot.
19506
0ae56929
RM
195072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19508
19509 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
19510 variables.
19511 (ld_options, main): Recognize `--embedded-boot'.
19512 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
19513 declarations.
19514 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
19515 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
19516 (padblock_write): Likewise. Rewrite to support embedded boot image.
19517
19518 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
19519 for BIOS-based disk boot instead of only ElTorito.
19520
b15937b1
RM
195212009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19522
19523 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
19524 build (not needed for bootstrap).
19525
52cc3ce0
RM
195262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19527
19528 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
19529 from i386-pc build (not needed for bootstrap).
19530 Rewrite a pair of strings.
19531
36f5ff04
RM
195322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19533
19534 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
19535
973c6c85 195362009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
19537
19538 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
19539
05d21547
AB
195402009-12-21 Andreas Born <futur.andy@googlemail.com>
19541
19542 * kern/env.c (grub_env_context_open): Mark exported variable for
19543 reexport.
19544
0175d51f
AB
195452009-12-21 Andreas Born <futur.andy@googlemail.com>
19546
19547 * kern/env.c (grub_env_export): Create nonexistent variables before
19548 exporting.
19549
7f39d92f 195502009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 19551
7f39d92f 19552 * include/grub/auth.h: Include `<grub/i18n.h>'.
19553 (GRUB_GET_PASSWORD): Gettextizze string.
19554 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
19555 menu_text.c.
19556 (grub_utf8_to_ucs4_alloc): Fix indentation.
19557 (grub_print_ucs4): Likewise.
19558 (grub_getstringwidth): Likewise.
19559 (print_message_indented): New declaration.
19560 * normal/auth.c: Include `<grub/i18n.h>'.
19561 (grub_auth_check_authentication): Gettexttize string.
19562 * normal/cmdline.c: Include `<grub/i18n.h>'.
19563 (grub_cmdline_get): Gettextizze.
19564 * normal/color.c: Include `<grub/i18n.h>'.
19565 (grub_parse_color_name_pair): Gettexttize strings.
19566 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
19567 string (use `print_message_indented').
19568 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
19569 `include/grub/normal.h'.
19570 (print_message_indented): Renamed to ...
19571 (grub_print_message_indented): ... this. Remove `static' qualifer (now
19572 used in normal/main.c).
19573 (print_message): Use `grub_print_message_indented' instead of
19574 `print_message_indented'.
19575 (print_timeout): Likewise.
19576 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
19577 (grub_normal_print_device_info): Gettexttize strings.
19578 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
19579
3041d898
VS
195802009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19581
19582 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
19583 of arguments. Return number of tokens and not arguments. All users
19584 updated.
19585
de15bf8e
VS
195862009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19587
19588 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
19589 non-MSDOS paritions.
19590
e0a6ca52
VS
195912009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19592
19593 * include/grub/types.h (UNUSED): Removed since it conflicts with
19594 NetBSD headers. All users changed to direct __attribute__ ((unused)).
19595 Reported by Grégoire Sutre.
19596
b99518d1 195972009-12-19 Carles Pina i Estany <carles@pina.cat>
19598
19599 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
19600 (grub_print_ucs4_alloc): Likewise.
19601 (grub_getstringwidth): Likewise.
19602 * normal/main.c (grub_normal_init_page): Gettextize version string.
19603 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
19604 (getstringwidth): Renamed to ...
19605 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
19606 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
19607 (grub_print_ucs4): Remove `static' qualifer (now used in
19608 normal/main.c).
19609 * po/POTFILES: Add normal/main.c.
19610
bfd5e52b 196112009-12-19 Carles Pina i Estany <carles@pina.cat>
19612
19613 * normal/menu_text.c (STANDARD_MARGIN): New macro.
19614 (print_message_indented): Add `margin_left' and `margin_right'
19615 parameters.
19616 (print_message): Update `print_message_indented' calls. Adds '\n' to the
19617 strings.
19618 (print_timeout): Use `print_message_indented' to print the message.
19619 Deletes `second_stage' parameter.
19620 (run_menu): Update `print_timeout' calls.
19621
5a1ad2b9
VS
196222009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 Fix console palette on OpenFirmware.
19625
19626 * term/ieee1275/ofconsole.c (MAX): Removed.
19627 (colors): Redone based on VGA palette.
19628 (grub_ofconsole_setcolor): Discard brightness bit since only 8
19629 colors are supported.
19630 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
19631
b045f00a
VS
196322009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19633
19634 Fix potential EfiEmu double prepare.
19635
19636 * efiemu/main.c (prepared): New variable
19637 (grub_efiemu_unload): Set prepare to '0'.
19638 (grub_efiemu_prepare): Return if already prepared. Set prepared.
19639
19640 set_virtual_address_map support.
19641
19642 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
19643 prototype.
19644 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
19645 prototype.
19646 (grub_efiemu_crc32): Likewise.
19647 (grub_efiemu_crc64): Likewise.
19648 (grub_efiemu_set_virtual_address_map): Likewise.
19649 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
19650 New definition.
19651 (grub_autoefi_set_virtual_address_map): Likewise.
19652 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
19653 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
19654 Restructure flow to accomodate it.
19655 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
19656 (grub_efiemu_crc): Recompute CRC32.
19657 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
19658 (efiemu_ptv_relocated): ... this. Made global. All users updated.
19659 * efiemu/symbols.c (relocated_handle): New variable.
19660 (grub_efiemu_free_syms): Free relocated_handle.
19661 (grub_efiemu_alloc_syms): Allocate relocated_handle.
19662 (grub_efiemu_write_sym_markers): New function.
19663 (grub_efiemu_set_virtual_address_map): Likewise.
19664
19665 Newer XNU parameters.
19666
19667 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
19668 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
19669 (grub_xnu_fill_devicetree): New prototype.
19670 (grub_xnu_heap_real_start): New variable.
19671 * loader/xnu.c (get_name_ptr): New function.
19672 (grub_xnu_load_driver): Fill namelen and name.
19673
19674 64-bit xnu support.
19675
19676 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
19677 and 'loader/macho64.c'.
19678 * conf/i386-pc.rmk: Likewise.
19679 * conf/x86_64-efi.rmk: Likewise.
19680 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
19681 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
19682 * include/grub/macho.h (grub_macho_segment64): New structure.
19683 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
19684 (grub_macho_size32): ... to this.
19685 (grub_macho32_get_entry_point): Renamed from ...
19686 (grub_macho_get_entry_point32): ... to this.
19687 (grub_macho_contains_macho64): New prototype.
19688 (grub_macho_size64): Likewise.
19689 (grub_macho_get_entry_point64): Likewise.
19690 (grub_macho32_load): Renamed from ...
19691 (grub_macho_load32): ... to this.
19692 (grub_macho32_filesize): Renamed from ...
19693 (grub_macho_filesize32): ... to this.
19694 (grub_macho32_readfile): Renamed from ...
19695 (grub_macho_readfile32): ... to this.
19696 (grub_macho_filesize64): New prototype.
19697 (grub_macho_readfile64): Likewise.
19698 (grub_macho_parse32): Likewise.
19699 (grub_macho_parse64): Likewise.
19700 * loader/macho.c: Split into ...
19701 * loader/machoXX.c: ... and this. Replace 32 with XX.
19702 * loader/macho32.c: New file.
19703 * loader/macho64.c: Likewise.
19704 * loader/xnu.c (grub_xnu_is_64bit): New variable.
19705 (grub_cmd_xnu_kernel): Make 32-bit only.
19706 (grub_cmd_xnu_kernel64): New function.
19707 (grub_xnu_load_driver): Support Mach-O 64.
19708 (grub_cmd_xnu_mkext): Likewise.
19709 * util/grub.d/30_os-prober.in (osx_entry): New function.
19710 Generate entries for 64-bit boot too.
19711
19712 Eliminate ad-hoc tree format in XNU and EfiEmu.
19713
19714 * efiemu/main.c (grub_efiemu_prepare): Update comment.
19715 * efiemu/pnvram.c: Rewritten to use environment variables.
19716 All users updated.
19717
19718 Inline utf16_to_utf8.
19719
19720 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
19721 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
19722 All users updated.
19723 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
19724
19725 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
19726 * commands/usbtest.c (grub_usb_get_string): ... move here.
19727 (usb_print_str): Fix error handling.
19728 * include/grub/usb.h (grub_usb_get_string): Remove.
19729
19730 UTF-8 to UTF-16 transformation.
19731
19732 * conf/common.rmk (pkglib_MODULES): Add charset.mod
19733 (charset_mod_SOURCES): New variable.
19734 (charset_mod_CFLAGS): Likewise.
19735 (charset_mod_LDFLAGS): Likewise.
19736 * include/grub/utf.h: New file.
19737 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
19738
19739 Support for device properties.
19740
19741 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
19742 (grub_xnu_devprop_device_header): Likewise.
19743 (grub_xnu_devprop_device_descriptor): Likewise.
19744 (grub_xnu_devprop_add_device): New prototype.
19745 (grub_xnu_devprop_remove_device): Likewise.
19746 (grub_xnu_devprop_remove_property): Likewise.
19747 (grub_xnu_devprop_add_property_utf8): Likewise.
19748 (grub_xnu_devprop_add_property_utf16): Likewise.
19749 (grub_cpu_xnu_init): Likewise.
19750 (grub_cpu_xnu_fini): Likewise.
19751 (grub_cpu_xnu_unload): Likewise.
19752 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
19753 (property_descriptor): Likewise.
19754 (devices): New variable.
19755 (grub_xnu_devprop_remove_property): New function.
19756 (grub_xnu_devprop_add_device): Likewise.
19757 (grub_xnu_devprop_remove_device): Likewise.
19758 (grub_xnu_devprop_add_property): Likewise.
19759 (grub_xnu_devprop_add_property_utf8): Likewise.
19760 (grub_xnu_devprop_add_property_utf16): Likewise.
19761 (hextoval): Likewise.
19762 (grub_cpu_xnu_fill_devprop): Likewise.
19763 (grub_cmd_devprop_load): Likewise.
19764 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
19765 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
19766 (cmd_devprop_load): New variable.
19767 (grub_cpu_xnu_init): New function.
19768 (grub_cpu_xnu_fini): Likewise.
19769 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
19770 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
19771 (grub_cmd_xnu_devtree): Likewise.
19772 (hextoval): New function.
19773 (unescape): Likewise.
19774 (grub_xnu_fill_devicetree): Likewise.
19775
19776 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
19777 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
19778
0945f181
VS
197792009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19780
19781 Workaround for broken ATI VBE.
19782
19783 * video/i386/pc/vbe.c (last_set_mode): New variable.
19784 (grub_vbe_set_video_mode): Set 'last_set_mode'.
19785 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
19786 (grub_video_vbe_setup): Don't check for reserved flag.
19787
0ad46fd7 197882009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
19789
19790 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
19791 the `find' command.
19792
c179ebe4
VS
197932009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 UUID support for HFS.
19796
19797 * fs/hfs.c (grub_hfs_uuid): New function.
19798 (grub_hfs_fs): New value .uuid.
19799 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
19800
0ad46fd7 198012009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
19802
19803 Fix a segfault with parsing unknown long options.
19804
19805 * util/grub-mkrelpath.c (options): Zero terminate it.
19806
c4a3e41a
CPE
198072009-12-13 Carles Pina i Estany <carles@pina.cat>
19808
19809 * include/grub/misc.h (grub_puts): New declaration.
19810 (grub_puts_): Likewise.
a22008a6 19811 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
19812 (grub_puts_): Likewise.
19813
2e8a7602
RM
198142009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19815
19816 * util/grub-probe.c (probe): Improve error message.
19817
b50b77b9
RM
198182009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19819
19820 * loader/i386/multiboot_elfxx.c
19821 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
19822 initialization.
19823
198242009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 Relocator framework
19827
19828 * loader/i386/xnu_helper.S: Removed. All users updated.
19829 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
19830 (relocator_mod_SOURCES): New variable.
19831 (relocator_mod_CFLAGS): Likewise.
19832 (relocator_mod_LDFLAGS): Likewise.
19833 (relocator_mod_ASFLAGS): Likewise.
19834 * conf/x86_64.rmk: Likewise.
19835 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
19836 (grub_multiboot_payload_entry_offset): Likewise.
19837 (grub_multiboot_forward_relocator): Likewise.
19838 (grub_multiboot_forward_relocator_end): Likewise.
19839 (grub_multiboot_backward_relocator): Likewise.
19840 (grub_multiboot_backward_relocator_end): Likewise.
19841 (grub_multiboot_payload_eip): New variable.
19842 (grub_multiboot_payload_orig): Likewise.
19843 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
19844 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
19845 * include/grub/i386/memory.h
19846 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
19847 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
19848 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
19849 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
19850 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
19851 * include/grub/i386/relocator.h: New file.
19852 * include/grub/x86_64/relocator.h: Likewise.
19853 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
19854 (XNU_RELOCATOR): New macro.
19855 (grub_xnu_launcher_start): Remove.
19856 (grub_xnu_launcher_end): Likewise.
19857 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
19858 (grub_xnu_heap_real_start): Remove.
19859 (grub_xnu_heap_start): Change to void *. All users updated.
19860 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
19861 * lib/i386/relocator.c: New file.
19862 * lib/i386/relocator_asm.S: Likewise.
19863 * lib/i386/relocator_backward.S: Likewise.
19864 * lib/mips/relocator.c: Likewise.
19865 * lib/mips/relocator_asm.S: Likewise.
19866 * lib/relocator.c: Likewise.
19867 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
19868 (entry): Removed.
19869 (playground): Likewise.
19870 (grub_multiboot_payload_orig): New variable.
19871 (grub_multiboot_payload_dest): Likewise.
19872 (grub_multiboot_payload_size): Likewise.
19873 (grub_multiboot_payload_eip): Likewise.
19874 (grub_multiboot_payload_esp): Likewise.
19875 (grub_multiboot_boot): Use grub_relocator32_boot.
19876 (grub_multiboot_unload): Free relocators.
19877 (grub_multiboot): Setup stack. Use relocators.
19878 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
19879 (grub_multiboot_load_elfXX): Use relocators.
19880 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
19881 (grub_multiboot_payload_size): Likewise.
19882 (grub_multiboot_payload_dest): Likewise.
19883 (grub_multiboot_payload_entry_offset): Likewise.
19884 (grub_multiboot_forward_relocator): Likewise.
19885 (grub_multiboot_backward_relocator): Likewise.
19886 (grub_multiboot_real_boot): Likewise.
19887 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
19888 (grub_xnu_entry_point): Likewise.
19889 (grub_xnu_arg1): Likewise.
19890 (grub_xnu_stack): Likewise.
19891 (grub_xnu_launch): Removed.
19892 (grub_xnu_boot_resume): New function.
19893 (grub_xnu_boot): Use relocators.
19894 * loader/i386/xnu_helper.S: Removed.
19895 * loader/xnu.c (grub_xnu_heap_start): New variable.
19896 (grub_xnu_heap_size): Likewise.
19897 (grub_xnu_heap_malloc): Use relocators.
19898 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
19899
29eb90c6
VS
199002009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
19903 anything.
19904
31027430
CPE
199052009-12-13 Carles Pina i Estany <carles@pina.cat>
19906
19907 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
19908 GRUB_ERR_NONE before calling grub_env_set.
19909
dc0c71d9
RM
199102009-12-12 Robert Millan <rmh@aybabtu.com>
19911
19912 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
19913 * genmk.rb (video): New variable.
19914 (CLEANFILES, VIDEOFILES): Add #{video}.
19915 (#{video}): New target rule.
19916 * genvideolist.sh: New file.
19917 * Makefile.in (pkglib_DATA): Add video.lst.
19918 (video.lst): New target rule.
19919 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
19920 `video.lst'.
19921 * util/grub.d/30_os-prober.in: Replace `vbe' with
19922 ${GRUB_VIDEO_BACKEND}.
19923
2a4bfcf0
RM
199242009-12-11 Robert Millan <rmh.grub@aybabtu.com>
19925
19926 * THANKS: Add David Miller.
19927
2a3aa4d5
RM
199282009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 libpciaccess support.
19931
19932 * Makefile.in (LIBPCIACCESS): New variable.
19933 (enable_grub_emu_pci): Likewise.
19934 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
19935 util/pci.c and commands/lspci.c.
19936 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
19937 * configure.ac (grub-emu-pci): New option.
19938 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
19939 (grub_pci_device_unmap_range): Likewise.
19940 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
19941 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
19942 (grub_pci_address_t) [!GRUB_UTIL]: New type.
19943 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
19944 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
19945 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
19946 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
19947 * include/grub/pciutils.h: New file.
19948 * util/pci.c: Likewise.
19949
0ad46fd7 199502009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
19951
19952 * util/misc.c: Don't include <errno.h> twice.
19953
0ad46fd7 199542009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
19955
19956 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
19957 name in an error message.
19958 (grub_biosdisk_rw): Likewise.
19959
2e59983c
VS
199602009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19961
19962 Eliminate NTFS 4Gib barrier.
19963
19964 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
19965 (read_run_data): Likewise.
19966 (grub_ntfs_read_run_list): Likewise.
19967 (grub_ntfs_read_block): Likewise.
19968 (grub_ntfs_iterate_dir): Likewise.
19969 (read_mft): Likewise.
19970 (read_data): Likewise.
19971 Use COM_LOG_LEN.
19972 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
19973 to avoid 64-bit division
19974 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
19975 (grub_ntfs_rlst): Use grub_disk_addr_t.
19976
71ee178a
VS
199772009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19978
19979 Eliminate grub-fstest 4Gib barrier.
19980
19981 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
19982 (read_file): Fix error reporting.
19983
2520d4b8
VS
199842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19985
19986 Eliminate hexdump 4Gib barrier.
19987
19988 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
19989 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
19990
e1f27065
VS
199912009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
19994 Fixes amarsh bug.
19995
1a0f7f45
RM
199962009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
19997
19998 Remove miscellaneous files in distclean target.
19999
20000 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
20001
c631d9fb
CW
200022009-12-09 Colin Watson <cjwatson@ubuntu.com>
20003
20004 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
20005 if they're already set. This resolves the conflict between my
20006 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
20007 fixing the --grub-probe option again.
20008 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
20009 change on 2009-10-06, so that we now once again source
20010 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20011
7c7b6106
RM
200122009-12-08 Robert Millan <rmh.grub@aybabtu.com>
20013
20014 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
20015 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
20016 `util/devicemap.c'.
20017
e3069ec1
CPE
200182009-12-08 Carles Pina i Estany <carles@pina.cat>
20019
20020 * include/grub/misc.h (grub_printf_): New declaration.
20021 * kern/misc.c (grub_printf_): New definition.
20022 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
20023 instead of `grub_printf' and `_'.
20024 * normal/menu_entry.c (store_completion): Likewise.
20025 (run): Likewise.
20026 (grub_menu_entry_run): Likewise.
20027 * normal/menu_text.c (grub_wait_after_message): Likewise.
20028 (notify_booting): Likewise.
20029 (notify_fallback): Likewise.
20030 (notify_execution_failure): Likewise.
20031
d6ceebf1
CW
200322009-12-07 Colin Watson <cjwatson@ubuntu.com>
20033
20034 * configure.ac: Check for vasprintf.
20035 * util/misc.c (asprintf): Move allocation from here ...
20036 (vasprintf): ... to here. New function.
20037 (xasprintf): New function.
20038 * include/grub/util/misc.h (vasprintf, xasprintf): Add
20039 prototypes.
20040 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20041 * util/grub-mkfont.c (write_font): Likewise.
20042 * util/grub-probe.c (probe): Likewise.
20043 * util/hostdisk.c (make_device_name): Likewise.
20044
de6daa8b
DM
200452009-12-06 David S. Miller <davem@sunset.davemloft.net>
20046
20047 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
20048 anything even prefixed with 'cdrom' as a cdrom.
20049
0ad46fd7 200502009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
20051
20052 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
20053 mount points.
20054
98d3dc02
CPE
200552009-12-05 Carles Pina i Estany <carles@pina.cat>
20056
20057 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
20058 grub_gettext_msg_list.
20059 (grub_gettext_gettranslation_from_position): Return const char *
20060 and not char *.
a2c1332b 20061 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
20062 returns from the list if existing there.
20063 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
20064 (grub_gettext_delete_list): Delete the list.
20065 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
20066 lang environment variable is changed.
20067 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
20068
b283f108
VS
200692009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
20070
20071 Rename kernel.mod to kernel.img.
20072
20073 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
20074 (kernel_mod_EXPORTS): Rename to ...
20075 (kernel_img_EXPORTS): ... this.
20076 (kernel_mod_SOURCES): Rename to ...
20077 (kernel_img_SOURCES): ... this.
20078 (kernel_mod_HEADERS): Rename to ...
20079 (kernel_img_HEADERS): ... this. All users updated.
20080 (kernel_mod_CFLAGS): Rename to ...
20081 (kernel_img_CFLAGS): ... this.
20082 (kernel_mod_ASFLAGS): Rename to ...
20083 (kernel_img_ASFLAGS): ... this.
20084 (kernel_mod_LDFLAGS): Rename to ...
20085 (kernel_img_LDFLAGS): ... this.
20086 * conf/x86_64-efi.rmk: Likewise.
20087 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
20088 (read_kernel_image): ... this. All users updated.
20089 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
20090
69055f8a
CPE
200912009-12-05 Carles Pina i Estany <carles@pina.cat>
20092
20093 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
20094 (print_spaces): New function.
20095 (grub_print_ucs4): New function.
20096 (getstringwidth): New function.
20097 (print_message_indented): New function.
20098 (print_message): Gettexttize strings using print_message_indented.
20099 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
20100 width.
20101 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 20102 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
20103 Gettextize.
20104 * normal/menu_entry.c (store_completion): Cleanup the gettextized
20105 string.
20106 (run): Likewise.
20107 (grub_menu_entry_run): Likewise.
20108 * PO/POTFILES: Add normal/menu_entry.c.
20109
f616f51c
VS
201102009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
20111
20112 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
20113
57bbe3be
CPE
201142009-12-05 Carles Pina i Estany <carles@pina.cat>
20115
20116 * util/grub-install.in: Install gettext .mo files.
20117 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
20118
013d67a1
CPE
201192009-12-05 Carles Pina i Estany <carles@pina.cat>
20120
20121 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
20122 grub_dprintf.
20123
fb954db0
RM
201242009-12-05 Robert Millan <rmh.grub@aybabtu.com>
20125
20126 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
20127 non-firmware-dependant one in realmode.S takes precedence.
20128
6b8474f8
RM
201292009-12-04 Robert Millan <rmh.grub@aybabtu.com>
20130
20131 * commands/halt.c: Replace misc arch-specific headers with
20132 `<grub/misc.h>'.
20133 * commands/reboot.c: Likewise.
20134 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
20135 `<grub/misc.h>'.
20136 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
20137 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
20138 (kernel_img_SOURCES): ... to here.
20139
20140 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
20141 * include/grub/i386/pc/init.h: Likewise.
20142 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20143 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20144
20145 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
20146
20147 * include/grub/i386/halt.h: Remove.
20148 * include/grub/i386/reboot.h: Likewise.
20149
20150 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
20151
4b2e6ca2
DM
201522009-12-03 David S. Miller <davem@sunset.davemloft.net>
20153
20154 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
20155 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
20156 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
20157 "progname.h"
20158 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20159 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20160 (usage): Add missing comma in printf.
20161
5239348f
RM
201622009-12-02 Robert Millan <rmh.grub@aybabtu.com>
20163
20164 Use the same reboot approach on i386 coreboot and qemu as we do on
20165 BIOS.
20166
20167 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
20168 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
20169 * kern/i386/reboot.c: Remove.
20170 * include/grub/i386/reboot.h (grub_reboot): Export function.
20171 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
20172 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
20173 0xf000:0xfff0 instead of 0xffff:0x0000.
20174 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
20175 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
20176
ef34cbd4
RM
201772009-11-30 Robert Millan <rmh.grub@aybabtu.com>
20178
20179 Fix $srcdir != $objdir build.
20180
20181 * Makefile.in (po/%.po): Rewrite as ...
20182 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
20183
dc9837ea
ST
201842009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
20185
20186 Fix GNU/Hurd grub-install crash.
20187 * util/grub-probe.c (probe): Try to access `path' only when it is not
20188 NULL.
20189
2f857f98
VS
201902009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20191
20192 Correct module naming.
20193
20194 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
20195 (GRUB_MOD_INIT(efi_uga)): ... to this
20196 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
20197 (GRUB_MOD_FINI(efi_uga)): ... to this
20198 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
20199 (GRUB_MOD_INIT(efi_gop)): ... to this
20200 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
20201 (GRUB_MOD_FINI(efi_gop)): ... to this
20202
c5448046
RM
202032009-11-28 Robert Millan <rmh.grub@aybabtu.com>
20204
20205 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
20206 translatable.
20207 (usage): Translate `arg' strings using gettext().
20208 Thanks to Jordi Mallach for the suggestion.
20209
c85184ad
VS
202102009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20211
20212 GOP support. Based on patch from Bean
20213 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
20214
20215 * video/efi_gop.c: New file.
20216 * include/grub/efi/graphics_output.h: Likewise.
20217 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
20218 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
20219 variables.
20220 * conf/x86_64-efi.rmk: Likewise.
20221
8a4c48d8
VS
202222009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20223
20224 Rename efi_fb to efi_uga.
20225
20226 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
20227 'efi_uga.mod'.
20228 (efi_fb_mod_SOURCES): Rename this ...
20229 (efi_uga_mod_SOURCES): ... to this.
20230 (efi_fb_mod_CFLAGS): Rename this ...
20231 (efi_uga_mod_CFLAGS): ... to this.
20232 (efi_fb_mod_LDFLAGS): Rename this ...
20233 (efi_uga_mod_LDFLAGS): ... to this.
20234 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
20235 'efi_uga.mod'.
20236 (efi_fb_mod_SOURCES): Rename this ...
20237 (efi_uga_mod_SOURCES): ... to this.
20238 (efi_fb_mod_CFLAGS): Rename this ...
20239 (efi_uga_mod_CFLAGS): ... to this.
20240 (efi_fb_mod_LDFLAGS): Rename this ...
20241 (efi_uga_mod_LDFLAGS): ... to this.
20242 * video/efi_fb.c: Move this ...
20243 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
20244
fb6c1a7b
RM
202452009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20246
20247 * po/README: New file. Explain our PO file workflow.
20248
3bc7896c
RM
202492009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20250
20251 * po/ChangeLog: Remove. Move relevant entries back to ...
20252 * ChangeLog: ... here.
20253 * po/ca.po: Remove (now handled by TLP).
20254 * po/id.po: Likewise.
20255 * po/zh_CN.po: Likewise.
20256 * Makefile.in (LINGUAS): Initialize in a way that supports
20257 empty set.
20258
9ed4841d
RM
202592009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20260
20261 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
20262 reliing on po/LINGUAS.
20263 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
20264 (po/%.po): ... this.
20265
0ad46fd7 202662009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
20267
20268 * util/i386/efi/grub-mkimage.c: Include "progname.h".
20269 (main): Use `program_name' instead of nonexistent `progname'.
20270
e30dd392
FZ
202712009-11-26 Felix Zielcke <fzielcke@z-51.de>
20272
20273 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20274 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
20275
7656de4f
RM
202762009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20277
20278 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
20279 commit.
20280 * conf/i386-efi.rmk: Likewise.
20281 * conf/i386-ieee1275.rmk: Likewise.
20282 * conf/powerpc-ieee1275.rmk: Likewise.
20283 * conf/sparc64-ieee1275.rmk: Likewise.
20284 * conf/x86_64-efi.rmk: Likewise.
20285
db77c4d4
FZ
202862009-11-26 Felix Zielcke <fzielcke@z-51.de>
20287
20288 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
20289
a755bb04
FZ
202902009-11-26 Felix Zielcke <fzielcke@z-51.de>
20291
20292 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
20293
8a4c07fd
RM
202942009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20295
20296 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
20297 (grub_mkdevicemap_SOURCES): New variable.
20298 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
20299 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
20300 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
20301 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
20302 (grub_mkdevicemap_SOURCES): Remove.
20303 * conf/i386-efi.rmk: Likewise.
20304 * conf/i386-ieee1275.rmk: Likewise.
20305 * conf/i386-pc.rmk: Likewise.
20306 * conf/powerpc-ieee1275.rmk: Likewise.
20307 * conf/sparc64-ieee1275.rmk: Likewise.
20308 * conf/x86_64-efi.rmk: Likewise.
20309 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
20310 (usage): Fix strings to use `program_name'.
20311 (main): Initialize gettext.
20312 * util/grub-editenv.c: Likewise.
20313 * util/grub-emu.c: Likewise.
20314 * util/grub-fstest.c: Likewise.
20315 * util/grub-mkdevicemap.c: Likewise.
20316 * util/grub-mkfont.c: Likewise.
20317 * util/grub-mkrelpath.c: Likewise.
20318 * util/grub-pe2elf.c: Likewise.
20319 * util/grub-probe.c: Likewise.
20320 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20321 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20322 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20323
20324 * util/misc.c: Include `"progname.h"'.
20325 (progname): Remove variable.
20326 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
20327
6f61ed55
FZ
203282009-11-25 Felix Zielcke <fzielcke@z-51.de>
20329
20330 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
20331 printf and print a newline after the menuentry header line.
20332 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20333
f022876b
FZ
203342009-11-25 Felix Zielcke <fzielcke@z-51.de>
20335
20336 autoconf >= 2.60 support $(localedir).
20337
20338 * INSTALL: Note that autoconf 2.60 is required.
20339 * configure.ac (AC_PREREQ): Bump to 2.60.
20340 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
20341 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20342
6717926e
YB
203432009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
20344
20345 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
20346 aclocal is run.
20347
08806a54
RM
203482009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20349
20350 * normal/main.c (grub_normal_read_line): Fix off-by-one
20351 buffer overflow.
20352
13b33fba
RM
203532009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20354
20355 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
20356 "parser.grub" in grub_command_execute() call.
20357
4a8572e9
CPE
203582009-11-24 Carles Pina i Estany <carles@pina.cat>
20359
20360 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
20361 * conf/i386-efi.rmk: Likewise.
20362 * conf/i386-ieee1275.rmk: Likewise.
20363 * conf/i386-pc.rmk: Likewise.
20364 * conf/powerpc-ieee1275.rmk: Likewise.
20365 * conf/sparc64-ieee1275.rmk: Likewise.
20366 * conf/x86_64-efi.rmk: Likewise.
20367 * gettext/gettex.c: Include <grub/i18n.h>.
20368 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
20369 here ...
20370 * include/grub/i18n.h: ... to here
20371 * include/grub/i18n.h: ... to here.
20372 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 20373 (grub_gettext_dummy): Move above user.
4a8572e9 20374
bee48093
FZ
203752009-11-24 Felix Zielcke <fzielcke@z-51.de>
20376
20377 * util/Makefile.in (install-local): Convert a `for' into a normal
20378 shell expansion.
20379
a031e91c
RM
203802009-11-24 Robert Millan <rmh.grub@aybabtu.com>
20381
20382 * autogen.sh: Add automake call.
20383 * config.guess: Remove.
20384 * config.sub: Likewise.
20385 * install-sh: Likewise.
20386
26bec39d
FZ
203872009-11-24 Felix Zielcke <fzielcke@z-51.de>
20388
20389 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
20390
8e2532fd
FZ
203912009-11-24 Felix Zielcke <fzielcke@z-51.de>
20392
20393 * util/Makefile.in (install-local): Convert a make `$(foreach)'
20394 function to a normal shell `for'.
20395
fefa1b7d
FZ
203962009-11-24 Felix Zielcke <fzielcke@z-51.de>
20397
20398 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20399
4501250b
FZ
204002009-11-24 Felix Zielcke <fzielcke@z-51.de>
20401
20402 * util/grub-mkrelpath.c: New file.
20403 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
20404 (grub_mkrelpath_SOURCES): New variable.
20405 * include/grub/util/misc.h: New function prototype.
20406 * util/misc.c (make_system_path_relative_to_its_root): New function.
20407
20408 * util/grub-mkconfig_lib.in (bindir): New variable.
20409 (grub_mkrelpath): Likewise.
20410 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
20411
20412 * util/probe.c (probe): Make the file path relative to its root.
20413 Change a info message to use the GRUB path. Enable again the
20414 check if we can read the file with GRUB facilities.
20415
20416 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
20417 to its root.
20418
11d9778b
FZ
204192009-11-24 Felix Zielcke <fzielcke@z-51.de>
20420
20421 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
20422 platform.
20423
4465287d
FZ
204242009-11-24 Felix Zielcke <fzielcke@z-51.de>
20425
20426 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
20427 strncmp().
20428
62b47f22
FZ
204292009-11-24 Felix Zielcke <fzielcke@z-51.de>
20430
20431 * util/getroot.c (grub_util_is_dmraid): New function.
20432 (grub_util_get_dev_abstraction): Treat dmraid and multipath
20433 devices as normal ones, not as LVM.
20434
1eafb9b9 204352009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
20436
20437 * conf/common.rmk: Add grub-gettext_lib target and updates
20438 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
20439 LDFLAGS.
20440 * gettext/gettext.c: New file. (Reads mo files).
20441 * include/grub/file.h (grub_file_pread): New prototype.
20442 * include/grub/i18n.h (_): New prototype.
20443 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
20444 prototypes.
20445 * kern/misc.c (grub_gettext_dummy): New function.
20446 * normal/menu_text.c: Include <grub/i18n.h>.
20447 * normal/menu_text.c (print_timeout): Gettexttize string.
20448 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
20449 * po/POTFILES: Add `normal/menu_text.c'.
20450 * po/ca.po: Add new translations.
c3ea6bd4
CPE
20451 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
20452 gettext module and defines locale_dir and lang in grub.cfg.
20453 * NEWS: Add gettext support.
20454
0fdb2568
RM
204552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20456
20457 * util/hostdisk.c: Include `<grub/i18n.h>'.
20458 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
20459 (make_device_name): Rewrite using asprintf.
20460 (convert_system_partition_to_system_disk): Replace 0 with NULL.
20461 (find_system_device): If a device is not found, generate one just
20462 by reusing the OS path name.
20463 (read_device_map): Make it permissible for device.map not to exist.
20464
f515aa62
RM
204652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20466
20467 * script/sh/execute.c: Move from here ...
20468 * script/execute.c: ... to here. Update all users.
20469 * script/sh/function.c: Move from here ...
20470 * script/function.c: ... to here. Update all users.
20471 * script/sh/lexer.c: Move from here ...
20472 * script/lexer.c: ... to here. Update all users.
20473 * script/sh/main.c: Move from here ...
20474 * script/main.c: ... to here. Update all users.
20475 * script/sh/parser.y: Move from here ...
20476 * script/parser.y: ... to here. Update all users.
20477 * script/sh/script.c: Move from here ...
20478 * script/script.c: ... to here. Update all users.
20479
f84b481b
RM
204802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20481
20482 * configure.ac: Detect all `emu' platforms. Define
20483 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
20484 --enable-grub-emu logic. Disable include/grub/machine
20485 symlink on `emu' platforms.
20486
20487 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
20488 * gensymlist.sh.in: Likewise.
20489
20490 * include/grub/i386/coreboot/machine.h: Remove file.
20491 * include/grub/i386/efi/machine.h: Likewise.
20492 * include/grub/i386/ieee1275/machine.h: Likewise.
20493 * include/grub/i386/pc/machine.h: Likewise.
20494 * include/grub/i386/qemu/machine.h: Likewise.
20495 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20496 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20497 * include/grub/x86_64/efi/machine.h: Likewise.
20498
20499 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
20500 * commands/halt.c: Likewise.
20501 * commands/reboot.c: Likewise.
20502 * include/grub/autoefi.h: Likewise.
20503 * include/grub/i386/at_keyboard.h: Likewise.
20504 * include/grub/i386/kernel.h: Likewise.
20505 * include/grub/i386/loader.h: Likewise.
20506 * include/grub/i386/pc/memory.h: Likewise.
20507 * kern/dl.c: Likewise.
20508 * kern/i386/coreboot/init.c: Likewise.
20509 * loader/i386/bsd.c: Likewise.
20510 * loader/i386/linux.c: Likewise.
20511 * loader/multiboot_loader.c: Likewise.
20512 * term/i386/pc/serial.c: Likewise.
20513 * term/usb_keyboard.c: Likewise.
20514
20515 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
20516 `<grub/machine/machine.h>'
20517 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
20518 * util/misc.c: Remove `<grub/machine/machine.h>' and
20519 `<grub/machine/time.h>'.
20520
20521 * Makefile.in (enable_grub_emu): Remove variable.
20522 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
20523
20524 * conf/any-emu.rmk: New file.
20525 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
20526 (grub_emu_init.c): Move from here ...
20527 * conf/any-emu.rmk: ... to here.
20528
20529 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
20530 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
20531 * conf/any-emu.rmk: ... to here.
20532
4efeab03
RM
205332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20534
20535 * include/grub/parser.h (grub_parser_register): Document need
20536 of `name' parameter.
20537 * normal/main.c (grub_normal_read_line): Simplify prompt string.
20538 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
20539 "sh" to "grub".
20540
ea1dd8bf
RM
205412009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20542
20543 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
20544 `$(XGETTEXT)'.
20545 * include/grub/i18n.h (N_): New macro.
20546 * util/mkisofs/mkisofs.h: Likewise.
20547 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
20548 around N_().
20549 (usage): Use gettext() to translate help strings when printing them.
20550
0c140626
RM
205512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20552
20553 Based on patch from Bean
20554 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
20555
20556 * video/efi_fb.c: New file.
20557 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
20558 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
20559 variables.
20560 * conf/x86_64-efi.rmk: Likewise.
20561
87d58298
RM
205622009-11-22 Robert Millan <rmh.grub@aybabtu.com>
20563
20564 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
20565 * util/i386/pc/grub-setup.c: Likewise.
20566
994cc3a3
ST
205672009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20568
20569 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
20570 <hurd/fs.h>
20571 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
20572 file_get_storage_info to implement grub_guess_root_device.
20573
26a61d6a
FZ
205742009-11-21 Felix Zielcke <fzielcke@z-51.de>
20575
20576 * Makefile.in (target): Use make's builtin $(shell) function
20577 instead of calling directly $(SHELL) to create the locale directories,
20578 inside the $(foreach) function.
20579
74ff1dd5
FZ
205802009-11-21 Felix Zielcke <fzielcke@z-51.de>
20581
20582 * util/grub-mkrescue.in: Print an error and usage if output option
20583 has not been given.
20584
0b787d0e
FZ
205852009-11-21 Felix Zielcke <fzielcke@z-51.de>
20586
20587 Patch from Loïc Minier <loic.minier@ubuntu.com>.
20588 * util/grub.d/30_os-prober.in: Cope with Linux entries where
20589 root and /boot are on different devices.
20590
1164b270
RM
205912009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20592
20593 Fix build for srcdir != objdir.
20594
20595 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
20596 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
20597 $(srcdir).
20598 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
20599 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
20600 reference for input.
20601
13774a2f
RM
206022009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20603
20604 * util/grub-mkrescue.in: Use source directory direcly (without copiing
20605 or hardlinking it). Remove -J option, Joliet is not compatible with
20606 multiple source directories.
20607
efda854e
RM
206082009-11-21 Carles Pina i Estany <carles@pina.cat>
206092009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20610
20611 * util/grub-mkrescue.in: Recognize `--override-directory' option.
20612 (process_input_dir): New function. Process an arbitrary input
20613 directory.
20614 Misc adjustments to support both "override mode" and system-wide mode.
20615
6c09890c
FZ
206162009-11-20 Felix Zielcke <fzielcke@z-51.de>
20617
20618 * configure.ac (UNIFONT_BDF): Rename to ...
20619 (FONT_SOURCE): ... this. Update all users.
20620
a797824f
FZ
206212009-11-20 Felix Zielcke <fzielcke@z-51.de>
20622
20623 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
20624 to the list of unifont files to look for.
20625
cd4f42b0
RM
206262009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20627
20628 Patch from Joe Auricchio <jauricchio@gmail.com>
20629 * commands/minicmd.c (grub_mini_cmd_clear): New function.
20630 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
20631 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
20632
393c783d
FZ
206332009-11-19 Felix Zielcke <fzielcke@z-51.de>
20634
20635 * Makefile.in (install-local): Add a missing backslash.
20636
b2f1e327
FZ
206372009-11-19 Felix Zielcke <fzielcke@z-51.de>
20638
20639 * include/grub/x86_64/io.h: New file.
20640
f577f7a0
RM
206412009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20642
20643 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
20644 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
20645 Include `"progname.h"'.
20646 (main): Initialize gettext.
20647 * util/i386/pc/grub-setup.c: Gettexttize.
20648 * util/i386/pc/grub-mkimage.c: Likewise.
20649
20650 * Makefile.in (po/*.po): Redefine as ...
20651 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
20652
3bc7896c
RM
20653 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
20654
c37943b6
RM
206552009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20656
20657 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
20658 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
20659 (program_name): Remove.
20660 (main): Initialize gettext support.
6323f705
RM
20661 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
20662 Include `<libintl.h>'.
20663 (_): New macro.
c37943b6
RM
20664
20665 * util/mkisofs/eltorito.c: Gettexttize.
20666 * util/mkisofs/joliet.c: Likewise.
20667 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
20668 * util/mkisofs/multi.c: Likewise.
20669 * util/mkisofs/rock.c: Likewise.
20670 * util/mkisofs/tree.c: Likewise.
20671 * util/mkisofs/write.c: Likewise.
20672
3bc7896c
RM
20673 * po/POTFILES: Update with new files.
20674
5ce77c6e
RM
206752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20676
20677 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
20678 * util/mkisofs/iso9660.h: Likewise.
20679 * util/mkisofs/joliet.c: Likewise.
20680 * util/mkisofs/mkisofs.c: Likewise.
20681 * util/mkisofs/mkisofs.h: Likewise.
20682 * util/mkisofs/rock.c: Likewise.
20683 * util/mkisofs/tree.c: Likewise.
20684 * util/mkisofs/write.c: Likewise.
20685
20686 * util/mkisofs/eltorito.c (rcsid): Remove.
20687 * util/mkisofs/hash.c: Likewise.
20688 * util/mkisofs/joliet.c: Likewise.
20689 * util/mkisofs/name.c: Likewise.
20690 * util/mkisofs/rock.c: Likewise.
20691 * util/mkisofs/tree.c: Likewise.
20692 * util/mkisofs/write.c: Likewise.
20693
1dabbc77
RM
206942009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20695
20696 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
20697 instead of static allocation.
20698 * util/mkisofs/match.h: Likewise.
20699
633877cb
RM
207002009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20701
3bc7896c
RM
20702 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
20703 and `util/grub.d/10_linux.in'.
633877cb
RM
20704 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
20705 translatable Shell files.
20706
af1c0c85
RM
207072009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20708
20709 * Makefile.in ($(srcdir)/aclocal.m4): New target.
20710
769ae37b
RM
207112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20712
20713 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 20714 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
20715 * util/grub.d/10_kfreebsd.in (bindir): New variable.
20716 Add gettext initialization.
20717 (kfreebsd_entry): Make menuentry output translatable.
20718
207192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20720
20721 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
20722 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
20723 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
20724 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
20725 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 20726 * po/LINGUAS: New file.
769ae37b
RM
20727
207282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20729
20730 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
20731 other things).
20732 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
20733 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
20734 bindtextdomain() calls for gettext initialization.
20735
207362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20737
20738 * gnulib/progname.c: New file (imported from Gnulib).
20739 * gnulib/progname.h: Likewise.
20740 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20741 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
20742 (usage): Replace `progname' with `program_name'.
20743 (main): Use set_program_name() for program name initialization.
20744
207452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20746
20747 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
20748 from here ...
20749 * Makefile.in (CPPFLAGS): ... to here.
20750
207512009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20752
20753 * aclocal.m4: Move from here ...
20754 * acinclude.m4: ... to here.
20755 * autogen.sh: Add call to `aclocal'.
20756 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
20757
207582009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20759
20760 * Makefile.in (CLEANFILES): Add `po/*.mo'.
20761 (LINGUAS): New variable.
20762 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
20763 (install-local): Install MO files.
20764 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
20765 * include/grub/i18n.h: New file.
3bc7896c
RM
20766 * po/POTFILES: New file.
20767 * po/ca.po: New file.
769ae37b
RM
20768 * util/grub.d/10_linux.in (bindir): New variable.
20769 Add gettext initialization.
20770 (linux_entry): Make menuentry output translatable.
20771 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
20772 (usage): Make --help output translatable.
20773 (main): Initialize gettext.
20774
02c0a6ad
RM
207752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20776
20777 * import_gcry.py: New file (written by Vladimir with minor
20778 adjustments).
20779 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
20780 ciphers.
20781 * INSTALL: Document that Python is required for bootstrap.
20782
207832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20784
20785 Import ciphers from libgcrypt 1.4.4.
20786
20787 * lib/libgcrypt/cipher/ChangeLog
20788 * lib/libgcrypt/cipher/ac.c
20789 * lib/libgcrypt/cipher/arcfour.c
20790 * lib/libgcrypt/cipher/bithelp.h
20791 * lib/libgcrypt/cipher/blowfish.c
20792 * lib/libgcrypt/cipher/camellia-glue.c
20793 * lib/libgcrypt/cipher/camellia.c
20794 * lib/libgcrypt/cipher/camellia.h
20795 * lib/libgcrypt/cipher/cast5.c
20796 * lib/libgcrypt/cipher/cipher.c
20797 * lib/libgcrypt/cipher/crc.c
20798 * lib/libgcrypt/cipher/des.c
20799 * lib/libgcrypt/cipher/dsa.c
20800 * lib/libgcrypt/cipher/ecc.c
20801 * lib/libgcrypt/cipher/elgamal.c
20802 * lib/libgcrypt/cipher/hash-common.c
20803 * lib/libgcrypt/cipher/hash-common.h
20804 * lib/libgcrypt/cipher/hmac-tests.c
20805 * lib/libgcrypt/cipher/md.c
20806 * lib/libgcrypt/cipher/md4.c
20807 * lib/libgcrypt/cipher/md5.c
20808 * lib/libgcrypt/cipher/primegen.c
20809 * lib/libgcrypt/cipher/pubkey.c
20810 * lib/libgcrypt/cipher/rfc2268.c
20811 * lib/libgcrypt/cipher/rijndael-tables.h
20812 * lib/libgcrypt/cipher/rijndael.c
20813 * lib/libgcrypt/cipher/rmd.h
20814 * lib/libgcrypt/cipher/rmd160.c
20815 * lib/libgcrypt/cipher/rsa.c
20816 * lib/libgcrypt/cipher/seed.c
20817 * lib/libgcrypt/cipher/serpent.c
20818 * lib/libgcrypt/cipher/sha1.c
20819 * lib/libgcrypt/cipher/sha256.c
20820 * lib/libgcrypt/cipher/sha512.c
20821 * lib/libgcrypt/cipher/tiger.c
20822 * lib/libgcrypt/cipher/twofish.c
20823 * lib/libgcrypt/cipher/whirlpool.c
20824
af2f93ac
RM
208252009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20826
20827 Fix build for systems without error().
20828
20829 * gnulib/error.c: New file (imported from Gnulib).
20830 * gnulib/error.h: Likewise.
20831 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
20832 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
20833 (this variable is now used by error()).
20834
73fb3dd5
FZ
208352009-11-16 Felix Zielcke <fzielcke@z-51.de>
20836
814f5e96
FZ
20837 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
20838 instead of relying that char is signed.
73fb3dd5 20839
a691ca33
VS
208402009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20841
20842 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
20843 blocksize different from specified.
20844 (grub_pxefs_read): Likewise.
20845
2af8f0f4
FZ
208462009-11-16 Felix Zielcke <fzielcke@z-51.de>
20847
20848 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
20849
20850 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
20851 (grub_ata_readwrite): Likewise. Update 2 format strings.
20852 (grub_atapi_read): Likewise.
20853
20854 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
20855 * conf/i386.rmk (pkglib_MODULES): ... to here ...
20856 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
20857 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
20858 (ata_mod_LDFLAGS): Move from here ...
20859 * conf/i386.rmk: ... to here ...
20860 * conf/x86_64-efi.rmk: ... and here.
20861 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
20862 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
20863
83bdecaf
RM
208642009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20865
20866 Relicense multiboot.h, with RMS' blessing.
20867
20868 * include/multiboot.h: Change to X11 license.
20869
fd6fd3d7
RM
208702009-11-15 Robert Millan <rmh.grub@aybabtu.com>
20871
20872 Support --version in grub-mkisofs.
20873
20874 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
20875 (OPTION_VERSION): New macro.
20876 (ld_options): Recognize --version.
20877 (usage): Move `program_name' from here ...
20878 (program_name): ... to here. Add `static' qualifier.
20879 (main): Recognize `OPTION_VERSION'.
20880
16a88c49
FZ
208812009-11-15 Felix Zielcke <fzielcke@z-51.de>
20882
20883 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
20884 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
20885
a4158476
RM
208862009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20887
20888 Fix help2man generation for mkisofs.
20889
20890 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
20891 (usage): Send output to stdout (rather than stderr).
20892
fc2208b0
RM
208932009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20894
20895 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
20896 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20897 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
20898 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20899 (bin_SCRIPTS): Add `grub-mkfloppy'.
20900 (grub_mkfloppy_SOURCES): New variable.
20901
20902 * util/grub-mkrescue.in: New file.
20903 * util/i386/pc/grub-mkfloppy.in: New file.
20904
20905 * util/i386/coreboot/grub-mkrescue.in: Remove.
20906 * util/i386/pc/grub-mkrescue.in: Remove.
20907
8d0edf4a
RM
209082009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20909
20910 * include/grub/multiboot.h (struct grub_multiboot_header): Move
20911 from here ...
20912 * include/multiboot.h (struct multiboot_header): ... to here. Update
20913 all users.
20914 * include/grub/multiboot.h (struct grub_multiboot_info): Move
20915 from here ...
20916 * include/multiboot.h (struct multiboot_info): ... to here. Update
20917 all users.
20918 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
20919 from here ...
20920 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
20921 Update all users.
20922 * include/grub/multiboot.h (struct grub_mod_list): Move
20923 from here ...
20924 * include/multiboot.h (struct multiboot_mod_list): ... to here.
20925 Update all users.
20926
a73f5969
RM
209272009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20928
20929 * include/multiboot2.h (multiboot_word): Rename from this ...
20930 (multiboot2_word): ... to this. Update all users.
20931 (multiboot_header): Rename from this ...
20932 (multiboot2_header): ... to this. Update all users.
20933 (multiboot_tag_header): Rename from this ...
20934 (multiboot2_tag_header): ... to this. Update all users.
20935 (multiboot_tag_start): Rename from this ...
20936 (multiboot2_tag_start): ... to this. Update all users.
20937 (multiboot_tag_name): Rename from this ...
20938 (multiboot2_tag_name): ... to this. Update all users.
20939 (multiboot_tag_module): Rename from this ...
20940 (multiboot2_tag_module): ... to this. Update all users.
20941 (multiboot_tag_memory): Rename from this ...
20942 (multiboot2_tag_memory): ... to this. Update all users.
20943 (multiboot_tag_unused): Rename from this ...
20944 (multiboot2_tag_unused): ... to this. Update all users.
20945 (multiboot_tag_end): Rename from this ...
20946 (multiboot2_tag_end): ... to this. Update all users.
20947
1c8927f0
RM
209482009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20949
20950 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
20951 this platform we should support Multiboot1 first.
20952
20953 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20954 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
20955 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
20956
6e1e0d89
RM
209572009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20958
20959 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
20960 of write calls (converting them to fwrite() if they aren't already).
20961 (get_torito_desc): Likewise.
20962 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
20963
7f2b34d8
RM
209642009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20965
20966 * util/i386/pc/grub-install.in: Move from here ...
20967 * util/grub-install.in: ... to here. Update all users.
20968
c0ef3311
CW
209692009-11-11 Colin Watson <cjwatson@ubuntu.com>
20970
20971 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
20972
e1f240ff
RM
209732009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20974
20975 Support for El Torito without floppy emulation.
20976
20977 * util/mkisofs/eltorito.c: Include `<errno.h>'.
20978 (init_boot_catalog): Improve error handling.
20979 (get_torito_desc): Don't use floppy emulation unless requested by
20980 user. Patch boot information table when requested via
20981 `-boot-info-table'.
20982 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
20983 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
20984 (use_boot_info_table): New variables.
20985 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
20986 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
20987 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
20988 `--eltorito-emul-floppy'.
20989 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
20990 and `OPTION_ELTORITO_EMUL_FLOPPY'.
20991 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
20992 (use_boot_info_table, get_731): New prototypes.
20993 * util/mkisofs/write.c (get_731): New function.
20994
af7d4de5
FZ
209952009-11-11 Felix Zielcke <fzielcke@z-51.de>
20996
20997 Fix the generation of the man page.
20998
20999 * util/pc/i386/grub-install.in: Source
21000 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21001
2c55dbc0
RM
210022009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21003
21004 Large file support for grub-mkisofs.
21005
21006 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
21007 * util/mkisofs/mkisofs.c (next_extent, last_extent)
21008 (session_start): Upgrade type to `uint64_t'. Update all users.
21009 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
21010 (struct directory_entry): Upgrade type of `starting_block' and
21011 `size' to `uint64_t'. Update all users.
21012 (struct deferred): Remove unused structure.
21013 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
21014 Update all users.
21015 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
21016 file is larger than `UINT32_MAX'.
21017 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
21018 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
21019 return value.
21020 (struct deferred_write): Upgrade type of `extent' and `size' to
21021 `uint64_t'. Update all users.
21022 (last_extent_written): Upgrade type to `uint64_t'. Update all
21023 users.
21024 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
21025 Update all users. Upgrade type of `remain' to `int64_t' and
21026 `use' to `size_t'. Use error() to handle fread() errors.
21027 (write_files): Rely on write_one_file() rather than calling
21028 xfwrite() directly.
21029
6a9cead5
FZ
210302009-11-09 Felix Zielcke <fzielcke@z-51.de>
21031
21032 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
21033
4825d790
RM
210342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21035
21036 * util/mkisofs/fnmatch.c: Remove.
21037 * util/mkisofs/getopt1.c: Likewise.
21038 * util/mkisofs/getopt.c: Likewise.
21039 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
21040 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
21041 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
21042 `gnulib/getopt1.c' and `gnulib/getopt.c'.
21043 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
21044
21045 * configure.ac: Detect `mingw32msvc' host_os.
21046 Check for lstat(), getuid() and getgid().
21047
21048 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
21049 instances of `u_char' with `uint8_t'.
21050
21051 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
21052 [!HAVE_GETUID] (getuid): New function (stub).
21053 [!HAVE_GETGID] (getgid): Likewise.
21054 [!HAVE_LSTAT] (lstat): Likewise.
21055 [!S_IROTH] (S_IROTH): New macro (dummy).
21056 [!S_IRGRP] (S_IRGRP): Likewise.
21057
84b860d8
RM
210582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21059
21060 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
21061 conditional expression).
21062
66e9b712
RM
210632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21064
21065 Import from Gnulib.
21066
21067 * gnulib/fnmatch.c: New file.
21068 * gnulib/fnmatch.h: Likewise.
21069 * gnulib/fnmatch_loop.c: Likewise.
21070 * gnulib/getopt.c: Likewise.
21071 * gnulib/getopt.h: Likewise.
21072 * gnulib/getopt1.c: Likewise.
21073 * gnulib/getopt_int.h: Likewise.
21074 * gnulib/gettext.h: Likewise.
21075
34f4a5b0
RM
210762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21077
21078 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
21079 * normal/handler.c (read_handler_list): Likewise.
21080
ac451143
RM
210812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21082
21083 Misc cleanup.
21084
21085 * kern/command.c (grub_register_command_prio): Use
21086 grub_zalloc() instead of explicitly zeroing data.
21087 * kern/list.c: Include `<grub/mm.h>'.
21088 (grub_named_list_find): Replace `0' with `NULL'.
21089 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
21090 (fs_module_list): Change type to `grub_named_list_t'. Update all
21091 users.
21092 * normal/dyncmd.c (read_command_list): Add space between function
21093 call and parenthesis.
21094 * normal/handler.c (read_handler_list): Likewise.
21095
4089b167
RM
210962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21097
21098 * normal/auth.c (punishment_delay): Moved from here ...
21099 (grub_auth_strcmp): ... to here (inside function).
21100
325f5037
RM
211012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21102
21103 * include/grub/list.h (struct grub_named_list): Remove `const'
21104 qualifier from `name'.
21105 (struct grub_prio_list): Likewise.
21106
7aea29a3
RM
211072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21108
21109 * normal/auth.c: Include `<grub/time.h>'.
21110 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
21111
3fd6f044
RM
211122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21113
21114 * normal/auth.c (punishment_delay): New variable.
21115 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
21116 (grub_auth_check_authentication): Punish failed login attempts with
21117 an incremental (2^N) delay.
21118
a4cd68e4
RM
211192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21120
21121 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
21122 path with $(srcdir).
21123
7ad12f43
VS
211242009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
21125
21126 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
21127
c1129f03
RM
211282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21129
21130 * util/i386/coreboot/grub-mkrescue.in: New file.
21131 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
21132 variables.
21133
21134 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
21135 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
21136 * configure.ac: Add header and function checks to satisfy grub-mkisofs
21137 requirements.
21138 * util/mkisofs/defaults.h: New file.
21139 * util/mkisofs/eltorito.c: Likewise.
21140 * util/mkisofs/exclude.h: Likewise.
21141 * util/mkisofs/fnmatch.c: Likewise.
21142 * util/mkisofs/getopt.c: Likewise.
21143 * util/mkisofs/getopt1.c: Likewise.
21144 * util/mkisofs/hash.c: Likewise.
21145 * util/mkisofs/include/fctldefs.h: Likewise.
21146 * util/mkisofs/include/mconfig.h: Likewise.
21147 * util/mkisofs/include/prototyp.h: Likewise.
21148 * util/mkisofs/include/statdefs.h: Likewise.
21149 * util/mkisofs/iso9660.h: Likewise.
21150 * util/mkisofs/joliet.c: Likewise.
21151 * util/mkisofs/match.c: Likewise.
21152 * util/mkisofs/match.h: Likewise.
21153 * util/mkisofs/mkisofs.c: Likewise.
21154 * util/mkisofs/mkisofs.h: Likewise.
21155 * util/mkisofs/multi.c: Likewise.
21156 * util/mkisofs/name.c: Likewise.
21157 * util/mkisofs/rock.c: Likewise.
21158 * util/mkisofs/tree.c: Likewise.
21159 * util/mkisofs/write.c: Likewise.
21160
ec8bb77d
VS
211612009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
21164 being insecure.
21165
3716b12c
RM
211662009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21167
21168 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
21169 `grub-mkimage' (and use $0 when possible).
21170
b97b7b91
RM
211712009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21172
21173 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
21174 error message for excessively large memory map.
21175
04114812
RM
211762009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21177
21178 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
21179 executable bit.
21180
e4eb2373
RM
211812009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21182
21183 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
21184 message for coreboot users.
21185
c926e1d5 211862009-11-07 Robert Millan <rmh.grub@aybabtu.com>
21187
21188 Fix build with GNU gold.
21189
21190 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
21191 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
21192 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
21193 link addresses.
21194 * aclocal.m4: Likewise.
21195
86e5b1db 211962009-11-04 Felix Zielcke <fzielcke@z-51.de>
21197
21198 * configure.ac (AC_PREREQ): Bump to 2.59d.
21199 * INSTALL: Make it more clear when Autoconf and Ruby are
21200 needed and when to run `./autogen.sh'.
21201
246cd78f 212022009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
21203
21204 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
21205 OSes.
21206
4f9dfb37 212072009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21208
21209 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
21210
b82bd5e1 212112009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21212
21213 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
21214 giving it to GNU Mach.
21215
ff1a9bca 212162009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21217
21218 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
21219 GNU partition number to get internal GRUB partition number.
21220
61697d9c 212212009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21222
21223 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
21224 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
21225
a50569e1 212262009-11-01 Robert Millan <rmh.grub@aybabtu.com>
21227
21228 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
21229 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
21230 case.
21231
5b153867 212322009-11-01 Felix Zielcke <fzielcke@z-51.de>
21233
21234 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
21235
d9e2cd70 212362009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21237
21238 Fix build problem.
21239
21240 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
21241 `-isystem=$(srcdir)/include'.
21242
805111a4 212432009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21244
21245 * util/i386/pc/grub-install.in: Remove hint that device.map should be
21246 checked (grub-install doesn't currently rely on it).
21247
fa6e945f 212482009-10-29 Robert Millan <rmh.grub@aybabtu.com>
21249
21250 Revert SVN r2660.
21251
21252 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
21253 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21254 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
21255 * conf/i386-ieee1275.rmk: Likewise.
21256 * conf/i386-pc.rmk: Likewise.
21257 * conf/powerpc-ieee1275.rmk: Likewise.
21258 * conf/sparc64-ieee1275.rmk: Likewise.
21259 * conf/x86_64-efi.rmk: Likewise.
21260
cee15086 212612009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21262
21263 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
21264
95b9239e 212652009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21266
21267 * include/grub/misc.h: Stop checking for APPLE_CC.
21268
2ed19dfd 212692009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21270
21271 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
21272 doesn't cause an infinite call loop.
21273
fdcdde19 212742009-10-28 Felix Zielcke <fzielcke@z-51.de>
21275
21276 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
21277 strings.
21278
cefabfe1 212792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21280
21281 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
21282 variable.
21283 * Makefile.in: Likewise.
21284
ed96ab6d 212852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21286
21287 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
21288
0579b753 212892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21290
21291 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
21292
478df409 212932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21294
21295 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
21296
083d1679 212972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21298
21299 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
21300 from here ...
21301 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
21302
5947ae32 213032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21304
21305 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
21306 in $(MAKEINFO) invocation. This makes it clear in output that
21307 errors are being ignored.
21308
94180ff6 213092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21310
21311 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
21312 from here ...
21313 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21314 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
21315 * conf/i386-ieee1275.rmk: Likewise.
21316 * conf/i386-pc.rmk: Likewise.
21317 * conf/powerpc-ieee1275.rmk: Likewise.
21318 * conf/sparc64-ieee1275.rmk: Likewise.
21319 * conf/x86_64-efi.rmk: Likewise.
21320
9031b03a 213212009-10-26 Colin Watson <cjwatson@ubuntu.com>
21322
21323 * util/grub-editenv.c (main): If only a command is given, use
21324 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
21325 (usage): FILENAME is now optional and has a default.
21326
e4f6809b 213272009-10-26 Colin Watson <cjwatson@ubuntu.com>
21328
21329 Improve grub-mkconfig performance when there are several menu
21330 entries on a single filesystem.
21331
21332 * util/grub.d/10_linux.in (linux_entry): Cache the output of
21333 prepare_grub_to_access_device.
21334 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21335 * util/grub.d/30_os-prober.in: Likewise.
21336
67937d4d 213372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21338
21339 * util/grub.d/10_freebsd.in: Remove.
21340 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
21341 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
21342
ee3756cc 213432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21344
5c35048e 21345 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 21346
4dea1c6f 213472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21348
21349 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
21350 grub_util_error() call.
21351
042484d7 213522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21353
21354 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
21355 `reserved_first_sector' member.
21356 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
21357 `reserved_first_sector' to 1.
21358 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
21359 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
21360 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
21361 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
21362 filesystems which begin at first sector.
21363 (options): New option --skip-fs-probe.
21364 (main): Handle --skip-fs-probe and pass it to setup().
21365
d64448a7 213662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21367
21368 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
21369 (memset): Fix function prototype.
21370
508d42ec 213712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
213722009-10-25 Vasily Averin <vvs@parallels.com>
21373
21374 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
21375 `dirent.direntlen == 0'.
21376
b240e30c 213772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21378
21379 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
21380 `cpio'.
21381 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
21382
346e7fbe 213832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21384
21385 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
21386 `__trampoline_setup' and `__ucmpdi2'.
21387 * include/grub/powerpc/libgcc.h: Only export symbols for functions
21388 that libgcc provides.
21389
cdb308b0 213902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21391
21392 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
21393 * include/grub/sparc64/libgcc.h (memset): Likewise.
21394 * include/grub/misc.h (memset, memcmp): New function prototypes.
21395
fb26abc2 213962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21397
21398 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
21399 `cpio'.
21400 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
21401
f6693890 214022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21403
21404 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
21405 * docs/grub.cfg: Compensate for recent change in multiboot
21406 loader (since 2009-08-14 it won't pass filename to payload).
21407 * util/grub.d/10_hurd.in: Likewise.
21408
0933cdc0 214092009-10-21 Felix Zielcke <fzielcke@z-51.de>
21410
21411 * config.guess: Update to latest version from config git
21412 repository.
21413 * config.sub: Likewise.
21414
3b2fe8c2 214152009-10-20 Robert Millan <rmh.grub@aybabtu.com>
21416
21417 Fix build on sparc64.
21418
21419 * configure.ac: Perform checks for libgcc symbols before
21420 adding `-nostdlib' to LDFLAGS.
21421
46695a62 214222009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 Let user specify OpenBSD root device.
21425
21426 * loader/i386/bsd.c (openbsd_root): New variable.
21427 (openbsd_opts): New option 'root'.
21428 (OPENBSD_ROOT_ARG): New macro.
21429 (grub_openbsd_boot): Use 'openbsd_root'.
21430 (grub_cmd_openbsd): Fill 'openbsd_root'.
21431
d2b6b7fc 214322009-10-16 Robert Millan <rmh.grub@aybabtu.com>
21433
21434 * NEWS: Misc adjustments.
21435
421bd7ac 214362009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21437
21438 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
21439
f1d29d87 214402009-10-16 Robert Millan <rmh.grub@aybabtu.com>
21441
21442 * configure.ac: Bump version to 1.97.
21443
6f3cd880 214442009-10-16 Colin Watson <cjwatson@ubuntu.com>
21445
21446 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
21447 -mno-3dnow on x86 architectures. Some toolchains enable these
21448 features by default, but they rely on registers that aren't enabled
21449 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
21450
035f7122 214512009-10-15 Robert Millan <rmh.grub@aybabtu.com>
21452
21453 Make entry text a bit more readable.
21454
21455 * util/grub.d/10_linux.in: Add `with' before `Linux'.
21456
44998e58 214572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21458
21459 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
21460
cd2851b3 214612009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21462
21463 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
21464 operations.
21465
c6f3b249 214662009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21467
21468 * configure.ac: Add missing dollar.
21469
6b5886ba 214702009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21471
21472 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
21473
21474 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
21475 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
21476 exports.
21477 * include/grub/sparc64/libgcc.h: Likewise. Use
21478 preprocessor conditionals.
21479
e9d66f6d 214802009-10-14 Robert Millan <rmh.grub@aybabtu.com>
21481
21482 * conf/common.rmk (grub-dumpbios): Remove rule.
21483 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
21484 * util/grub-dumpbios.in: Remove file.
21485
9155bc17 214862009-10-14 Robert Millan <rmh.grub@aybabtu.com>
21487
21488 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
21489 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
21490
21491 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
21492 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
21493 users.
21494
21495 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
21496 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
21497 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
21498 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
21499 users.
21500
bf7f7a18 215012009-10-12 Robert Millan <rmh.grub@aybabtu.com>
21502
21503 * term/tparm.c: Switch to GPLv3.
21504
86564c26 215052009-10-09 Robert Millan <rmh.grub@aybabtu.com>
21506
21507 * include/grub/i386/cpuid.h: Add header protection.
21508
5c936493 215092009-10-09 Robert Millan <rmh.grub@aybabtu.com>
21510
21511 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
21512
21513 * include/grub/i386/cpuid.h: New file.
21514 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
21515 (has_longmode): Rename to ...
21516 (grub_cpuid_has_longmode): ... this. Update all users. Remove
21517 `static' attribute.
21518 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
21519 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
21520 on a CPU that doesn't implement AMD64 instruction set.
21521
186e7cf2 215222009-10-06 Colin Watson <cjwatson@ubuntu.com>
21523
21524 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
21525 that version.texi is rebuilt on version number changes.
21526
83b65c4a 215272009-10-06 Colin Watson <cjwatson@ubuntu.com>
21528
21529 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
21530 Fixes bug #27602.
21531
d244281c 215322009-10-06 Colin Watson <cjwatson@ubuntu.com>
21533
21534 * util/i386/pc/grub-install.in: Source
21535 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
21536 that the --grub-probe option will work.
21537 * util/sparc64/ieee1275/grub-install.in: Likewise.
21538
da25306d 215392009-10-05 Robert Millan <rmh.grub@aybabtu.com>
21540
21541 * configure.ac: Bump version to 1.97~beta4.
21542
e8ee83c0 215432009-10-03 Robert Millan <rmh.grub@aybabtu.com>
21544
21545 Resync grub-mkdevicemap in x86_64-efi.
21546
21547 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
21548 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
21549 `util/devicemap.c'.
21550
50dcabcf 215512009-10-01 Colin Watson <cjwatson@ubuntu.com>
21552
21553 * util/grub-editenv.c (create_envblk_file): Write new block with a
21554 .new suffix and then rename it into place, to ensure atomic
21555 creation.
21556
0e51c3a7 215572009-09-28 Robert Millan <rmh.grub@aybabtu.com>
21558
21559 Do not automatically install headers.
21560
21561 * Makefile.in (include_DATA): Remove. Update all users.
21562
31299a95 215632009-09-26 Robert Millan <rmh.grub@aybabtu.com>
21564
21565 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
21566 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
21567
21568 * util/osdetect.lua: Remove.
21569 * script/lua/lauxlib.c: Likewise.
21570 * script/lua/ldebug.c: Likewise.
21571 * script/lua/grub_main.c: Likewise.
21572 * script/lua/lauxlib.h: Likewise.
21573 * script/lua/ldebug.h: Likewise.
21574 * script/lua/ltablib.c: Likewise.
21575 * script/lua/liolib.c: Likewise.
21576 * script/lua/lstrlib.c: Likewise.
21577 * script/lua/lualib.h: Likewise.
21578 * script/lua/ldo.c: Likewise.
21579 * script/lua/ldump.c: Likewise.
21580 * script/lua/ldo.h: Likewise.
21581 * script/lua/loslib.c: Likewise.
21582 * script/lua/lundump.c: Likewise.
21583 * script/lua/grub_lib.c: Likewise.
21584 * script/lua/ldblib.c: Likewise.
21585 * script/lua/lundump.h: Likewise.
21586 * script/lua/lmem.c: Likewise.
21587 * script/lua/grub_lib.h: Likewise.
21588 * script/lua/lmathlib.c: Likewise.
21589 * script/lua/lstate.c: Likewise.
21590 * script/lua/ltm.c: Likewise.
21591 * script/lua/lvm.c: Likewise.
21592 * script/lua/lmem.h: Likewise.
21593 * script/lua/lstate.h: Likewise.
21594 * script/lua/ltm.h: Likewise.
21595 * script/lua/ltable.c: Likewise.
21596 * script/lua/lvm.h: Likewise.
21597 * script/lua/llex.c: Likewise.
21598 * script/lua/lgc.c: Likewise.
21599 * script/lua/grub_lua.h: Likewise.
21600 * script/lua/loadlib.c: Likewise.
21601 * script/lua/lfunc.c: Likewise.
21602 * script/lua/lopcodes.c: Likewise.
21603 * script/lua/lparser.c: Likewise.
21604 * script/lua/ltable.h: Likewise.
21605 * script/lua/llex.h: Likewise.
21606 * script/lua/lgc.h: Likewise.
21607 * script/lua/lfunc.h: Likewise.
21608 * script/lua/lbaselib.c: Likewise.
21609 * script/lua/lopcodes.h: Likewise.
21610 * script/lua/lparser.h: Likewise.
21611 * script/lua/lzio.c: Likewise.
21612 * script/lua/linit.c: Likewise.
21613 * script/lua/lobject.c: Likewise.
21614 * script/lua/llimits.h: Likewise.
21615 * script/lua/lstring.c: Likewise.
21616 * script/lua/lzio.h: Likewise.
21617 * script/lua/lapi.c: Likewise.
21618 * script/lua/lcode.c: Likewise.
21619 * script/lua/lua.h: Likewise.
21620 * script/lua/lobject.h: Likewise.
21621 * script/lua/lstring.h: Likewise.
21622 * script/lua/lapi.h: Likewise.
21623 * script/lua/lcode.h: Likewise.
21624 * script/lua/luaconf.h: Likewise.
21625
cb8a2c38 216262009-09-26 Colin Watson <cjwatson@ubuntu.com>
21627
21628 * docs/grub.texi (Command-line and menu entry commands): Document
21629 date and echo commands.
21630
6b9b6276 216312009-09-24 Pavel Roskin <proski@gnu.org>
21632
21633 * include/grub/kernel.h (struct grub_module_header): Remove
21634 `grub_module_header_types'. Make `type' unsigned. Make `size'
21635 32-bit on all platforms.
21636 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
21637 8-bit field. Use grub_host_to_target32() for `size'.
21638 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
21639 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
21640 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
21641
4e5a02a7 216422009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21643
21644 Fix "lost keypress" bug in at_keyboard.
21645
21646 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
21647 Checks for readyness of input buffer (without flushing it).
21648 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
21649 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
21650
c6dcedf6 216512009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21652
21653 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
21654 size check within GRUB_MACHINE_PCBIOS section.
21655
74c958b1 216562009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21657
21658 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
21659 return value.
21660 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
21661 KEYBOARD_ISREADY check.
21662 (grub_at_keyboard_checkkey): Rename to ...
21663 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
21664 Remove gratuitous cast.
21665
ff420223 216662009-09-23 Colin Watson <cjwatson@ubuntu.com>
21667
21668 * configure.ac: Call AC_PROG_MKDIR_P.
21669 * Makefile.in (docs/stamp-vti): Create docs directory. Create
21670 version.texi in $(builddir) rather than $(srcdir).
21671 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
21672 to makeinfo's @include search path.
21673
d96875df 216742009-09-23 Felix Zielcke <fzielcke@z-51.de>
21675
21676 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
21677
9b3f8365 216782009-09-23 Felix Zielcke <fzielcke@z-51.de>
21679
21680 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
21681 for `*.dpkg-new'.
21682
c44c90db 216832009-09-21 Colin Watson <cjwatson@ubuntu.com>
21684
21685 Build info documentation. Some code borrowed from Automake.
21686
21687 * configure.ac: Check for makeinfo.
21688 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
21689 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
21690 docs/version.texi.
21691 (MOSTLYCLEANFILES): Add vti.tmp.
21692 (docs/version.texi, docs/stamp-vti): Update automatically.
21693 (docs/grub.info): Build info documentation. Use --force and ignore
21694 errors for now.
21695 (all-local): Add $(INFOS).
21696 (install-local): Install info files.
21697 (uninstall): Uninstall info files.
21698 * docs/version.texi: Remove from revision control. This file is
21699 automatically generated on build now.
21700 * gendistlist.sh: Add `*.info'.
21701
e0b37bb5 217022009-09-21 Felix Zielcke <fzielcke@z-51.de>
21703
21704 * kern/term.c: Fix indentation.
21705
5a78865b 217062009-09-21 Felix Zielcke <fzielcke@z-51.de>
21707
21708 * util/hostdisk.c: Fix a comment.
21709
dace7e8a 217102009-09-20 Robert Millan <rmh.grub@aybabtu.com>
21711
21712 Fix regression introduced in r2539.
21713
21714 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
21715 to 0xA1.
21716
a83d079b 217172009-09-19 Colin Watson <cjwatson@ubuntu.com>
21718
21719 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 21720 os-prober. Under normal operation, it does not print anything to
21721 stderr; if it does, we need to debug it, and throwing away stderr
21722 makes that excessively difficult.
a83d079b 21723
be94a509 217242009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
21725
21726 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
21727
63f745e8 217282009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21729
21730 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
21731 AC_LANG_PROGRAM from autoconf.
21732 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
21733 prototypes (fixes warning).
21734
21735 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
21736 `--disable-werror' was used.
21737
bbb2a70f 217382009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21739
21740 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
21741 uninitialized `lastaddr'.
21742
77c24f1d 217432009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21744
0f0b8c87 21745 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 21746
07197f23 217472009-09-14 Colin Watson <cjwatson@ubuntu.com>
21748
21749 * commands/test.c (get_fileinfo): Return immediately if
21750 grub_fs_probe fails.
21751
dabf1798 217522009-09-14 José Martínez <xosemp@gmail.com>
21753
21754 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
21755
d52109a7 217562009-09-14 Colin Watson <cjwatson@ubuntu.com>
21757
21758 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
21759 output.
21760
56532179 217612009-09-13 Robert Millan <rmh.grub@aybabtu.com>
21762
21763 * configure.ac: Remove --enable-grub-pe2elf. Only build
21764 grub-pe2elf when needed by the build system itself.
21765 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
21766
8ef070f5 217672009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21768
21769 * configure.ac: Bump version to 1.97~beta3.
21770 * docs/version.texi: Likewise.
21771
61229557 217722009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21773
21774 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
21775 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
21776 from here ...
21777 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
21778 (grub_linux_setup_video): ... to here (with some adjustments).
21779
5c9f8d84 217802009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21781
21782 Fix memory corruption issue (spotted by Colin Watson).
21783
21784 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
21785 causing returned size to be stored in an incorrect memory location.
21786 Fix use of uninitialized value when storing the returned size.
21787
e8f5d6e9 217882009-09-12 Yves Blusseau <blusseau@zetam.org>
21789
21790 Change clean rules to properly remove files
21791
21792 * genmk.rb: add new clean rules
21793 * Makefile.in (clean): add the new targets
21794 (mostlyclean): likewise
21795
cda2a409 217962009-09-11 Colin Watson <cjwatson@ubuntu.com>
21797
21798 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
21799 to grub_uint64_t.
21800 * fs/ntfs.c (init_file): Understand 64-bit sizes for
21801 non-resident files.
21802
86695375 218032009-09-11 Colin Watson <cjwatson@ubuntu.com>
21804
21805 * configure.ac: Don't look for help2man when cross-compiling. Fixes
21806 part of bug #27349.
21807
8aa1541a 218082009-09-10 Felix Zielcke <fzielcke@z-51.de>
21809
21810 * util/grub-mkconfig.in: Make the created config mode 400 and
21811 print a warning if it fails.
21812
48d9bb0a 218132009-09-10 Robert Millan <rmh.grub@aybabtu.com>
21814
21815 * util/grub.d/40_custom.in: Ask user to type custom entries below
21816 comment, rather than below 'exec tail' line.
21817
3b0521be 218182009-09-10 Colin Watson <cjwatson@ubuntu.com>
21819
21820 * util/grub.d/40_custom.in: Make sure that the explanatory text is
21821 visible in grub.cfg.
21822
50051d55 218232009-09-10 Colin Watson <cjwatson@ubuntu.com>
21824
21825 * util/grub.d/40_custom.in: Make it a little clearer how to use this
21826 file.
21827
c0d34387 218282009-09-10 Felix Zielcke <fzielcke@z-51.de>
21829
21830 * docs/grub.cfg: Add an example menu entry for memtest86+.
21831
80a608f3 218322009-09-09 Felix Zielcke <fzielcke@z-51.de>
21833
a2094832 21834 * config.guess: Update to latest version from config git.
80a608f3 21835 * config.sub: Likewise.
21836
99423078 218372009-09-08 Colin Watson <cjwatson@ubuntu.com>
21838
21839 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
21840 unknown-command case. Fixes bug #27320.
21841
44454e4c 218422009-09-08 Felix Zielcke <fzielcke@z-51.de>
21843
21844 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
21845 `help' if the command exists.
21846
e30d87ad 218472009-09-06 Robert Millan <rmh.grub@aybabtu.com>
21848
21849 * INSTALL: Require GCC 4.1.3 or later.
21850
9a86f1ec 218512009-09-06 Yves Blusseau <blusseau@zetam.org>
21852
21853 * Makefile.in (RMKFILES): add i386-qemu.rmk
21854 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
21855 $(srcdir)/stamp-h.in
21856
7f26d466 218572009-09-05 Robert Millan <rmh.grub@aybabtu.com>
21858
21859 * util/grub-probe.c (probe): Comment out buggy codepath, which
21860 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
21861 should be re-enabled after 1.97.
21862
3a613259 218632009-09-05 Felix Zielcke <fzielcke@z-51.de>
21864
21865 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
21866 find searches for.
21867
197f76c7 218682009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21869
21870 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
21871 unnecessary calls to grub_error.
21872
70ba68ce 218732009-09-04 Colin Watson <cjwatson@ubuntu.com>
21874
21875 * NEWS: Mention `keystatus' and Unicode fonts.
21876
4ff0d7a4 218772009-09-04 Robert Millan <rmh.grub@aybabtu.com>
21878
21879 * configure.ac: Bump version to 1.97~beta2.
21880 * docs/version.texi: Likewise.
21881
77c55a87 218822009-09-03 Colin Watson <cjwatson@ubuntu.com>
21883
21884 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
21885 containing unwind information in some cases where it previously did
21886 not. Use -fno-dwarf2-cfi-asm if available to restore the old
21887 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
21888 discussion.
21889
f79572cd 218902009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
21891
21892 Embedding loadenv module into grub-emu
21893
21894 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
21895 commands/loadenv.c
21896 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
21897 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
21898 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
21899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
21900 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
21901 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
21902
93a81088 219032009-09-03 Magnus Granberg <zorry@ume.nu>
21904
21905 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
21906 include -fPIE in the default specs.
21907 * configure.ac: Check if pie_possible is yes and add -fno-PIE
21908 to TARGET_CFLAGS.
21909
160034b2 219102009-09-03 Felix Zielcke <fzielcke@z-51.de>
21911
21912 * INSTALL: Note that GNU Bison 2.3 or later is required.
21913
087c07c4 219142009-09-03 Colin Watson <cjwatson@ubuntu.com>
21915
21916 * kern/i386/pc/startup.S: Fix typo.
21917
cbf978c0 219182009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21919
21920 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
21921 according to GCS.
21922
219232009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 21924
21925 * docs/grub.texi (Naming convention): Describe one-based partition
21926 numbering.
21927 (Device syntax): Likewise.
21928 (File name syntax): Likewise.
21929 (Block list syntax): Likewise.
21930 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
21931 menu.lst.
21932 (File name syntax): Likewise.
21933 (Command-line and menu entry commands): Document acpi, blocklist,
21934 crc, export, insmod, keystatus, ls, set, and unset commands.
21935
f3e8cdfd 219362009-09-02 Colin Watson <cjwatson@ubuntu.com>
21937
21938 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
21939 to avoid implying that only one of --shift, --ctrl, or --alt may be
21940 used.
21941
c0bc232b 219422009-09-02 Colin Watson <cjwatson@ubuntu.com>
21943
21944 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
21945 rather than comparing against S_IFREG, which will almost never work.
21946
aa0f752d 219472009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21948
21949 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
21950 (write_blocklists): Likewise.
21951
ecb3166a 219522009-09-01 Colin Watson <cjwatson@ubuntu.com>
21953
21954 * script/lua/grub_lua.h (fputs): Supply a format string as the first
21955 argument to grub_printf.
21956
c403a125 219572009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 21958
21959 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 21960 non GNU test.
31aba781 21961
b5e7312c 219622009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21963
21964 * kern/file.c (grub_file_read): Spelling fix
21965
fe00f472 219662009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21967
21968 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
21969 loading of headers in some cases.
21970
cc55302e 219712009-08-30 Robert Millan <rmh.grub@aybabtu.com>
21972
21973 * configure.ac: Bump version to 1.97~beta1.
21974 * docs/version.texi: Likewise.
21975
5c90cdd2 219762009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 21977
21978 * include/grub/i386/xnu.h: Add license header.
21979 include grub/err.h explicitly.
21980
c90edae4 219812009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21982
21983 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
21984 to `ufs' in the vfs.root.mountfrom kernel parameter.
21985
d8888b5c 219862009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21987
21988 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
21989
21990 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
21991 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
21992
21993 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
21994 `ARRAY_SIZE' macro.
21995
6f07b921 219962009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21997
21998 * kern/file.c (grub_file_read): Check offset.
21999 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
22000 * fs/jfs.c (grub_jfs_read_file): Likewise.
22001 * fs/ntfs.c (grub_ntfs_read): Likewise.
22002 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
22003 * fs/minix.c (grub_minix_read_file): Correct offset check.
22004 * fs/ufs.c (grub_ufs_read_file): Likewise.
22005
b4f34077 220062009-08-28 Colin Watson <cjwatson@ubuntu.com>
22007
22008 * term/i386/pc/console.c (bios_data_area): Cast
22009 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
22010
e7c69859 220112009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22012
22013 1-bit optimised blitters.
22014
22015 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
22016 prototype.
22017 (grub_video_fbblit_replace_24bit_1bit): Likewise.
22018 (grub_video_fbblit_replace_16bit_1bit): Likewise.
22019 (grub_video_fbblit_replace_8bit_1bit): Likewise.
22020 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
22021 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
22022 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
22023 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
22024 function.
22025 (grub_video_fbblit_replace_24bit_1bit): Likewise.
22026 (grub_video_fbblit_replace_16bit_1bit): Likewise.
22027 (grub_video_fbblit_replace_8bit_1bit): Likewise.
22028 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
22029 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
22030 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
22031 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
22032 when possible.
22033 * video/video.c (grub_video_get_blit_format): Return
22034 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
22035
a57da43f 220362009-08-28 Colin Watson <cjwatson@ubuntu.com>
22037
22038 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
22039 the first argument to grub_printf.
22040
4cbe67e5 220412009-08-28 Colin Watson <cjwatson@ubuntu.com>
220422009-08-28 Robert Millan <rmh.grub@aybabtu.com>
22043
22044 Add `getkeystatus' terminal method. Add a new `keystatus' command
22045 to query it.
22046
22047 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
22048 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
22049 modifier key bitmasks.
22050 (struct grub_term_input): Add `getkeystatus' member.
22051 (grub_getkeystatus): Add prototype.
22052 * kern/term.c (grub_getkeystatus): New function.
22053
22054 * include/grub/i386/pc/memory.h
22055 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
22056 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
22057 Data Area layout.
22058 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
22059 (grub_console_term_input): Set `getkeystatus' member.
22060 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
22061 constants.
22062 (grub_usb_keyboard_getreport): Likewise.
22063 (grub_usb_keyboard_checkkey): Likewise.
22064 (grub_usb_keyboard_getkeystatus): New function.
22065 (grub_usb_keyboard_term): Set `getkeystatus' member.
22066
22067 * commands/keystatus.c: New file.
22068 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
22069 (keystatus_mod_SOURCES): New variable.
22070 (keystatus_mod_CFLAGS): Likewise.
22071 (keystatus_mod_LDFLAGS): Likewise.
22072 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
22073 commands/keystatus.c.
22074 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22075 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22076 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22078 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22079 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 22080
6e2a9085 220812009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22082
22083 Split befs.mod and afs.mod into *_be.mod and *.mod
22084
22085 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
22086 (grub_fstest_SOURCES): Likewise.
22087 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
22088 (afs_be_mod_SOURCES): New variable.
22089 (afs_be_mod_CFLAGS): Likewise.
22090 (afs_be_mod_LDFLAGS): Likewise.
22091 (befs_be_mod_SOURCES): Likewise.
22092 (befs_be_mod_CFLAGS): Likewise.
22093 (befs_be_mod_LDFLAGS): Likewise.
22094 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
22095 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22096 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22097 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22098 (grub_emu_SOURCES): Likewise.
22099 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22100 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22101 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22102 * fs/afs_be.c: New file.
22103 * fs/befs_be.c: New file.
22104 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
22105 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
22106 (U16): Replaced with ...
22107 (grub_afs_to_cpu16): ...this. All users updated.
22108 (U32): Replaced with ...
22109 (grub_afs_to_cpu32): ...this. All users updated.
22110 (U64): Replaced with ...
22111 (grub_afs_to_cpu64): ...this. All users updated.
22112 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
22113 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 22114 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 22115 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
22116 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
22117 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
22118 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
22119 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
22120 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
22121 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
22122 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
22123
32a71655 221242009-08-26 Bean <bean123ch@gmail.com>
22125
22126 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
22127 64-bit number.
22128 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
22129 (grub_xfs_inode_block): Change return type to grub_uint64_t.
22130 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
22131
552bf6c5 221322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22133
22134 NetBSD memory map support.
22135
22136 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
22137 (grub_netbsd_btinfo_mmap_header): New structure.
22138 (grub_netbsd_btinfo_mmap_entry): Likewise.
22139 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
22140
1ae2078c 221412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22142
22143 Enable bsd.mod on coreboot.
22144
22145 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
22146 (bsd_mod_SOURCES): New variable.
22147 (bsd_mod_CFLAGS): Likewise.
22148 (bsd_mod_LDFLAGS): Likewise.
22149 (bsd_mod_ASFLAGS): Likewise.
22150 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
22151 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
22152
beefc598 221532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22154
22155 Cleanup NetBSD root support.
22156
22157 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
22158 grub_bsd_get_device.
22159 Fix typo.
22160
3b76e68b 221612009-08-25 Felix Zielcke <fzielcke@z-51.de>
22162
22163 * util/grub.d/00_header.in: Move check for the video backend of
22164 gfxterm from here ...
22165 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
22166 a suitable video backend.
22167
aea664ea 221682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22169
22170 Fix breakage in grub-setup.
22171
22172 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
22173 "msdos_partition_map".
22174
ff747d50 221752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22176
22177 Fix breakage in normal/auth.c.
22178
22179 * normal/auth.c (grub_iswordseparator): New function.
22180
e7e1f93f 221812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22182
22183 Authentication support.
22184
22185 * commands/password.c: New file.
22186 * conf/common.rmk (pkglib_MODULES): Add password.mod.
22187 (password_mod_SOURCES): New variable.
22188 (password_mod_CFLAGS): Likewise.
22189 (password_mod_LDFLAGS): Likewise.
22190 (normal_mod_SOURCES): Add normal/auth.c.
22191 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
22192 normal/auth.c.
22193 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22194 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22195 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22197 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22198 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22199 * include/grub/auth.h: New file.
22200 * include/grub/err.h (grub_err_t): New enum value
22201 GRUB_ERR_ACCESS_DENIED.
22202 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
22203 'users'.
22204 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
22205 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
22206 users updated.
22207 * normal/auth.c: New file.
22208 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
22209 (grub_cmdline_run): Don't allow to go to command line without
22210 authentication.
22211 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
22212 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
22213 menuentry without superuser rights.
22214 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
22215 user isn't a superuser.
22216
70f1161d 222172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22218
22219 Save space by inlining misc.c functions.
22220
22221 * kern/misc.c (grub_iswordseparator): Made static.
22222 * kern/misc.c (grub_strcat): Moved from here ...
22223 * include/grub/misc.h (grub_strcat): ... here. Inlined.
22224 * kern/misc.c (grub_strncat): Moved from here ...
22225 * include/grub/misc.h (grub_strncat): ... here. Inlined.
22226 * kern/misc.c (grub_strcasecmp): Moved from here ...
22227 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
22228 * kern/misc.c (grub_strncasecmp): Moved from here ...
22229 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
22230 * kern/misc.c (grub_isalpha): Moved from here ...
22231 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
22232 * kern/misc.c (grub_isdigit): Moved from here ...
22233 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
22234 * kern/misc.c (grub_isgraph): Moved from here ...
22235 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
22236 * kern/misc.c (grub_tolower): Moved from here ...
22237 * include/grub/misc.h (grub_tolower): ... here. Inlined.
22238
48e40bff 222392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22240
22241 * script/sh/function.c (grub_script_function_find): Cut error message
22242 not to flood terminal.
22243 * script/sh/lexer.c (grub_script_yylex): Remove command line length
22244 limit.
22245 * script/sh/script.c (grub_script_arg_add): Duplicate string.
22246
c385bfc3 222472009-08-24 Colin Watson <cjwatson@ubuntu.com>
22248
22249 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
22250 `report' grub_uint8_t *.
22251 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
22252 Use a 50-millisecond timeout rather than just repeating
22253 grub_usb_keyboard_getreport 50 times.
22254 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
22255
2d21e3e8 222562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22257
22258 Rename *_partition_map to part_*
22259
22260 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
22261 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
22262 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
22263 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
22264 All users updated.
22265 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
22266 All users updated.
22267 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
22268 * util/grub-probe.c (probe_partmap): Don't transform partition name
22269 to get module name.
22270
dd103c4e 222712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22272
22273 Fix OpenBSD and NetBSD support.
22274
22275 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
22276 memory address conflict.
22277 (OPENBSD_MMAP_ACPI): New definition.
22278 (OPENBSD_MMAP_NVS): Likewise.
22279 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
22280 and OPENBSD_MMAP_NVS.
22281 Add memory map terminator
22282 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 22283 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 22284
16c84d74 222852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22286
22287 Let user specify NetBSD root device.
22288
22289 * loader/i386/bsd.c (netbsd_root): New variable.
22290 (netbsd_opts): New option 'root'.
22291 (NETBSD_ROOT_ARG): New macro.
22292 (grub_netbsd_boot): Use 'netbsd_root'.
22293 (grub_bsd_unload): Free 'netbsd_root'.
22294 (grub_cmd_netbsd): Fill 'netbsd_root'.
22295
adb29902 222962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22297
22298 Support for 64-bit NetBSD.
22299
22300 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
22301 point when booting non-FreeBSD.
22302
f5ae9f74 223032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22304
22305 Support --no-smp and --no-acpi for NetBSD.
22306
22307 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
22308 (NETBSD_AB_NOACPI): Likewise.
22309 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
22310 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
22311
de74f136 223122009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22313
22314 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
22315 errors.
22316 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
22317 errors. Call grub_error when needed.
22318
e9a925da 223192009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22320
22321 * commands/search.c (search_fs): Try searching without autoload first.
22322 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
22323 filesystem module explicitly for faster booting.
22324
5174302b 223252009-08-23 Colin Watson <cjwatson@ubuntu.com>
22326
22327 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
22328
c8c80635 223292009-08-23 Colin Watson <cjwatson@ubuntu.com>
22330
22331 * util/grub.d/30_os-prober.in: Disable os-prober if
22332 `GRUB_DISABLE_OS_PROBER' was set to true.
22333
71acf5e5 223342009-08-23 Robert Millan <rmh.grub@aybabtu.com>
22335
22336 * partmap/pc.c: Rename to ...
22337 * partmap/msdos.c: ... this. Update all users.
22338 (grub_pc_partition_map): Rename to ...
22339 (grub_msdos_partition_map): ... this. Update all users.
22340
22341 * parttool/pcpart.c: Rename to ...
22342 * parttool/msdospart.c: ... this. Update all users.
22343
22344 * include/grub/pc_partition.h: Rename to ...
22345 * include/grub/msdos_partition.h: ... this. Update all users.
22346 (grub_pc_partition_bsd_entry): Rename to ...
22347 (grub_msdos_partition_bsd_entry): ... this. Update all users.
22348 (grub_pc_partition_disk_label): Rename to ...
22349 (grub_msdos_partition_disk_label): ... this. Update all users.
22350 (grub_pc_partition_entry): Rename to ...
22351 (grub_msdos_partition_entry): ... this. Update all users.
22352 (grub_pc_partition_mbr): Rename to ...
22353 (grub_msdos_partition_mbr): ... this. Update all users.
22354 (grub_pc_partition): Rename to ...
22355 (grub_msdos_partition): ... this. Update all users.
22356 (grub_pc_partition_is_empty): Rename to ...
22357 (grub_msdos_partition_is_empty): ... this. Update all users.
22358 (grub_pc_partition_is_extended): Rename to ...
22359 (grub_msdos_partition_is_extended): ... this. Update all users.
22360 (grub_pc_partition_is_bsd): Rename to ...
22361 (grub_msdos_partition_is_bsd): ... this. Update all users.
22362
22363 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
22364 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
22365 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
22366 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
22367 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
22368 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
22369 (gpt_mod_LDFLAGS): Rename to ...
22370 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
22371 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
22372 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
22373 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
22374 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
22375 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
22376 (part_gpt_mod_LDFLAGS): ... this.
22377 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
22378 `pcpart.mod' to `msdospart.mod'.
22379 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
22380 to ...
22381 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
22382 (msdospart_mod_LDFLAGS): ... this.
22383
c11fded5 223842009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22385
22386 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
22387 (openbsd_opts): Likewise.
22388 (netbsd_opts): Likewise.
22389 (freebsd_flags): Added 0 terminator.
22390 (openbsd_flags): Likewise.
22391 (netbsd_flags): Likewise.
22392 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
22393 (grub_cmd_freebsd): Transformed into extended command.
22394 (grub_cmd_openbsd): Likewise.
22395 (grub_cmd_netbsd): Likewise.
22396 (cmd_freebsd): Changed type to grub_extcmd_t.
22397 (cmd_openbsd): Likewise.
22398 (cmd_netbsd): Likewise.
22399 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
22400 grub_cmd_openbsd as extended commands.
22401 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
22402 cmd_netbsd and cmd_openbsd
22403
11d1c769 224042009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22405
22406 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
22407
7a9094e5 224082009-08-21 Pavel Roskin <proski@gnu.org>
22409
5496c37e 22410 * Makefile.in (install-local): When checking if a file is in the
22411 build directory, use "test -e" to detect symlinks.
22412
7a9094e5 22413 * Makefile.in (install-local): Remove all files in
22414 $(DESTDIR)$(pkglibdir) before installing new files there.
22415
e53cea11 224162009-08-18 Felix Zielcke <fzielcke@z-51.de>
22417
22418 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
22419 grub-mkelfimage.
22420
9aced544 224212009-08-18 Felix Zielcke <fzielcke@z-51.de>
22422
22423 * util/grub-mkconfig.in: Don't use gfxterm by default if not
22424 explicitly specified by the user.
22425
b7da6bab 224262009-08-18 Pavel Roskin <proski@gnu.org>
22427
22428 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
22429 grub_uint8_t pointer for data.
22430 * include/grub/fbutil.h (struct grub_video_fbblit_info):
22431 Likewise.
22432 * video/fb/fbutil.c: Remove unnecessary casts.
22433
19f1b335 224342009-08-17 Michal Suchanek <hramrach@centrum.cz>
22435
22436 VBE cleanup.
22437
22438 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
22439 (grub_vbe_set_video_mode): Save active mode info
22440 only after setting the mode.
22441 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
22442 second argument.
22443
2f467aa9 224442009-08-17 Michal Suchanek <hramrach@centrum.cz>
22445
22446 Rename variables for clarity.
22447
22448 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
22449 (active_vbe_mode_info): ... this. All users updated.
22450 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
22451 All users updated.
22452 (initial_mode): Rename to ...
22453 (initial_vbe_mode): ... this. All users updated.
22454 (mode_in_use): Rename to ..
22455 (vbe_mode_in_use): ... this. All users updated.
22456 (mode_list): Rename to ..
22457 (vbe_mode_list): ... this. All users updated.
22458 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
22459 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
22460 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
22461 'mode_list_size' to 'vbe_mode_list_size'.
22462 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
22463 'best_mode_info' to 'best_vbe_mode_info' and
22464 'best_mode' to 'best_vbe_mode'
22465
6025fcd7 224662009-08-17 Michal Suchanek <hramrach@centrum.cz>
22467
22468 Remove duplicate grub_video_fb_get_video_ptr.
22469
22470 * include/grub/fbutil.h (get_data_ptr): Rename to ...
22471 (grub_video_fb_get_video_ptr): ... this.
22472 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
22473 * video/fb/fbutil.c: Add comment about addressing.
22474 (get_data_ptr): Rename to ...
22475 (grub_video_fb_get_video_ptr): ... this. All users updated.
22476 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
22477
cc8c6faf 224782009-08-17 Robert Millan <rmh.grub@aybabtu.com>
22479
22480 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
22481 grub_dprintf() that was just added.
22482
08aa61f0 224832009-08-17 Robert Millan <rmh.grub@aybabtu.com>
22484
22485 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
22486 (DEFAULT_VIDEO_MODE): Remove macros.
22487 (grub_linux_boot): Remove assumption that Linux has FB support,
22488 and use "text" as default video mode.
22489
7cef4f75 224902009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
22491
22492 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
22493 grub_dprintf.
22494 * fs/fat.c (grub_fat_read_data): Likewise.
22495
e1f39873 224962009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22497
22498 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
22499 payload.
22500 (grub_module): Likewise.
22501
c166d79e 225022009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22503
22504 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
22505 mbi->cmdline but free playground.
22506
c60cee8e 225072009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22508
22509 Handle group offset on UFS1.
22510
22511 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
22512 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
22513
c0d8b5d4 225142009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22515
22516 Split ufs.mod into ufs1.mod and ufs2.mod.
22517
22518 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
22519 (grub_fstest_SOURCES): Likewise.
22520 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
22521 (ufs_mod_SOURCES): Remove.
22522 (ufs_mod_CFLAGS): Likewise.
22523 (ufs_mod_LDFLAGS): Likewise.
22524 (ufs1_mod_SOURCES): New variable.
22525 (ufs1_mod_CFLAGS): Likewise.
22526 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 22527 (ufs2_mod_SOURCES): New variable.
22528 (ufs2_mod_CFLAGS): Likewise.
22529 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 22530 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
22531 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
22532 Likewise.
22533 (grub_emu_SOURCES): Likewise.
22534 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22535 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22536 (grub_setup_SOURCES): Likewise.
22537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22538 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
22539 (grub_setup_SOURCES): Likewise.
22540 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
22541 Likewise.
22542 * fs/ufs2.c: New file.
22543 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
22544
d3539132 225452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22546
22547 Framebuffer split.
22548
22549 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
22550 subsystem at the end.
22551 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
22552 (video_fb_mod_SOURCES): New variable.
22553 (video_fb_mod_CFLAGS): Likewise.
22554 (video_fb_mod_LDFLAGS): Likewise.
22555 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
22556 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
22557 * video/i386/pc/vbeblit.c: Moved from here ...
22558 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
22559 * video/i386/pc/vbefill.c: Moved from here ...
22560 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
22561 * video/i386/pc/vbeutil.c: Moved from here ...
22562 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
22563 * include/grub/i386/pc/vbeblit.h: Moved from here ...
22564 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
22565 * include/grub/i386/pc/vbefill.h: Moved from here ...
22566 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
22567 * include/grub/i386/pc/vbeutil.h: Moved from here ...
22568 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
22569 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
22570 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
22571 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
22572 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
22573 (grub_video_adapter): Added 'get_info_and_fini'.
22574 (grub_video_get_info_and_fini): New prototype.
22575 (grub_video_set_mode): make modestring const char *.
22576 * loader/i386/linux.c (grub_linux_setup_video): Use
22577 grub_video_get_info_and_fini.
22578 (grub_linux_boot): Move modesetting just before booting.
22579 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
22580 grub_video_get_info_and_fini.
22581 * video/i386/pc/vbe.c: Moved framebuffer part ...
22582 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
22583 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
22584 grub_video_fbstd_colors and grub_video_fb_set_palette.
22585 (grub_video_vbe_init): Clear 'framebuffer' variable and use
22586 grub_video_fb_init.
22587 (grub_video_vbe_fini): Use grub_video_fb_fini.
22588 (grub_video_vbe_setup): Use framebuffer.render_target instead of
22589 render_target and use grub_video_fb_set_active_render_target and
22590 grub_video_fb_set_palette.
22591 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
22592 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
22593 (grub_video_vbe_adapter): Use framebuffer.
22594 * video/video.c (grub_video_get_info_and_fini): New function.
22595 (grub_video_set_mode): Make modestring const char *.
22596 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
22597 values are already initialised.
22598
d404ee56 225992009-08-14 Pavel Roskin <proski@gnu.org>
22600
22601 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
22602 ABS and APPLE_CC.
22603 * boot/i386/pc/diskboot.S: Likewise.
22604 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
22605 sectors allow compilation on MacOSX.
22606 * conf/i386-pc.rmk: Enable unconditional compilation of
22607 lnxboot.img.
22608
9a10df16 226092009-08-13 Colin Watson <cjwatson@ubuntu.com>
22610
22611 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
22612 * util/grub.d/00_header.in: Enter interruptible sleep if
22613 GRUB_HIDDEN_TIMEOUT is set.
22614
be3c9ca7 226152009-08-13 Yves Blusseau <blusseau@zetam.org>
22616
22617 * include/grub/symbol.h: Add the LOCAL macro.
22618 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
22619 starting with "L_".
22620
1f9e557e 226212009-08-13 Pavel Roskin <proski@gnu.org>
22622
9ca62843 22623 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
22624 any modern compilers we support.
22625
1f9e557e 22626 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
22627 Use local labels starting with "L_" so that Apple assembler
22628 knows they are local.
22629
81623db6 226302009-08-10 Robert Millan <rmh.grub@aybabtu.com>
22631
22632 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
22633 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
22634 (bsd_kernel_types): ... this enum.
22635
22636 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
22637 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
22638 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
22639
22640 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
22641 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
22642 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
22643 messages.
22644
f5d35e7a 226452009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22646
22647 * util/grub-dumpdevtree: Moved from here ...
22648 * util/i386/efi/grub-dumpdevtree: ... to here.
22649 (hexify): New function. Converts a string to its hex version.
22650 Generate hex versions of "efi" and "device-properties" by calling
22651 hexify() on the ASCII strings rather than by hardcoding numbers.
22652
d1e1d527 226532009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22654
22655 * fs/jfs.c: Update copyright year.
22656
1ebbe064 226572009-08-08 Felix Zielcke <fzielcke@z-51.de>
22658
22659 * util/grub.d/00_header.in: Fix a comment.
22660 * util/grub.d/10_linux.in: Likewise.
22661 * util/grub.d/10_windows.in: Likewise.
22662 * util/grub.d/10_hurd.in: Likewise.
22663
a78c8d24 226642009-08-08 Felix Zielcke <fzielcke@z-51.de>
22665
22666 * util/grub-mkconfig.in: Allow the user to specify the used font
22667 with GRUB_FONT.
22668
29a6b9e8 226692009-08-08 Pavel Roskin <proski@gnu.org>
22670
b5f16cc4 22671 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
22672 available, xfs.mod needs it now.
22673
2f5cb827 22674 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
22675 the "g" modifier in sed when the intention is to strip something
22676 once. This fixes comparison of kernels with multiple dashes.
22677
29a6b9e8 22678 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
22679 on it. Add missing space before closing bracket. Fix
22680 misleading formatting.
22681
892a3d98 226822009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22683
22684 * docs/grub.texi: Major overhaul. Remove all sections that are
22685 specific to GRUB Legacy, or mostly composed of Legacy-specific
22686 information.
22687
ed94253f 226882009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22689
22690 * docs/version.texi: New file. Provides version information for
22691 grub.texi.
22692
126d6628 226932009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22694
22695 * docs/grub.texi: Update CVS information to SVN.
22696 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
22697
998b5aa9 226982009-08-07 Felix Zielcke <fzielcke@z-51.de>
22699
22700 * util/grub-mkconfig.in: Remove a wrong `fi'.
22701
818e094a 227022009-08-07 Felix Zielcke <fzielcke@z-51.de>
22703
22704 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
22705 (grub_jfs_uuid): New function.
22706 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
22707
b969c52f 227082009-08-07 Felix Zielcke <fzielcke@z-51.de>
22709
22710 * util/grub-mkconfig_lib.in (font_path): Move the functionality
22711 of it to ...
22712 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
22713 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
22714
7a4894cc 227152009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22716
22717 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
22718 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
22719 Update all users.
22720
22721 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
22722 not just "vmlinu[zx]".
22723 Moved from here ...
22724 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
22725 all users.
22726
22727 * util/grub.d/10_linux.in (find_latest): Moved from here ...
22728 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
22729 all users.
22730
4e2171f8 227312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22732
22733 * util/grub.d/10_freebsd.in: Use an absolute device path for
22734 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
22735
6dcfcb32 227362009-08-06 Felix Zielcke <fzielcke@z-51.de>
22737
22738 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
22739 handling of multiple abstraction modules.
22740
f56a8756 227412009-08-04 Robert Millan <rmh.grub@aybabtu.com>
22742
22743 Fix a bug resulting in black screen when loading Linux using a
22744 packed video mode.
22745
22746 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
22747 function.
22748
22749 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
22750 (grub_vbe_bios_getset_dac_palette_width): New function.
22751 (grub_vbe_bios_get_dac_palette_width)
22752 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
22753 grub_vbe_bios_getset_dac_palette_width()).
22754
22755 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
22756 check for return status.
22757 (grub_vbe_get_video_mode_info): When getting information for a packed
22758 mode (<= 8 bpp), obtain DAC palette width using
22759 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
22760 {red,green,blue}_mark_size.
22761
222671b2 227622009-08-04 Felix Zielcke <fzielcke@z-51.de>
22763
ecb1a6d9 22764 * commands/search.c (options): Fix help output to match actual code.
222671b2 22765
f84114f5 227662009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
22767
22768 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
22769 of homegrown code.
22770
bd288a20 227712009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 22772
22773 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
22774 on XFS or ReiserFS.
22775
8aab5e25 227762009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22777
22778 Support Apple partition map with sector size different from 512 bytes.
22779
22780 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
22781 (apple_partition_map_iterate): Respect 'aheader.blocksize'
22782 and 'apart.partmap_size'.
22783
6ad6258a 227842009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
227852009-08-01 Robert Millan <rmh.grub@aybabtu.com>
22786
22787 Fix cpuid command.
22788
22789 * commands/i386/cpuid.c (options): New variable.
22790 (grub_cmd_cpuid): Return real error.
22791 (GRUB_MOD_INIT(cpuid)): Declare options.
22792
67459bc6 227932009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
22794
22795 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
22796 valid.
22797
fbc6ab54 227982009-07-31 Bean <bean123ch@gmail.com>
22799
22800 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
22801 log2_inode.
22802 (grub_fshelp_node): Move inode field to the end.
22803 (grub_xfs_data): Remove inode field.
22804 (grub_xfs_inode_block): Calculate inode size using sblock.
22805 (grub_xfs_inode_offset): Likewise.
22806 (grub_xfs_read_inode): Calculate inode size using sblock.
22807 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
22808 (grub_xfs_iterate_dir): Calculate inode size using sblock.
22809 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
22810 to match inode size.
22811 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
22812 not accessible when data is null.
22813 (grub_xfs_open): Likewise.
22814
f45d6cfc 228152009-07-31 Bean <bean123ch@gmail.com>
22816
22817 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
22818 Don't change pv->disk if it's already set.
22819
22820 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
22821 (grub_raid_register): ... here.
22822 (grub_raid_rescan): Removed.
22823
22824 * include/grub/raid.h (grub_raid_rescan): Removed.
22825
22826 * util/grub-fstest.c: Remove include file <grub/raid.h>.
22827 (fstest): Replace grub_raid_rescan with module fini function followed
22828 by init function.
22829
22830 * util/grub-probe.c: Add include file <grub/raid.h>.
22831 (probe_raid_level): New function.
22832 (probe): Detect abstraction by walking the disk device, support two
22833 level of abstraction (LVM on RAID) when detecting partition map.
22834
24443b5a 228352009-07-31 Pavel Roskin <proski@gnu.org>
22836
22837 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
22838 to grub_zalloc(), it was erroneous.
22839 Reported by Bean <bean123ch@gmail.com>
22840
a275d9e7 228412009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
22842
22843 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 22844 embedding zone, not only the first one.
a275d9e7 22845
56c5a47f 228462009-07-29 Joe Auricchio <jauricchio@gmail.com>
22847
22848 * term/gfxterm.c (clear_char): New function.
22849 (grub_virtual_screen_setup): Use clear_char.
22850 (scroll_up): Likewise.
22851 (grub_virtual_screen_cls): Likewise.
22852
67bb323a 228532009-07-29 Felix Zielcke <fzielcke@z-51.de>
22854
22855 * util/deviceiter.c (get_acceleraid_disk_name): New static
22856 function.
22857 (grub_util_iterate_devices): Handle Accelraid devices.
22858 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
22859
388a7c75 228602009-07-28 Robert Millan <rmh.grub@aybabtu.com>
22861
22862 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
22863 separator for the suggested gfxpayload string (';' collides with the
22864 parser and needs escaping).
22865
3bb7abcf 228662009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22867
22868 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
22869 Clear direction flag before jumping to OS.
22870 (grub_multiboot2_real_boot): Likewise.
22871
2ddd36d7 228722009-07-28 Felix Zielcke <fzielcke@z-51.de>
22873
22874 * util/i386/pc/grub-install: Fix parsing of --disk-module
22875 option.
22876
c521b62b 228772009-07-28 Felix Zielcke <fzielcke@z-51.de>
22878
22879 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
22880 when embedding.
22881
880e0a0c 228822009-07-26 Felix Zielcke <fzielcke@z-51.de>
22883
22884 * util/grub-mkconfig.in (package_version): New variable.
22885 Use it do display the version.
22886
2366e356 228872009-07-25 Felix Zielcke <fzielcke@z-51.de>
22888
22889 * kern/file.c (grub_file_open): Revert to previous check with
22890 grub_errno.
22891
7ad8c80e 228922009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22893
22894 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
22895 from help line. It's out of sync with code.
22896
72b9658b 228972009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22898
22899 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
22900 entries on failed boot.
22901
77435277 229022009-07-25 Felix Zielcke <fzielcke@z-51.de>
22903
22904 * kern/file.c (grub_file_open): Fix an error check.
22905
fcaa8b21 229062009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
22907
35d16c74 22908 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
22909 partition map couldn't be identified.
fcaa8b21 22910
48904cd1 229112009-07-23 Pavel Roskin <proski@gnu.org>
22912
ef3c317f 22913 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
22914 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
22915 case of little endian words becomes just an optimization.
22916 Respect const modifier.
ad8ea1f4 22917 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 22918
48904cd1 22919 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
22920 to avoid loss of upper bits if align is unsigned and shorter
22921 than addr.
22922
260c9a89 229232009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22924
22925 UUID support for UFS
22926
22927 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
22928 (grub_ufs_uuid): New function.
22929 (grub_ufs_fs): add .uuid
22930
f76ce889 229312009-07-21 Pavel Roskin <proski@gnu.org>
22932
22933 * kern/dl.c (grub_dl_check_header): Make static.
22934
6a6cbcaf 229352009-07-21 Felix Zielcke <fzielcke@z-51.de>
22936
22937 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
22938 add drivemap for Vista. It breaks Windows 7.
22939
cffcddb2 229402009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22941
22942 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
22943 128 bytes
22944
1ef44b80 229452009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22946
22947 Add BFS support
22948
22949 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
22950 (grub_fstest_SOURCES): Likewise.
22951 (pkglib_MODULES): Add befs.mod.
22952 (befs_mod_SOURCES): New variable.
22953 (befs_mod_CFLAGS): Likewise.
22954 (befs_mod_LDFLAGS): Likewise.
22955 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22956 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22957 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22958 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22959 (grub_setup_SOURCES): Likewise.
22960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22961 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22962 (grub_setup_SOURCES): Likewise.
22963 * fs/befs.c: New file.
22964 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
22965 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
22966 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
22967 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
22968 (B_KEY_INDEX_ALIGN): New declaration.
22969 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
22970 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
22971 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
22972 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
22973 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
22974 (grub_afs_mount) [MODE_BFS]: Likewise.
22975 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
22976 (grub_afs_fs): Use GRUB_AFS_FSNAME
22977 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
22978 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
22979 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
22980 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
22981
4f253044 229822009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
22983
22984 * util/getroot.c (find_root_device): Add support for MacOSX.
22985 * util/hostdisk.c: Likewise.
22986
57a55913 229872009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22988
22989 * font/font.c (find_glyph): Check whether a font is present to avoid
22990 segmentation fault.
75421ca9 22991
229922009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 22993
22994 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
22995
e98cd0c2 229962009-07-20 Pavel Roskin <proski@gnu.org>
22997
22998 * configure.ac: Trim excessively wordy excuses.
22999
1d2d169a 230002009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23001
23002 Add symlink, mtime and label support to AtheFS.
23003
23004 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
23005 (grub_afs_iterate_dir): Handle symlinks.
23006 (grub_afs_open): Use grub_afs_read_symlink.
23007 (grub_afs_dir): Likewise.
23008 Pass mtime.
23009 (grub_afs_label): New function.
23010 (grub_afs_fs): Add grub_afs_label.
23011 (grub_afs_read_symlink): New function.
23012
186f3189 230132009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23014
23015 Fix AtheFS support.
23016
23017 * fs/afs.c: Fix comments style.
23018 (grub_afs_blockrun): Declare as packed.
23019 (grub_afs_datastream): Likewise.
23020 (grub_afs_bnode): Likewise.
23021 (grub_afs_btree): Likewise.
23022 (grub_afs_sblock): Likewise.
23023 Declare `name' as char.
23024 (grub_afs_inode): Declare as packed.
23025 Change void *vnode to grub_uint32_t unused.
23026 (grub_afs_iterate_dir): Check that key_size is positive.
23027 (grub_afs_mount): Don't read superblock twice.
75421ca9 23028 (grub_afs_dir): Don't free node in case of error,
186f3189 23029 grub_fshelp_find_file already handles this.
23030 (grub_afs_open): Likewise.
23031
5680109e 230322009-07-19 Pavel Roskin <proski@gnu.org>
23033
23034 * Makefile.in: Remove LIBLZO and enable_lzo.
23035 * conf/i386-pc.rmk: Remove lzo support.
23036 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
23037 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
23038 support.
23039 * kern/i386/pc/lzo1x.S: Remove.
23040 * kern/i386/pc/startup.S: Remove lzo support.
23041 * util/i386/pc/grub-mkimage.c: Likewise.
23042
ac70fa32 230432009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
23044
23045 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
23046 * fs/xfs.c (grub_xfs_dir): Likewise.
23047 * fs/afs.c (grub_afs_dir): Likewise.
23048 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
23049 (grub_iso9660_open): Likewise.
23050 * fs/jfs.c (grub_jfs_open): Likewise.
23051 * fs/ext2.c (grub_ext2_dir): Likewise.
23052 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
23053 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 23054
eab58da2 230552009-07-16 Pavel Roskin <proski@gnu.org>
23056
d2838156 23057 * configure.ac: Never add "-c" to CFLAGS.
23058
55c70904 23059 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
23060
43e6200c 23061 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
23062 grub_cv_cc_efiemu should be used.
23063
ce7a733d 23064 * configure.ac: Typo fixes.
23065
eab58da2 23066 * kern/mm.c (grub_zalloc): New function.
23067 (grub_debug_zalloc): Likewise.
23068 * include/grub/mm.h: Declare grub_zalloc() and
23069 grub_debug_zalloc().
23070 * util/misc.c (grub_zalloc): New function.
23071 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
23072 instead of grub_malloc(), remove unneeded initializations.
23073 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
23074 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
23075 * commands/parttool.c (grub_cmd_parttool): Likewise.
23076 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23077 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
23078 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
23079 * disk/usbms.c (grub_usbms_finddevs): Likewise.
23080 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
23081 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
23082 (grub_cmd_efiemu_pnvram): Likewise.
23083 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
23084 * fs/iso9660.c (grub_iso9660_mount): Likewise.
23085 (grub_iso9660_iterate_dir): Likewise.
23086 * fs/jfs.c (grub_jfs_opendir): Likewise.
23087 * fs/ntfs.c (list_file): Likewise.
23088 (grub_ntfs_mount): Likewise.
23089 * kern/disk.c (grub_disk_open): Likewise.
23090 * kern/dl.c (grub_dl_load_core): Likewise.
23091 * kern/elf.c (grub_elf_file): Likewise.
23092 * kern/env.c (grub_env_context_open): Likewise.
23093 (grub_env_set): Likewise.
23094 (grub_env_set_data_slot): Likewise.
23095 * kern/file.c (grub_file_open): Likewise.
23096 * kern/fs.c (grub_fs_blocklist_open): Likewise.
23097 * loader/i386/multiboot.c (grub_module): Likewise.
23098 * loader/xnu.c (grub_xnu_create_key): Likewise.
23099 (grub_xnu_create_value): Likewise.
23100 * normal/main.c (grub_normal_add_menu_entry): Likewise.
23101 (read_config_file): Likewise.
23102 * normal/menu_entry.c (make_screen): Likewise.
23103 * partmap/sun.c (sun_partition_map_iterate): Likewise.
23104 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
23105 * script/sh/script.c (grub_script_parse): Likewise.
23106 * video/bitmap.c (grub_video_bitmap_create): Likewise.
23107 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
23108 * video/readers/png.c (grub_png_output_byte): Likewise.
23109 (grub_video_reader_png): Likewise.
23110
830afef7 231112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 23112
23113 Enable all targets that can be built by default
23114
830afef7 23115 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 23116 grub-mkfont and grub-fstest if they can be built
23117
ee293aee 231182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23119
23120 Fix hang and segmentation fault in grub-emu-usb
23121
23122 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
23123 * util/usb.c (grub_libusb_devices): likewise
23124 (grub_libusb_init): rename to ...
23125 (GRUB_MOD_INIT (libusb)):...this
23126 (grub_libusb_fini): rename to ..
23127 (GRUB_MOD_FINI (libusb)):...this
23128 * disk/usbms.c (grub_usbms_transfer): fix retry logic
23129 * include/grub/disk.h (grub_raid_init): removed, it's useless
23130 (grub_raid_fini): likewise
23131 (grub_lvm_init): likewise
23132 (grub_lvm_fini): likewise
23133 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
23134 by grub_init_all
23135
94414221 231362009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23137
23138 Fix libusb
23139
23140 * Makefile.in (LIBUSB): new macro
23141 * genmk.rb (Utility/print_tail): new method
23142 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
23143 (top level): call util.print_tail at the end.
23144
59ade63d 231452009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23146
23147 Make FreeBSD accept zpool.cache
23148
23149 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
23150 type is /boot/zfs/zpool.cache
23151
a58da8c7 231522009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23153
23154 Fix 64-bit efiemu
23155
23156 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
23157 correct wrong typedef
23158 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
23159
20591577 231602009-07-15 Pavel Roskin <proski@gnu.org>
23161
560ca572 23162 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
23163 * kern/disk.c (struct grub_disk_cache): Likewise.
23164
e8e8e4fd 23165 * commands/probe.c (options): Typo fix.
23166
fde24e10 23167 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
23168 Increase to 0x5a to accommodate FAT32. Adjust other offsets
23169 accordingly.
23170 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
23171
379c54c1 23172 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
23173 the end of "Error" to make the message more readable.
23174
7bd8f5bf 23175 * boot/i386/pc/boot.S (kernel_segment): Remove.
23176 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
23177 for destination.
23178
40b132c5 23179 * boot/i386/pc/boot.S (boot_version): Remove.
23180 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
23181 Remove.
23182
20591577 23183 * include/grub/i386/pc/boot.h: Sort all offsets.
23184 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
23185 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
23186 * boot/i386/pc/boot.S: Assert location of every offset listed in
23187 include/grub/i386/pc/boot.h.
23188
2df32b2c 231892009-07-13 Pavel Roskin <proski@gnu.org>
23190
44b5d879 23191 * include/grub/i386/coreboot/machine.h: Rename
23192 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
23193 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
23194 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
23195
17dc3751 23196 * kern/dl.c: Force native word size to suppress warnings when
23197 compiling grub-emu.
23198
2df32b2c 23199 * kern/device.c (grub_device_iterate): Change struct part_ent to
23200 hold the name, not a pointer to it. Use one grub_malloc() per
23201 partition, not two. Free partition_name if grub_malloc() fails.
23202 Set ents to NULL only before grub_partition_iterate() is called.
23203
75c59f59 232042009-07-11 Bean <bean123ch@gmail.com>
23205
23206 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
23207 childname.
23208
0ae1bf88 232092009-07-10 Bean <bean123ch@gmail.com>
232102009-07-10 Robert Millan <rmh.grub@aybabtu.com>
23211
23212 * kern/ieee1275/openfw.c (grub_children_iterate)
23213 (grub_devalias_iterate): Fix size evaluation for property or path
23214 strings, which was broken since r2132.
23215
8279cade 232162009-07-07 Pavel Roskin <proski@gnu.org>
23217
7d8a52d3 23218 * commands/search.c (search_file): Merge into ...
23219 (search_fs): ... this. Accept search type as argument.
23220 (grub_cmd_search): Pass search type to search_fs().
23221
25f9a05a 23222 * include/grub/util/console.h: New file.
23223 * util/console.c: Use it instead of grub/machine/console.h.
23224 * util/grub-emu.c: Likewise.
23225
8279cade 23226 * lib/arg.c (find_long_option): Remove.
23227 (find_long): Add `len' argument, make `s' const char *.
23228 (grub_arg_parse): Parse long options in place, not in a
23229 temporary buffer.
23230
4a11b60f 232312009-07-06 Pavel Roskin <proski@gnu.org>
23232
99f68041 23233 * commands/search.c (search_fs): Fix potential NULL pointer
23234 dereference.
23235
4a11b60f 23236 * commands/search.c (search_fs): Replace QUID macro with quid_fn
23237 function pointer.
23238
e110f4de 232392009-07-06 Daniel Mierswa <impulze@impulze.org>
23240
23241 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
23242 comparison.
23243
46eeb6a2 232442009-07-05 Pavel Roskin <proski@gnu.org>
23245
bab74958 23246 * include/grub/i386/linux.h (struct linux_kernel_params):
23247 Restore padding3, it's still needed.
23248
46eeb6a2 23249 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
23250 FreeBSD.
23251 * util/osdetect.lua: Likewise.
23252
b4a1dc79 232532009-07-05 Bean <bean123ch@gmail.com>
23254
23255 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
23256
23257 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
23258 (grub_lua_getenv): Likewise.
23259 (grub_lua_setenv): Likewise.
23260 (save_errno): New function.
23261 (push_result): Likewise.
23262 (grub_lua_enum_device): Likewise.
23263 (grub_lua_enum_file): Likewise.
23264 (grub_lua_file_open): Likewise.
23265 (grub_lua_file_close): Likewise.
23266 (grub_lua_file_seek): Likewise.
23267 (grub_lua_file_read): Likewise.
23268 (grub_lua_file_getline): Likewise.
23269 (grub_lua_file_getsize): Likewise.
23270 (grub_lua_file_getpos): Likewise.
23271 (grub_lua_file_eof): Likewise.
23272 (grub_lua_file_exist): Likewise.
23273 (grub_lua_add_menu): Likewise.
23274
23275 * script/lua/grub_lua.h (isupper): New inline function.
23276 (islower): Likewise.
23277 (ispunct): Likewise.
23278 (isxdigit): Likewise.
23279 (strcspn): Change to normal function.
23280 (strpbkr): New function declaration.
23281 (memchr): Likewise.
23282
23283 * script/lua/grub_main.c (scan_str): New function.
23284 (strcspn): Likewise.
23285 (strpbrk): Likewise.
23286 (memchr): Likewise.
23287
23288 * script/lua/linit.c (lualibs): Enable the string library.
23289
23290 * util/osdetect.lua: New file.
23291
2da92295 232922009-07-04 Robert Millan <rmh.grub@aybabtu.com>
23293
23294 * include/grub/i386/linux.h (struct linux_kernel_params): Add
23295 `capabilities' member.
23296
b2582ec9 232972009-07-02 Pavel Roskin <proski@gnu.org>
23298
23299 * genparttoollist.sh: Add missing newline at the end.
23300
32622956 233012009-07-01 Pavel Roskin <proski@gnu.org>
23302
87a7339e 23303 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
23304
d23af54e 23305 * util/hostdisk.c (open_device): Remove `const' from
23306 `sysctl_size', as sysctlbyname() can change it (in this case it
23307 doesn't actually happen).
23308
c94b18a9 23309 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
23310 using signed long int constants.
23311
c6cd3ef0 23312 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
23313 constant to avoid a warning on FreeBSD.
23314
0df63420 23315 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
23316 where it's needed.
23317
999577f1 23318 * Makefile.in: Install include/grub/machine symlink.
23319
6f41557f 23320 * Makefile.in: When installing symlinks, use "cp -fR", which
23321 works on FreeBSD and MacOSX.
23322 From Yves Blusseau <cl7m42e02@sneakemail.com>
23323
c8d22988 23324 * kern/dl.c (grub_dl_resolve_symbol): Make static.
23325 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
23326
1b96e952 23327 * util/misc.c: Move grub_reboot() and grub_halt() ...
23328 * util/grub-emu.c: ... here. Make main_env static.
23329 * include/grub/util/misc.h: Remove main_env.
23330
2ef0084d 23331 * kern/mm.c: Use correct format to print size_t.
23332
32622956 23333 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
23334 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
23335 * kern/powerpc/dl.c: Likewise.
23336 * kern/sparc64/dl.c: Likewise.
23337 * kern/x86_64/dl.c: Likewise.
23338
3f7f0cd0 233392009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23340
23341 Fix grub-emu build on sparc64-ieee1275.
23342
75421ca9 23343 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 23344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
23345
211d06b5 233462009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23347
23348 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
23349 (grub_reboot, grub_halt): New functions.
23350
23351 * util/i386/pc/misc.c: Delete. Update all users.
23352 * util/sparc64/ieee1275/misc.c: Likewise.
23353 * util/powerpc/ieee1275/misc.c: Likewise.
23354
aaf53e3c 233552009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23356
23357 * conf/i386.rmk (setjmp_mod_SOURCES)
23358 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
23359 * conf/common.rmk (setjmp_mod_SOURCES)
23360 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
23361 to use $(target_cpu).
23362 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
23363 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
23364 * conf/powerpc-ieee1275.rmk: Likewise.
23365 * conf/sparc64-ieee1275.rmk: Likewise.
23366
23367 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
23368 $(target_cpu) for kern/$(target_cpu)/dl.c.
23369 * conf/i386-efi.rmk: Likewise.
23370 * conf/i386-ieee1275.rmk: Likewise.
23371 * conf/x86_64-efi.rmk: Likewise.
23372 * conf/i386-coreboot.rmk: Likewise.
23373 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
23374 $(target_cpu) for kern/$(target_cpu)/dl.c and for
23375 kern/$(target_cpu)/cache.S.
23376 * conf/sparc64-ieee1275.rmk: Likewise.
23377
a337130b 233782009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23379
23380 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
23381 type to `grub_uint8_t', and adjust `padding9' accordingly.
23382
c6fe4d53 233832009-06-29 Robert Millan <rmh.grub@aybabtu.com>
23384
b09db61d 23385 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
23386
c6fe4d53 23387 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
23388 assembly in final jump, using register constraints.
23389
b09db61d 23390 (grub_linux_boot): For text mode, initialize `have_vga' using
23391 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
23392
23393 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
23394 right before the final jump.
23395
23396 Set `video_mode' to 0x3.
23397
23398 Document initialization of `video_page', `video_mode' and
23399 `video_ega_bx'.
23400
28333ad0 234012009-06-29 Robert Millan <rmh.grub@aybabtu.com>
23402
23403 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
23404 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 23405 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 23406
02164e1b 234072009-06-29 Robert Millan <rmh.grub@aybabtu.com>
23408
23409 Fix build on Debian / sparc.
23410
23411 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
23412
18b6c557 234132009-06-28 Pavel Roskin <proski@gnu.org>
23414
85f2aab6 23415 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
23416 fix a warning.
23417
18b6c557 23418 * util/grub.d/10_linux.in: Match SUSE style initrd names.
23419
ad760f81 234202009-06-27 Robert Millan <rmh.grub@aybabtu.com>
23421
23422 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
23423 `err'.
23424
87a4623b 234252009-06-27 Robert Millan <rmh.grub@aybabtu.com>
23426
23427 Revert r2338.
23428
23429 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
23430 file can't be opened. grub_file_open() is already supposed to set
75421ca9 23431 grub_errno / grub_errmsg appropriately.
87a4623b 23432 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23433
8231fb77 234342009-06-27 Pavel Roskin <proski@gnu.org>
234352009-06-27 Robert Millan <rmh.grub@aybabtu.com>
23436
23437 * include/grub/dl.h: Include grub/elf.h.
23438 (struct grub_dl): Add symtab field.
23439 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
23440 GRUB_MODULES_MACHINE_READONLY.
23441 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
23442 of the header for read-only modules.
23443 (grub_dl_unload): Free mod->symtab for read-only modules.
23444 * kern/i386/dl.c: Use mod->symtab.
23445 * kern/powerpc/dl.c: Likewise.
23446 * kern/sparc64/dl.c: Likewise.
23447 * kern/x86_64/dl.c: Likewise.
23448
23449 * conf/i386-qemu.rmk: New file.
23450 * kern/i386/qemu/startup.S: Likewise.
23451 * kern/i386/qemu/mmap.c: Likewise.
23452 * boot/i386/qemu/boot.S: Likewise.
23453 * include/grub/i386/qemu/time.h: Likewise.
23454 * include/grub/i386/qemu/serial.h: Likewise.
23455 * include/grub/i386/qemu/kernel.h: Likewise.
23456 * include/grub/i386/qemu/console.h: Likewise.
23457 * include/grub/i386/qemu/boot.h: Likewise.
23458 * include/grub/i386/qemu/init.h: Likewise.
23459 * include/grub/i386/qemu/machine.h: Likewise.
23460 * include/grub/i386/qemu/loader.h: Likewise.
23461 * include/grub/i386/qemu/memory.h: Likewise.
23462
23463 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
23464 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
23465 [qemu] (pkglib_IMAGES): Add `boot.img'.
23466 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
23467 [qemu] (boot_img_FORMAT): New variables.
23468 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
23469 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
23470 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
23471 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23472 [qemu] (kernel_img_FORMAT): New variables.
23473
23474 * configure.ac: Recognise `i386-qemu'.
23475
23476 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
23477 (for no compression).
23478 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
23479 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
23480 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
23481 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
23482 ifdefs).
23483
97fe384e 234842009-06-27 Pavel Roskin <proski@gnu.org>
23485
23486 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
23487 read.
23488 * efiemu/prepare32.c: Likewise.
23489 * efiemu/prepare64.c: Likewise.
23490
c402ab17 234912009-06-26 Pavel Roskin <proski@gnu.org>
23492
23493 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
23494 * include/grub/elf.h: Define symbols without "32" or "64" based
23495 on GRUB_TARGET_WORDSIZE.
23496 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
23497 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
23498 ELF definitions.
23499 * efiemu/loadcore64.c: Likewise.
23500 * loader/i386/bsd32.c: Likewise.
23501 * loader/i386/bsd64.c: Likewise.
23502 * kern/dl.c: Remove own ELF definitions.
23503 * util/i386/efi/grub-mkimage.c: Likewise.
23504
9bbdfd4d 235052009-06-23 Robert Millan <rmh.grub@aybabtu.com>
23506
23507 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
23508 segment 0x0 unconditionally, because the reference generated by
23509 GAS is an absolute address.
23510
a42ce6e9 235112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23512
23513 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
23514 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
23515
c952cf92 235162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23517
23518 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
23519 indexes. Check for -f explicitly.
cc3752ad 23520 (search_file): Improve error message.
23521 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 23522
132a0a59 235232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23524
23525 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
23526 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
23527
387a140c 235282009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23529
23530 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
23531 * conf/i386-ieee1275.rmk: Likewise.
23532 * conf/i386-coreboot.rmk: Likewise.
23533
23534 * kern/i386/pc/startup.S (grub_stop): Remove function.
23535 * kern/i386/ieee1275/startup.S: Likewise.
23536 * kern/i386/coreboot/startup.S: Likewise.
23537 * kern/i386/misc.S (grub_stop): New function.
23538
41da9665 235392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23540
23541 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
23542 * kern/i386/realmode.S (real_to_prot): ... to here.
23543
bf337234 235442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23545
23546 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
23547 with `kernel.img'.
23548 (kernel_elf_SOURCES): Rename to ...
23549 (kernel_img_SOURCES): ... this.
23550 (kernel_elf_HEADERS): Rename to ...
23551 (kernel_img_HEADERS): ... this. Update all users.
23552 (kernel_elf_ASFLAGS): Rename to ...
23553 (kernel_img_ASFLAGS): ... this.
23554 (kernel_elf_CFLAGS): Rename to ...
23555 (kernel_img_CFLAGS): ... this.
23556 (kernel_elf_LDFLAGS): Rename to ...
23557 (kernel_img_LDFLAGS): ... this.
23558 * conf/i386-coreboot.rmk: Likewise.
23559 * conf/powerpc-ieee1275.rmk: Likewise.
23560
23561 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
23562 with "kernel.img".
23563
f52196ff 235642009-06-21 Pavel Roskin <proski@gnu.org>
23565
c3cee413 23566 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
23567 to match nested functions.
23568 * loader/sparc64/ieee1275/linux.c: Likewise.
23569
f52196ff 23570 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
23571
58750afc 235722009-06-21 Robert Millan <rmh.grub@aybabtu.com>
23573
23574 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
23575 all i386 platforms.
23576
15355c7d 235772009-06-21 Robert Millan <rmh.grub@aybabtu.com>
23578
23579 Fix asm file handling on ELF, and remove workarounds.
23580
23581 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 23582 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 23583 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
23584 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
23585
3f3ec72b 235862009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
23587
23588 Load BSD ELF modules
23589
23590 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
23591 and loader/i386/bsd64.c
23592 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
23593 (FREEBSD_MODTYPE_ELF_MODULE): New definition
23594 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
23595 (grub_freebsd_load_elfmodule32): New declaration
23596 (grub_freebsd_load_elfmoduleobj64): Likewise
23597 (grub_freebsd_load_elf_meta32): Likewise
23598 (grub_freebsd_load_elf_meta64): Likewise
23599 (grub_freebsd_add_meta): Likewise
23600 (grub_freebsd_add_meta_module): Likewise
23601 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
23602 (grub_freebsd_add_meta_module): Likewise and move module-specific
23603 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
23604 (grub_cmd_freebsd): Add elf-kernel specific parts
23605 based on grub_freebsd_add_meta_module
23606 (grub_cmd_freebsd_module): Add type parsing moved from
23607 grub_freebsd_add_meta_module
23608 (grub_cmd_freebsd_module_elf): New function
23609 (cmd_freebsd_module_elf): New variable
23610 (GRUB_MOD_INIT): Register freebsd_module_elf
23611 * loader/i386/bsd32.c: New file
23612 * loader/i386/bsd64.c: Likewise
23613 * loader/i386/bsdXX.c: Likewise
23614 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
23615 (grub_elf64_load): Likewise
23616 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
23617 All users updated
23618 (grub_elf64_load_hook_t): Likewise
23619
0db15301 236202009-06-21 Colin Watson <cjwatson@ubuntu.com>
23621
23622 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
23623 variable.
23624 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
23625 don't write a menu entry for recovery mode.
23626
546796c1 236272009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23628
23629 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
23630 after it's no longer needed.
23631
cd7310d5 236322009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23633
23634 * include/grub/i386/loader.h (grub_linux_prot_size)
23635 (grub_linux_tmp_addr, grub_linux_real_addr)
23636 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
23637 GRUB_MACHINE_PCBIOS.
23638 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
23639 common grub_util_info() call to ...
23640 (generate_image): ... here.
23641 Fix use of uninitialized memory, comparison of signed with
23642 unsigned integers and memory leak.
23643 Remove bogus module address message.
23644
ab32d3b5 236452009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23646
23647 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
23648 grub_raid_register
23649 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
23650
024ef597 236512009-06-19 Pavel Roskin <proski@gnu.org>
23652
23653 * configure.ac: Remove stray AC_MSG_CHECKING.
23654
3ac72b51 236552009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
23656
23657 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 23658
e14cd814 236592009-06-18 Pavel Roskin <proski@gnu.org>
23660
23661 * conf/common.rmk: Add fs_file.mod.
23662 * disk/fs_file.c: New file.
23663 * include/grub/disk.h (enum grub_disk_dev_id): Add
23664 GRUB_DISK_DEVICE_FILE_ID.
23665
26586d98 236662009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23667
23668 Fix build with Apple's toolchain. Part 2
23669
23670 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
23671 a fake start
23672
26de2bcd 236732009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23674
23675 Fix build with Apple's toolchain. Part 1
23676
23677 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
23678 for long calls
23679 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 23680 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 23681 Apple's toolchain
23682
09b3490b 236832009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23684
23685 Fix warnings
23686
23687 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
23688 (decomp_block): initialize ch
23689 use grub_memcpy instead of memcpy
23690
c22a006a 236912009-06-17 Pavel Roskin <proski@gnu.org>
23692
d3638678 23693 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
23694 version, use declarations needed to use vga_text as the startup
23695 console.
23696
c22a006a 23697 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
23698 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
23699 the kernel.
23700 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
23701 and grub_at_keyboard_fini(), it's done on module load and
23702 unload.
23703
05b129e0 237042009-06-17 Felix Zielcke <fzielcke@z-51.de>
23705
23706 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
23707 file can't be found.
23708 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23709
cf24ed9e 237102009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23711
23712 Fix newline handling
23713
23714 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 23715 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 23716 (grub_script_yylex): don't segfault on unterminated script
23717 newline terminates command and variable
23718
74aa8e4b 237192009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23720
23721 avoid double grub_adjust_range call. Bug reported by David Simner
23722
23723 * kern/disk.c (grub_disk_write): change to raw disk access before
23724 calling disk_read
23725
1bd265f3 237262009-06-17 Colin Watson <cjwatson@ubuntu.com>
23727
23728 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
23729 spaces, for the benefit of help2man.
23730 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23731
a2d08c06 237322009-06-16 Pavel Roskin <proski@gnu.org>
23733
23734 * kern/i386/halt.c: Include grub/machine/init.h.
23735 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
23736
b97bcb19 237372009-06-16 Felix Zielcke <fzielcke@z-51.de>
23738
23739 * util/grub.d/30_os-prober.in: Use ${root} in the generated
23740 drivemap menuentry.
23741
0644f96c 237422009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
23743
23744 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
23745 `echo' command.
23746
3ef17a2e 237472009-06-16 Pavel Roskin <proski@gnu.org>
23748
23749 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
23750 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
23751 save %dx, we only need %dl and we never change it.
23752 * boot/i386/pc/cdboot.S: Don't set the root drive.
23753 * boot/i386/pc/pxeboot.S: Likewise.
23754 * include/grub/i386/pc/boot.h: Remove
23755 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
23756 GRUB_BOOT_MACHINE_DRIVE_CHECK.
23757 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
23758 * kern/i386/pc/init.c (make_install_device): Remove references
23759 to grub_root_drive.
23760 * kern/i386/pc/startup.S: Likewise.
23761 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
23762
693fe637 237632009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23764
23765 xnu_uuid command
23766
23767 * commands/xnu_uuid.c: new file
23768 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
23769 (xnu_uuid_mod_SOURCES): new variable
23770 (xnu_uuid_mod_CFLAGS): likewise
23771 (xnu_uuid_mod_LDFLAGS): likewise
23772 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23773 * conf/i386-ieee1275.rmk: likewise
23774 * conf/i386-pc.rmk: likewise
23775 * conf/powerpc-ieee1275.rmk: likewise
23776 * conf/sparc64-ieee1275.rmk: likewise
23777 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
23778
c9da87d0 237792009-06-16 Pavel Roskin <proski@gnu.org>
23780
23781 * configure.ac: Avoid '==' in test command, it's not portable.
23782
9c6f4596 237832009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23784
23785 Probe command
23786
23787 * commands/probe.c: new file
23788 * conf/common.rmk (pkglib_MODULES): add probe.mod
23789 (probe_mod_SOURCES): new variable
23790 (probe_mod_CFLAGS): likewise
23791 (probe_mod_LDFLAGS): likewise
23792 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23793 * conf/i386-ieee1275.rmk: likewise
23794 * conf/i386-pc.rmk: likewise
23795 * conf/powerpc-ieee1275.rmk: likewise
23796 * conf/sparc64-ieee1275.rmk: likewise
23797
70b7f9fd 237982009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
23799
23800 Fix handling of string like \"hello\" and "a
23801 b"
23802
23803 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
23804 (grub_script_yylex): fix parsing of quoting, escaping and newline
23805
71c79a6b 238062009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
23807
dd74360c 23808 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 23809 handling
dd74360c 23810
0644f96c 238112009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 23812
23813 * util/grub-mkconfig.in: Fix parsing of --output option.
23814
e40893c3 238152009-06-12 Pavel Roskin <proski@gnu.org>
23816
23817 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
23818 genmk.rb don't need to be generated or installed.
23819
3a1acfe2 238202009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23821
23822 * commands/i386/pc/drivemap_int13h.S: add more comments
23823
3a4575d4 238242009-06-11 Pavel Roskin <proski@gnu.org>
23825
0658e928 23826 * Makefile.in (uninstall): Uninstall manuals.
23827
ca0388f0 23828 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
23829 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
23830 and update-grub_lib in two places.
23831 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
23832
e3b27c39 23833 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
23834 a compiler warning.
23835
3a4575d4 23836 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
23837 `entry_lo' to fix variable shadowing.
23838
af1f4f55 238392009-06-11 Christian Franke <franke@computer.org>
23840
23841 * kern/misc.c (__enable_execute_stack): Add missing return type
23842 to prevent gcc warning.
23843
5225e649 238442009-06-11 Felix Zielcke <fzielcke@z-51.de>
23845
23846 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
23847
7d83bd47 238482009-06-11 Pavel Roskin <proski@gnu.org>
23849
c1cb63ba 23850 * Makefile.in: Don't rely on any scripts being executable.
23851 Always use $(SHELL) to run shell scripts.
23852
7d83bd47 23853 * configure.ac: Always define ___main if using -nostdlib. This
23854 fixes tests on Cygwin.
23855
948f48e7 238562009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
23857
23858 UDF fix
23859
7d83bd47 23860 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 23861 is in bytes and not in blocks
7d83bd47 23862
8ada9bc1 238632009-06-11 Pavel Roskin <proski@gnu.org>
23864
23865 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
23866 warning.
23867
25ad2323 238682009-06-11 Felix Zielcke <fzielcke@z-51.de>
23869
23870 * util/grub.d/30_os-prober.in: Fix a comment. Source
23871 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
23872 to set the root device. Place drivemap command in the generated
23873 chain entry.
23874
e65acb0c 238752009-06-11 Pavel Roskin <proski@gnu.org>
23876
23877 * configure.ac: Remove host_m32. Issues with 64-bit utilities
23878 have long been resolved.
23879
f285fe2d 238802009-06-11 Colin Watson <cjwatson@ubuntu.com>
23881
bd47b0b5 23882 * util/grub.d/10_linux.in: Capitalise "Linux".
23883
f285fe2d 23884 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
23885
a0c62e4e 238862009-06-11 Pavel Roskin <proski@gnu.org>
23887
b6783cb2 23888 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
23889 fix a gcc warning and ensure that the function won't ever exit.
23890
dde032e8 23891 * kern/i386/ieee1275/init.c: Add missing prototype for
23892 grub_stop_floppy().
23893
22cd079d 23894 * loader/ieee1275/multiboot2.c [__i386__]: Include
23895 grub/cpu/multiboot.h.
23896
a0c62e4e 23897 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
23898 casts to short - they are not portable and cause warnings. Fix
23899 use of uninitialized values in input_buf. Use ARRAY_SIZE.
23900
63963d17 239012009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
23902
23903 Drivemap fixes
23904
23905 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
23906 new function
23907 (grub_get_root_biosnumber_saved): new variable
23908 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
23909 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 23910 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 23911 %dx after the call if necessary
23912 * conf/common.rmk (pkglib_MODULES): remove boot.mod
23913 (boot_mod_SOURCES): remove
23914 (boot_mod_CFLAGS): remove
23915 (boot_mod_LDFLAGS): remove
23916 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
23917 (boot_mod_SOURCES): new variable
23918 (boot_mod_CFLAGS): likewise
23919 (boot_mod_LDFLAGS): likewise
23920 * conf/i386-efi.rmk: likewise
23921 * conf/i386-ieee1275.rmk: likewise
23922 * conf/i386-pc.rmk: likewise
23923 * conf/powerpc-ieee1275.rmk: likewise
23924 * conf/sparc64-ieee1275.rmk: likewise
23925 * conf/x86_64-efi.rmk: likewise
23926 * include/grub/i386/pc/biosnum.h: new file
23927 * lib/i386/pc/biosnum.c: likewise
23928 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
23929 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
23930 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 23931
33abf7ae 239322009-06-10 Pavel Roskin <proski@gnu.org>
23933
5ac35b35 23934 * io/gzio.c (test_header): Don't reuse one buffer for all data.
23935 Use separate variables. Read only the file size at the end, but
23936 not the checksum that we don't use.
23937
5c5215d5 23938 * kern/file.c (grub_file_read): Use void pointer for the buffer.
23939 Adjust all callers.
23940
27d5fef7 23941 * kern/ieee1275/openfw.c: Remove libc includes.
23942 * kern/ieee1275/cmain.c: Likewise.
23943 * include/grub/ieee1275/ieee1275.h: Likewise.
23944
33abf7ae 23945 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
23946 compiler warnings.
23947
19d50c2b 239482009-06-10 Felix Zielcke <fzielcke@z-51.de>
23949
23950 * Makefile.in: Remove all trailing whitespace.
23951 * conf/i386-pc.rmk: Likewise.
23952 * conf/powerpc-ieee1275.rmk: Likewise.
23953 * conf/sparc64-ieee1275.rmk: Likewise.
23954 * docs/grub.texi: Likewise.
23955 * docs/texinfo.tex: Likewise.
23956 * disk/fs_uuid.c: Likewise.
23957 * disk/lvm.c: Likewise.
23958 * disk/scsi.c: Likewise.
23959 * disk/ata.c: Likewise.
23960 * disk/ieee1275/ofdisk.c: Likewise.
23961 * disk/i386/pc/biosdisk.c: Likewise.
23962 * disk/host.c: Likewise.
23963 * disk/raid.c: Likewise.
23964 * disk/efi/efidisk.c: Likewise.
23965 * disk/usbms.c: Likewise.
23966 * disk/memdisk.c: Likewise.
23967 * disk/loopback.c: Likewise.
23968 * kern/powerpc/dl.c: Likewise.
23969 * kern/device.c: Likewise.
23970 * kern/dl.c: Likewise.
23971 * kern/sparc64/dl.c: Likewise.
23972 * kern/ieee1275/ieee1275.c: Likewise.
23973 * kern/term.c: Likewise.
23974 * kern/fs.c: Likewise.
23975 * kern/i386/dl.c: Likewise.
23976 * kern/i386/pc/startup.S: Likewise.
23977 * kern/i386/pc/init.c: Likewise.
23978 * kern/i386/pc/mmap.c: Likewise.
23979 * kern/i386/pc/lzo1x.S: Likewise.
23980 * kern/i386/ieee1275/init.c: Likewise.
23981 * kern/i386/realmode.S: Likewise.
23982 * kern/i386/tsc.c: Likewise.
23983 * kern/partition.c: Likewise.
23984 * kern/corecmd.c: Likewise.
23985 * kern/file.c: Likewise.
23986 * kern/efi/efi.c: Likewise.
23987 * kern/efi/init.c: Likewise.
23988 * kern/efi/mm.c: Likewise.
23989 * kern/main.c: Likewise.
23990 * kern/err.c: Likewise.
23991 * kern/env.c: Likewise.
23992 * kern/disk.c: Likewise.
23993 * kern/generic/millisleep.c: Likewise.
23994 * kern/generic/rtc_get_time_ms.c: Likewise.
23995 * kern/misc.c: Likewise.
23996 * kern/parser.c: Likewise.
23997 * genmk.rb: Likewise.
23998 * configure.ac: Likewise.
23999 * boot/i386/pc/diskboot.S: Likewise.
24000 * boot/i386/pc/pxeboot.S: Likewise.
24001 * boot/i386/pc/boot.S: Likewise.
24002 * boot/i386/pc/lnxboot.S: Likewise.
24003 * boot/i386/pc/cdboot.S: Likewise.
24004 * parttool/pcpart.c: Likewise.
24005 * video/readers/tga.c: Likewise.
24006 * video/video.c: Likewise.
24007 * video/bitmap.c: Likewise.
24008 * lib/envblk.c: Likewise.
24009 * lib/i386/setjmp.S: Likewise.
24010 * fs/xfs.c: Likewise.
24011 * fs/afs.c: Likewise.
24012 * fs/fat.c: Likewise.
24013 * fs/ntfs.c: Likewise.
24014 * fs/udf.c: Likewise.
24015 * fs/affs.c: Likewise.
24016 * fs/iso9660.c: Likewise.
24017 * fs/hfs.c: Likewise.
24018 * fs/fshelp.c: Likewise.
24019 * fs/ext2.c: Likewise.
24020 * fs/jfs.c: Likewise.
24021 * fs/reiserfs.c: Likewise.
24022 * fs/hfsplus.c: Likewise.
24023 * fs/minix.c: Likewise.
24024 * fs/cpio.c: Likewise.
24025 * fs/sfs.c: Likewise.
24026 * fs/ufs.c: Likewise.
24027 * efiemu/prepare.c: Likewise.
24028 * efiemu/loadcore_common.c: Likewise.
24029 * efiemu/runtime/efiemu.sh: Likewise.
24030 * efiemu/runtime/efiemu.S: Likewise.
24031 * efiemu/runtime/efiemu.c: Likewise.
24032 * efiemu/pnvram.c: Likewise.
24033 * efiemu/main.c: Likewise.
24034 * efiemu/i386/pc/cfgtables.c: Likewise.
24035 * efiemu/i386/loadcore64.c: Likewise.
24036 * efiemu/i386/loadcore32.c: Likewise.
24037 * efiemu/loadcore.c: Likewise.
24038 * efiemu/symbols.c: Likewise.
24039 * efiemu/mm.c: Likewise.
24040 * include/grub/autoefi.h: Likewise.
24041 * include/grub/datetime.h: Likewise.
24042 * include/grub/term.h: Likewise.
24043 * include/grub/hfs.h: Likewise.
24044 * include/grub/lvm.h: Likewise.
24045 * include/grub/i386/tsc.h: Likewise.
24046 * include/grub/i386/linux.h: Likewise.
24047 * include/grub/i386/xnu.h: Likewise.
24048 * include/grub/i386/efiemu.h: Likewise.
24049 * include/grub/i386/pc/biosdisk.h: Likewise.
24050 * include/grub/i386/pc/memory.h: Likewise.
24051 * include/grub/i386/pc/vbe.h: Likewise.
24052 * include/grub/parttool.h: Likewise.
24053 * include/grub/video.h: Likewise.
24054 * include/grub/memory.h: Likewise.
24055 * include/grub/fs.h: Likewise.
24056 * include/grub/partition.h: Likewise.
24057 * include/grub/xnu.h: Likewise.
24058 * include/grub/efi/api.h: Likewise.
24059 * include/grub/efi/pe32.h: Likewise.
24060 * include/grub/efi/memory.h: Likewise.
24061 * include/grub/multiboot.h: Likewise.
24062 * include/grub/usbdesc.h: Likewise.
24063 * include/grub/multiboot2.h: Likewise.
24064 * include/grub/acpi.h: Likewise.
24065 * include/grub/efiemu/efiemu.h: Likewise.
24066 * include/grub/disk.h: Likewise.
24067 * include/grub/ieee1275/ieee1275.h: Likewise.
24068 * include/grub/net.h: Likewise.
24069 * include/grub/machoload.h: Likewise.
24070 * include/grub/macho.h: Likewise.
24071 * include/multiboot.h: Likewise.
24072 * genmoddep.awk: Likewise.
24073 * normal/main.c: Likewise.
24074 * normal/menu_entry.c: Likewise.
24075 * normal/menu_viewer.c: Likewise.
24076 * normal/completion.c: Likewise.
24077 * normal/cmdline.c: Likewise.
24078 * normal/misc.c: Likewise.
24079 * normal/datetime.c: Likewise.
24080 * bus/usb/usbtrans.c: Likewise.
24081 * bus/usb/ohci.c: Likewise.
24082 * bus/usb/uhci.c: Likewise.
24083 * bus/usb/usb.c: Likewise.
24084 * mmap/efi/mmap.c: Likewise.
24085 * mmap/i386/pc/mmap_helper.S: Likewise.
24086 * mmap/i386/pc/mmap.c: Likewise.
24087 * mmap/i386/mmap.c: Likewise.
24088 * mmap/i386/uppermem.c: Likewise.
24089 * mmap/mmap.c: Likewise.
24090 * commands/acpi.c: Likewise.
24091 * commands/echo.c: Likewise.
24092 * commands/blocklist.c: Likewise.
24093 * commands/loadenv.c: Likewise.
24094 * commands/usbtest.c: Likewise.
24095 * commands/boot.c: Likewise.
24096 * commands/parttool.c: Likewise.
24097 * commands/search.c: Likewise.
24098 * commands/cat.c: Likewise.
24099 * commands/i386/pc/play.c: Likewise.
24100 * commands/i386/pc/drivemap.c: Likewise.
24101 * commands/i386/pc/vbeinfo.c: Likewise.
24102 * commands/i386/pc/acpi.c: Likewise.
24103 * commands/i386/pc/vbetest.c: Likewise.
24104 * commands/ls.c: Likewise.
24105 * commands/cmp.c: Likewise.
24106 * commands/test.c: Likewise.
24107 * commands/efi/acpi.c: Likewise.
24108 * commands/gptsync.c: Likewise.
24109 * commands/help.c: Likewise.
24110 * partmap/amiga.c: Likewise.
24111 * partmap/apple.c: Likewise.
24112 * partmap/acorn.c: Likewise.
24113 * partmap/pc.c: Likewise.
24114 * partmap/sun.c: Likewise.
24115 * partmap/gpt.c: Likewise.
24116 * script/sh/lexer.c: Likewise.
24117 * script/sh/function.c: Likewise.
24118 * font/font.c: Likewise.
24119 * font/font_cmd.c: Likewise.
24120 * loader/powerpc/ieee1275/linux.c: Likewise.
24121 * loader/efi/chainloader.c: Likewise.
24122 * loader/multiboot_loader.c: Likewise.
24123 * loader/macho.c: Likewise.
24124 * loader/i386/multiboot.c: Likewise.
24125 * loader/i386/linux.c: Likewise.
24126 * loader/i386/pc/linux.c: Likewise.
24127 * loader/i386/pc/multiboot2.c: Likewise.
24128 * loader/i386/pc/chainloader.c: Likewise.
24129 * loader/i386/pc/xnu.c: Likewise.
24130 * loader/i386/bsd_trampoline.S: Likewise.
24131 * loader/i386/efi/linux.c: Likewise.
24132 * loader/i386/multiboot_elfxx.c: Likewise.
24133 * loader/i386/bsd_helper.S: Likewise.
24134 * loader/i386/bsd.c: Likewise.
24135 * loader/i386/linux_trampoline.S: Likewise.
24136 * loader/i386/xnu_helper.S: Likewise.
24137 * loader/i386/xnu.c: Likewise.
24138 * loader/i386/bsd_pagetable.c: Likewise.
24139 * loader/i386/multiboot_helper.S: Likewise.
24140 * loader/xnu.c: Likewise.
24141 * loader/xnu_resume.c: Likewise.
24142 * io/gzio.c: Likewise.
24143 * term/efi/console.c: Likewise.
24144 * term/terminfo.c: Likewise.
24145 * term/ieee1275/ofconsole.c: Likewise.
24146 * term/i386/pc/serial.c: Likewise.
24147 * term/i386/pc/vesafb.c: Likewise.
24148 * term/i386/pc/vga.c: Likewise.
24149 * term/usb_keyboard.c: Likewise.
24150 * term/gfxterm.c: Likewise.
24151 * aclocal.m4: Likewise.
24152 * util/lvm.c: Likewise.
24153 * util/grub.d/30_os-prober.in: Likewise.
24154 * util/grub.d/10_hurd.in: Likewise.
24155 * util/console.c: Likewise.
24156 * util/grub-macho2img.c: Likewise.
24157 * util/grub-probe.c: Likewise.
24158 * util/hostfs.c: Likewise.
24159 * util/i386/pc/grub-mkimage.c: Likewise.
24160 * util/i386/pc/grub-setup.c: Likewise.
24161 * util/i386/efi/grub-mkimage.c: Likewise.
24162 * util/grub-mkconfig.in: Likewise.
24163 * util/raid.c: Likewise.
24164 * util/resolve.c: Likewise.
24165 * util/grub-mkdevicemap.c: Likewise.
24166 * util/grub-emu.c: Likewise.
24167 * util/getroot.c: Likewise.
24168 * util/hostdisk.c: Likewise.
24169 * util/usb.c: Likewise.
24170 * util/grub-editenv.c: Likewise.
24171 * util/misc.c: Likewise.
24172
d2d49665 241732009-06-10 Felix Zielcke <fzielcke@z-51.de>
24174
24175 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
24176 `genparttoollist.sh'.
24177 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
24178 Add `*.sh' to the list find searches for and change `mdate.sh'
24179 to `mdate-sh'.
24180
fe052e37 241812009-06-10 Pavel Roskin <proski@gnu.org>
24182
2763ac18 24183 * include/grub/multiboot2.h: Provide compatibility defines for
24184 multiboot2.h.
24185 * include/multiboot2.h: Include stdint.h only if needed, using
24186 angle brackets.
24187 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
24188 grub/multiboot2.h.
24189 * loader/ieee1275/multiboot2.c: Likewise.
24190 * loader/multiboot2.c: Likewise.
24191 * loader/multiboot_loader.c: Likewise.
24192
437e6adc 24193 * configure.ac: Use -nostdlib when probing for the target. It
24194 should not be required to have libc for the target.
24195
06a6836c 24196 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
24197 they fail without libc headers for the target.
24198 * include/grub/powerpc/libgcc.h: Use weak attribute for all
24199 exports.
24200 * include/grub/sparc64/libgcc.h: Likewise. Don't use
24201 preprocessor conditionals.
24202
fe052e37 24203 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
24204 build system doesn't need to be aware of the tar.c internals.
24205
afd22553 242062009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 24207
afd22553 24208 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 24209
6b787c4f 242102009-06-09 Robert Millan <rmh.grub@aybabtu.com>
24211
24212 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
24213 disk limit to 26 for IDE, Virtio, Xen and SCSI.
24214
242152009-06-09 Felix Zielcke <fzielcke@z-51.de>
24216
24217 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 24218 aren't available if ata.mod gets used.
6b787c4f 24219
473d1e45 242202009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 24221
473d1e45 24222 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 24223 initialising controller.
473d1e45 24224 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 24225
255a27d4 242262009-06-08 Felix Zielcke <fzielcke@z-51.de>
24227
24228 * util/i386/pc/grub-install.in: Add a parameter --disk-module
24229 to choose between ata and biosdisk module on i386-pc.
24230
473d1e45 242312009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 24232
d55842d8 24233 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
24234 Subclass and Programming Interface fields in terms of the 3 byte
24235 Class Code register.
24236 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24237
fa5db0b1 24238 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
24239 interface is OHCI. Add grub_dprintf for symmetry with
24240 bus/usb/uhci.c.
24241 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
24242 interface is UHCI. Add interf variable for programming
24243 interface. Print interface with class/subclass.
24244
c0947beb 24245 * bus/usb/ohci.c: Set interf with correct field.
24246
69da8877 24247 * bus/usb/uhci.c: Remove unneeded doubled lines.
24248 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
24249 Remove whitespace inside comment.
24250
9e172e30 242512009-06-08 Robert Millan <rmh.grub@aybabtu.com>
24252
24253 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
24254 as fallback an equivalent option without depth.
24255
de65ee2b 242562009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24257
24258 Not fail if unable to retrieve C/H/S on LBA disks
24259
473d1e45 24260 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 24261 if unable to retrieve C/H/S on LBA disks
24262
b57ea2c9 242632009-06-08 Pavel Roskin <proski@gnu.org>
24264
24265 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
24266 about aliasing.
24267
af361263 242682009-06-08 Felix Zielcke <fzielcke@z-51.de>
24269
24270 * Makefile.in (uninstall): Remove all $lib_DATA files.
24271
4c9ec6b3 242722009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24273
24274 Bugfix: install on partitionless device
24275
24276 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
24277 is a whole disk
24278
e76fc924 242792009-06-08 Felix Zielcke <fzielcke@z-51.de>
24280
24281 * Makefile.in (uninstall): Remove all $include_DATA files.
24282
ba5a0d05 242832009-06-08 Felix Zielcke <fzielcke@z-51.de>
24284
24285 * commands/true.c: New file. Implement the true and false commands.
24286 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
24287 (true_mod_SOURCES): New variable.
24288 (true_mod_CFLAGS): Likewise.
24289 (true_mod_LDFLAGS): Likewise.
24290
c8048e32 242912009-06-05 Colin D Bennett <colin@gibibit.com>
24292
24293 Optimized font character lookup using binary search instead of linear
24294 search. Fonts now are required to have the character index ordered by
24295 code point.
24296
24297 * font/font.c (load_font_index): Verify that fonts have ordered
24298 character indices.
24299 (find_glyph): Use binary search instead of linear search to find a
24300 character in a font.
24301
408305be 243022009-06-05 Michael Scherer <misc@mandriva.org>
24303
24304 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
24305 uses case sensitive btree.
24306 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
24307 only for case insensitive filesystems.
24308
8ee1e0d9 243092009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
24310
24311 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
24312 * conf/common.rmk (search_mod_CFLAGS): likewise
24313
a9966eb1 243142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24315
473d1e45 24316 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 24317 compensate a compiler bug
24318
9e7100fb 243192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24320
473d1e45 24321 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 24322 instead of '\b'
473d1e45 24323
ede21d71 243242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24325
24326 Definitions for creating asm symbols with Apple's CC
24327
24328 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
24329 [APPLE_CC] (VARIABLE): likewise
24330
9dbf7653 243312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24332
24333 Disable lnxboot.img when compiled
24334 with Apple's CC
24335
24336 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
24337 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
24338 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
24339 [! APPLE_CC] (CODE_LENG): skip
24340 [! APPLE_CC] (setup_sects): likewise
24341 [! APPLE_CC]: skip filling
473d1e45 24342
e93cdc3d 243432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24344
24345 Address in trampolines based on 32-bit registers when compiled
24346 with Apple's CC
24347
473d1e45 24348 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 24349 for addresses
24350 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
24351
6c688477 243522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24353
24354 Avoid aliases when compiling with Apple's CC for PCBIOS machine
24355
24356 * kern/misc.c [APPLE_CC] (memcpy): new function
24357 [APPLE_CC] (memmove): likewise
24358 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 24359 (memcpy): define alias conditionally on !APPLE_CC
6c688477 24360 (memset): likewise
24361 (abort): likewise
24362 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
24363 APPLE_CC are defined
24364 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
24365 (grub_assert_fail): make prototype conditional
24366
e37ffc5c 243672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24368
24369 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
24370
473d1e45 24371 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
24372 grub-macho2img
e37ffc5c 24373 (CLEANFILES): add grub-macho2img
24374 (grub_macho2img_SOURCES): new variable
24375 * kern/i386/pc/startup.S (bss_start): new variable
24376 (bss_end): likewise
24377 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
24378 * util/grub-macho2img.c: new file
24379
cf00df31 243802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24381
24382 Use objconv when compiling with Apple's CC
24383
24384 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
24385 (efiemu64.o): likewise
24386 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
24387 when compiling with Apple's CC
24388 (efiemu64_s.o): likewise
24389 * configure.ac: check for objconv when compiling with Apple's CC
24390 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 24391
d119a20c 243922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24393
24394 Define segment as well as section when compiling with
24395 Apple's CC
24396
24397 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
24398 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
24399 (efiemu_convert_pointer): likewise
24400 (efiemu_set_virtual_address_map): likewise
24401 (efiemu_convert_pointer): likewise
24402 (efiemu_getcrc32): likewise
24403 (init_crc32_table): likewise
24404 (reflect): likewise
24405 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
24406 (GRUB_MOD_DEP): likewise
473d1e45 24407
c8600122 244082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24409
24410 Allow a compilation without -mcmodel=large
24411
24412 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
24413 when compiled without -mcmodel=large
473d1e45 24414 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 24415 without -mcmodel=large
473d1e45 24416 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 24417 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 24418
e8df1d4e 244192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24420
24421 Remove nested functions in efiemu core
24422
24423 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 24424
cc6c3ac1 244252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24426
24427 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
24428
24429 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
24430 temporary storage
473d1e45 24431 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
24432 using Apple's CC
cc6c3ac1 24433 (grub_cpu_is_tsc_supported): likewise
24434 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 24435
3e325901 244362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24437
24438 Absolute addressing through constant with Apple's cc
24439
24440 * kern/i386/pc/startup.S: Define necessary constants
24441 and address through it when using ABS with Apple's CC
24442 * boot/i386/pc/diskboot.S: likewise
24443 * boot/i386/pc/boot.S: likewise
24444 * boot/i386/pc/lnxboot.S: likewise
24445 * boot/i386/pc/cdboot.S: likewise
24446 * mmap/i386/pc/mmap_helper.S: likewise
24447 * commands/i386/pc/drivemap_int13h.S: likewise
24448
2b167a72 244492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24450
24451 Check if compiler is apple cc
24452
24453 * Makefile.in (ASFLAGS): new variable
24454 (TARGET_ASFLAGS): likewise
24455 (TARGET_MODULE_FORMAT): likewise
24456 (TARGET_APPLE_CC): likewise
24457 (OBJCONV): likewise
24458 (TARGET_IMG_CFLAGS): likewise
24459 (TARGET_CPPFLAGS): add includedir
24460 * configure.ac: call grub_apple_cc and grub_apple_target_cc
24461 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
24462 Check for linker script only if compiler isn't Apple's CC
24463 (TARGET_MODULE_FORMAT): set
24464 (TARGET_APPLE_CC): likewise
24465 (TARGET_ASFLAGS): likewise
24466 (ASFLAGS): likewise
24467 Check for objcopy only if compiler isn't Apple's CC
24468 Check for BSS symbol only if compiler isn't Apple's CC
24469 * genmk.rb: adapt nm options if we use Apple's utils
24470 * aclocal.m4 (grub_apple_cc): new test
24471 (grub_apple_target_cc): likewise
473d1e45 24472
fb14123e 244732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24474
24475 Simplify sed expressions and improve awk
24476
24477 * Makefile.in (install-local): simplify sed expression
24478 * gencmdlist.sh: likewise
24479 * genmoddep.awk: avoid adding module as a dependency of itself
24480
5b889789 244812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24482
24483 Add missing start symbols
24484
24485 * boot/i386/pc/boot.S: add start
fb14123e 24486 * boot/i386/pc/pxeboot.S: likewise
473d1e45 24487
fd2bf2e3 244882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24489
24490 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 24491
24492 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 24493 (relocate_addresses): consider both r_addend and value at offset
24494 (make_mods_section): zerofill modinfo and header
24495 (convert_elf): write prefix here
473d1e45 24496
5389763d 244972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24498
24499 Use .asciz instead of .string
24500
24501 * i386/pc/diskboot.S: use .asciz instead of .string
24502 * i386/pc/boot.S: likewise
24503 * include/grub/dl.h (GRUB_MOD_DEP): likewise
24504 (GRUB_MOD_NAME): likewise
473d1e45 24505
3eb5ed4e 245062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24507
24508 gfxpayload support
24509
24510 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
24511 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
24512 (grub_video_setup): remove
24513 (grub_video_set_mode): new prototype
24514 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
24515 (vid_mode): remove
24516 (linux_vesafb_res): compile only on PCBIOS
24517 (grub_linux_boot): support gfxpayload
24518 * loader/i386/pc/xnu.c (video_hook): new function
24519 (grub_xnu_set_video): support gfxpayload
24520 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
24521 (DEFAULT_VIDEO_HEIGHT): likewise
24522 (DEFAULT_VIDEO_FLAGS): likewise
24523 (DEFAULT_VIDEO_MODE): new definition
24524 (video_hook): new function
24525 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 24526 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 24527 loading xnu
24528 * video/video.c (grub_video_setup): removed
473d1e45 24529 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 24530 grub_video_setup
24531
4b0e1143 245322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24533
24534 Avoid calling biosdisk in drivemap
24535
24536 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
24537 (revparse_biosdisk): likewise
24538 (list_mappings): derive name from id directly
24539 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 24540
fda6cb98 245412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24542
24543 Script fixes
24544
24545 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
24546 (grub_lexer_param): add tokenonhold
24547 (grub_script_create_cmdline): remove cmdline. All callers updated
24548 (grub_script_function_create): make functionname
24549 grub_script_arg. All callers updated
24550 (grub_script_execute_argument_to_string): new prototype
24551 * kern/parser.c (state_transitions): reorder
24552 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 24553 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 24554 make global
24555 (grub_script_execute_cmdline): use new format
24556 * script/sh/function.c (grub_script_function_create): make functionname
24557 grub_script_arg. All callers updated
473d1e45 24558 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 24559 (grub_script_yylex): remove
24560 (grub_script_yylex2): renamed to ...
24561 (grub_script_yylex): ...renamed
24562 parse the expressions like a${b}c
24563 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
24564 (GRUB_PARSER_TOKEN_VAR): remove
24565 (GRUB_PARSER_TOKEN_NAME): likewise
24566 ("if"): declare as typeless
24567 ("while"): likewise
24568 ("function"): likewise
24569 ("else"): likewise
24570 ("then"): likewise
24571 ("fi"): likewise
24572 (text): remove
24573 (argument): likewise
24574 (script): accept empty scripts and make exit on error
24575 (arguments): use GRUB_PARSER_TOKEN_ARG
24576 (function): likewise
24577 (command): move error handling to script
24578 (menuentry): move grub_script_lexer_ref before
473d1e45 24579 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 24580 argument. All callers updated
24581
f4448a07 245822009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24583
24584 Prevent GRUB from probing floppies during boot.
24585
24586 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
24587 * commands/search.c (options): Add --no-floppy.
24588 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
24589 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
24590 --no-floppy when searching for UUIDs.
24591
2bf5885a 245922009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24593
24594 Simplify the code duplication in commands/search.c.
24595
24596 * commands/search.c (search_label, search_fs_uuid): Merge into ...
24597 (search_fs): ... this. Update all users.
24598
f6fd460a 245992009-06-03 Felix Zielcke <fzielcke@z-51.de>
24600
24601 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
24602
cbb3c83e 246032009-05-28 Pavel Roskin <proski@gnu.org>
24604
57788cfd 24605 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
24606 Remove the original symlink explicitly.
24607
cbb3c83e 24608 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
24609 just one slash. That's how grub_fshelp_find_file() does it.
24610
cd0d5e30 246112009-05-26 Pavel Roskin <proski@gnu.org>
24612
f0f8bbe2 24613 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
24614 to `str'.
24615
cd0d5e30 24616 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
24617 possibly unused.
24618
8c2cab51 246192009-05-25 Christian Franke <franke@computer.org>
24620
24621 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
24622 register.
24623 (grub_atapi_identify): Add wait after drive select.
24624 (grub_ata_identify): Do more strict status register check before
24625 calling grub_atapi_identify (). Suppress error message if status
24626 register is 0x00 after command failure. Add status register
24627 check after PIO read to avoid bogus identify due to stuck DRQ.
24628 Thanks to Pavel Roskin for testing.
24629 (grub_device_initialize): Remove unsafe status register check.
24630 Thanks to 'phcoder' for problem report and patch.
24631 Prevent sign extension in debug message.
24632
230c0ad6 246332009-05-23 Colin D Bennett <colin@gibibit.com>
24634
24635 Cleaned up `include/grub/normal.h'. Grouped prototypes by
24636 definition file, and functions defined in `normal/menu.c' have had
24637 their prototypes moved to `include/grub/menu.h' for consistency.
24638
24639 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
24640 from normal.h.
24641 (grub_menu_get_entry): Likewise.
24642 (grub_menu_get_timeout): Likewise.
24643 (grub_menu_set_timeout): Likewise.
24644 (grub_menu_execute_entry): Likewise.
24645 (grub_menu_execute_with_fallback): Likewise.
24646 (grub_menu_entry_run): Likewise.
24647
24648 * include/grub/normal.h: Re-ordered and grouped function
24649 prototypes by file that the function is defined in.
24650 (grub_menu_execute_callback): Removed; moved to menu.h.
24651 (grub_menu_get_entry): Likewise.
24652 (grub_menu_get_timeout): Likewise.
24653 (grub_menu_set_timeout): Likewise.
24654 (grub_menu_execute_entry): Likewise.
24655 (grub_menu_execute_with_fallback): Likewise.
24656 (grub_menu_entry_run): Likewise.
24657 (grub_menu_addentry): Renamed from this ...
24658 (grub_normal_add_menu_entry): ... to this.
24659
24660 * normal/main.c (grub_menu_addentry): Renamed from this ...
24661 (grub_normal_add_menu_entry): ... to this.
24662
24663 * script/sh/execute.c (grub_script_execute_menuentry): Update
24664 reference to renamed grub_menu_addentry function.
24665
861f03a5 246662009-05-23 Felix Zielcke <fzielcke@z-51.de>
24667
24668 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
24669
96b1619a 246702009-05-22 Pavel Roskin <proski@gnu.org>
24671
bf6a5fb2 24672 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
24673 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
24674 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
24675 compiling for the i386 targets, but not for the utilities.
24676
96b1619a 24677 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
24678 to grub_uint8_t.
24679 (grub_root_drive): Likewise.
24680 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
24681 remove alignment.
24682 (grub_root_drive): Change size to byte.
24683 (grub_start_addr): Remove.
24684 (grub_end_addr): Likewise.
24685 (grub_apm_bios_info): Likewise.
24686
b729776b 246872009-05-21 Felix Zielcke <fzielcke@z-51.de>
24688
24689 * normal/i386: Remove.
24690 * normal/powerpc: Likewise.
24691 * normal/sparc64: Likewise.
24692 * normal/x86_64: Likewise.
24693
0a15ce80 246942009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
24695
24696 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 24697 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 24698 * loader/i386/xnu_helper.S: Likewise
d6da58e6 24699
33db9015 247002009-05-18 Colin D Bennett <colin@gibibit.com>
24701
d6da58e6 24702 Display error messages when parsing a Lua statement fails.
24703 Previously, executing a syntactically invalid statement like
24704 ")foo" or "bar;" would silently fail.
33db9015 24705
24706 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 24707 (grub_lua_parse_line): Improved reporting of Lua parser and
24708 execution errors.
33db9015 24709
46422c89 247102009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24711
24712 Remove -Werror which causes build to fail on some systems
24713
24714 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
24715 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
24716 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 24717
22f53a96 247182009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24719
24720 trampoline for linux on 64-bit platform
24721
18f547ad 24722 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
24723 loader/i386/efi/linux_trampoline.S
24724 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 24725 declaration
d6da58e6 24726 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
24727 here
22f53a96 24728 * loader/i386/linux_trampoline.S: moved here
d6da58e6 24729 * loader/i386/efi/linux.c (allocate_pages): reserve space for
24730 trampoline
22f53a96 24731 (jumpvector): removed
24732 (grub_linux_trampoline_start): new declaration
24733 (grub_linux_trampoline_end): likewise
24734 (grub_linux_boot): use trampoline when on 64-bit platform
24735 * loader/i386/linux.c: likewise
24736
cb5a0f40 247372009-05-16 Pavel Roskin <proski@gnu.org>
24738
24739 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
24740 const to avoid a warning.
24741 (grub_lua_setenv): Likewise.
24742 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
24743 lmsg to fix a warning.
24744
334f2c28 247452009-05-16 Felix Zielcke <fzielcke@z-51.de>
24746
24747 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 24748 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24749 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
24750 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24751 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24752 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24753 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24754 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 24755
59e5d3ec 247562009-05-16 Felix Zielcke <fzielcke@z-51.de>
24757
24758 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
24759
9d87a1ba 247602009-05-16 Bean <bean123ch@gmail.com>
24761
24762 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
24763 (lua_mod_SOURCES): New variable.
24764 (lua_mod_CFLAGS): Likewise.
24765 (lua_mod_LDFLAGS): Likewise.
24766
24767 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
24768 (setjmp_mod_SOURCES): New variable.
24769 (setjmp_mod_CFLAGS): Likewise.
24770 (setjmp_LDFLAGS): Likewise.
24771
24772 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
24773 (setjmp_mod_SOURCES): New variable.
24774 (setjmp_mod_CFLAGS): Likewise.
24775 (setjmp_LDFLAGS): Likewise.
24776
24777 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24778 (setjmp_mod_SOURCES): New variable.
24779 (setjmp_mod_CFLAGS): Likewise.
24780 (setjmp_LDFLAGS): Likewise.
24781
24782 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24783 (setjmp_mod_SOURCES): New variable.
24784 (setjmp_mod_CFLAGS): Likewise.
24785 (setjmp_LDFLAGS): Likewise.
24786
24787 * normal/i386/setjmp.S: Moved from here ...
24788 * lib/i386/setjmp.S: ... Moved here
24789 * normal/x86_64/setjmp.S: Moved from here ...
24790 * lib/x86_64/setjmp.S: ... Moved here
24791 * normal/powerpc/setjmp.S: Moved from here ...
24792 * lib/powerpc/setjmp.S: ... Moved here
24793 * normal/sparc64/setjmp.S: Moved from here ...
24794 * lib/sparc64/setjmp.S: ... Moved here
24795
24796 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
24797 returns_twice in mingw.
24798
24799 * script/lua/grub_lib.c: New file.
24800 * script/lua/grub_lib.h: Likewise.
24801 * script/lua/grub_lua.h: Likewise.
24802 * script/lua/grub_main.c: Likewise.
24803 * script/lua/lapi.c: Likewise.
24804 * script/lua/lapi.h: Likewise.
24805 * script/lua/lauxlib.c: Likewise.
24806 * script/lua/lauxlib.h: Likewise.
24807 * script/lua/lbaselib.c: Likewise.
24808 * script/lua/lcode.c: Likewise.
24809 * script/lua/lcode.h: Likewise.
24810 * script/lua/ldblib.c: Likewise.
24811 * script/lua/ldebug.c: Likewise.
24812 * script/lua/ldebug.h: Likewise.
24813 * script/lua/ldo.c: Likewise.
24814 * script/lua/ldo.h: Likewise.
24815 * script/lua/ldump.c: Likewise.
24816 * script/lua/lfunc.c: Likewise.
24817 * script/lua/lfunc.h: Likewise.
24818 * script/lua/lgc.c: Likewise.
24819 * script/lua/lgc.h: Likewise.
24820 * script/lua/linit.c: Likewise.
24821 * script/lua/liolib.c: Likewise.
24822 * script/lua/llex.c: Likewise.
24823 * script/lua/llex.h: Likewise.
24824 * script/lua/llimits.h: Likewise.
24825 * script/lua/lmathlib.c: Likewise.
24826 * script/lua/lmem.c: Likewise.
24827 * script/lua/lmem.h: Likewise.
24828 * script/lua/loadlib.c: Likewise.
24829 * script/lua/lobject.c: Likewise.
24830 * script/lua/lobject.h: Likewise.
24831 * script/lua/lopcodes.c: Likewise.
24832 * script/lua/lopcodes.h: Likewise.
24833 * script/lua/loslib.c: Likewise.
24834 * script/lua/lparser.c: Likewise.
24835 * script/lua/lparser.h: Likewise.
24836 * script/lua/lstate.c: Likewise.
24837 * script/lua/lstate.h: Likewise.
24838 * script/lua/lstring.c: Likewise.
24839 * script/lua/lstring.h: Likewise.
24840 * script/lua/lstrlib.c: Likewise.
24841 * script/lua/ltable.c: Likewise.
24842 * script/lua/ltable.h: Likewise.
24843 * script/lua/ltablib.c: Likewise.
24844 * script/lua/ltm.c: Likewise.
24845 * script/lua/ltm.h: Likewise.
24846 * script/lua/lua.h: Likewise.
24847 * script/lua/luaconf.h: Likewise.
24848 * script/lua/lualib.h: Likewise.
24849 * script/lua/lundump.c: Likewise.
24850 * script/lua/lundump.h: Likewise.
24851 * script/lua/lvm.c: Likewise.
24852 * script/lua/lvm.h: Likewise.
24853 * script/lua/lzio.c: Likewise.
24854 * script/lua/lzio.h: Likewise.
24855
5e898c9d 248562009-05-16 Bean <bean123ch@gmail.com>
24857
24858 * include/grub/kernel.h (grub_module_header_types): Add type
24859 OBJ_TYPE_CONFIG.
24860
24861 * kern/main.c (grub_load_config): New function.
24862 (grub_main): Call grub_load_config to read boot config.
24863
24864 * grub-mkimage (generate_image): New parameter config_path.
24865 (options): New option --config.
24866 (main): Parse --config option, and pass it to generate_image.
24867
cf353a47 248682009-05-14 Christian Franke <franke@computer.org>
24869
24870 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
24871 This fixes build on Cygwin.
24872
3834887f 248732009-05-14 Pavel Roskin <proski@gnu.org>
24874
24875 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
24876 jump. This saves two bytes, so the typical case of 2 swapped
24877 drives would fit 32 bytes.
24878
8090fc01 248792009-05-13 Pavel Roskin <proski@gnu.org>
24880
ac963883 24881 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
24882 grub_uint32_t to avoid a warning.
24883
8090fc01 24884 * loader/i386/linux.c (allocate_pages): When assigning
24885 real_mode_mem, cast through grub_size_t to fix a warning. The
24886 code already makes sure that the value would fit a pointer.
24887 (grub_linux_setup_video): Cast render_target->data to
24888 grub_size_t to fix a warning.
24889
18f547ad 248902009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 24891
24892 * commands/i386/pc/drivemap.c: New file - implement drivemap
24893 command.
24894 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
24895 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
24896
6f6a8b28 248972009-05-13 Pavel Roskin <proski@gnu.org>
24898
24899 * util/i386/pc/grub-setup.c (setup): Remove unused variable
24900 embedding_area_exists.
24901
15fbf4c4 249022009-05-13 Robert Millan <rmh.grub@aybabtu.com>
24903
24904 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
24905 it easier to understand / work with.
59978c8a 24906 Improve warning messages for cases where there's no embedding area,
24907 or when it is too small (or core.img too large).
15fbf4c4 24908
238e871f 249092009-05-13 Pavel Roskin <proski@gnu.org>
24910
0ab3a9a4 24911 * loader/i386/pc/multiboot2.c: Add necessary includes for
24912 grub_multiboot2_real_boot().
24913
a2c8c5f8 24914 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
24915 PX record is always little-endian. We only need the lower 2
24916 bytes of the mode.
24917
faec96af 24918 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
24919 facilitate code reuse.
24920 (grub_cpio_mount): Use "struct head", not a char buffer. This
24921 fixes a warning reported by gcc 4.4.
24922
238e871f 24923 * kernel/disk.c (grub_disk_read): Use void pointer for the
24924 buffer.
24925 (grub_disk_write): Use const void pointer for the buffer.
24926 Adjust all callers. Remove unnecessary casts.
24927
901d2f0c 249282009-05-10 Robert Millan <rmh.grub@aybabtu.com>
24929
24930 * util/i386/pc/grub-install.in: Update copyright year.
24931
18f547ad 249322009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 24933
24934 gptsync
24935
24936 * commands/gptsync.c: new file
24937 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
24938 (gptsync_mod_SOURCES): new variable
24939 (gptsync_mod_CFLAGS): likewise
24940 (gptsync_mod_LDFLAGS): likewise
18f547ad 24941 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 24942 new definition
24943 (GRUB_PC_PARTITION_TYPE_HFS): likewise
24944 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
24945 * conf/i386-ieee1275.rmk: likewise
24946 * conf/i386-pc.rmk: likewise
24947 * conf/powerpc-ieee1275.rmk: likewise
24948
b4ba690a 249492009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24950
24951 Fixed grub-emu
24952
24953 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
24954 (grub_dl_ref): likewise
24955
317e1a44 249562009-05-08 Robert Millan <rmh.grub@aybabtu.com>
24957
24958 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
24959 split in two functions (one for msdos and one for gpt).
24960
041b8094 249612009-05-08 Pavel Roskin <proski@gnu.org>
24962
752473c2 24963 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
24964 not modified.
24965
041b8094 24966 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
24967 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
24968 Initialize them with -1. Add sanity check for bad1. Eliminate
24969 nerr variable.
24970
172800ce 249712009-05-08 David S. Miller <davem@davemloft.net>
24972
24973 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
24974
29aa5e81 249752009-05-06 Robert Millan <rmh.grub@aybabtu.com>
24976
24977 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 24978 existence.
29aa5e81 24979
96613b62 249802009-05-05 Felix Zielcke <fzielcke@z-51.de>
24981
24982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 24983 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 24984
eef73c8a 249852009-05-05 David S. Miller <davem@davemloft.net>
24986
24987 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
24988
119494b5 249892009-05-05 Pavel Roskin <proski@gnu.org>
24990
24991 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
24992 of grub_dl_ref() and grub_dl_unref().
24993 * commands/parttool.c: Remove preprocessor conditionals around
24994 grub_dl_ref() and grub_dl_unref().
24995 * fs/affs.c: Likewise.
24996 * fs/afs.c: Likewise.
24997 * fs/cpio.c: Likewise.
24998 * fs/ext2.c: Likewise.
24999 * fs/fat.c: Likewise.
25000 * fs/hfs.c: Likewise.
25001 * fs/hfsplus.c: Likewise.
25002 * fs/iso9660.c: Likewise.
25003 * fs/jfs.c: Likewise.
25004 * fs/minix.c: Likewise.
25005 * fs/ntfs.c: Likewise.
25006 * fs/reiserfs.c: Likewise.
25007 * fs/sfs.c: Likewise.
25008 * fs/udf.c: Likewise.
25009 * fs/ufs.c: Likewise.
25010 * fs/xfs.c: Likewise.
25011 * include/grub/dl.h: Likewise.
25012 * loader/xnu.c: Likewise.
25013
de5fd76e 250142009-05-04 Pavel Roskin <proski@gnu.org>
25015
25016 * commands/acpi.c: Remove unused variable my_mod.
25017 * partmap/amiga.c: Likewise.
25018 * partmap/apple.c: Likewise.
25019 * partmap/gpt.c: Likewise.
25020 * partmap/pc.c: Likewise.
25021 * partmap/sun.c: Likewise.
25022 * term/gfxterm.c: Likewise.
25023 * term/i386/pc/vesafb.c: Likewise.
25024 * term/i386/pc/vga.c: Likewise.
25025
983598ad 250262009-05-04 David S. Miller <davem@davemloft.net>
25027
25028 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
25029 pointer args to grub_ieee1275_get_property().
25030
8aadec43 25031 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
25032
9554b15e 25033 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
25034 devices, and do not traverse down under controller nodes.
25035
67e23c90 25036 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
25037 (grub_ofdisk_open): Use it to un-escape "," characters.
25038 * kern/disk.c (find_part_sep): New.
25039 (grub_disk_open): Use it to find the first non-escaped ','
25040 character in the disk name.
25041 * util/ieee1275/devicemap.c (escape_of_path): New.
25042 (grub_util_emit_devicemap_entry): Use it.
25043 * util/sparc64/ieee1275/grub-install.in: Update script to
25044 strip partition specifiers properly by not triggering on
25045 '\' escaped ',' characters.
25046
74bfdd2f 250472009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25048
25049 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
25050 to 0x300.
25051 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
25052 resolutions.
25053 (linux_vesafb_modes): Add a lot of additional modes to the list (based
25054 on documentation from Wikipedia).
25055
4241d2b1 250562009-05-04 Pavel Roskin <proski@gnu.org>
25057
25058 * disk/ata.c: Spelling fixes.
25059 * disk/raid.c: Likewise.
25060 * disk/usbms.c: Likewise.
25061 * disk/dmraid_nvidia.c: Likewise.
25062 * kern/ieee1275/openfw.c: Likewise.
25063 * kern/ieee1275/init.c: Likewise.
25064 * kern/ieee1275/cmain.c: Likewise.
25065 * boot/i386/pc/cdboot.S: Likewise.
25066 * video/readers/png.c: Likewise.
25067 * video/i386/pc/vbe.c: Likewise.
25068 * fs/udf.c: Likewise.
25069 * fs/hfs.c: Likewise.
25070 * fs/reiserfs.c: Likewise.
25071 * efiemu/runtime/efiemu.c: Likewise.
25072 * efiemu/main.c: Likewise.
25073 * efiemu/mm.c: Likewise.
25074 * include/grub/elf.h: Likewise.
25075 * include/grub/xnu.h: Likewise.
25076 * include/grub/usbdesc.h: Likewise.
25077 * include/grub/usb.h: Likewise.
25078 * include/grub/script_sh.h: Likewise.
25079 * include/grub/lib/LzmaEnc.h: Likewise.
25080 * include/grub/efiemu/efiemu.h: Likewise.
25081 * include/grub/command.h: Likewise.
25082 * normal/menu.c: Likewise.
25083 * normal/main.c: Likewise.
25084 * normal/datetime.c: Likewise.
25085 * bus/usb/uhci.c: Likewise.
25086 * mmap/i386/uppermem.c: Likewise.
25087 * mmap/mmap.c: Likewise.
25088 * commands/acpi.c: Likewise.
25089 * commands/test.c: Likewise.
25090 * partmap/apple.c: Likewise.
25091 * font/font.c: Likewise.
25092 * loader/sparc64/ieee1275/linux.c: Likewise.
25093 * loader/macho.c: Likewise.
25094 * loader/i386/bsd_trampoline.S: Likewise.
25095 * loader/i386/bsd.c: Likewise.
25096 * loader/xnu.c: Likewise.
25097 * term/i386/pc/vesafb.c: Likewise.
25098 * term/usb_keyboard.c: Likewise.
25099 * util/resolve.c: Likewise.
25100 * util/getroot.c: Likewise.
25101
0cfc0083 251022009-05-04 Felix Zielcke <fzielcke@z-51.de>
25103
25104 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
25105
7c1d00cd 251062009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25107
25108 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
25109 build error.
25110
b01f0548 251112009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25112
25113 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
25114 parameter only available on BIOS.
25115
ecc3eb22 251162009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25117
25118 Removed wrong semicolon in declaration
25119
25120 * grub/misc.h (grub_dprintf): remove semicolon
25121
112972a9 251222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25123
25124 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
25125 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
25126 is done by grub_cmd_linux() now).
25127 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
25128 restore video to text mode.
25129 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
25130 indicates lack of "vga=" parameter. "vga=0" is mapped to
25131 `GRUB_LINUX_VID_MODE_NORMAL'.
25132
afd5c115 251332009-05-04 Felix Zielcke <fzielcke@z-51.de>
25134
25135 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
25136 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
25137 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 25138 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 25139 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
25140 `grub_script.tab.c'.
25141
25142 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25143 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25145 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25146 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25147
faa517ce 25148 * Makefile.in: Remove duplicated 2008 in Copyright line.
25149
ae0c0bdc 251502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25151
473d1e45 25152 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 25153 unconditionally.
25154 * include/grub/util/misc.h (grub_util_warn): New declaration.
25155
25156 * util/i386/pc/grub-install.in: Understand --force and pass it down
25157 to grub-setup.
25158
25159 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
25160 down to setup().
25161 (setup): Improve error messages and add warnings when requested to
25162 install in odd layouts. Refuse to install using blocklists unless
25163 --force was set.
25164
18f547ad 251652009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 25166
25167 * disk/raid.c (grub_raid_scan_device): Improve debug message.
25168
6d260daa 251692009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25170
25171 Updated copyright year
25172
25173 * fs/hfsplus.c: updated copyright year
18f547ad 25174
69f853f8 251752009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25176
25177 HFS+ UUID
25178
18f547ad 25179 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 25180 in the space previously used by unused3
25181 (grub_hfsplus_uuid): new function
25182 (grub_hfsplus_fs): added uuid field
25183
4c402e73 251842009-05-03 Pavel Roskin <proski@gnu.org>
25185
25186 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
25187 suppress warnings. It's no longer needed.
25188 * disk/host.c: Likewise.
25189 * disk/ata_pthru.c: Likewise.
25190 * disk/loopback.c: Likewise.
25191 * hook/datehook.c: Likewise.
25192 * parttool/pcpart.c: Likewise.
25193 * fs/i386/pc/pxe.c: Likewise.
25194 * fs/ntfscomp.c: Likewise.
25195 * efiemu/main.c: Likewise.
25196 * mmap/mmap.c: Likewise.
25197 * commands/crc.c: Likewise.
25198 * commands/hexdump.c: Likewise.
25199 * commands/hdparm.c: Likewise.
25200 * commands/acpi.c: Likewise.
25201 * commands/echo.c: Likewise.
25202 * commands/minicmd.c: Likewise.
25203 * commands/blocklist.c: Likewise.
25204 * commands/memrw.c: Likewise.
25205 * commands/loadenv.c: Likewise.
25206 * commands/usbtest.c: Likewise.
25207 * commands/lsmmap.c: Likewise.
25208 * commands/boot.c: Likewise.
25209 * commands/parttool.c: Likewise.
25210 * commands/configfile.c: Likewise.
25211 * commands/search.c: Likewise.
25212 * commands/ieee1275/suspend.c: Likewise.
25213 * commands/cat.c: Likewise.
25214 * commands/i386/pc/pxecmd.c: Likewise.
25215 * commands/i386/pc/play.c: Likewise.
25216 * commands/i386/pc/halt.c: Likewise.
25217 * commands/i386/pc/vbeinfo.c: Likewise.
25218 * commands/i386/pc/vbetest.c: Likewise.
25219 * commands/lspci.c: Likewise.
25220 * commands/date.c: Likewise.
25221 * commands/handler.c: Likewise.
25222 * commands/ls.c: Likewise.
25223 * commands/test.c: Likewise.
25224 * commands/cmp.c: Likewise.
25225 * commands/efi/loadbios.c: Likewise.
25226 * commands/efi/fixvideo.c: Likewise.
25227 * commands/halt.c: Likewise.
25228 * commands/help.c: Likewise.
25229 * commands/reboot.c: Likewise.
25230 * hello/hello.c: Likewise.
25231 * script/sh/main.c: Likewise.
25232 * loader/xnu.c: Likewise.
25233 * term/terminfo.c: Likewise.
25234 * term/i386/pc/serial.c: Likewise.
25235 * term/usb_keyboard.c: Likewise.
25236
515b5079 252372009-05-03 David S. Miller <davem@davemloft.net>
25238
25239 * normal/menu.c: Include grub/parser.h
25240
dfc31a22 252412009-05-03 Pavel Roskin <proski@gnu.org>
25242
2fee74f1 25243 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
25244 not char*.
25245 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
25246 Suggested by Javier Martín <lordhabbit@gmail.com>
25247
dfc31a22 25248 * util/i386/pc/grub-mkrescue.in: Allow for the case when
25249 efiemu??.o doesn't exist.
25250 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
25251 copying.
25252
18f547ad 252532009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 25254
25255 FreeBSD 64-bit support
25256
18f547ad 25257 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 25258 and loader/i386/bsd_trampoline.S
25259 (bsd_mod_ASFLAGS): new variable
25260 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
25261 (FREEBSD_MODTYPE_KERNEL64): likewise
25262 (grub_bsd64_trampoline_start): likewise
25263 (grub_bsd64_trampoline_end): likewise
25264 (grub_bsd64_trampoline_selfjump): likewise
25265 (grub_bsd64_trampoline_gdt): likewise
25266 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
25267 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
25268 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
25269 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 25270 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 25271 of "attrib" member
25272 * loader/i386/bsd_pagetable.c: new file
25273 * loader/i386/bsd_trampoline.S: likewise
25274 * loader/i386/bsd.c (ALIGN_QWORD): new macro
25275 (ALIGN_VAR): likewise
25276 (entry_hi): new variable
25277 (kern_end_mdofs): likewise
25278 (is_64bit): likewise
25279 (grub_freebsd_add_meta): use ALIGN_VAR
25280 (grub_e820_mmap): new declaration
25281 (grub_freebsd_add_mmap): new function
25282 (grub_freebsd_add_meta_module): support 64 bit kernels
25283 (grub_freebsd_list_modules): use ALIGN_VAR
25284 (gdt_descriptor): new declaration
25285 (grub_freebsd_boot): support 64 bit kernels
25286 (grub_bsd_elf64_hook): new function
25287 (grub_bsd_load_elf): support elf64
25288
038c5720 252892009-05-03 Bean <bean123ch@gmail.com>
25290
25291 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
25292 after we get the result of if statement.
25293
fc45fb58 252942009-05-03 Bean <bean123ch@gmail.com>
25295
25296 * Makefile.in (enable_efiemu): New variable.
25297
25298 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
25299 set.
25300 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
25301 path.
25302 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
25303 path, add -mno-red-zone option.
25304 (efiemu64_s.o): Likewise.
25305 (efiemu64.o): Use macro $^ for source file.
25306
25307 * configure.ac (--enable-efiemu): New option.
25308
bbee0f2b 253092009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25310
25311 xnu support
25312
25313 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
25314 (pkglib_MODULES): add xnu.mod
25315 (xnu_mod_SOURCES): new variable
25316 (xnu_mod_CFLAGS): likewise
25317 (xnu_mod_LDFLAGS): likewise
25318 (xnu_mod_ASFLAGS): likewise
25319 * conf/i386-pc.rmk: likewise
25320 * conf/x86_64-efi.rmk: likewise
7dd4a573 25321 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 25322 new declaration
25323 * include/grub/i386/macho.h: new file
25324 * include/grub/i386/xnu.h: likewise
25325 * include/grub/macho.h: likewise
25326 * include/grub/machoload.h: likewise
25327 * include/grub/x86_64/macho.h: likewise
25328 * include/grub/x86_64/xnu.h: likewise
25329 * include/grub/xnu.h: likewise
25330 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
25331 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
25332 * loader/i386/efi/xnu.c: new file
25333 * loader/i386/pc/xnu.c: likewise
25334 * loader/i386/xnu.c: likewise
25335 * loader/i386/xnu_helper.S: likewise
25336 * loader/macho.c: likewise
25337 * loader/xnu.c: likewise
25338 * loader/xnu_resume.c: likewise
25339 * util/grub-dumpdevtree: likewise
25340 * include/grub/i386/pit.h: include grub/err.h
25341 (grub_pit_wait): export
25342 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 25343
5caf964d 253442009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25345
25346 Efiemu
7dd4a573 25347
5caf964d 25348 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 25349 _linux_efi, linux_efi.
25350 new files in grub-emu
5caf964d 25351 new targets efiemu32.o and efiemu64.o
25352 * loader/linux_normal_efiemu.c: likewise
25353 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 25354 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 25355 files to copy
25356 * include/grub/autoefi.h: new file
7dd4a573 25357 * include/grub/i386/efiemu.h: likewise
5caf964d 25358 * include/grub/i386/pc/efiemu.h: likewise
25359 * include/grub/efi/api.h: add LL suffix when necessary
25360 new definitions relating to tables
25361 * include/grub/efiemu/efiemu.h: new file
25362 * include/grub/efiemu/runtime.h: likewise
25363 * efiemu/prepare.c: likewise
25364 * efiemu/loadcore_common.c: likewise
25365 * efiemu/loadcore64.c: likewise
25366 * efiemu/runtime/efiemu.sh: likewise
25367 * efiemu/runtime/efiemu.S: likewise
25368 * efiemu/runtime/efiemu.c: likewise
25369 * efiemu/runtime/config.h: likewise
25370 * efiemu/prepare32.c: likewise
25371 * efiemu/main.c: likewise
25372 * efiemu/modules/pnvram.c: likewise
25373 * efiemu/modules/i386: likewise
25374 * efiemu/modules/i386/pc: likewise
25375 * efiemu/modules/acpi.c: likewise
25376 * efiemu/i386/pc/cfgtables.c: likewise
25377 * efiemu/i386/loadcore64.c: likewise
25378 * efiemu/i386/loadcore32.c: likewise
25379 * efiemu/prepare64.c: likewise
25380 * efiemu/loadcore.c: likewise
25381 * efiemu/symbols.c: likewise
25382 * efiemu/mm.c: likewise
25383 * efiemu/loadcore32.c: likewise
7dd4a573 25384
253852009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 25386
25387 ACPI spoofing
25388
25389 * commands/acpi.c: new file
25390 * commands/i386/pc/acpi.c: likewise
25391 * commands/efi/acpi.c: likewise
25392 * include/grub/acpi.h: likewise
25393 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
25394 (acpi_mod_SOURCES): new variable
25395 (acpi_mod_CFLAGS): likewise
25396 (acpi_mod_LDFLAGS): likewise
25397 * conf/i386-efi.rmk: likewise
25398 * conf/x86_64-efi.rmk: likewise
25399
7dd4a573 254002009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 25401
25402 Missing part from mmap patch
25403
25404 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
25405 (grub_mmap_unregister)
25406 (grub_mmap_free_and_unregister): use grub_mmap_register
25407
7dd4a573 254082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 25409
25410 Mmap services
25411
25412 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
25413 * loader/i386/linux.c (find_mmap_size): likewise
25414 (allocate_pages): likewise
25415 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
25416 (grub_fill_multiboot_mmap): likewise
25417 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
25418 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
25419 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
25420 (OPENBSD_MMAP_RESERVED): likewise
25421 * include/grub/i386/pc/memory.h: include grub/memory.h
25422 (grub_lower_mem): removed
25423 (grub_upper_mem): likewise
25424 (GRUB_MACHINE_MEMORY_ACPI): new definition
25425 (GRUB_MACHINE_MEMORY_NVS): likewise
25426 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
25427 (GRUB_MACHINE_MEMORY_HOLE): likewise
25428 (grub_machine_mmap_register): likewise
25429 (grub_machine_mmap_unregister): likewise
25430 (grub_machine_get_upper): likewise
25431 (grub_machine_get_lower): likewise
25432 (grub_machine_get_post64): likewise
25433 * include/grub/i386/efi/memory.h: new file
25434 * include/grub/x86_64/efi/memory.h: likewise
25435 * include/grub/efi/memory.h: likewise
25436 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
25437 (mmap_mod_SOURCES): new variable
25438 (mmap_mod_LDFLAGS): likewise
25439 (mmap_mod_ASFLAGS): likewise
25440 * conf/i386-coreboot.rmk: likewise
25441 * conf/i386-ieee1275.rmk: likewise
25442 * conf/i386-efi.rmk: likewise
25443 * conf/x86_64-efi.rmk: likewise
25444 * include/grub/types.h (UINT_TO_PTR): new macro
25445 (PTR_TO_UINT32): likewise
25446 (PTR_TO_UINT64): likewise
25447 * include/grub/memory.h: new file
25448 * mmap/i386/pc/mmap.c: likewise
25449 * mmap/i386/pc/mmap_helper.S: likewise
25450 * mmap/i386/uppermem.c: likewise
25451 * mmap/mmap.c: likewise
25452 * mmap/efi/mmap.c: likewise
7dd4a573 25453 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 25454 grub_upper_mem
25455 * kern/i386/pc/init.c (grub_lower_mem): removed variable
25456 (grub_upper_mem): likewise
25457 (grub_machine_init): don't use grub_upper_mem,
25458 make grub_lower_mem local
25459 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
25460 grub_mmap_iterate and grub_mmap_get_upper
25461 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
25462
d558e6b5 254632009-05-02 Bean <bean123ch@gmail.com>
25464
25465 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
25466 script/sh/parser.y.
25467 (pkglib_MODULES): Add normal.mod and sh.mod.
25468 (normal_SOURCES): New variable.
25469 (normal_mod_CFLAGS): Likewise.
25470 (normal_mod_LDFLAGS): Likewise.
25471 (sh_mod_SOURCES): Likewise.
25472 (sh_mod_CFLAGS): Likewise.
25473 (sh_mod_LDFLAGS): Likewise.
25474
25475 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
25476 script/sh/lexer.c_DEPENDENCIES.
25477 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
25478 kern/rescue_reader.c and kern/rescue_parser.c.
25479 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
25480 (grub_emu_SOURCES): Change source files.
25481 (pkglib_MODULES): Remove normal.mod.
25482 (normal_SOURCES): Removed.
25483 (normal_mod_CFLAGS): Likewise.
25484 (normal_mod_LDFLAGS): Likewise.
25485 * conf/i386-coreboot.rmk: Likewise.
25486 * conf/i386-efi.rmk: Likewise.
25487 * conf/i386-ieee1276.rmk: Likewise.
25488 * conf/powerpc-ieee1275.rmk: Likewise.
25489 * conf/sparc64-ieee1275.rmk: Likewise.
25490 * conf/x86_64-efi.rmk: Likewise.
25491
25492 * include/grub/command.h (grub_command_execute): New inline function.
25493
25494 * include/grub/menu.h (grub_menu_entry): Removed commands field.
25495
25496 * include/grub/normal.h: Remove <grub/setjmp.h>.
25497 (grub_fs_module_list): Moved to normal/autofs.c.
25498 (grub_exit_env): Removed.
25499 (grub_command_execute): Likewise.
25500 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
25501 parameter script.
25502 (read_command_list): New function declaration.
25503 (read_fs_list): Likewise.
25504
25505 * include/parser.h: Include <grub/reader.h>.
25506 (grub_parser_split_cmdline): Change type of getline parameter.
25507 (grub_parser): New structure.
25508 (grub_parser_class): New variable.
25509 (grub_parser_execute): New function declaration.
25510 (grub_register_rescue_parser): Likewise.
25511 (grub_parser_register): New inline function.
25512 (grub_parser_unregister): Likewise.
25513 (grub_parser_get_current): Likewise.
25514 (grub_parser_set_current): Likewise.
25515
25516 * include/grub/reader.h: New file.
25517 * kern/reader.c: Likewise.
25518 * kern/rescue_parser.c: Likewise.
25519 * kern/rescue_reader.c: Likewise.
25520 * normal/autofs.c: Likewise.
25521 * normal/dyncmd.c: Likewise.
25522
25523 * include/grub/rescue.h: Removed.
25524 * normal/command.h: Likewise.
25525
25526 * include/grub/script.h: Moved to ...
25527 * include/grub/script_sh.h: ... Moved here.
25528 * normal/execute.c: Moved to ...
25529 * script/sh/execute.c: ... Moved here.
25530 * normal/function.c: Moved to ...
25531 * script/sh/function.c: ... Moved here.
25532 * normal/lexer.c: Moved to ...
25533 * script/sh/lexer.c: ... Moved here.
25534 * normal/parser.y: Moved to ...
25535 * script/sh/parser.y: ... Moved here.
25536 * normal/script.c: Moved to ...
25537 * script/sh/script.c: ... Moved here.
25538
25539 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
25540 <grub/reader.h>.
25541 (grub_exit_env): Removed.
25542 (fs_module_list): Moved to normal/autofs.c.
25543 (grub_file_getline): Don't handle comment here.
25544 (free_menu): Skip removed field entry->commands.
25545 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
25546 script parameter.
25547 (read_config_file): Removed nested parameter, change getline function.
25548 (grub_enter_normal_mode): Removed.
25549 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
25550 (read_command_list): Likewise.
25551 (autoload_fs_module): Moved to normal/autofs.c.
25552 (read_fs_list): Likewise.
25553 (reader_nested): New variable.
25554 (grub_normal_execute): Run parser.sh to switch to sh parser.
25555 (grub_cmd_rescue): Removed.
25556 (cmd_normal): Removed.
25557 (grub_cmd_normal): Unregister itself at the beginning. Don't register
25558 rescue command.
25559 (grub_cmdline_run): New function.
25560 (grub_normal_reader_init): Likewise.
25561 (grub_normal_read_line): Likewise.
25562 (grub_env_write_pager): Likewise.
25563 (cmdline): New variable.
25564 (grub_normal_reader): Likewise.
25565 (GRUB_MOD_INIT): Register normal reader and set as current, register
25566 pager hook, register normal command with grub_register_command_prio,
25567 so that it won't show up in command.lst.
25568 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
25569 grub_fs_autoload_hook.
25570
25571 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
25572 (grub_menu_execute_entry): Replace grub_script_execute with
25573 grub_parser_execute, change parameter to grub_command_execute.
25574
25575 * normal/menu_text.c: Remove <grub/script.h>.
25576
25577 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
25578 and <grub/parser.h>.
25579 (run): Change editor_getline to use new parser interface. Change
25580 parameter to grub_command_execute.
25581
25582 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
25583 <grub/reader.h> and <grub/parser.h>.
25584 (grub_load_normal_mode): Execute normal command.
25585 (grub_main): Call grub_register_core_commands,
25586 grub_register_rescue_parser and grub_register_rescue_reader, use
25587 grub_reader_loop to enter input loop.
25588
7dd4a573 25589 * kern/parser.c (grub_parser_split_cmdline): Change type of
25590 getline parameter.
d558e6b5 25591 (grub_parser_class): New variable.
25592 (grub_parser_execute): New function.
25593
25594 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
25595 * loader/multiboot2.c: Likewise.
25596 * loader/sparc64/ieee1275/linux.c: Likewise.
25597
25598 * util/grub-emu.c (read_command_list): New dummy function.
25599
18db813d 256002009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25601
25602 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
25603 count to 16 for CCISS and IDA.
25604
6c67de15 256052009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25606
25607 * normal/menu_text.c (grub_wait_after_message): Print a newline
25608 after waiting for user input.
25609
25610 * loader/i386/linux.c: Include `<grub/normal.h>'.
25611 (grub_cmd_linux): Improve the error message about `ask' mode, by
25612 waiting for user input so it's not missed (we can do this, since
25613 user requested interaction).
25614
d9dc87b0 256152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25616
25617 Added missing lst to grub-mkrescue
25618
25619 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
25620 and ${input_dir}/parttool.lst
25621
ac8a2baa 256222009-04-30 David S. Miller <davem@davemloft.net>
25623
ad22a610 25624 * util/hostdisk.c (device_is_wholedisk): New function.
25625 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
25626 zero only if device_is_wholedisk() returns true.
25627
6966215d 25628 * util/hostdisk.c (convert_system_partition_to_system_disk):
25629 Handle virtual disk devices named /dev/vdiskX as found on sparc
25630 and powerpc.
25631
ac8a2baa 25632 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
25633 lettered partition specifier is found, convert to numbered.
25634
979b4fb4 256352009-04-29 David S. Miller <davem@davemloft.net>
25636
e2bf39b2 25637 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
25638 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25639
3c64e104 25640 * normal/command.c: Add missing newline at end of file.
25641
979b4fb4 25642 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
25643 warnings.
25644 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
25645 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
25646 grub_ofdisk_read): Likewise, and deal similarly with the fact that
25647 ihandles have a 32-bit type but need to be stored in a "void *".
25648
136d9f82 256492009-04-28 Pavel Roskin <proski@gnu.org>
25650
9459c306 25651 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
25652 not disk. Adjust all dependencies.
2e08a26a 25653 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 25654 grub_disk_close().
25655
136d9f82 25656 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
25657 parent's partition, don't copy it by reference, as it gets freed
25658 on close.
25659
7dd4a573 256602009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 25661
25662 Preboot hooks support
25663
25664 * commands/boot.c (struct grub_preboot_t): new declaration
25665 (preboots_head): new variable
25666 (preboots_tail): likewise
25667 (grub_loader_register_preboot_hook): new function
25668 (grub_loader_unregister_preboot_hook): likewise
25669 (grub_loader_set): launch preboot hooks
25670 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
25671 (grub_loader_register_preboot_hook): new declaration
25672 (grub_loader_unregister_preboot_hook): likewise
25673
5af922b5 256742009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25675
25676 Warning fix
25677
7dd4a573 25678 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 25679 calling grub_dprintf
25680
a5562c30 256812009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
25682
25683 Bug and warning fixes
25684
7dd4a573 25685 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 25686 declaration
25687 * commands/test.c (test_parse): fixed bug with file tests and corrected
25688 declaration of find_file
25689
4006f85c 256902009-04-26 Pavel Roskin <proski@gnu.org>
25691
25692 * Makefile.in: Don't install empty manual pages if help2man is
25693 missing. Use help2man option for output, not shell redirection.
25694
5c77c3de 256952009-04-26 David S. Miller <davem@davemloft.net>
25696
25697 * util/grub-mkdevicemap.c (make_device_map): Add missing
25698 NESTED_FUNC_ATTR to process_device().
25699
033b10a8 257002009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25701
25702 Test command
25703
25704 * commands/test.c: rewritten to use bash-like test
25705
e4343593 257062009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25707
25708 Parttool autoloading and improvements
25709
7dd4a573 25710 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 25711 (parttool.lst): new target
25712 * genmk.rb: generate parttool-*
25713 (CLEANFILES): add #{parttool}
25714 (PARTTOOLFILES): new variable
25715 * genparttoollist.sh: new file
7dd4a573 25716 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 25717 (grub_pcpart_type): likewise
25718 * commands/parttool.c (helpmsg): new variable
25719 (grub_cmd_parttool): output help if not enough arguments are supplied
25720 autoload modules
25721 (GRUB_MOD_INIT(parttool)): use helpmsg
25722
0d312500 257232009-04-24 David S. Miller <davem@davemloft.net>
25724
7dd4a573 25725 Avoiding opening same device multiple times in device iterator.
0d312500 25726
25727 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 25728 and use it to build a list of partitions in iterate_disk() and
0d312500 25729 iterate_partition().
25730
ac20caff 25731 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
25732 on disk->data.
25733
0dcf7495 25734 * disk/ieee1275/nand.c (grub_nand_iterate): Return
25735 grub_devalias_iterate() result instead of unconditional 0.
25736 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
25737 Also, capture hook return value, either directly or via
25738 grub_children_iterate(), and propagate to caller.
25739 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
25740 grub_children_iterate): Return value is now 'int' instead of
25741 'grub_err_t'.
25742 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
25743 like a proper iterator, stopping when hooks return non-zero.
25744 (grub_devalias_iterate): Likewise.
25745
c8c08833 257462009-04-23 David S. Miller <davem@davemloft.net>
25747
25748 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
25749
f01005a8 257502009-04-22 David S. Miller <davem@davemloft.net>
25751
25752 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
25753 is larger than address_cells, use that value for address_cells too.
25754
4e8269da 25755 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
25756 IEEE1275_MAX_PATH_LEN): Define.
25757 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
25758 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
25759 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
25760 'devtype'. Explicitly NULL terminate devalias expansion.
25761
a1447506 25762 * util/sparc64/ieee1275/misc.c: New file.
25763 * util/sparc64/ieee1275/grub-setup.c: New file.
25764 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
25765 * util/sparc64/ieee1275/grub-mkimage.c: New file.
25766 * util/sparc64/ieee1275/grub-install.in: New file.
25767 * util/ieee1275/ofpath.c: New file.
25768 * util/ieee1275/devicemap.c: New file.
25769 * util/devicemap.c: New file.
25770 * util/deviceiter.c: New file.
25771 * kern/sparc64/ieee1275/init.c: New file.
25772 * include/grub/util/ofpath.h: New file.
25773 * include/grub/util/deviceiter.h: New file.
25774 * util/grub-mkdevicemap.c: Include deviceiter.h.
25775 Implement using grub_util_emit_devicemap_entry and
25776 grub_util_iterate_devices.
25777 * conf/i386-corebook.rmk: Build util/deviceiter.c and
25778 util/devicemap.c into grub-mkdevicemap
25779 * conf/i386-efi.rmk: Likewise.
25780 * conf/i386-ieee1275.rmk: Likewise.
25781 * conf/i386-pc.rmk: Likewise.
25782 * conf/powerpc-ieee1275.rmk: Likewise.
25783 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
25784 images and installation utilities. Build kernel as image
25785 instead of as elf binary. Use common rules as much as possible.
25786
7dd4a573 257872009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 25788
25789 Correct GPT definition
25790
7dd4a573 25791 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 25792 of "attrib" member
25793
c6c5219f 257942009-04-19 Felix Zielcke <fzielcke@z-51.de>
25795
25796 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
25797
0552ff9f 257982009-04-19 David S. Miller <davem@davemloft.net>
25799
25800 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
25801 (grub_rescue_cmd_linux): Rename to...
25802 (grub_cmd_linux): and fix prototype.
25803 (grub_rescue_cmd_initrd): Rename to...
25804 (grub_cmd_initrd): and fix prototype.
25805 (cmd_linux, cmd_initrd): New.
25806 (GRUB_MOD_INIT(linux)): Use grub_register_command().
25807 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
25808
d1a282fc 258092009-04-17 Pavel Roskin <proski@gnu.org>
25810
07c5039f 25811 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
25812 format.
25813 (grub_ohci_transfer): Likewise.
25814
b012002d 25815 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
25816
1bc09c35 25817 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
25818 return without a value. Fix inconsistent indentation.
25819
e0ff9126 25820 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
25821 match struct grub_fs.
25822
d1a282fc 25823 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
25824 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
25825 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25826 * commands/lspci.c (grub_lspci_iter): Likewise.
25827
a96df3f2 258282009-04-16 Bean <bean123ch@gmail.com>
25829
25830 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
25831 value.
25832
41bb0fe9 258332009-04-15 Pavel Roskin <proski@gnu.org>
25834
25835 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
25836 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
25837 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
25838 definitions.
25839
596c6970 258402009-04-15 Felix Zielcke <fzielcke@z-51.de>
25841
25842 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 25843 that no multiple data or metadata areas are supported and `Unknown
596c6970 25844 metadata header'.
25845
7dd4a573 258462009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 25847
25848 Move loader out of the kernel
25849
25850 * kern/loader.c: moved to ...
25851 * commands/boot.c: ... moved here
25852 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
25853 * commands/boot.c (grub_cmd_boot): moved here. All users updated
25854 * include/grub/kernel.h (grub_machine_fini): export
25855 * include/grub/loader.h (grub_loader_is_loaded): update declaration
25856 (grub_loader_set): likewise
25857 (grub_loader_unset): likewise
25858 (grub_loader_boot): likewise
25859 * conf/common.rmk: new module boot.mod
25860 (pkglib_MODULES): add boot.mod
25861 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
25862 (grub_emu_SOURCES): likewise
25863 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
25864 (grub_emu_SOURCES): likewise
25865 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
25866 (grub_emu_SOURCES): likewise
25867 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
25868 (grub_emu_SOURCES): likewise
25869 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
25870 (grub_emu_SOURCES): likewise
7dd4a573 25871 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
25872 (grub_emu_SOURCES): likewise
0d5d5653 25873 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 25874 (grub_emu_SOURCES): likewise
0d5d5653 25875
7dd4a573 258762009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 25877
25878 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 25879
5999d619 25880 * kern/misc.c (grub_itoa): Removed function
25881 (grub_ltoa): likewise
25882 (grub_vsprintf): use grub_lltoa
25883
7dd4a573 258842009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 25885
25886 Restore grub-emu
25887
25888 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
25889 * conf/i386-coreboot.rmk: likewise
25890 * conf/i386-ieee1275.rmk: likewise
25891 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25892
20318222 258932009-04-15 Felix Zielcke <fzielcke@z-51.de>
25894
25895 * INSTALL: Add that `./autogen.sh' needs to be run before
25896 `./configure.'.
25897
d05f0df3 258982009-04-14 Bean <bean123ch@gmail.com>
25899
25900 * Makefile.in (pkglib_DATA): Add handler.lst.
25901 (handler.lst): New rule.
25902
25903 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
25904 * conf/i386-coreboot.rmk: Likewise.
25905 * conf/i386-ieee1275.rmk: Likewise.
25906 * conf/i386-efi.rmk: Likewise.
25907 * conf/x86_64-efi.rmk: Likewise.
25908 * conf/powerpc-ieee1275.rmk: Likewise.
25909 * conf/sparc64-ieee1275.rmk: Likewise.
25910
25911 * genhandlerlist.sh: New file.
25912
25913 * genmk.rb: Add rules to generate handler.lst.
25914
25915 * include/grub/normal.h (grub_file_getline): New function definition.
25916 (read_handler_list): Likewise.
25917 (free_handler_list): Likewise.
25918
25919 * include/grub/term.h (grub_term_register_input): Add name parameter
25920 for auto generation of handler.lst.
25921 (grub_term_register_output): Likewise.
25922
25923 * normal/handler.c: New file.
25924
25925 * normal/main.c (get_line): Renamed to grub_file_getline.
25926 (read_config_file): Use the newly renamed grub_file_getline.
25927 (read_command_list): Likewise.
25928 (read_fs_list): Likewise.
25929 (grub_normal_execute): Call read_handler_list to parse handler.lst.
25930 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
25931
25932 * term/efi/console.c (grub_console_init): Add name parameter for auto
25933 generation of handler.lst.
25934 * term/gfxterm.c: Likewise.
25935 * term/i386/pc/at_keyboard.c: Likewise.
25936 * term/i386/pc/console.c: Likewise.
25937 * term/i386/pc/serial.c: Likewise.
25938 * term/i386/pc/vesafb.c: Likewise.
25939 * term/i386/pc/vga.c: Likewise.
25940 * term/i386/pc/vga_text.c: Likewise.
25941 * term/ieee1275/ofconsole.c: Likewise.
25942 * term/usb_keyboard.c: Likewise.
25943
33c846be 259442009-04-14 Bean <bean123ch@gmail.com>
25945
25946 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
25947 properly with null character.
25948
4484e01e 259492009-04-14 Felix Zielcke <fzielcke@z-51.de>
25950
25951 * configure: Remove.
25952 * config.h.in: Likewise.
f93d668e 25953 * stamp-h.in: Likewise.
4484e01e 25954 * DISTLIST: Likewise.
25955 * conf/common.mk: Likewise.
25956 * conf/i386-coreboot.mk: Likewise.
25957 * conf/i386-efi.mk: Likewise.
25958 * conf/i386-ieee1275.mk: Likewise.
25959 * conf/i386.mk: Likewise.
25960 * conf/i386-pc.mk: Likewise.
25961 * conf/powerpc-ieee1275.mk: Likewise.
25962 * conf/sparc64-ieee1275.mk: Likewise.
25963 * conf/x86_64-efi.mk: Likewise.
25964
25965 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
25966 develop on GRUB.
25967
7dd4a573 259682009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 25969 David S. Miller <davem@davemloft.net>
25970
25971 * util/hostdisk.c (make_device_name): Fix buffer length
25972 calculations.
25973
e25b5a8c 259742009-04-14 Felix Zielcke <fzielcke@z-51.de>
25975
25976 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
25977 <sys/param.h> and <sys/sysctl.h>.
25978 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
25979 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
25980 opening the device and reset them afterwards.
25981
1f1f580c 259822009-04-13 Pavel Roskin <proski@gnu.org>
25983
25984 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
25985 Reported by John Stanley <jpsinthemix@verizon.net>
25986
7ebc2d6b 259872009-04-13 Robert Millan <rmh@aybabtu.com>
25988
25989 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 25990 that name for menuentries when appropriate.
7ebc2d6b 25991
d8ba3667 259922009-04-13 Felix Zielcke <fzielcke@z-51.de>
25993
25994 * util/grub.d/10_freebsd.in: Add a missing `fi'.
25995
cba416eb 259962009-04-13 Robert Millan <rmh@aybabtu.com>
25997
25998 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
25999 to Linux, simply abort telling the user it's no longer supported.
26000
a547a745 260012009-04-13 Felix Zielcke <fzielcke@z-51.de>
26002
26003 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 26004 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 26005 `freebsd_loadenv' only when devices.hints exist.
26006
232a769c 260072009-04-13 Pavel Roskin <proski@gnu.org>
26008
26009 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
26010
c3012039 260112009-04-13 Felix Zielcke <fzielcke@z-51.de>
26012
26013 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
26014 partition number.
26015 (grub_drive): Likewise.
26016
234022fe 260172009-04-13 David S. Miller <davem@davemloft.net>
26018
26019 * kern/sparc64/ieee1275/ieee1275.c: New file.
26020 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
26021 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
26022 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
26023 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
26024 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
26025 grub_ieee1275_alloc_physmem): Declare new exported functions.
26026
d8e1836c 26027 * include/grub/sparc64/ieee1275/loader.h: New file.
26028 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26029 * include/grub/sparc64/kernel.h: Likewise.
26030 * loader/sparc64/ieee1275/linux.c: Likewise.
26031
96bd81ec 26032 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
26033 (grub_fstest_SOURCES): Likewise.
26034
6a4737e5 26035 * util/hostdisk.c (make_device_name): Do not make any assumptions
26036 about the length of drive names.
26037
1d7a72fd 26038 * kern/dl.c (grub_dl_load_file): Close file immediately when
26039 we are done using it.
26040
56bc2471 260412009-04-12 David S. Miller <davem@davemloft.net>
26042
26043 * kern/misc.c (grub_ltoa): Fix cast when handling negative
26044 values. Noticed by Pavel Roskin.
26045
df38d0bb 26046 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
26047 target compiler.
7dd4a573 26048
e382e93a 26049 * genmk.rb: Add more flexible image type specification, also
26050 pass --strip-unneeded to objcopy.
26051 * conf/i386-pc.rmk: Use *_FORMAT.
26052 * conf/i386-pc.mk: Rebuilt.
26053
f5dbbca9 26054 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
26055 (OFDISK_HASH_SZ): Define.
26056 (ofdisk_hash): New hash table.
26057 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
26058 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
26059 instead of device phandle which is not unique.
26060
91c88b12 26061 * kern/sparc64/ieee1275/init.c: Delete, replace with...
26062 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
26063 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
26064 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
26065 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
26066 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
26067 GRUB_KERNEL_MACHINE_DATA_END): Define.
26068 (grub_kernel_image_size, grub_total_module_size): Declare.
26069
5b5d4aa5 260702009-04-12 Pavel Roskin <proski@gnu.org>
26071
7dd4a573 26072 * configure.ac: Change the logic when we check for target tools.
26073 Do it when the target is specified and it's different from the
26074 specified value of the host.
5b5d4aa5 26075
c91e1793 260762009-04-11 Felix Zielcke <fzielcke@z-51.de>
26077
26078 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
26079 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
26080 GNU/kFreeBSD. Check if a device is a character device. Use
26081 DIOCGMEDIASIZE to get the size.
26082 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
26083 support for GNU/kFreeBSD.
26084 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
26085 is a character device instead of a block device. Add support for
26086 FreeBSD device names.
26087
26088 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
26089 is a character device instead of a block device.
26090
26091 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
26092 is a character device instead of a block device.
26093
b1ac8644 260942009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
26095
26096 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
26097 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
26098 FreeBSD. Check if a device is a character device. Use
26099 DIOCGMEDIASIZE to get the size.
26100 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
26101 support for FreeBSD.
26102 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
26103 is a character device instead of a block device. Add support for
26104 FreeBSD device names.
26105
26106 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
26107 a character device instead of a block device.
26108 (grub_util_check_char_device): New function.
26109
26110 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
26111 a character device instead of a block device.
26112
26113 * include/grub/util/getroot.h (grub_util_check_char_device): New
26114 prototype.
26115
a3f7515a 261162009-04-11 David S. Miller <davem@davemloft.net>
26117
26118 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
26119 static libgcc.
26120 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
26121 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
26122 function, if present.
26123 (__bswapdi2): Likewise.
26124
0d44993d 26125 * include/grub/sparc64/ieee1275/boot.h: New file.
26126 * boot/sparc64/ieee1275/boot.S: Likewise.
26127 * boot/sparc64/ieee1275/diskboot.S: Likewise.
26128
ed3d2bc2 26129 * kern/misc.c (grub_ltoa): New function.
26130 (grub_vsprintf): Use it to format 'long' integers.
26131
d3bfb59c 261322009-04-10 David S. Miller <davem@davemloft.net>
26133
26134 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
26135 slots are of type grub_ieee1275_cell_t.
26136 (grub_nand_read): Likewise.
26137 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
26138 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
26139 macros are used to compare values in arg/ret block of the call.
26140 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26141 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
26142 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
26143 grub_ieee1275_instance_to_path, grub_ieee1275_write,
26144 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
26145 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
26146 grub_ieee1275_close, grub_ieee1275_set_property,
26147 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
26148 grub_ieee1275_cell_t.
26149 * kern/ieee1275/openfw.c (grub_map): Likewise.
26150 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
26151 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
26152
450e2238 26153 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
26154 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
26155 (grub_devalias_iterate): Likewise.
26156
7dd4a573 261572009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 26158
26159 UFS improvements
26160
26161 * fs/ufs.c (INODE_NBLOCKS): new definition
26162 (struct grub_ufs_dirent): added fields for non-BSD dirents
26163 (grub_ufs_get_file_block): fixed double indirect handling
26164 (grub_ufs_lookup_symlink): use more robust way to determine whether
26165 symlink is inline
26166 (grub_ufs_find_file): support for non-BSD dirents
26167 (grub_ufs_dir): support for non-BSD dirents
26168
e7e6862a 261692009-04-10 Bean <bean123ch@gnail.com>
26170
26171 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
26172 attribute, otherwise the size would be wrong for i386 platform.
26173
26174 * include/grub/pci.h (grub_pci_read_word): New inline function.
26175 (grub_pci_read_byte): Likewise.
26176 (grub_pci_write): Likewise.
26177 (grub_pci_write_word): Likewise.
26178 (grub_pci_write_byte): Likewise.
26179
26180 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
26181
26182 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
26183 (find_framebuf): Scan pci to locate the frame buffer address.
26184
26185 * commands/efi/fixvideo.c: New file.
26186
26187 * commands/efi/loadbios.c: Likewise.
26188
26189 * commands/memrw.c: Likewise.
26190
26191 * util/grub-dumpbios.in: Likewise.
26192
26193 * conf/common.rmk (grub-dumpbios): New utility.
26194 (pkglib_MODULES): New module memrw.mod.
26195 (memrw_mod_SOURCE): New macro.
26196 (memrw_mod_CFLAGS): Likewise.
26197 (memrw_mod_LDFLAGS): Likewise.
26198
7dd4a573 26199 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 26200 fixvideo.mod.
26201 (loadbios_mod_SOURCE): New macro.
26202 (loadbios_mod_CFLAGS): Likewise.
26203 (loadbios_mod_LDFLAGS): Likewise.
26204 (fixvideo_mod_SOURCE): Likewise.
26205 (fixvideo_mod_CFLAGS): Likewise.
26206 (fixvideo_mod_LDFLAGS): Likewise.
26207
7dd4a573 26208 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 26209 fixvideo.mod.
26210 (loadbios_mod_SOURCE): New macro.
26211 (loadbios_mod_CFLAGS): Likewise.
26212 (loadbios_mod_LDFLAGS): Likewise.
26213 (fixvideo_mod_SOURCE): Likewise.
26214 (fixvideo_mod_CFLAGS): Likewise.
26215 (fixvideo_mod_LDFLAGS): Likewise.
26216
af63ada2 262172009-04-08 Felix Zielcke <fzielcke@z-51.de>
26218
26219 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
26220
c2cdde70 262212009-04-07 David S. Miller <davem@davemloft.net>
26222
26223 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
26224 support for R_SPARC_OLO10 relocations. Fix compile warning for
26225 R_SPARC_WDISP30 case.
ea3f72cf 26226 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 26227
761319cf 262282009-04-06 Pavel Roskin <proski@gnu.org>
26229
1007d1f5 26230 * include/grub/misc.h (ARRAY_SIZE): New macro.
26231 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
26232 New macro.
26233 * loader/i386/linux.c (allocate_pages): Use free_pages().
26234 (grub_linux_unload): Don't use free_pages().
26235 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
26236 wrong index. Treat all other modes as text modes.
26237 (grub_cmd_linux): Initialize vid_mode unconditionally to
26238 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
26239
761319cf 26240 * commands/help.c (print_command_help): Use cmd->prio, not
26241 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
26242
ea761d40 262432009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 26244
ea761d40 26245 Parttool
26246
26247 * parttool/pcpart.c: new file
26248 * commands/parttool.c: likewise
26249 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
26250 (parttool_mod_SOURCES): new variable
26251 (parttool_mod_CFLAGS): likewise
26252 (parttool_mod_LDFLAGS): likewise
26253 (pcpart_mod_SOURCES): likewise
26254 (pcpart_mod_CFLAGS): likewise
26255 (pcpart_mod_LDFLAGS): likewise
7dd4a573 26256 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 26257 and parttool/pcpart.c
26258 * conf/i386-efi.rmk: likewise
26259 * conf/i386-ieee1275.rmk: likewise
26260 * conf/i386-pc.rmk: likewise
26261 * conf/powerpc-ieee1275.rmk: likewise
26262 * conf/sparc64-ieee1275.rmk: likewise
26263 * conf/x86_64-ieee1275.rmk: likewise
26264
05aaebfb 262652009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26266
26267 Support for mtime and further expandability of dir command
26268
26269 * include/grub/lib/datetime.h: moved to ...
7dd4a573 26270 * include/grub/datetime.h: ... moved here and added
05aaebfb 26271 declaration of grub_unixtime2datetime. All users updated
7dd4a573 26272 * include/grub/fs.h: new syntax for dir and mtime functions in
26273 struct grub_fs
05aaebfb 26274 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
26275 and GRUB_FSHELP_FLAGS_MASK
26276 * commands/ls.c (grub_ls_list_files): Write mtime in long format
26277 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
26278 (grub_ext2_mtime): new function
26279 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
26280 (grub_hfsplus_mtime): new function
26281 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
26282 (GRUB_UFS_ATTR_FILE): likewise
26283 (GRUB_UFS_ATTR_LNK): likewise
26284 (struct grub_ufs_sblock): new fields mtime
26285 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
26286 all users updated
26287 (grub_ufs_dir): mtime support
26288 (grub_ufs_mtime): new function
26289 * fs/affs.c (grub_affs_dir): use new dir syntax
26290 * fs/afs.c (grub_afs_dir): likewise
26291 * fs/cpio.c (grub_cpio_dir): likewise
26292 * fs/fat.c (grub_fat_find_dir): likewise
26293 * fs/hfs.c (grub_hfs_dir): likewise
26294 * fs/iso9660.c (grub_iso9660_dir): likewise
26295 * fs/jfs.c (grub_jfs_dir): likewise
26296 * fs/minix.c (grub_minix_dir): likewise
26297 * fs/ntfs.c (grub_ntfs_dir): likewise
26298 * fs/reiserfs.c (grub_reiserfs_dir): likewise
26299 * fs/sfs.c (grub_sfs_dir): likewise
26300 * fs/xfs.c (grub_xfs_dir): likewise
26301 * util/hostfs.c (grub_hostfs_dir): likewise
26302 * lib/datetime.c: moved to ...
26303 * normal/datetime.c: ... moved here
26304 (grub_unixtime2datetime): new function
26305 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 26306 * normal/completion.c (iterate_dir): use new dir syntax
26307 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 26308 last modification time of a volume
7dd4a573 26309 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 26310 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 26311 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 26312 (normal_mod_SOURCES): likewise
26313 (datetime_mod_SOURCES): Removed lib/datetime.c
26314 * conf/i386-efi.rmk: likewise
7dd4a573 26315 * conf/i386-ieee1275.rmk: likewise
05aaebfb 26316 * conf/i386-pc.rmk: likewise
26317 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 26318 * conf/sparc64-ieee1275.rmk: likewise
26319 * conf/x86_64-efi.rmk: likewise
05aaebfb 26320
8a7e1a14 263212009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26322
26323 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 26324
26325 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 26326 on grub_fat_find_dir
26327 (grub_fat_find_dir): use grub_fat_iterate_dir
26328 (grub_fat_label): likewise
26329
04186a9c 263302009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26331
7dd4a573 26332 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 26333 and command.h
26334 remove extraneous kernel_elf_HEADERS
26335
da4c0bb6 263362009-04-04 Bean <bean123ch@gnail.com>
26337
26338 * include/grub/util/misc.h: Add dummy function fsync for mingw.
26339
26340 * util/misc.c: Likewise.
26341
54ad9555 263422009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26343
26344 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
26345 instead of grub_printf.
26346
7a6bf9f2 263472009-04-03 Robert Millan <rmh@aybabtu.com>
26348
26349 * loader/i386/linux.c (grub_linux_setup_video): Fill
26350 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
26351 values from `mode info' structure instead of hardcoded
26352 values.
26353
3fcc2083 263542009-04-01 Pavel Roskin <proski@gnu.org>
26355
26356 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
26357 unused now.
26358 * genmk.rb: Likewise.
26359 * configure.ac: Likewise.
26360
5ec9740b 263612009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
26362
26363 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
26364 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
26365
5270cec8 263662009-04-01 David S. Miller <davem@davemloft.net>
26367
26368 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 26369 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 26370 (grub_setjmp): Mark with 'returns_twice' attribute.
26371 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
26372 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
26373 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
26374
9c3dd854 263752009-04-01 Robert Millan <rmh@aybabtu.com>
26376
26377 Reapply fix from 2008-07-28 which was accidentally reverted; also
26378 perform the same fix to a similar check in same function.
26379
26380 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
26381 with the same number are found, just use issue a warning with
26382 grub_dprintf(), as this error has been reported to be non-fatal.
26383
0d818b7e 263842009-03-31 Pavel Roskin <proski@gnu.org>
26385
26386 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
26387 for cross-compilation.
26388
95646d92 263892009-03-30 Robert Millan <rmh@aybabtu.com>
26390
26391 Fix i386-ieee1275 build.
26392
26393 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
26394 Remove declaration.
26395
6a003ed1 263962009-03-30 Pavel Roskin <proski@gnu.org>
26397
26398 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
26399 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
26400 zero-terminated, rely only on the strlen value. Fix comparison
26401 of strings differing in length.
26402
92f33540 264032009-03-30 Robert Millan <rmh@aybabtu.com>
26404
26405 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
26406 checking for abi version. Improve error messages on BIOS to notify
26407 user about `linux16' command.
26408
a8c48fd5 264092009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
26410
f968172e 26411 Leak fixes
a8c48fd5 26412
f968172e 26413 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
26414 in case of collision
26415 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 26416
9c323f09 264172009-03-29 Robert Millan <rmh@aybabtu.com>
26418
26419 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
26420 set `vid_mode' accordingly.
26421 (grub_linux_boot): Process `vid_mode' and set video mode.
26422
ae68f423 264232009-03-29 Robert Millan <rmh@aybabtu.com>
26424
26425 * util/grub.d/10_linux.in (linux_entry): New function.
26426 Factorize generation of Linux boot entries.
26427
5709cfc4 264282009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
26429
26430 Make the format of Environment Block plain text. The boot loader
26431 part is not tested well yet.
7dd4a573 26432
5709cfc4 26433 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
26434 (buffer): Removed.
26435 (envblk): Likewise.
26436 (usage): Remove "info" and "clear". Add "unset". Update the
26437 description of "set", as this does not delete variables any
26438 longer.
26439 (create_envblk_file): Complete rewrite.
26440 (open_envblk_file): Likewise.
26441 (cmd_info): Removed.
26442 (cmd_list): Likewise.
26443 (cmd_set): Likewise.
26444 (cmd_clear): Likewise.
26445 (list_variables): New function.
26446 (write_envblk): Likewise.
26447 (set_variables): Likewise.
26448 (unset_variables): Likewise.
26449 (main): Complete rewrite.
26450
26451 * commands/loadenv.c (buffer): Removed.
26452 (envblk): Likewise.
26453 (open_envblk_file): New function.
26454 (read_envblk_file): Complete rewrite.
26455 (grub_cmd_load_env): Likewise.
26456 (grub_cmd_list_env): Likewise.
26457 (struct blocklist): New struct.
26458 (free_blocklists): New function.
26459 (check_blocklists): Likewise.
26460 (write_blocklists): Likewise.
26461 (grub_cmd_save_env): Complete rewrite.
26462
26463 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
26464 a plain text signature.
26465 (GRUB_ENVBLK_MAXLEN): Removed.
26466 (struct grub_envblk): Complete rewrite.
26467 (grub_envblk_find): Removed.
26468 (grub_envblk_insert): Likewise.
26469 (grub_envblk_open): New prototype.
26470 (grub_envblk_set): Likewise.
26471 (grub_envblk_delete): Put const to VALUE.
26472 (grub_envblk_iterate): Put const to NAME and VALUE.
26473 (grub_envblk_close): New prototype.
26474 (grub_envblk_buffer): New inline function.
26475 (grub_envblk_size): Likewise.
26476
26477 * lib/envblk.c: Include grub/mm.h.
26478 (grub_env_find): Removed.
26479 (grub_envblk_open): New function.
26480 (grub_envblk_close): Likewise.
26481 (escaped_value_len): Likewise.
26482 (find_next_line): Likewise.
26483 (grub_envblk_insert): Removed.
26484 (grub_envblk_set): New function.
26485 (grub_envblk_delete): Complete rewrite.
26486 (grub_envblk_iterate): Likewise.
26487
a9368fd3 264882009-03-28 Robert Millan <rmh@aybabtu.com>
26489
26490 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
26491 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
26492 variables. Use 16-bit loader.
26493 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
26494 loader.
26495 * kern/i386/loader.S (grub_linux_boot): Rename to ...
26496 (grub_linux16_boot): ... this. Update all users.
26497 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
26498 (grub_linux_boot): ... this. Update all users.
26499
26500 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
26501 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
26502 commands to `linux16' and `initrd16'.
26503 (GRUB_MOD_FINI(linux)): Rename to ...
26504 (GRUB_MOD_FINI(linux16)): ... this.
26505
e4dd5a7e 265062009-03-24 Pavel Roskin <proski@gnu.org>
26507
26508 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
26509 not just for compilation.
26510
c04d6e05 265112009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
26512
26513 Move multiboot helper out of kernel
26514
26515 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
26516 `loader/i386/multiboot_helper.S'.
26517 * conf/i386-coreboot.rmk: Likewise
26518 * conf/i386-ieee1275.rmk: Likewise
26519
26520 * kern/i386/loader.S: Move multiboot helpers from here...
26521 * loader/i386/multiboot_helper.S: ...moved here
26522 * include/grub/i386/loader.h: Move declarations of multiboot
26523 helpers from here...
26524 * include/grub/i386/multiboot.h: ...moved here
26525 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
26526
42a5b3fc 265272009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
26528
26529 * kern/env.c (grub_env_context_open): Added an argument to specify
26530 whether a new context inherits exported variables from current
26531 one. This is useful when making a sandbox to interpret a config
26532 file.
26533 All callers updated.
26534
26535 * include/grub/env.h (grub_env_context_open): Updated the prototype.
26536
b28bbc4e 265372009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
26538
26539 * kern/env.c (grub_env_context_close): Fix memory leaks.
26540
f04f02e4 265412009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
26542
26543 * normal/main.c (grub_normal_execute): Added an argument
26544 BATCH to specify if an interactive interface should be provided
26545 after reading a config file.
26546 All callers updated.
26547 (read_command_list): Prevent being executed twice.
26548 (read_fs_list): Likewise.
26549
42a5b3fc 26550 * include/grub/normal.h (grub_normal_execute): Updated the
26551 prototype.
f04f02e4 26552
41473ac2 265532009-03-22 Pavel Roskin <proski@gno.org>
26554
fbc00b0c 26555 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
26556 _start.
26557 * kern/i386/pc/startup.S: Likewise.
26558 * kern/i386/efi/startup.S: Likewise.
26559 * kern/i386/ieee1275/startup.S: Likewise.
26560 * kern/i386/coreboot/startup.S: Likewise.
26561 * kern/x86_64/efi/startup.S: Likewise.
26562
41473ac2 26563 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
26564 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
26565 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
26566
2274cc8f 265672009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
26568
26569 Bugfixes in multiboot for bugs uncovered by solaris kernel.
26570
26571 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
26572 limit detection.
26573 Use vaddr of correct segment for entry_point.
26574
b1b797cb 265752009-03-21 Bean <bean123ch@gmail.com>
26576
26577 * commands/blocklist.c: Add include file <grub/command.h>, remove
26578 <grub/normal.h> and <grub/arg.h>.
26579 (grub_cmd_blocklist): Use the new command interface.
26580 (GRUB_MOD_INIT): Likewise.
26581 (GRUB_MOD_FINI): Likewise.
26582 * commands/boot.c: Likewise.
26583 * commands/cat.c: Likewise.
26584 * commands/cmp.c: Likewise.
26585 * commands/configfile.c: Likewise.
26586 * commands/crc.c: Likewise.
26587 * commands/echo.c: Likewise.
26588 * commands/halt.c: Likewise.
26589 * commands/handler.c: Likewise.
26590 * commands/hdparm.c: Likewise.
26591 * commands/help.c: Likewise.
26592 * commands/hexdump.c: Likewise.
26593 * commands/loadenv.c: Likewise.
26594 * commands/ls.c: Likewise.
26595 * commands/lsmmap.c: Likewise.
26596 * commands/lspci.c: Likewise.
26597 * commands/loadenv.c: Likewise.
26598 * commands/read.c: Likewise.
26599 * commands/reboot.c: Likewise.
26600 * commands/search.c: Likewise.
26601 * commands/sleep.c: Likewise.
26602 * commands/test.c: Likewise.
26603 * commands/usbtest.c: Likewise.
26604 * commands/videotest.c: Likewise.
26605 * commands/i386/cpuid.c: Likewise.
26606 * commands/i386/pc/halt.c: Likewise.
26607 * commands/i386/pc/play.c: Likewise.
26608 * commands/i386/pc/pxecmd.c: Likewise.
26609 * commands/i386/pc/vbeinfo.c: Likewise.
26610 * commands/i386/pc/vbetest.c: Likewise.
26611 * commands/ieee1275/suspend.c: Likewise.
26612 * disk/loopback.c: Likewise.
26613 * font/font_cmd.c: Likewise.
26614 * hello/hello.c: Likewise.
26615 * loader/efi/appleloader.c: Likewise.
26616 * loader/efi/chainloader.c: Likewise.
26617 * loader/i386/bsd.c: Likewise.
26618 * loader/i386/efi/linux.c: Likewise.
26619 * loader/i386/ieee1275/linux.c: Likewise.
26620 * loader/i386/linux.c: Likewise.
26621 * loader/i386/pc/chainloader.c: Likewise.
26622 * loader/i386/pc/linux.c: Likewise.
26623 * loader/powerpc/ieee1275/linux.c: Likewise.
26624 * loader/multiboot_loader.c: Likewise.
26625 * term/gfxterm.c: Likewise.
26626 * term/i386/pc/serial.c: Likewise.
26627 * term/terminfo.c: Likewise.
26628
26629 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
26630 * term/i386/pc/vga.c: Likewise.
26631 * video/readers/jpeg.c: Likewise.
26632 * video/readers/png.c: Likewise.
26633 * video/readers/tga.c: Likewise.
26634
26635 * util/grub-fstest (cmd_loopback): Removed.
26636 (cmd_blocklist): Likewise.
26637 (cmd_ls): Likewise.
26638 (grub_register_command): Likewise.
26639 (grub_unregister_command): Likewise.
26640 (execute_command): Use grub_command_find to locate command and execute
26641 it.
26642
26643 * include/grub/efi/chainloader.h: Removed.
26644 * loader/efi/chainloader_normal.c: Likewise.
26645 * loader/i386/bsd_normal.c: Likewise.
26646 * loader/i386/pc/chainloader_normal.c: Likewise.
26647 * loader/i386/pc/multiboot_normal.c: Likewise.
26648 * loader/linux_normal.c: Likewise.
26649 * loader/multiboot_loader_normal.c: Likewise.
26650 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26651
26652 * gencmdlist.sh: Scan new registration command grub_register_extcmd
26653 and grub_register_command_p1.
26654
26655 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
26656 kern/command.c, lib/arg.c and commands/extcmd.c.
26657 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
26658 (minicmd_mod_SOURCES): New variable.
26659 (minicmd_mod_CFLAGS): Likewise.
26660 (minicmd_mod_LDFLAGS): Likewise.
26661 (extcmd_mod_SOURCES): Likewise.
26662 (extcmd_mod_CFLAGS): Likewise.
26663 (extcmd_mod_LDFLAGS): Likewise.
26664 (boot_mod_SOURCES): Removed.
26665 (boot_mod_CFLAGS): Likewise.
26666 (boot_mod_LDFLAGS): Likewise.
26667
26668 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
26669 kern/corecmd.c.
26670 (kernel_img_HEADERS): Add command.h.
26671 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
26672 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
26673 and lib/arg.c.
26674 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
26675 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
26676 remove the corresponding normal mode command.
26677 (normal_mod_SOURCES): Remove normal/arg.c.
26678 * conf/i386-coreboot.rmk: Likewise.
26679 * conf/i386-efi.rmk: Likewise.
26680 * conf/i386-ieee1275.rmk: Likewise.
26681 * conf/powerpc-ieee1275.rmk: Likewise.
26682 * conf/x86_64-efi.rmk: Likewise.
26683
26684 * include/grub/arg.h: Move from here ...
26685 * include/grub/lib/arg.h: ... to here.
26686
26687 * normal/arg.c: Move from here ...
26688 * lib/arg.c: ... to here.
26689
26690 * commands/extcmd.c: New file.
26691 * commands/minicmd.c: Likewise.
26692 * include/grub/command.h: Likewise.
26693 * include/grub/extcmd.h: Likewise.
26694 * kern/command.c: Likewise.
26695 * kern/corecmd.c: Likewise.
26696
26697 * kern/list.c (grub_list_iterate): Return int instead of void.
26698 (grub_list_insert): New function.
26699 (grub_prio_list_insert): Likewise.
26700
26701 * kern/rescue.c (grub_rescue_command): Removed.
26702 (grub_rescue_command_list): Likewise.
26703 (grub_rescue_register_command): Likewise.
26704 (grub_rescue_unregister_command): Likewise.
26705 (grub_rescue_cmd_boot): Move to minicmd.c
26706 (grub_rescue_cmd_help): Likewise.
26707 (grub_rescue_cmd_info): Likewise.
26708 (grub_rescue_cmd_boot): Likewise.
26709 (grub_rescue_cmd_testload): Likewise.
26710 (grub_rescue_cmd_dump): Likewise.
26711 (grub_rescue_cmd_rmmod): Likewise.
26712 (grub_rescue_cmd_lsmod): Likewise.
26713 (grub_rescue_cmd_exit): Likewise.
26714 (grub_rescue_print_devices): Moved to corecmd.c.
26715 (grub_rescue_print_files): Likewise.
26716 (grub_rescue_cmd_ls): Likewise.
26717 (grub_rescue_cmd_insmod): Likewise.
26718 (grub_rescue_cmd_set): Likewise.
26719 (grub_rescue_cmd_unset): Likewise.
7d074e3c 26720 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 26721 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 26722 commands, remove grub_rescue_register_command calls.
b1b797cb 26723
7d074e3c 26724 * normal/command.c (grub_register_command): Removed.
b1b797cb 26725 (grub_unregister_command): Likewise.
26726 (grub_command_find): Likewise.
26727 (grub_iterate_commands): Likewise.
26728 (rescue_command): Likewise.
26729 (export_command): Moved to corecmd.c.
26730 (set_command): Removed.
26731 (unset_command): Likewise.
26732 (insmod_command): Likewise.
26733 (rmmod_command): Likewise.
26734 (lsmod_command): Likewise.
26735 (grub_command_init): Likewise.
26736
26737 * normal/completion.c (iterate_command): Use cmd->prio to check for
26738 active command.
26739 (complete_arguments): Use grub_extcmd_t structure to find options.
26740 (grub_normal_do_completion): Change function grub_iterate_commands to
26741 grub_command_iterate.
26742
26743 * normal/execute.c (grub_script_execute_cmd): No need to parse
26744 argument here.
26745
26746 * normal/main.c (grub_dyncmd_dispatcher): New function.
26747 (read_command_list): Register unload commands as dyncmd.
26748 (grub_cmd_normal): Use new command interface, register rescue,
26749 unregister normal at entry, register normal, unregister rescue at exit.
26750
26751 * include/grub/list.h (grub_list_test_t): New type.
26752 (grub_list_iterate): Return int instead of void.
26753 (grub_list_insert): New function.
26754 (GRUB_AS_NAMED_LIST_P): New macro.
26755 (GRUB_AS_PRIO_LIST): Likewise.
26756 (GRUB_AS_PRIO_LIST_P): Likewise.
26757 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
26758 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
26759 (grub_prio_list): New structure.
26760 (grub_prio_list_insert): New function.
26761 (grub_prio_list_remove): New inline function.
26762
26763 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
26764 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
26765 (GRUB_COMMAND_FLAG_MENU): Likewise.
26766 (GRUB_COMMAND_FLAG_BOTH): Likewise.
26767 (GRUB_COMMAND_FLAG_TITLE): Likewise.
26768 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
26769 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
26770 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
26771 (grub_command): Likewise.
26772 (grub_register_command): Likewise.
26773 (grub_command_find): Likewise.
26774 (grub_iterate_commands): Likewise.
26775 (grub_command_init): Likewise.
26776 (grub_arg_parse): Likewise.
26777 (grub_arg_show_help): Likewise.
26778
26779 * include/grub/rescue.h (grub_rescue_register_command): Removed.
26780 (grub_rescue_unregister_command): Likewise.
26781
26782 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
26783 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
26784 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
26785
26786 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
26787 grub_rescue_cmd_initrd.
26788 * include/grub/i386/loader.h: Likewise.
26789 * include/grub/x86_64/loader.h: Likewise.
26790
26791 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
26792
1f4147aa 267932009-03-21 Bean <bean123ch@gmail.com>
26794
26795 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
26796 instead of stat in mingw environment.
26797
26798 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
26799
26800 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
26801
26802 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
26803 AC_CONFIG_LINKS.
26804
2156d5ba 268052009-03-21 Bean <bean123ch@gmail.com>
26806
26807 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
26808 out of range error.
26809
177b82ca 268102009-03-18 Michel Dänzer <michel@daenzer.net>
26811
26812 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
26813 checking inode flags for EXT4_EXTENTS_FLAG.
26814
14aad807 268152009-03-18 Robert Millan <rmh@aybabtu.com>
26816
26817 * loader/i386/linux.c: Include `<grub/video.h>' and
26818 `<grub/i386/pc/vbe.h>'..
26819 (grub_linux_setup_video): New function. Loosely based on the EFI one.
26820 (grub_linux32_boot): Attempt to configure video settings with
26821 grub_linux_setup_video().
26822 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
26823 to avoid grub_console_fini() which would step out of graphical mode
26824 unconditionally.
26825
8cf83a27 268262009-03-14 Robert Millan <rmh@aybabtu.com>
26827
26828 Fix build on powerpc.
26829 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
26830
40164e75 268312009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
26832
26833 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
26834 background image command.
26835
c58bc32a 268362009-03-12 Colin D Bennett <colin@gibibit.com>
26837
26838 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
26839 (grub_gfxterm_putchar): Extract pairs of identical calls to
26840 draw_cursor out of conditional blocks.
26841
5415144a 268422009-03-11 Pavel Roskin <proski@gnu.org>
26843
26844 * fs/hfs.c (grub_hfs_strncasecmp): New function.
26845 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
26846
6394042e 268472009-03-11 Robert Millan <rmh@aybabtu.com>
26848
26849 * loader/i386/multiboot_elfxx.c
26850 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
26851
b7b50e5f 268522009-03-11 Felix Zielcke <fzielcke@z-51.de>
26853
26854 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
26855 `kern/handler.c'.
26856
1ca7fc96 268572009-03-11 Robert Millan <rmh@aybabtu.com>
26858
26859 * loader/i386/multiboot.c (code_size): New variable.
26860 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 26861 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 26862 4-byte alignment to MBI and others by increasing
7d074e3c 26863 `boot_loader_name_length' appropriately.
1ca7fc96 26864
26865 * loader/i386/multiboot_elfxx.c
26866 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
26867
a83ea1d2 268682009-03-09 Felix Zielcke <fzielcke@z-51.de>
26869
26870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
26871 `fs/ext2.c'.
26872
aa9f3bff 268732009-03-08 Robert Millan <rmh@aybabtu.com>
26874
26875 Make loader/i386/linux.c usable on i386-pc again.
26876
26877 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
26878 memory to heap.
26879 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
26880 `#error' stanza.
26881
d8b3b60e 268822009-03-07 Bean <bean123ch@gmail.com>
26883
26884 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
26885 allocation.
26886
b362c9e9 268872009-03-06 Robert Millan <rmh@aybabtu.com>
26888
26889 Fix display issue on terminals with screen size other than 80x25
26890 (e.g. gfxterm with resolution higher than 640x480).
26891
26892 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 26893 position relative to the center of the terminal instead of relying
b362c9e9 26894 on a hardcoded offset.
26895
9304eef1 268962009-03-04 Robert Millan <rmh@aybabtu.com>
26897
26898 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
26899 installed.
26900
26901 * Makefile.in (host_kernel): New variable.
26902 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
26903 scripts instead of just the windows one.
26904 * configure.ac: Initialize and AC_SUBST `host_kernel'.
26905
eabc95fb 269062009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 26907
26908 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
26909 `kern/handler.c'.
26910 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26911 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26912 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26914 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26916
ceb1223c 269172009-03-04 Felix Zielcke <fzielcke@z-51.de>
26918
26919 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
26920 or if there's no space for the disk label and print the partition number on a
26921 invalid magic.
26922
4910684a 269232009-03-04 Felix Zielcke <fzielcke@z-51.de>
26924
26925 * util/misc.c: Include <time.h>.
26926 (grub_millisleep): New function.
26927
7e9ca17a 269282009-03-04 Bean <bean123ch@gmail.com>
26929
26930 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
26931 another option -mno-red-zone.
26932
26933 * commands/handler.c: Change module description.
26934
26935 * kern/handler.c: Add missing space at the end of description line.
26936
26937 * kern/list.c: Likewise.
26938
f501677c 269392009-03-03 Robert Millan <rmh@aybabtu.com>
26940
26941 Move more components to the relocation area, and fix mbi pointer
26942 handling to use the destination rather than the origin (thanks to
26943 Vladimir Serbinenko for spotting).
26944
26945 * loader/i386/multiboot.c (mbi_dest): New variable.
26946 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
26947 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
26948 relocation area.
26949
9902d047 269502009-03-01 Bean <bean123ch@gmail.com>
26951
50fb7002 26952 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 26953 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
26954 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
26955 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
26956
26957 * loader/i386/efi/linux.c (acpi_guid): New variable.
26958 (acpi_guid): Likewise.
26959 (EBDA_SEG_ADDR): New constant.
26960 (LOW_MEM_ADDR): Likewise.
26961 (FAKE_EBDA_SEG): Likewise.
26962 (fake_bios_data): New function.
26963 (grub_linux_boot): Call fake_bios_data.
26964
71b9f361 269652009-03-01 Bean <bean123ch@gmail.com>
26966
26967 * commands/terminal.c: Removed.
26968
26969 * commands/handler.c: New file.
26970
26971 * include/grub/list.h: Likewise.
26972
26973 * include/grub/handler.h: Likewise.
26974
26975 * kern/list.c: Likewise.
26976
26977 * kern/handler.c: Likewise.
26978
26979 * kern/term.h: Include header file <grub/handler.h>.
26980 (grub_term_input): Move next field to the beginning.
26981 (grub_term_output): Likewise.
26982 (grub_term_input_class): New variable.
26983 (grub_term_output_class): Likewise.
26984 (grub_term_register_input): Changed to inline function.
26985 (grub_term_register_output): Likewise.
26986 (grub_term_unregister_input): Likewise.
26987 (grub_term_unregister_output): Likewise.
26988 (grub_term_set_current_input): Likewise.
26989 (grub_term_set_current_output): Likewise.
26990 (grub_term_get_current_input): Likewise.
26991 (grub_term_get_current_output): Likewise.
26992 (grub_term_iterate_input): Removed.
26993 (grub_term_iterate_output): Likewise.
26994
26995 * kern/term.c (grub_term_list_input): Removed.
26996 (grub_term_list_output): Likewise.
26997 (grub_term_input_class): New variable.
26998 (grub_term_output_class): Likewise.
50fb7002 26999 (grub_cur_term_input): Change variable as macro.
71b9f361 27000 (grub_cur_term_output): Likewise.
27001 (grub_term_register_input): Removed.
27002 (grub_term_register_output): Likewise.
27003 (grub_term_unregister_input): Likewise.
27004 (grub_term_unregister_output): Likewise.
27005 (grub_term_set_current_input): Likewise.
27006 (grub_term_set_current_output): Likewise.
27007 (grub_term_iterate_input): Likewise.
27008 (grub_term_iterate_output): Likewise.
27009 (grub_term_get_current_input): Likewise.
27010 (grub_term_get_current_output): Likewise.
27011
27012 * util/grub-editenv.c: Include header file <grub/handler.h>.
27013 (grub_term_get_current_input): Removed.
27014 (grub_term_get_current_output): Likewise.
27015 (grub_term_input_class): New variable.
50fb7002 27016 (grub_term_output_class): Likewise.
71b9f361 27017
27018 * util/grub-fstest.c (grub_term_get_current_input): Removed.
27019 (grub_term_get_current_output): Likewise.
27020 (grub_term_input_class): New variable.
50fb7002 27021 (grub_term_output_class): Likewise.
71b9f361 27022
27023 * util/grub-probe.c (grub_term_get_current_input): Removed.
27024 (grub_term_get_current_output): Likewise.
27025 (grub_term_input_class): New variable.
50fb7002 27026 (grub_term_output_class): Likewise.
71b9f361 27027
27028 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
27029 (grub_term_get_current_output): Likewise.
27030 (grub_term_input_class): New variable.
50fb7002 27031 (grub_term_output_class): Likewise.
71b9f361 27032
27033 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
27034 (terminal_mod_SOURCES): Likewise.
27035 (terminal_mod_CFLAGS): Likewise.
27036 (terminal_mod_LDFLAGS): Likewise.
27037
27038 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
27039 handler.c.
27040 (kernel_img_SOURCES): Add list.c and handler.c.
27041 (kernel_img_HEADERS): Add list.h and handler.h.
27042
27043 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27044 handler.c.
27045 (kernel_mod_SOURCES): Add list.c and handler.c.
27046 (kernel_mod_HEADERS): Add list.h and handler.h.
27047
27048 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
27049 handler.c.
27050 (kernel_elf_SOURCES): Add list.c and handler.c.
27051 (kernel_elf_HEADERS): Add list.h and handler.h.
27052
27053 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27054 handler.c.
27055 (kernel_elf_SOURCES): Add list.c and handler.c.
27056 (kernel_elf_HEADERS): Add list.h and handler.h.
27057
27058 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27059 handler.c.
27060 (kernel_mod_SOURCES): Add list.c and handler.c.
27061 (kernel_mod_HEADERS): Add list.h and handler.h.
27062
27063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27064 handler.c.
27065 (kernel_elf_SOURCES): Add list.c and handler.c.
27066 (kernel_elf_HEADERS): Add list.h and handler.h.
27067
8a31787f 270682009-02-27 Robert Millan <rmh@aybabtu.com>
27069
27070 Factorize elf32 / elf64 code in Multiboot loader. This will
27071 prevent it from getting out of sync again.
27072
27073 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
27074 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
27075 grub_multiboot_load_elf64): Move from here ...
27076 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
27077 grub_multiboot_load_elf): ... to here (new file).
27078
51cd3dfc 270792009-02-27 Robert Millan <rmh@aybabtu.com>
27080
27081 * util/grub.d/10_linux.in: Rename "single-user mode" to
27082 "recovery mode".
27083
6e8c9c3a 270842009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
27085
27086 Don't leak in SCSI code.
27087 * disk/scsi.c (grub_scsi_close): free `scsi'.
27088
4b6bf4f9 270892009-02-27 Robert Millan <rmh@aybabtu.com>
27090
27091 * loader/i386/pc/multiboot.c: Move from here ...
27092 * loader/i386/multiboot.c: ... to here. Update all users.
27093
b9413424 270942009-02-27 Robert Millan <rmh@aybabtu.com>
27095
27096 Patch from Alexandre Bique <bique.alexandre@gmail.com>
27097 * util/i386/pc/grub-setup.c (setup): Fix directory path.
27098
50fb7002 270992009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 27100
27101 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
27102 b-tree.
27103
8cc50345 271042009-02-27 Robert Millan <rmh@aybabtu.com>
27105
27106 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
27107 `0x' qualifier as 0 when base is specified as parameter).
27108
6e09b8b7 271092009-02-24 Bean <bean123ch@gmail.com>
27110
27111 * configure.ac: Check for -mcmodel=large in x86_64 target.
27112
27113 * include/grub/efi/api.h (efi_call_10): New macro.
27114 (efi_wrap_10): New function.
27115
27116 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
27117 (GRUB_PE32_REL_BASED_HIGH): Likewise.
27118 (GRUB_PE32_REL_BASED_LOW): Likewise.
27119 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
27120 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
27121 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
27122 (GRUB_PE32_REL_BASED_SECTION): Likewise.
27123 (GRUB_PE32_REL_BASED_REL): Likewise.
27124 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
27125 (GRUB_PE32_REL_BASED_DIR64): Likewise.
27126 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
27127
27128 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
27129 issue.
27130
27131 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
27132 (efi_wrap_10): New function.
27133
27134 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
27135
27136 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
27137 MB/MBP model (NV chipset).
27138 (devdata_devs): Add devpath_5 to the list.
27139
27140 * load/i386/efi/linux.c (video_base): Remove variable.
27141 (RGB_MASK): New macro.
27142 (RGB_MAGIC): Likewise.
27143 (LINE_MIN): Likewise.
27144 (LINE_MAX): Likewise.
27145 (FBTEST_STEP): Likewise.
27146 (FBTEST_COUNT): Likewise.
27147 (fb_list): New variable.
27148 (grub_find_video_card): Remove function.
27149 (find_framebuf): New function.
27150 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
27151 line length.
27152
27153 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
27154 problem for x86_64.
27155
74b21bee 271562009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
27157
27158 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
27159
27160 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
27161 coding tool name.
27162
a455f472 271632009-02-22 Robert Millan <rmh@aybabtu.com>
27164
27165 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
27166 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
27167 in our relocation, instead of using it directly from heap. Also
27168 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
27169
6374daf3 271702009-02-21 Robert Millan <rmh@aybabtu.com>
27171
27172 Implement USB keyboard support (based on patch by Marco Gerards)
27173
27174 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
27175 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
27176 (usb_keyboard_mod_LDFLAGS): New variables.
27177
27178 * term/usb_keyboard.c: New file.
27179
8fa4ea70 271802009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27181
27182 Corrected wrong declaration
27183
27184 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
27185
353976ac 271862009-02-14 Christian Franke <franke@computer.org>
27187
27188 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
27189 (grub_lspci_iter): Print class code and programming interface byte.
27190
6aa1169b 271912009-02-14 Christian Franke <franke@computer.org>
27192
27193 * gendistlist.sh: Ignore `.svn' directories.
27194
265372ca 271952009-02-14 Felix Zielcke <fzielcke@z-51.de>
27196
27197 * fs/fat.c: Add 2009 to Copyright line.
27198
9ff516f3 271992009-02-14 Christian Franke <franke@computer.org>
27200
27201 * commands/hdparm.c: New file. Provides `hdparm' command
27202 which sends ATA commands via grub_disk_ata_pass_through ().
27203
27204 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
27205
27206 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
27207 and <grub/cpu/io.h> to include/grub/ata.h.
27208 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
27209 (GRUB_CDROM_SECTOR_SIZE): Remove.
27210 (GRUB_ATA_*): Move to include/grub/ata.h.
27211 (GRUB_ATAPI_*): Likewise.
27212 (enum grub_ata_commands): Likewise.
27213 (enum grub_ata_timeout_milliseconds): Likewise.
27214 (struct grub_ata_device): Likewise.
27215 (grub_ata_regset): Likewise.
27216 (grub_ata_regget): Likewise.
27217 (grub_ata_regset2): Likewise.
27218 (grub_ata_regget2): Likewise.
27219 (grub_ata_check_ready): Likewise.
27220 (grub_ata_wait_not_busy): Remove static, exported in
27221 include/grub/ata.h.
27222 (grub_ata_wait_drq): Likewise.
27223 (grub_ata_pio_read): Likewise.
27224
27225 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
27226 function for hdparm.mod.
27227
27228 * include/grub/ata.h: New file, contains declarations from
27229 disk/ata.c.
27230 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
27231
27232 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
27233 (grub_disk_ata_pass_through): New exported variable.
27234
27235 * kern/disk.c (grub_disk_ata_pass_through): New variable.
27236
772e23da 272372009-02-13 Colin D Bennett <colin@gibibit.com>
27238
27239 Support multiple fallback entries, and provide an API to support
27240 executing default+fallback menu entries. Renamed the `terminal' menu
27241 viewer to `text'.
27242
27243 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
27244 variable declaration.
27245 (grub_menu_execute_callback): New structure declaration.
27246 (grub_menu_execute_callback_t): New typedef.
27247 (grub_menu_execute_with_fallback): New function declaration.
27248 (grub_menu_get_entry): Likewise.
27249 (grub_menu_get_timeout): Likewise.
27250 (grub_menu_set_timeout): Likewise.
27251
27252 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
27253
27254 * normal/menu.c (grub_wait_after_message): Moved to
27255 `normal/menu_text.c'.
27256 (draw_border): Likewise.
27257 (print_message): Likewise.
27258 (print_entry): Likewise.
27259 (print_entries): Likewise.
27260 (grub_menu_init_page): Likewise.
27261 (get_entry_number): Likewise.
27262 (print_timeout): Likewise.
27263 (run_menu): Likewise.
27264 (grub_menu_execute_entry): Likewise.
27265 (show_text_menu): Likewise.
27266 (get_and_remove_first_entry_number): New function.
27267 (grub_menu_execute_with_fallback): Likewise.
27268 (get_entry): Renamed to ...
27269 (grub_menu_get_entry): .. this and made it global.
27270 (get_timeout): Renamed to ...
27271 (grub_menu_get_timeout): ... this and made it global.
27272 (set_timeout): Renamed to ...
27273 (grub_menu_set_timeout): ... this and made it global.
27274 (grub_normal_terminal_menu_viewer): Renamed to ...
27275 (grub_normal_text_menu_viewer): ... this.
27276
27277 * normal/menu_text.c: New file. Extracted text-menu-specific code
27278 from normal/menu.c.
27279
27280 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
27281 (normal_mod_SOURCES): Likewise.
27282
27283 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27284 (normal_mod_SOURCES): Likewise.
27285
27286 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27287 (normal_mod_SOURCES): Likewise.
27288
27289 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
27290 (normal_mod_SOURCES): Likewise.
27291
27292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27293 (normal_mod_SOURCES): Likewise.
27294
27295 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27296 (normal_mod_SOURCES): Likewise.
27297
27298 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27299 (normal_mod_SOURCES): Likewise.
27300
16ac430e 273012009-02-11 Robert Millan <rmh@aybabtu.com>
27302
27303 * util/grub.d/00_header.in: Update old reference to `font' command.
27304
06ff20fc 273052009-02-10 Felix Zielcke <fzielcke@z-51.de>
27306
27307 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
27308
27309 Based on patch from Javier Martín.
27310
96da9407 273112009-02-09 Felix Zielcke <fzielcke@z-51.de>
27312
27313 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 27314 to avoid false positives with FAT.
96da9407 27315 (grub_fstest_SOURCES): Likewise.
27316 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27317 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27319 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27320 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27321 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27322
6dca6fe4 273232009-02-09 Felix Zielcke <fzielcke@z-51.de>
27324
06ff20fc 27325 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 27326 bpb.version_specific.fat12_or_fat16.fstype and
27327 bpb.version_specific.fat32.fstype.
27328
2550c62f 273292009-02-08 Robert Millan <rmh@aybabtu.com>
27330
be110b30 27331 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 27332
56978920 273332009-02-08 Robert Millan <rmh@aybabtu.com>
27334
27335 * Makefile.in (host_os, host_cpu): New variables.
27336 (target_os): Remove. Update all users.
27337
d64399b5 273382009-02-08 Marco Gerards <marco@gnu.org>
27339
27340 * Makefile.in (enable_grub_emu_usb): New variable.
27341 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
27342 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
27343 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
27344 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
27345 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
27346 `usbtest.mod' and `usbms.mod'.
27347 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
27348 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
27349 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
27350 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
27351 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
27352 variables.
27353
27354 * disk/usbms.c: New file.
27355
27356 * include/grub/usb.h: Likewise.
27357
27358 * include/grub/usbtrans.h: Likewise.
27359
27360 * include/grub/usbdesc.h: Likewise.
27361
27362 * bus/usb/usbtrans.c: Likewise.
27363
27364 * bus/usb/ohci.c: Likewise.
27365
27366 * bus/usb/uhci.c: Likewise.
27367
27368 * bus/usb/usbhub.c: Likewise.
27369
27370 * bus/usb/usb.c: Likewise.
27371
27372 * commands/usbtest.c: Likewise.
27373
27374 * util/usb.c: Likewise.
50fb7002 27375
d64399b5 27376 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
27377
27378 * configure.ac: Test for libusb presence.
50fb7002 27379
d64399b5 27380 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
27381
2b40d6bb 273822009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
27383
27384 * kern/mm.c: Add more comments.
27385
73a4ce81 273862009-02-08 Robert Millan <rmh@aybabtu.com>
27387
27388 Patch from Javier Martín.
27389 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
27390 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
27391
f821ce59 273922009-02-08 Robert Millan <rmh@aybabtu.com>
27393
27394 * fs/cpio.c: Split tar functionality to ...
27395 * fs/tar.c: ... here (new file). Update all users.
27396
aebfc4b0 273972009-02-07 Robert Millan <rmh@aybabtu.com>
27398
27399 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
27400 backward-incompatible features.
27401
27402 Based on patch from Javier Martín, with some adjustments.
27403
50fb7002 274042009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 27405
27406 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
27407
0bb5115e 274082009-02-07 Robert Millan <rmh@aybabtu.com>
27409
27410 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
27411 position of `disk/lvm.c' to ensure grub_init_all() always picks it
27412 after the RAID stuff.
27413
38a0f8e7 274142009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
27415
50fb7002 27416 Fixes problem when running vbetest command as reported by
38a0f8e7 27417 Vladimir Serbinenko <phcoder@gmail.com>.
27418
27419 * (grub_vbe_set_video_mode): Fixed problem with text modes.
27420
3143cc1c 274212009-02-04 Felix Zielcke <fzielcke@z-51.de>
27422
27423 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
27424 /dev/md/NpN style mdraid devices.
27425
9cba6fce 274262009-02-03 Felix Zielcke <fzielcke@z-51.de>
27427
27428 * util/unifont2pff.rb: Remove.
27429
e507a2c1 274302009-02-03 Felix Zielcke <fzielcke@z-51.de>
27431
27432 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
27433 `#'.
27434
d2c2b4cd 274352009-02-03 Felix Zielcke <fzielcke@z-51.de>
27436
27437 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
27438 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27439 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27440 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27442 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27443 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27444
b4315fb0 274452009-02-02 Christian Franke <franke@computer.org>
27446
27447 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
27448
de3aa260 274492009-02-01 Felix Zielcke <fzielcke@z-51.de>
27450
7c3ff286 27451 * INSTALL: Note that we now require at least autoconf 2.59 and
27452 that LZO is optional.
de3aa260 27453
825a182b 274542009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
27455
27456 Base on patch on bug #24154 created by Tomas Tintera
27457 <trosos@seznam.cz>.
27458
27459 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
27460
a69ef770 274612009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
27462
7c3ff286 27463 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 27464 <bero@arklinux.org>.
27465
27466 * normal/parser.y (script_init): Add missing semicolon.
27467
6fa42fa6 274682009-01-31 Colin D Bennett <colin@gibibit.com>
27469
7c3ff286 27470 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 27471 (free_menu_entry_classes): Added.
27472 (grub_normal_menu_addentry): Added class property handling.
27473 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
27474 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
27475
27476 * normal/menu_viewer.c: New file.
27477
27478 * normal/menu.c (run_menu_entry): Renamed to ...
27479 (grub_menu_execute_entry): ... this and made it as global.
27480 (grub_menu_run): Renamed to ...
27481 (show_text_menu): ... this and made it local.
27482 (show_text_menu): Adapt to new function names.
27483 (grub_normal_terminal_menu_viewer): New global variable.
27484
27485 * include/grub/menu.h: New file.
27486
27487 * include/grub/menu_viewer.h: New file.
27488
27489 * include/grub/normal.h: Added include to grub/menu.h.
27490 (grub_menu_entry): Moved to include/grub/menu.h.
27491 (grub_menu_entry_t): Likewise.
27492 (grub_menu): Likewise.
27493 (grub_menu_t): Likewise.
27494 (grub_normal_terminal_menu_viewer): Added.
27495 (grub_menu_execute_entry): Likewise.
27496 (grub_menu_run): Removed.
27497
27498 * DISTLIST: Added include/grub/menu.h.
27499 Added include/grub/menu_viewer.h.
27500 Added normal/menu_viewer.c.
27501
275022009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
27503
27504 * normal/execute.c (grub_script_execute_menuentry): Changed to use
27505 arglist for menutitle arguments.
27506
27507 * normal/main.c (grub_normal_menu_addentry): Likewise.
27508
27509 * normal/parser.y (menuentry): Likewise.
27510
27511 * normal/script.c (grub_script_create_cmdmenu): Likewise.
27512
27513 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
27514 (grub_script_create_cmdmenu): Likewise.
27515
27516 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
27517
27518 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
27519 changes.
27520
27521 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
27522
27523 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
27524
27525 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
27526
27527 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
27528
27529 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
27530
27531 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
27532
56192c23 275332009-01-30 Christian Franke <franke@computer.org>
27534
27535 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
27536 in option help text.
27537
d72521b3 275382009-01-27 Pavel Roskin <proski@gnu.org>
27539
27540 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
27541
994b5e84 275422009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
27543
27544 * commands/lsmmap.c: Add include to grub/machine/memory.h.
27545
27546 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
27547
27548 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
27549 unregister function.
27550
6a7eab2c 275512009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
27552
27553 * disk/scsi.c (grub_scsi_read): Fix sign problem.
27554
27555 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
27556
27557 * util/grub-mkfont.c (usage): Fix typo.
27558
27559 * util/elf/grub-mkimage.c (load_modules): Fix warning.
27560
1806b56e 275612009-01-26 Daniel Mierswa <impulze@impulze.org>
27562
3fb18f09 27563 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
27564
336e1fb9 27565 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
27566
1806b56e 27567 * kern/misc.c (grub_strcasecmp): New function.
27568 (grub_strcasecmp): Use grub_size_t instead of int for length.
27569 Fix return value.
27570 * include/grub/misc.h: Update function prototypes.
27571
580b2a0f 275722009-01-26 Robert Millan <rmh@aybabtu.com>
27573
27574 * configure.ac: Fix cross-compilation check.
ef257b36 27575
d31c24f1 275762009-01-22 Christian Franke <franke@computer.org>
27577
27578 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
27579 (precision) digit string. Allow `.format2' without `format1' (width).
27580 Limit input chars for `%s' output to `format2' if specified. This is
27581 compatible with standard printf ().
27582
3138b44c 275832009-01-22 Christian Franke <franke@computer.org>
27584
27585 * disk/ata.c (grub_ata_wait_status): Replace by ...
27586 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
27587 other status bits may be invalid while BSY is asserted.
27588 (grub_ata_check_ready): New function.
27589 (grub_ata_cmd): Removed.
27590 (grub_ata_wait_drq): New function.
27591 (grub_ata_strncpy): Remove inline.
27592 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
27593 and error check now done by grub_ata_wait_drq ().
27594 (grub_ata_pio_write): Likewise.
27595 (grub_atapi_identify): Set DEV before check for !BSY. Use
27596 grub_ata_wait_drq () to wait for data.
27597 (grub_ata_device_initialize): Add status register check to
27598 detect missing SATA slave devices. Add debug messages.
27599 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
27600 (grub_atapi_packet): Set DEV before check for !BSY. Replace
27601 transfer loop by grub_ata_pio_write ().
27602 (grub_ata_identify): Set DEV before check for !BSY. Use
27603 grub_ata_wait_drq () to wait for data.
ef257b36 27604 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 27605 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
27606 read/write in one loop. Fix invalid command on write. Fix incomplete
27607 command on (size % batch) == 0. Add missing error check after write of
27608 last block. Add debug messages.
27609 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
27610
59a64ef6 276112009-01-19 Christian Franke <franke@computer.org>
27612
27613 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
27614 (GRUB_ATAPI_IREASON_*): Likewise.
27615 (grub_ata_pio_write): Fix timeout error return.
27616 (grub_atapi_identify): Add grub_ata_wait () after cmd.
27617 (grub_atapi_wait_drq): New function.
27618 (grub_atapi_packet): New parameter `size'.
27619 Use grub_atapi_wait_drq () and direct write instead of
27620 grub_ata_pio_write ().
27621 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
27622 reads the number of bytes requested by the device for each DRQ
27623 assertion.
27624 (grub_atapi_write): Remove old implementation, return not
27625 implemented instead.
27626
1cfe20b3 276272009-01-19 Christian Franke <franke@computer.org>
27628
27629 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
27630 of 512 to calculate data size.
27631 (grub_scsi_read12): Likewise.
27632 (grub_scsi_write10): Likewise.
27633 (grub_scsi_write12): Likewise.
27634 (grub_scsi_read): Adjust size according to blocksize.
27635 Add checks for invalid blocksize and unaligned transfer.
27636
bee5fe5d 276372009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
27638
27639 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
27640
ef257b36 27641 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 27642 width glyphs.
27643
3e643f8c 276442009-01-19 Robert Millan <rmh@aybabtu.com>
27645
27646 * config.guess: Update to latest version from config git.
27647 * config.sub: Likewise.
27648
4fa80998 276492009-01-17 Felix Zielcke <fzielcke@z-51.de>
27650
27651 * Makefile.in: Change font compilation to use new grub-mkfont instead
27652 of java version.
27653
27654 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
27655 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
27656 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27657 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27658 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
27659 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
27660 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
27661 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
27662 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27663
7086085b 276642009-01-16 Christian Franke <franke@computer.org>
27665
27666 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
27667 (enum grub_ata_timeout_milliseconds): New enum.
27668 (grub_ata_wait_status): Add parameter milliseconds.
27669 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
27670 recovery from timed-out commands.
27671 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
27672 return grub_errno instead of REG_ERROR.
27673 (grub_ata_pio_write): Add parameter milliseconds.
27674 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
27675 Pass milliseconds to grub_ata_wait_status () and
27676 grub_ata_pio_read ().
27677 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
27678 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
27679 grub_ata_wait_status (). Fix IDENTIFY timeout check.
27680 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
27681 It is not suitable for device detection, because DEV bit is ignored,
27682 the command may run too long, and not all devices set the signature
27683 properly.
27684 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
27685 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
27686 Fix device selection, DEV bit must be set first to address the registers
27687 of the correct device.
27688 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
27689 grub_ata_pio_read/write ().
27690 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
27691 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
27692
4a412913 276932009-01-13 Carles Pina i Estany <carles@pina.cat>
27694
27695 * util/grub-editenv.c (main): Use fseeko(), not fseek().
27696
7795c55e 276972009-01-13 Bean <bean123ch@gmail.com>
d913988c 27698
27699 * util/grub-mkfont.c (write_font): forget to remove some debug code.
27700
7795c55e 277012009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 27702
27703 * Makefile.in: (enable_grub_mkfont): New variable.
27704 (freetype_cflags): Likewise.
27705 (freetype_libs): Likewise.
27706
27707 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
27708 (grub_mkfont_SOURCES): New variable.
27709 (grub_mkfont_CFLAGS): Likewise.
27710 (grub_mkfont_LDFLAGS): Likewise.
27711
27712 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
27713 library if `--enable-grub-mkfont' is requested.
27714 (enable_grub_mkfont): New variable.
27715 (freetype_cflags): Likewise.
27716 (freetype_libs): Likewise.
27717
27718 * util/grub-mkfont.c: New file.
27719
093af1fe 277202009-01-12 Christian Franke <franke@computer.org>
27721
27722 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
27723 mode check. Fix setting of compat_use[].
27724
f36cc108 277252009-01-10 Robert Millan <rmh@aybabtu.com>
27726
27727 Update a few copyright years which we forgot to do in 2008 (only for
27728 files whose changes made in 2008 were copyright-significant)
27729
27730 * Makefile.in: Add 2008 to Copyright line.
27731 * disk/ieee1275/ofdisk.c: Likewise.
27732 * disk/efi/efidisk.c: Likewise.
27733 * kern/dl.c: Likewise.
27734 * kern/sparc64/ieee1275/init.c: Likewise.
27735 * kern/mm.c: Likewise.
27736 * kern/efi/mm.c: Likewise.
27737 * boot/i386/pc/boot.S: Likewise.
27738 * genfslist.sh: Likewise.
27739 * fs/iso9660.c: Likewise.
27740 * fs/hfs.c: Likewise.
27741 * fs/jfs.c: Likewise.
27742 * fs/minix.c: Likewise.
27743 * fs/ufs.c: Likewise.
27744 * gensymlist.sh.in: Likewise.
27745 * genkernsyms.sh.in: Likewise.
27746 * include/grub/misc.h: Likewise.
27747 * include/grub/types.h: Likewise.
27748 * include/grub/symbol.h: Likewise.
27749 * include/grub/elf.h: Likewise.
27750 * include/grub/kernel.h: Likewise.
27751 * include/grub/disk.h: Likewise.
27752 * include/grub/dl.h: Likewise.
27753 * include/grub/i386/linux.h: Likewise.
27754 * include/grub/i386/pc/biosdisk.h: Likewise.
27755 * include/grub/efi/api.h: Likewise.
27756 * include/grub/efi/pe32.h: Likewise.
27757 * include/grub/util/misc.h: Likewise.
27758 * normal/execute.c: Likewise.
27759 * normal/arg.c: Likewise.
27760 * normal/completion.c: Likewise.
27761 * normal/lexer.c: Likewise.
27762 * normal/parser.y: Likewise.
27763 * normal/misc.c: Likewise.
27764 * commands/i386/pc/vbeinfo.c: Likewise.
27765 * commands/hexdump.c: Likewise.
27766 * commands/terminal.c: Likewise.
27767 * commands/ls.c: Likewise.
27768 * commands/help.c: Likewise.
27769 * partmap/pc.c: Likewise.
27770 * loader/efi/chainloader.c: Likewise.
27771 * loader/multiboot_loader.c: Likewise.
27772 * loader/i386/pc/multiboot2.c: Likewise.
27773 * term/efi/console.c: Likewise.
27774 * term/i386/pc/serial.c: Likewise.
27775 * util/lvm.c: Likewise.
27776 * util/console.c: Likewise.
27777 * util/i386/efi/grub-mkimage.c: Likewise.
27778 * util/raid.c: Likewise.
27779
7f02114b 277802009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
27781
27782 * commands/videotest.c: Removed include to grub/machine/memory.h.
27783
27784 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
27785 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
27786 (video_mod_SOURCES): Removed.
27787 (video_mod_CFLAGS): Likewise.
27788 (video_mod_LDFLAGS): Likewise.
27789 (gfxterm_mod_SOURCES): Likewise.
27790 (gfxterm_mod_CFLAGS): Likewise.
27791 (gfxterm_mod_LDFLAGS): Likewise.
27792 (videotest_mod_SOURCES): Likewise.
27793 (videotest_mod_CFLAGS): Likewise.
27794 (videotest_mod_LDFLAGS): Likewise.
27795 (bitmap_mod_SOURCES): Likewise.
27796 (bitmap_mod_CFLAGS): Likewise.
27797 (bitmap_mod_LDFLAGS): Likewise.
27798 (tga_mod_SOURCES): Likewise.
27799 (tga_mod_CFLAGS): Likewise.
27800 (tga_mod_LDFLAGS): Likewise.
27801 (jpeg_mod_SOURCES): Likewise.
27802 (jpeg_mod_CFLAGS): Likewise.
27803 (jpeg_mod_LDFLAGS): Likewise.
27804 (png_mod_SOURCES): Likewise.
27805 (png_mod_CFLAGS): Likewise.
27806 (png_mod_LDFLAGS): Likewise.
27807
27808 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
27809 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
27810 (video_mod_SOURCES): Added.
27811 (video_mod_CFLAGS): Likewise.
27812 (video_mod_LDFLAGS): Likewise.
27813 (videotest_mod_SOURCES): Likewise.
27814 (videotest_mod_CFLAGS): Likewise.
27815 (videotest_mod_LDFLAGS): Likewise.
27816 (bitmap_mod_SOURCES): Likewise.
27817 (bitmap_mod_CFLAGS): Likewise.
27818 (bitmap_mod_LDFLAGS): Likewise.
27819 (tga_mod_SOURCES): Likewise.
27820 (tga_mod_CFLAGS): Likewise.
27821 (tga_mod_LDFLAGS): Likewise.
27822 (jpeg_mod_SOURCES): Likewise.
27823 (jpeg_mod_CFLAGS): Likewise.
27824 (jpeg_mod_LDFLAGS): Likewise.
27825 (png_mod_SOURCES): Likewise.
27826 (png_mod_CFLAGS): Likewise.
27827 (png_mod_LDFLAGS): Likewise.
27828 (gfxterm_mod_SOURCES): Likewise.
27829 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 27830 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 27831
27832 * term/gfxterm.c: Removed include to grub/machine/memory.h,
27833 grub/machine/console.h.
27834
644fff97 278352009-01-04 Jerone Young <jerone@gmail.com>
27836
27837 Make on screen instructions clearer
27838
27839 Based on patch created by Jidanni <jidanni@jidanni.org>
27840
27841 * normal/menu.c: print clearer instructions on the screen
27842
1e901a75 278432009-01-02 Colin D Bennett <colin@gibibit.com>
27844
27845 New font engine.
34c44600 27846
1e901a75 27847 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
27848 build system and fixed gfxterm.c to work with different sized fonts.
27849
27850 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 27851
1e901a75 27852 * configure: Re-generated.
34c44600 27853
1e901a75 27854 * DISTLIST: Removed font/manager.c.
27855 Added font/font.c.
27856 Added font/font_cmd.c.
34c44600 27857
1e901a75 27858 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
27859 compilation.
34c44600 27860
1e901a75 27861 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 27862
27863 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 27864
27865 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 27866
1e901a75 27867 * normal/menu.c: Likewise.
34c44600 27868
1e901a75 27869 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
27870 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 27871
1e901a75 27872 * include/grub/font.h: Replaced with new file.
34c44600 27873
1e901a75 27874 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
27875 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
27876 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
27877 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
27878 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 27879 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 27880 fg_red, fg_green, fg_blue, fg_alpha.
27881 (grub_video_adapter): Removed blit_glyph.
34c44600 27882 (grub_video_blit_glyph): Removed.
27883
1e901a75 27884 * font/manager.c: Removed file.
34c44600 27885
27886 * font/font.c: New file.
27887
1e901a75 27888 * font/font_cmd.c: Likewise.
34c44600 27889
1e901a75 27890 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 27891
1e901a75 27892 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
27893 (grub_video_vbe_map_rgba): Likewise.
27894 (grub_video_vbe_unmap_color_int): Likewise.
27895 (grub_video_vbe_blit_glyph): Removed.
27896 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 27897
1e901a75 27898 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
27899 (get_pixel): Likewise.
34c44600 27900 (set_pixel): Likewise.
27901
1e901a75 27902 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 27903
1e901a75 27904 * term/gfxterm.c: Adapted to new font engine.
34c44600 27905
1e901a75 27906 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 27907
1e901a75 27908 * term/i386/pc/vga.c: Likewise.
34c44600 27909
1e901a75 27910 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 27911
1e901a75 27912 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 27913
1e901a75 27914 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27915
1e901a75 27916 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27917
1e901a75 27918 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 27919
1e901a75 27920 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 27921
1e901a75 27922 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 27923
1e901a75 27924 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 27925
1e901a75 27926 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27927
27928 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 27929
1e901a75 27930 * util/grub-mkconfig_lib.in: Changed font extension.
27931
278922e8 279322008-12-28 Felix Zielcke <fzielcke@z-51.de>
27933
27934 * util/getroot.c (grub_util_get_grub_dev): Add support for
27935 /dev/md/dNNpNN style partitionable mdraid devices.
27936
3ced05cf 279372008-12-12 Alex Smith <alex@alex-smith.me.uk>
27938
27939 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
27940 at a time limit of the PXE TFTP API correctly.
27941 (grub_pxefs_close): Likewise.
27942
7fd0ee30 279432008-11-29 Robert Millan <rmh@aybabtu.com>
27944
34c44600 27945 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 27946 grub_ata_device_initialize() calls.
27947
34c44600 279482008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 27949
27950 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
27951 iteration failed.
27952 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
27953
89313780 279542008-11-28 Robert Millan <rmh@aybabtu.com>
27955
27956 Fix build on powerpc-ieee1275. Based on patch created by
27957 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
27958 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27959 `kern/ieee1275/mmap.c'.
27960 * include/grub/powerpc/ieee1275/memory.h: New file.
27961
15257703 27962 Provide grub-install on coreboot.
27963 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
27964 (grub_install_SOURCES): New variable.
27965 * util/i386/pc/grub-install.in: Add a few condition checks to make it
27966 usable on coreboot.
27967
9fc5388a 279682008-11-25 Felix Zielcke <fzielcke@z-51.de>
27969
27970 * util/grub-fstest.c (grub_term_get_current_input): Change return type
27971 to `grub_term_input_t'.
27972 (grub_term_get_current_output): Change return type to
27973 `grub_term_output_t'.
27974
bc3a2f31 279752008-11-22 Robert Millan <rmh@aybabtu.com>
27976
34c44600 27977 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 27978 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
27979 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
27980 grub_vga_text_cls().
27981
80fc88f2 27982 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 27983 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 27984
cbf36fd3 27985 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
27986 to 0x200000 (avoids trouble with some OFW implementations, and matches
27987 with the one in Yaboot).
27988 Reported by Manoel Abranches
27989
73e8e268 279902008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 27991
27992 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
27993 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
27994
73e8e268 27995 * util/grub-mkconfig_lib.in (grub_warn): New function.
27996 (convert_system_path_to_grub_path): Use grub_warn() when issuing
27997 warnings, to obtain consistent formatting.
27998 * util/grub.d/00_header.in: Likewise.
27999 * util/update-grub_lib.in: Likewise.
28000
e94045a1 28001 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 28002 Move comment text to `#error' stanza.
e94045a1 28003
79d29fd7 28004 Harmonize ieee1275's grub_available_iterate() with the generic
28005 grub_machine_mmap_iterate() interface (fixes a recently-introduced
28006 build problem on i386-ieee1275):
28007 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
28008 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
28009 parameter `type'. Update all users of this function.
28010 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28011 `kern/ieee1275/mmap.c'.
28012 * kern/ieee1275/init.c
28013 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
28014 with ...
28015 (grub_machine_mmap_iterate): ... this.
28016 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
28017 return type to `grub_err_t'. Update all implementations of this
28018 function prototype.
28019 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
28020 Likewise.
28021
60d6b16e 28022 Add `lsmmap' command (lists firmware-provided memory map):
28023 * commands/lsmmap.c: New file.
28024 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
28025 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
28026 variables.
28027 * conf/powerpc-ieee1275.rmk: Likewise.
28028 * conf/i386-coreboot.rmk: Likewise.
28029 * conf/i386-ieee1275.rmk: Likewise.
28030
ebaaf49b 280312008-11-19 Robert Millan <rmh@aybabtu.com>
28032
28033 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 28034 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
28035 constraints to initrd allocation (based on code from
28036 loader/i386/pc/linux.c). Without them, initrd was allocated too high
28037 for Linux to find it.
ebaaf49b 28038
dfab719f 280392008-11-14 Robert Millan <rmh@aybabtu.com>
28040
28041 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
28042 order to cope with duplicate slashes.
28043
10fc3eb9 280442008-11-14 Robert Millan <rmh@aybabtu.com>
28045
28046 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
28047 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
28048 don't want to mess with lower memory, because it is used in the Linux
28049 loader.
28050
28051 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 28052 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 28053 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
28054 is in our heap (probably as a result of it being corrupted during
2f2a3442 28055 decompression). Add #error instance with comment to explain why this
28056 loader isn't currently usable on PC/BIOS.
10fc3eb9 28057
e2e07847 280582008-11-14 Robert Millan <rmh@aybabtu.com>
28059
28060 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 28061 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 28062
fe8e8d69 280632008-11-12 Robert Millan <rmh@aybabtu.com>
28064
28065 Make loader/i386/linux.c buildable on i386-pc (although disabled).
28066
28067 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
28068 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
28069 from here ...
28070 * include/grub/i386/pc/memory.h: ... to here.
28071
976b07d0 280722008-11-12 Robert Millan <rmh@aybabtu.com>
28073
28074 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
28075 split).
28076
28077 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
28078 (grub_console_cur_color, grub_console_real_putchar)
28079 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
28080 (grub_console_setcolorstate, grub_console_setcolor)
28081 (grub_console_getcolor): Move from here ...
28082 * include/grub/i386/vga_common.h: ... to here (new file).
28083
28084 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
28085 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
28086 `<grub/i386/io.h>'.
28087 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
28088 `<grub/i386/vga_common.h>'.
28089
76679cd3 280902008-11-12 Robert Millan <rmh@aybabtu.com>
28091
28092 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
28093 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
28094 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
28095 variables.
28096 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
28097 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
28098
28099 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
28100 grub_console_init() with call to grub_vga_text_init().
28101 (grub_machine_fini): Replace call to
28102 grub_console_fini() with call to grub_vga_text_fini() and
28103 grub_at_keyboard_fini().
28104
28105 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
28106 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
28107 (grub_console_setcolorstate, grub_console_setcolor)
28108 (grub_console_getcolor): New function prototypes.
28109
28110 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
28111 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
28112 (grub_vga_text_setcursor): Static-ize.
28113 (grub_vga_text_term): New structure.
28114 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
28115
28116 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
28117 (grub_console_cur_color, grub_console_standard_color)
28118 (grub_console_normal_color, grub_console_highlight_color)
28119 (map_char, grub_console_putchar, grub_console_getcharwidth)
28120 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
28121 (grub_console_getcolor): Move from here ...
28122 * term/i386/vga_common.c: ... to here (same function names).
28123
95b841d3 281242008-11-12 Robert Millan <rmh@aybabtu.com>
28125
28126 Use newly-added Multiboot support in coreboot.
28127
28128 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
28129 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
28130
28131 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
28132 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
28133 (codestart): Store the MBI in `startup_multiboot_info' when we're
28134 being loaded using Multiboot.
28135
28136 * kern/i386/coreboot/init.c (grub_machine_init): Move
28137 grub_at_keyboard_init() call to beginning of function (useful for
28138 debugging). Call grub_machine_mmap_init() before attempting to use
28139 grub_machine_mmap_iterate().
28140 (grub_lower_mem, grub_upper_mem): Move from here ...
28141 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
28142 here (new file).
28143
28144 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
28145 function prototype.
28146
761ca975 281472008-11-12 Robert Millan <rmh@aybabtu.com>
28148
28149 Fix a regression introduced by the at_keyboard.mod split. Because
28150 some terminals are default on some platforms and non-default on
28151 others, the first terminal being registered determines which is
28152 going to be default.
28153
28154 * kern/term.c (grub_term_register_input): If this is the first
28155 terminal being registered, set it as the current one.
28156 (grub_term_register_output): Likewise.
28157
28158 * term/efi/console.c (grub_console_init): Do not call
28159 grub_term_set_current_output() or grub_term_set_current_input().
28160 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
28161 * term/i386/pc/console.c (grub_console_init): Likewise.
28162 (grub_console_fini): Do not call grub_term_set_current_input()
28163 (but leave grub_term_set_current_output() to restore text mode).
28164
6c529df7 281652008-11-10 Robert Millan <rmh@aybabtu.com>
28166
28167 * util/grub.d/00_header.in: Add backward compatibility check for
28168 versions of terminal.mod that don't understand `terminal_input' or
28169 `terminal_output'.
28170
132e4113 281712008-11-09 Robert Millan <rmh@aybabtu.com>
28172
28173 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
28174 `terminal_input' / `terminal_output', not `terminal'.
28175
ac293d50 281762008-11-08 Robert Millan <rmh@aybabtu.com>
28177
28178 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 28179 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 28180
0025933a 281812008-11-08 Robert Millan <rmh@aybabtu.com>
28182
28183 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 28184 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 28185 members. Update all users.
28186 * util/console.c (grub_ncurses_term): Split in ...
28187 (grub_ncurses_term_input): ... this, and ...
28188 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 28189 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 28190
37c86336 281912008-11-08 Robert Millan <rmh@aybabtu.com>
28192
28193 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
28194 (PKGDATA): Add $(pkgdata_SRCDIR).
28195 (pkglib_BUILDDIR): New variable.
28196 (pkgdata_SRCDIR): New variable.
28197 (build_env.mk): New target.
28198 (include_DATA): New variable.
28199 (install-local): Install $(include_DATA) files in $(includedir).
28200
b6c15a2d 282012008-11-07 Pavel Roskin <proski@gnu.org>
28202
d99d46f1 28203 * gendistlist.sh: Use C locale for sorting to ensure consistent
28204 output on all systems.
28205
b6c15a2d 28206 * util/grub.d/00_header.in: Remove incorrect space before
28207 "serial".
28208
c32ee8c9 282092008-11-07 Robert Millan <rmh@aybabtu.com>
28210
28211 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
28212 per specification.
28213 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
28214 * loader/multiboot_loader.c (find_multi_boot2_header): New function
28215 (based on find_multi_boot1_header).
28216 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
28217 using find_multi_boot2_header(), and abort if neither Multiboot or
28218 Multiboot headers were found.
28219
651c29b7 282202008-11-07 Robert Millan <rmh@aybabtu.com>
28221
28222 Modularize at_keyboard.mod:
28223
28224 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
28225 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
28226 (at_keyboard_mod_LDFLAGS): New variables.
28227
28228 Actual terminal split:
28229
28230 * include/grub/term.h (struct grub_term): Split in ...
28231 (struct grub_term_input): ... this, and ...
28232 (struct grub_term_output): ... this. Update all users.
28233 (grub_term_set_current): Split in ...
28234 (grub_term_set_current_input): ... this, and ...
28235 (grub_term_set_current_output): ... this.
28236 (grub_term_get_current): Split in ...
28237 (grub_term_get_current_input): ... this, and ...
28238 (grub_term_get_current_output): ... this.
28239 (grub_term_register): Split in ...
28240 (grub_term_register_input): ... this, and ...
28241 (grub_term_register_output): ... this.
28242 (grub_term_unregister): Split in ...
28243 (grub_term_unregister_input): ... this, and ...
28244 (grub_term_unregister_output): ... this.
28245 (grub_term_iterate): Split in ...
28246 (grub_term_iterate_input): ... this, and ...
28247 (grub_term_iterate_output): ... this.
28248
28249 * kern/term.c (grub_term_list): Split in ...
28250 (grub_term_list_input): ... this, and ...
28251 (grub_term_list_output): ... this. Update all users.
28252 (grub_cur_term): Split in ...
28253 (grub_cur_term_input): ... this, and ...
28254 (grub_cur_term_output): ... this. Update all users.
28255 (grub_term_set_current): Split in ...
28256 (grub_term_set_current_input): ... this, and ...
28257 (grub_term_set_current_output): ... this.
28258 (grub_term_get_current): Split in ...
28259 (grub_term_get_current_input): ... this, and ...
28260 (grub_term_get_current_output): ... this.
28261 (grub_term_register): Split in ...
28262 (grub_term_register_input): ... this, and ...
28263 (grub_term_register_output): ... this.
28264 (grub_term_unregister): Split in ...
28265 (grub_term_unregister_input): ... this, and ...
28266 (grub_term_unregister_output): ... this.
28267 (grub_term_iterate): Split in ...
28268 (grub_term_iterate_input): ... this, and ...
28269 (grub_term_iterate_output): ... this.
28270
28271 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
28272 a check for input and one for output (and only attempt to get keys
28273 from user when input works).
28274
28275 * util/grub-probe.c (grub_term_get_current): Split in ...
28276 (grub_term_get_current_input): ... this, and ...
28277 (grub_term_get_current_output): ... this.
28278 * util/grub-fstest.c: Likewise.
28279 * util/i386/pc/grub-setup.c: Likewise.
28280 * util/grub-editenv.c: Likewise.
28281
28282 Portability adjustments:
28283
28284 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
28285 `term/i386/pc/at_keyboard.c'.
28286 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
28287 grub_keyboard_controller_init() (now handled by terminal .init).
28288 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
28289 grub_at_keyboard_init().
28290 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
28291 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
28292 at_keyboard.mod via input terminal interface).
28293 * include/grub/i386/coreboot/console.h: Convert into a stub for
28294 `<grub/i386/pc/console.h>'.
28295
28296 Migrate full terminals to new API:
28297
28298 * term/efi/console.c (grub_console_term): Split into ...
28299 (grub_console_term_input): ... this, and ...
28300 (grub_console_term_output): ... this. Update all users.
28301 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
28302 (grub_ofconsole_init): Split into ...
28303 (grub_ofconsole_init_input): ... this, and ...
28304 (grub_ofconsole_init_output): ... this.
28305 (grub_ofconsole_term): Split into ...
28306 (grub_ofconsole_term_input): ... this, and ...
28307 (grub_ofconsole_term_output): ... this. Update all users.
28308 * term/i386/pc/serial.c (grub_serial_term): Split into ...
28309 (grub_serial_term_input): ... this, and ...
28310 (grub_serial_term_output): ... this. Update all users.
28311 * term/i386/pc/console.c (grub_console_term): Split into ...
28312 (grub_console_term_input): ... this, and ...
28313 (grub_console_term_output): ... this. Update all users.
28314 (grub_console_term_input): Only enable it on PC/BIOS platform.
28315 (grub_console_init): Remove grub_keyboard_controller_init() call.
28316
28317 Migrate input terminals to new API:
28318
28319 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
28320 `i386' and `i386/pc' to enable build on x86_64 (this driver is
28321 i386-specific anyway).
28322 (grub_console_checkkey): Rename to ...
28323 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
28324 users.
28325 (grub_keyboard_controller_orig): New variable.
28326 (grub_console_getkey): Rename to ...
28327 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
28328 users.
28329 (grub_keyboard_controller_init): Static-ize. Save original
28330 controller value so that it can be restored ...
28331 (grub_keyboard_controller_fini): ... here (new function).
28332 (grub_at_keyboard_term): New structure.
28333 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
28334 functions.
28335
28336 Migrate output terminals to new API:
28337
28338 * term/i386/pc/vga.c (grub_vga_term): Change type to
28339 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28340 members. Update all users.
28341 * term/gfxterm.c (grub_video_term): Change type to
28342 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28343 members. Update all users.
28344 * include/grub/i386/pc/console.h (grub_console_checkkey)
28345 (grub_console_getkey): Do not export (no longer needed by gfxterm,
28346 etc).
28347
28348 Migrate `terminal' command and userland tools to new API:
28349
28350 * commands/terminal.c (grub_cmd_terminal): Split into ...
28351 (grub_cmd_terminal_input): ... this, and ...
28352 (grub_cmd_terminal_output): ... this.
28353 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
28354 `terminal_input' and `terminal_output'.
28355 * util/grub.d/00_header.in: Adjust `terminal' calls to new
28356 `terminal_input' / `terminal_output' API.
28357 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
28358 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
28359 provided ${GRUB_TERMINAL}, convert it).
28360
96e5d876 283612008-11-04 Robert Millan <rmh@aybabtu.com>
28362
28363 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
28364 for FreeBSD.
28365 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
28366
556f3775 283672008-11-03 Bean <bean123ch@gmail.com>
28368
28369 * kern/elf.c (grub_elf32_load): Revert to previous code.
28370 (grub_elf64_load): Likewise.
28371
28372 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
28373
926b9823 283742008-11-01 Robert Millan <rmh@aybabtu.com>
28375
28376 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
28377 (TARGET_CPPFLAGS): Likewise.
28378 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
28379
1432e958 283802008-11-01 Carles Pina i Estany <carles@pina.cat>
28381
28382 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
28383
dba3f844 283842008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 28385
28386 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
28387 addition of objects until the code is not going to be able to fail.
28388
dba3f844 283892008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 28390
28391 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
28392 (add a missing NULL check, and correct them by moving the pointer
28393 operations after the actual check).
28394
7ab28c21 283952008-10-29 Robert Millan <rmh@aybabtu.com>
28396
28397 * util/i386/pc/grub-install.in: Handle empty string as output from
28398 make_system_path_relative_to_its_root().
28399
1b7748eb 284002008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
28401
28402 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
28403 circular metadata worst case scenario. If the metadata is circular
28404 then copy the wrap in place.
28405 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
28406 project lib/format_text/layout.h
28407 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
28408
c9618ab2 284092008-10-03 Felix Zielcke <fzielcke@z-51.de>
28410
7a36edca 28411 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 28412
bf981c62 284132008-10-03 Felix Zielcke <fzielcke@z-51.de>
28414
28415 * util/update-grub_lib.in: Mention filename in warning message.
28416
6d994591 284172008-09-29 Felix Zielcke <fzielcke@z-51.de>
28418
28419 * NEWS: Update for rename of update-grub to grub-mkconfig.
28420
18ade780 284212008-09-29 Felix Zielcke <fzielcke@z-51.de>
28422
28423 * util/update-grub_lib.in: Copy to ...
28424 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 28425 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 28426 * util/update-grub.in: Rename to ...
28427 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
28428 option. Add `--output' option to allow users to specify the generated
28429 configuration file. Default to stdout.
28430 (update_grub_dir): Rename to ...
28431 (grub_mkconfig_dir): ... this.
28432 (grub_cfg): Default to an empty string.
28433 * conf/common.rmk (update-grub): Rename to ...
28434 (grub-mkconfig): ... this.
28435 (update-grub_lib): Copy to ...
28436 (grub-mkconfig_lib): ... this.
28437 (update-grub_SCRIPTS): Copy to ...
28438 (grub-mkconfig_SCRIPTS): ... this. Update all users.
28439 (update-grub_DATA): Rename to ...
28440 (grub-mkconfig_DATA): ... this.
28441
556ce6ac 284422008-09-28 Robert Millan <rmh@aybabtu.com>
28443
28444 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
28445 to `modified'. Add the real `created' field.
28446 (grub_iso9660_uuid): Use `modified' rather than `created' for
28447 constructing the UUID.
28448
284492008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 28450
28451 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
28452 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
28453
92274e85 284542008-09-28 Bean <bean123ch@gmail.com>
28455
28456 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
28457 Thanks to Christian Franke for finding this bug.
28458
add6f17a 284592008-09-25 Robert Millan <rmh@aybabtu.com>
28460
28461 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
28462 instances of grub_util_get_disk_name() (see previous commit).
28463
d2a367b8 284642008-09-25 Robert Millan <rmh@aybabtu.com>
28465
28466 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
28467 `util/i386/get_disk_name.c'.
28468 * conf/i386-efi.rmk: Likewise.
28469 * conf/x86_64-efi.rmk: Likewise.
28470 * conf/i386-coreboot.rmk: Likewise.
28471 * conf/i386-ieee1275.rmk: Likewise.
28472 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
28473 `util/ieee1275/get_disk_name.c'.
28474 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
28475 * util/ieee1275/get_disk_name.c: Remove file.
28476 * util/i386/get_disk_name.c: Remove file.
28477 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
28478 "hd%d" for device.map entries, rather than using
28479 grub_util_get_disk_name().
28480
81a06771 284812008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 28482
28483 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
28484 warning.
28485 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
28486
5a004279 284872008-09-24 Carles Pina i Estany <carles@pina.cat>
28488
28489 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
28490 Changed to 0x5100.
28491 (GRUB_TERM_PPAGE): Changed to 0x4900.
28492
397093d3 284932008-09-24 Robert Millan <rmh@aybabtu.com>
28494
28495 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
28496 macros (they were i386-pc specific).
28497 * include/grub/sparc64/ieee1275/console.h: Likewise.
28498 * include/grub/efi/console.h: Likewise.
28499
a91b6c7c 285002008-09-22 Bean <bean123ch@gmail.com>
28501
28502 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
28503 resident and in attribute list.
28504
28505 * include/grub/ntfs.h (BMP_LEN): Removed.
28506
c40fd116 285072008-09-22 Bean <bean123ch@gmail.com>
28508
81a06771 28509 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 28510 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
28511
28512 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
28513 error occurs, as grub_disk_open will call grub_disk_close, which will
28514 call p->close (scsi).
28515
81a06771 285162008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 28517
28518 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
28519 (AC_PREREQ): Bumped to 2.59.
28520 (AC_TRY_COMPILE): Replace obsolete macro with ...
28521 (AC_COMPILE_IFELSE): ... this.
28522 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
28523 (AC_LINK_IFELSE): ... this.
28524
5dc43410 285252008-09-21 Felix Zielcke <fzielcke@z-51.de>
28526
28527 * autogen.sh: Add a call to `gendistlist.sh'.
28528
9035dce4 285292008-09-19 Christian Franke <franke@computer.org>
28530
28531 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
28532 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
28533 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
28534 Export __enable_execute_stack() to modules.
28535 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
28536 New function.
28537
7fd75377 285382008-09-09 Felix Zielcke <fzielcke@z-51.de>
28539
040030b3 28540 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
28541 Sort the list.
28542
285432008-09-09 Felix Zielcke <fzielcke@z-51.de>
28544
28545 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 28546 #include <grub/util/hostdisk.h>.
28547
89d5ffcf 285482008-09-08 Robert Millan <rmh@aybabtu.com>
28549
28550 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
28551 segments when their filesz is zero (grub_file_read() interprets
81a06771 28552 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 28553 Use `lowest_segment' rather than 0 for calculating the current
28554 segment load address.
28555
40da438f 285562008-09-08 Robert Millan <rmh@aybabtu.com>
28557
28558 * util/hostdisk.c (open_device): Replace a grub_util_info() call
28559 with grub_dprintf("hostdisk", ...), as it was so verbose that it
28560 clobbered useful information.
28561
ddbf5556 285622008-09-08 Robert Millan <rmh@aybabtu.com>
28563
28564 * include/grub/util/biosdisk.h: Move to ...
28565 * include/grub/util/hostdisk.h: ... here. Update all users.
28566 * util/biosdisk.c: Move to ...
28567 * util/hostdisk.c: ... here. Update all users.
28568
783d0f48 285692008-09-07 Robert Millan <rmh@aybabtu.com>
28570
28571 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
28572 variables.
28573 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
28574 and length can be stored directly in the `mbi->mmap_addr' and
28575 `mbi->mmap_length' struct fields.
28576
548e2ea5 285772008-09-07 Robert Millan <rmh@aybabtu.com>
28578
28579 * conf/i386.rmk: New file. Provides declaration for building
28580 `cpuid.mod'.
28581 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
28582 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
28583 variables.
28584 Include `conf/i386.mk'.
28585 * conf/i386-efi.rmk: Likewise.
28586 * conf/x86_64-efi.rmk: Likewise.
28587 * conf/i386-coreboot.rmk: Likewise.
28588 * conf/i386-ieee1275.rmk: Likewise.
28589
0ea85a37 285902008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
28591
28592 Based on patch created by Colin D Bennett <colin@gibibit.com>.
28593 Adds optimization support for BGR based modes.
28594
28595 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
28596 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28597 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28598 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28599 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28600 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28601 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28602 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28603 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28604 (grub_video_i386_vbeblit_index_index): Likewise.
28605 (grub_video_i386_vbeblit_replace_directN): Added.
28606 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28607 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28608 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28609 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28610 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28611 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 28612 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 28613 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28614 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28615 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28616 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28617 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28618 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
28619
28620 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
28621 (grub_video_i386_vbefill_R8G8B8): Likewise.
28622 (grub_video_i386_vbefill_index): Likewise.
28623 (grub_video_i386_vbefill_direct32): Added.
28624 (grub_video_i386_vbefill_direct24): Likewise.
28625 (grub_video_i386_vbefill_direct16): Likewise.
28626 (grub_video_i386_vbefill_direct8): Likewise.
28627
81a06771 28628 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 28629 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
28630 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
28631 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
28632 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
28633 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 28634
0ea85a37 28635 * video/video.c (grub_video_get_blit_format): Updated to use new
28636 blit formats. Added handling for 16 bit color modes.
81a06771 28637
28638 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 28639 fillers.
28640 (common_blitter): Updated to use new blitters.
28641
28642 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
28643 Removed.
28644 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28645 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28646 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28647 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28648 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28649 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28650 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28651 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28652 (grub_video_i386_vbeblit_index_index): Likewise.
28653 (grub_video_i386_vbeblit_replace_directN): Added.
28654 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28655 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28656 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28657 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28658 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28659 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
28660 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
28661 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28662 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28663 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28664 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28665 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28666 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 28667
0ea85a37 28668 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
28669 (grub_video_i386_vbefill_R8G8B8): Likewise.
28670 (grub_video_i386_vbefill_index): Likewise.
28671 (grub_video_i386_vbefill_direct32): Added.
28672 (grub_video_i386_vbefill_direct24): Likewise.
28673 (grub_video_i386_vbefill_direct16): Likewise.
28674 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 28675
0ea85a37 28676 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
28677 types.
81a06771 28678
0ea85a37 28679 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
28680 types.
81a06771 28681
0ea85a37 28682 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
28683 blitter types.
81a06771 28684
0ea85a37 28685 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
28686 types.
28687
e8a83df6 286882008-09-06 Felix Zielcke <fzielcke@z-51.de>
28689
28690 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
28691 RAID level 1.
28692
6bcd8ee5 286932008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 28694
6bcd8ee5 28695 * fs/iso9660.c (grub_iso9660_date): New structure.
28696 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
28697 (grub_iso9660_uuid): New function.
c375ae58 28698
59261157 286992008-09-05 Bean <bean123ch@gmail.com>
28700
28701 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
28702
28703 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
28704 insensitive bit for names in Win32 and Win32 & DOS namespace.
28705
28706 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
28707
28708 * include/grub/types.h (LONG_MAX): Likewise.
28709
58b6645a 287102008-09-04 Felix Zielcke <fzielcke@z-51.de>
28711
4ee55921 28712 * util/getroot.c: Include <config.h>.
28713 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
28714 add support for /dev/md/N devices and handle LVM double dash escaping.
28715
287162008-09-04 Felix Zielcke <fzielcke@z-51.de>
28717
28718 * config.guess: Update to latest version from config git.
28719 * config.sub: Likewise.
58b6645a 28720
9124f65d 287212008-09-03 Robert Millan <rmh@aybabtu.com>
28722
28723 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
28724 `disk->total_sectors'.
28725
81a06771 287262008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 28727
28728 * include/grub/normal.h: Fixed incorrect comment for
28729 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
28730
81a06771 287312008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 28732
28733 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
28734 values with defines.
28735
28736 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
28737 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
28738 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
28739 (GRUB_VBE_MODEATTR_COLOR): Likewise.
28740 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
28741 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
28742 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
28743 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
28744 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
28745 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
28746 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
28747 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
28748 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
28749 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
28750 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
28751 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
28752 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
28753 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
28754 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
28755
93d5cbf8 287562008-08-31 Robert Millan <rmh@aybabtu.com>
28757
28758 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
28759 declaration.
28760 (grub_multiboot): Fix a few warnings.
28761
21751d50 287622008-08-31 Robert Millan <rmh@aybabtu.com>
28763
28764 * loader/i386/pc/multiboot.c: Update comment not to say that
28765 boot_device support is unimplemented.
28766
e27a75c5 287672008-08-31 Robert Millan <rmh@aybabtu.com>
28768
28769 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
28770 or memory map support are unimplemented.
28771
81a06771 287722008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 28773
28774 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
28775
81a06771 287762008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 28777
28778 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
28779 total video memory in 'vbeinfo' output; show color format details for
28780 each video mode.
28781
7c5d8d95 287822008-08-30 Pavel Roskin <proski@gnu.org>
28783
28784 * util/genmoddep.c: Remove for real this time.
28785 * DISTLIST: Remove util/genmoddep.c.
28786
4cebd25a 287872008-08-30 Robert Millan <rmh@aybabtu.com>
28788
28789 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
28790 as required by Multiboot spec (it was already 4-byte aligned, but
28791 only by chance).
28792
b497a269 287932008-08-29 Pavel Roskin <proski@gnu.org>
28794
e3925185 28795 * kern/powerpc/ieee1275/crt0.S: Rename to ...
28796 * kern/powerpc/ieee1275/startup.S: ... this.
28797 * conf/powerpc-ieee1275.rmk: Adjust for the above.
28798 * DISTLIST: Likewise.
28799
b497a269 28800 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
28801 grub/cpu/kernel.h. Add start label for consistency with other
28802 platforms. Add grub_prefix immediately after start. Add jump
28803 to the code after grub_prefix.
28804 * include/grub/powerpc/kernel.h: Provide valid values for
28805 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
28806
6e5a42fe 288072008-08-29 Bean <bean123ch@gmail.com>
28808
28809 * configure.ac: Change host_os to cygwin for mingw.
28810 (asprintf): New check for function.
28811
28812 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
28813 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
28814
28815 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 28816 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 28817 sync, sleep and grub_util_get_disk_size for mingw.
28818
28819 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
28820 to get size in mingw.
28821 (open_device): Use flag O_BINARY if it's defined.
28822 (find_root_device): Add dummy code for mingw.
28823
28824 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
28825 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
28826 (get_scsi_disk_name): Return 0 for mingw.
28827
28828 * util/hostfs.c: #include <grub/util/misc.h>.
28829 (grub_hostfs_open): Use "rb" flag to open file, use
28830 grub_util_get_disk_size to get disk size for mingw.
28831
28832 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
28833 (asprintf): New function if HAVE_ASPRINTF is not set.
28834 (sync): New function for mingw.
28835 (sleep): Likewise.
28836 (grub_util_get_disk_size): Likewise.
28837
ab3f2673 288382008-08-28 Pavel Roskin <proski@gnu.org>
28839
28840 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28841 kern/time.c.
28842
1c282483 288432008-08-28 Robert Millan <rmh@aybabtu.com>
28844
28845 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
28846
678e849c 288472008-08-28 Robert Millan <rmh@aybabtu.com>
28848
28849 Change find_grub_drive() syntax so it doesn't prevent it from
28850 detecting NULL names as errors.
28851
28852 * util/biosdisk.c (find_grub_drive): Move free slot search code
28853 from here ...
28854 (find_free_slot): ... to here.
28855 (read_device_map): Use find_free_slot() to search for free slots.
28856
965c75ca 288572008-08-27 Marco Gerards <marco@gnu.org>
28858
28859 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
28860 (scsi_mod_SOURCES): New variable.
28861 (scsi_mod_CFLAGS): Likewise
28862 (scsi_mod_LDFLAGS): Likewise.
28863
28864 * disk/scsi.c: New file.
28865
28866 * include/grub/scsi.h: Likewise.
28867
28868 * include/grub/scsicmd.h: Likewise.
28869
28870 * disk/ata.c: Include <grub/scsi.h>.
28871 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
28872 instead.
28873 (grub_ata_iterate): Skip ATAPI devices.
28874 (grub_ata_open): Only handle ATAPI devices.
28875 (struct grub_atapi_read): Removed.
28876 (grub_atapi_readsector): Likewise.
28877 (grub_ata_read): No longer handle ATAPI devices.
28878 (grub_ata_write): Likewise.
28879 (grub_atapi_iterate): New function.
28880 (grub_atapi_read): Likewise.
28881 (grub_atapi_write): Likewise.
28882 (grub_atapi_open): Likewise.
28883 (grub_atapi_close): Likewise.
28884 (grub_atapi_dev): New variable.
28885 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
28886 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
28887
28888 * include/grub/disk.h (enum grub_disk_dev_id): Add
28889 `GRUB_DISK_DEVICE_SCSI_ID'.
28890
c07ae501 288912008-08-26 Robert Millan <rmh@aybabtu.com>
28892
28893 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
28894 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
28895 descriptive.
28896
5ed20adc 288972008-08-23 Bean <bean123ch@gmail.com>
28898
28899 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
28900 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28901 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
28902 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
28903 dm_nv.mod.
28904 (raid5rec_mod_SOURCES): New macro.
28905 (raid5rec_mod_CFLAGS): Likewise.
28906 (raid5rec_mod_LDFLAGS): Likewise.
28907 (raid6rec_mod_SOURCES): Likewise.
28908 (raid6rec_mod_CFLAGS): Likewise.
28909 (raid6rec_mod_LDFLAGS): Likewise.
28910 (mdraid_mod_SOURCES): Likewise.
28911 (mdraid_mod_CFLAGS): Likewise.
28912 (mdraid_mod_LDFLAGS): Likewise.
28913 (dm_nv_mod_SOURCES): Likewise.
28914 (dm_nv_mod_CFLAGS): Likewise.
28915 (dm_nv_mod_LDFLAGS): Likewise.
28916
28917 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
28918 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28919 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28920
28921 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
28922 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28923
28924 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28925
28926 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28927
28928 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28929
28930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28931
28932 * disk/raid5_recover.c: New file.
28933
28934 * disk/raid6_recover.c: Likewise.
28935
28936 * disk/mdraid_linux.c: Likewise.
28937
28938 * disk/dmraid_nvidia.c: Likewise.
28939
28940 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
28941 ULONG_MAX.
28942
28943 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
28944 calculate the size of raid device.
28945 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
28946 different layout of raid5.
28947 (grub_raid_scan_device): Remove code specific to mdraid.
28948 (grub_raid_list): New variable.
28949 (free_array): New function.
28950 (grub_raid_register): Likewise.
28951 (grub_raid_unregister): Likewise.
28952 (grub_raid_rescan): Likewise.
28953 (GRUB_MOD_INIT): Don't iterate device here.
28954 (GRUB_MOD_FINI): Use free_array to release resource.
28955
28956 * include/grub/raid.h: Remove macro and structure specific to mdraid.
28957 (grub_raid5_recover_func_t): New function variable type.
28958 (grub_raid6_recover_func_t): Likewise.
28959 (grub_raid5_recover_func): New variable.
28960 (grub_raid6_recover_func): Likewise.
28961 (grub_raid_register): New function.
28962 (grub_raid_unregister): Likewise.
28963 (grub_raid_rescan): Likewise.
28964 (grub_raid_block_xor): Likewise.
28965
28966 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
28967 (CMD_CRC): New macro.
28968 (part): Removed.
28969 (read_file): Handle device as well as file.
28970 (cmd_crc): New function.
28971 (fstest): Handle multiple disks.
28972 (options): Remove part, raw and long, add root and diskcount.
28973 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 28974 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 28975 add handling for the new options, support multiple disks.
28976
28977 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
28978
29c18915 289792008-08-23 Bean <bean123ch@gmail.com>
28980
28981 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
28982
28983 * genfslist.sh: Ignore kernel.mod.
28984
28985 * genpartmaplist.sh: Likewise.
28986
8415f261 289872008-08-23 Robert Millan <rmh@aybabtu.com>
28988
28989 * util/getroot.c (find_root_device): Skip anything that starts with
28990 a dot, not just directories. This avoids things like /dev/.tmp.md0.
28991
d5a7dc5b 289922008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 28993
d5a7dc5b 28994 * util/update-grub.in (GRUB_GFXMODE): Export variable.
28995 * util/grub.d/00_header.in: Allow the administrator to change default
28996 gfxmode via ${GRUB_GFXMODE}.
28997
380cfbb4 289982008-08-21 Felix Zielcke <fzielcke@z-51.de>
28999
29000 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
29001
c9baafe7 290022008-08-21 Robert Millan <rmh@aybabtu.com>
29003
29004 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
29005 loader.
29006 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
29007 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
29008
e290bef2 290092008-08-20 Carles Pina i Estany <carles@pina.cat>
29010
29011 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
29012 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
29013
f9dbfc96 290142008-08-19 Robert Millan <rmh@aybabtu.com>
29015
29016 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
29017 (struct grub_virtual_screen): Remove `cursor_color'.
29018 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
29019 initialization.
29020 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
29021
dd6bd6ab 290222008-08-18 Robert Millan <rmh@aybabtu.com>
29023
29024 Unify (identical) linux_normal.c files.
29025 * loader/i386/efi/linux_normal.c: Move from here ...
29026 * loader/linux_normal.c: ... to here. Update all users.
29027 * loader/i386/pc/linux_normal.c: Delete. Update all users.
29028 * loader/i386/ieee1275/linux_normal.c: Likewise.
29029
7f42f83e 290302008-08-18 Robert Millan <rmh@aybabtu.com>
29031
29032 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
29033 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
29034 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
29035 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
29036 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
29037 New macros.
29038 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
29039 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
29040 (GRUB_LINUX_CL_END_OFFSET): ... to here.
29041 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
29042 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
29043 (GRUB_EFI_CL_END_OFFSET): Rename to ...
29044 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
29045 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
29046 Initialize `params->video_cursor_x' and `params->video_cursor_y'
29047 portably using grub_getxy().
29048 Replace `-EFI' with `-bzImage' in boot message.
29049
38487ddb 290502008-08-17 Robert Millan <rmh@aybabtu.com>
29051
29052 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
29053
deceb3ec 290542008-08-17 Robert Millan <rmh@aybabtu.com>
29055
29056 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
29057
29058 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
29059 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
29060 (grub_machine_mmap_iterate): New function declaration.
29061 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
29062 structure.
29063 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
29064 macros.
29065
29066 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
29067 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
29068 Move e820 parsing from here ...
29069 * kern/i386/pc/mmap.c: New file.
29070 (grub_machine_mmap_iterate): ... to here.
29071
29072 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
29073 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
29074 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
29075 (grub_available_iterate): Redeclare to return `void', and redeclare
29076 its hook to use grub_uint64_t as addr and size parameters, and rename
29077 to ...
29078 (grub_machine_mmap_iterate): ... this. Update all users.
29079
29080 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
29081 to make it more readable. Rename to ...
29082 (grub_machine_mmap_iterate): ... this.
29083
29084 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
29085 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
29086 (grub_multiboot): Allocate an extra region after the payload, and fill
29087 it with a Multiboot memory map. Adjust a.out loader to calculate size
29088 with the extra space.
29089 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
29090 with the extra space.
29091
f8aa0f43 290922008-08-17 Carles Pina i Estany <carles@pina.cat>
29093
9807deb9 29094 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 29095
605f5bb6 290962008-08-17 Felix Zielcke <fzielcke@z-51.de>
29097
29098 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
29099 mdate-sh to the list `find' searches for.
29100 * DISTLIST: Regenerated.
29101
210db6c6 291022008-08-16 Felix Zielcke <fzielcke@z-51.de>
29103
29104 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
29105 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 29106 genmoddep.awk, gensymlist.sh.in.
29107 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 29108 * DISTLIST: Regenerated.
48cdbfd4 29109 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 29110
1082b929 291112008-08-16 Robert Millan <rmh@aybabtu.com>
29112
29113 * disk/raid.c (grub_raid_init): Handle/report errors set by
29114 grub_device_iterate().
29115 * disk/lvm.c (grub_lvm_init): Likewise.
29116
42ce5170 291172008-08-15 Bean <bean123ch@gmail.com>
29118
29119 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29120 and datehook.mod.
29121 (datetime_mod_SOURCES): New macro.
29122 (datetime_mod_CFLAGS): Likewise.
29123 (datetime_mod_LDFLAGS): Likewise.
29124 (date_mod_SOURCES): Likewise.
29125 (date_mod_CFLAGS): Likewise.
29126 (date_mod_LDFLAGS): Likewise.
29127 (datehook_mod_SOURCES): Likewise.
29128 (datehook_mod_CFLAGS): Likewise.
29129 (datehook_mod_LDFLAGS): Likewise.
29130
29131 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29132 and datehook.mod.
29133 (datetime_mod_SOURCES): New macro.
29134 (datetime_mod_CFLAGS): Likewise.
29135 (datetime_mod_LDFLAGS): Likewise.
29136 (date_mod_SOURCES): Likewise.
29137 (date_mod_CFLAGS): Likewise.
29138 (date_mod_LDFLAGS): Likewise.
29139 (datehook_mod_SOURCES): Likewise.
29140 (datehook_mod_CFLAGS): Likewise.
29141 (datehook_mod_LDFLAGS): Likewise.
29142
29143 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29144 and datehook.mod.
29145 (datetime_mod_SOURCES): New macro.
29146 (datetime_mod_CFLAGS): Likewise.
29147 (datetime_mod_LDFLAGS): Likewise.
29148 (date_mod_SOURCES): Likewise.
29149 (date_mod_CFLAGS): Likewise.
29150 (date_mod_LDFLAGS): Likewise.
29151 (datehook_mod_SOURCES): Likewise.
29152 (datehook_mod_CFLAGS): Likewise.
29153 (datehook_mod_LDFLAGS): Likewise.
29154
29155 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29156 and datehook.mod.
29157 (datetime_mod_SOURCES): New macro.
29158 (datetime_mod_CFLAGS): Likewise.
29159 (datetime_mod_LDFLAGS): Likewise.
29160 (date_mod_SOURCES): Likewise.
29161 (date_mod_CFLAGS): Likewise.
29162 (date_mod_LDFLAGS): Likewise.
29163 (datehook_mod_SOURCES): Likewise.
29164 (datehook_mod_CFLAGS): Likewise.
29165 (datehook_mod_LDFLAGS): Likewise.
29166
29167 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29168 and datehook.mod.
29169 (datetime_mod_SOURCES): New macro.
29170 (datetime_mod_CFLAGS): Likewise.
29171 (datetime_mod_LDFLAGS): Likewise.
29172 (date_mod_SOURCES): Likewise.
29173 (date_mod_CFLAGS): Likewise.
29174 (date_mod_LDFLAGS): Likewise.
29175 (datehook_mod_SOURCES): Likewise.
29176 (datehook_mod_CFLAGS): Likewise.
29177 (datehook_mod_LDFLAGS): Likewise.
29178
29179 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
29180
29181 * commands/date.c: New file.
29182
29183 * hook/datehook.c: Likewise.
29184
29185 * include/grub/lib/datetime.h: Likewise.
29186
29187 * include/grub/i386/cmos.h: Likewise.
29188
29189 * lib/datetime.c: Likewise.
29190
29191 * lib/i386/datetime.c: Likewise.
29192
29193 * lib/efi/datetime.c: Likewise.
29194
0e9242da 291952008-08-14 Robert Millan <rmh@aybabtu.com>
29196
29197 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
29198 (grub_mkelfimage_SOURCES): New variable.
29199 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
29200
29201 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
29202 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
29203 * conf/powerpc-ieee1275.rmk: Likewise.
29204 * conf/i386-ieee1275.rmk: Likewise.
29205
29206 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
29207 * kern/i386/coreboot/init.c: Likewise.
29208
29209 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
29210 with `<grub/cpu/kernel.h>'.
29211 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
29212 to ...
29213 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
29214 * kern/i386/coreboot/startup.S: Likewise.
29215
29216 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
29217 (GRUB_MOD_GAP): Remove.
29218 * include/grub/powerpc/kernel.h: New file.
29219 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
29220 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
29221 * include/grub/i386/kernel.h: New file.
29222 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
29223 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
29224 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
29225
29226 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
29227 `grub-mkelfimage'.
29228 Use --directory when invoking grub_mkimage.
29229
29230 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
29231 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
29232 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
29233 and GRUB_KERNEL_CPU_PREFIX.
29234
b86408f8 292352008-08-14 Felix Zielcke <fzielcke@z-51.de>
29236
d5e619ca 29237 * include/grub/err.h (grub_err_printf): New function prototype.
29238 * util/misc.c (grub_err_printf): New function.
29239 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
29240 grub_printf.
29241 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 29242
7161f0e0 292432008-08-13 Robert Millan <rmh@aybabtu.com>
29244
29245 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
29246
a1967522 292472008-08-13 Robert Millan <rmh@aybabtu.com>
29248
29249 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
29250 boot entry.
29251
371458b5 292522008-08-12 Robert Millan <rmh@aybabtu.com>
29253
29254 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
29255 of the relocation code from here ...
29256 (grub_multiboot): ... to here.
29257 (forward_relocator, backward_relocator): Move from here ...
29258 * kern/i386/loader.S (grub_multiboot_forward_relocator)
29259 (grub_multiboot_backward_relocator): ... to here.
29260 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
29261 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
29262 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
29263 (grub_multiboot_forward_relocator_end)
29264 (grub_multiboot_backward_relocator)
29265 (grub_multiboot_backward_relocator_end): New variables.
29266
05f9452b 292672008-08-12 Bean <bean123ch@gmail.com>
29268
29269 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
29270
20024ab0 292712008-08-11 Robert Millan <rmh@aybabtu.com>
29272
29273 * kern/i386/linuxbios/startup.S: Move from here ...
29274 * kern/i386/coreboot/startup.S: ... to here.
29275
29276 * kern/i386/linuxbios/init.c: Move from here ...
29277 * kern/i386/coreboot/init.c: ... to here.
29278
29279 * kern/i386/linuxbios/table.c: Move from here ...
29280 * kern/i386/coreboot/mmap.c: ... to here.
29281
29282 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
29283
e352e9cd 292842008-08-11 Robert Millan <rmh@aybabtu.com>
29285
29286 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
29287 errors. Leave it to the upper layer to handle them.
29288
2d05bc6a 292892008-08-09 Christian Franke <franke@computer.org>
29290
29291 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
29292 * conf/common.rmk: Install `grub-pe2elf' only if requested.
29293 Install `grub.d/10_windows' only on Cygwin.
29294 * configure.ac: Add subst of `target_os'.
29295 Check `target_os' also before setting TARGET_OBJ2ELF.
29296 Add `--enable-grub-pe2elf'.
29297
042bd419 292982008-08-08 Robert Millan <rmh@aybabtu.com>
29299
29300 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29301 (grub_last_time): Change type to grub_uint64_t.
29302 (grub_disk_open): Migrate code from to using grub_get_time_ms().
29303 (grub_disk_close): Likewise.
29304
29305 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29306 (run_menu): Migrate code from to using grub_get_time_ms().
29307
29308 * util/misc.c (grub_get_time_ms): New function.
29309
7f280db5 293102008-08-08 Marco Gerards <marco@gnu.org>
29311
29312 * disk/ata.c (grub_ata_regget): Change return type to
29313 `grub_uint8_t'.
29314 (grub_ata_regget2): Likewise.
29315 (grub_ata_wait_status): New function.
29316 (grub_ata_wait_busy): Removed function, updated all users to use
29317 `grub_ata_wait_status'.
29318 (grub_ata_wait_drq): Likewise.
29319 (grub_ata_cmd): New function.
29320 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
29321 error handling.
29322 (grub_ata_pio_write): Add error handling.
29323 (grub_atapi_identify): Likewise.
29324 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
29325 handling.
29326 (grub_ata_identify): Use `grub_ata_cmd' and improve error
29327 handling. Actually use the detected registers. Reorder the
29328 detection logic such that it is easier to read.
29329 (grub_ata_pciinit): Do not assign the same ID to each controller.
29330 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
29331 handling.
29332 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
29333
29334 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
29335
1fbc5e66 293362008-08-08 Marco Gerards <marco@gnu.org>
29337
29338 * NEWS: Update.
29339
819ce6c0 293402008-08-07 Bean <bean123ch@gmail.com>
29341
29342 * include/grub/x86_64/pci.h: New file.
29343
5c41d44d 293442008-08-07 Christian Franke <franke@computer.org>
29345
29346 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
29347 (TIMER2_GATE): Likewise.
29348 (grub_pit_wait): Add enable/disable of the timer2 gate
29349 bit of port 0x61. This fixes a possible infinite loop.
29350
5ebc275d 293512008-08-07 Bean <bean123ch@gmail.com>
29352
29353 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
29354 kern/i386/tsc.c and kern/i386/pit.c.
29355
29356 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
29357 x86_64 platform.
29358
29359 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
29360 <grub/i386/tsc.h>.
29361
29362 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
29363
e383b3d0 293642008-08-07 Bean <bean123ch@gmail.com>
29365
29366 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
29367
29368 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
29369
29370 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
29371 multiple inclusion. Add #include <grub/types.h>.
29372
1cbb58ac 293732008-08-06 Christian Franke <franke@computer.org>
29374
29375 * conf/common.rmk: Build and install `10_windows'.
29376 * util/grub.d/10_windows.in: New script.
29377
337f5a1e 293782008-08-06 Pavel Roskin <proski@gnu.org>
29379
29380 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
29381
057bc4ac 293822008-08-06 Robert Millan <rmh@aybabtu.com>
29383
29384 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
29385 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
29386
2b99f123 293872008-08-06 Bean <bean123ch@gmail.com>
29388
29389 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
29390 (grub_pxefs_fs_int): Remove dummy definition.
29391 (grub_pxefs_open): Use data->block_size to store the current block
29392 size setting.
29393 (grub_pxefs_read): Use block size stored in data->block_size. As the
29394 value of grub_pxe_blksize can be changed after the file is opened.
29395
9f0234cb 293962008-08-06 Bean <bean123ch@gmail.com>
29397
29398 * fs/i386/pc/pxe.c (curr_file): new variable.
29399 (grub_pxefs_open): Simply the handling of pxe file system. Don't
29400 require the dummy internal file system anymore.
29401 (grub_pxefs_read): Removed.
29402 (grub_pxefs_close): Likewise.
29403 (grub_pxefs_fs_int): Likewise.
29404 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
29405 connection when we switch file.
29406 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
29407
a55d42e0 294082008-08-06 Robert Millan <rmh@aybabtu.com>
29409
29410 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
29411 `halt.mod'.
29412 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
29413 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
29414
29415 * kern/i386/halt.c: New file.
29416 * kern/i386/reboot.c: Likewise.
29417 * include/grub/i386/reboot.h: Likewise.
29418 * include/grub/i386/halt.h: Likewise.
29419
29420 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
29421 Include `<grub/cpu/halt.h>'.
29422 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
29423 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
29424
29425 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
29426 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
29427 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
29428 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
29429 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
29430 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
29431 from here ...
29432 * include/grub/i386/at_keyboard.h: ... to here.
29433
24371d26 294342008-08-05 Robert Millan <rmh@aybabtu.com>
29435
29436 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
29437 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
29438 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
29439 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
29440 `kern/generic/millisleep.c'.
29441
29442 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
29443 instead of grub_get_rtc().
29444 (grub_tsc_init): Initialize `tsc_boot_time'.
29445
29446 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
29447 (grub_machine_init): Use grub_tsc_init() rather than
29448 installing an RTC-based handler via grub_install_get_time_ms().
29449
29450 * kern/i386/pit.c: New file.
29451 * include/grub/i386/pit.h: Likewise.
29452
9e7007b3 294532008-08-05 Bean <bean123ch@gmail.com>
29454
29455 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
29456
29457 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
29458 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
29459 (pxe_mod_SOURCES): New macro.
29460 (pxe_mod_CFLAGS): Likewise.
29461 (pxe_mod_LDFLAGS): Likewise.
29462 (pxecmd_mod_SOURCES): Likewise.
29463 (pxecmd_mod_CFLAGS): Likewise.
29464 (pxecmd_mod_LDFLAGS): Likewise.
29465
29466 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
29467 (grub_pxe_call): Likewise.
29468
29469 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
29470
29471 * commands/i386/pc/pxecmd.c: New file.
29472
9f0234cb 29473 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 29474
29475 * include/grub/i386/pc/pxe.h: Likewise.
29476
6977d49f 294772008-08-05 Bean <bean123ch@gmail.com>
29478
29479 * util/console.c (grub_console_cur_color): New variable.
29480 (grub_console_standard_color): Likewise.
29481 (grub_console_normal_color): Likewise.
29482 (grub_console_highlight_color): Likewise.
29483 (color_map): Likewise.
29484 (use_color): Likewise.
29485 (NUM_COLORS): New macro.
29486 (grub_ncurses_setcolorstate): Handle color properly.
29487 (grub_ncurses_setcolor): Don't change color here, just remember the
29488 settings, color will be set in grub_ncurses_setcolorstate.
29489 (grub_ncurses_getcolor): New function.
29490 (grub_ncurses_init): Initialize color pairs.
29491 (grub_ncurses_term): New member grub_ncurses_getcolor.
29492
9c2ff3ee 294932008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 29494
9c2ff3ee 29495 High resolution timer support. Implemented for x86 CPUs using TSC.
29496 Extracted generic grub_millisleep() so it's linked in only as needed.
29497 This requires a Pentium compatible CPU; if the RDTSC instruction is
29498 not supported, then it falls back on the generic grub_get_time_ms()
29499 implementation that uses the machine's RTC.
29500
29501 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
29502 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
29503 `kern/generic/millisleep.c'.
29504
29505 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
29506 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
29507
29508 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
29509 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
29510
29511 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29512
29513 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29514 `kern/generic/millisleep.c'.
29515
29516 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29517
29518 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
29519
29520 * kern/generic/rtc_get_time_ms.c: New file.
29521
29522 * kern/generic/millisleep.c: New file.
337f5a1e 29523
9c2ff3ee 29524 * kern/misc.c: Don't include
29525 <kern/time.h> anymore.
29526 (grub_millisleep_generic): Removed.
29527
29528 * commands/sleep.c (grub_interruptible_millisleep): Uses
29529 grub_get_time_ms() instead of grub_get_rtc().
29530
29531 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
29532 function.
29533 (grub_cpu_is_cpuid_supported): New inline function.
29534 (grub_cpu_is_tsc_supported): New inline function.
29535 (grub_tsc_init): New function prototype.
29536 (grub_tsc_get_time_ms): New function prototype.
29537
29538 * kern/i386/tsc.c (grub_get_time_ms): New file.
29539
29540 * include/grub/time.h: Include <grub/types.h.
29541 (grub_millisleep_generic): Removed.
29542 (grub_get_time_ms): New prototype.
29543 (grub_install_get_time_ms): New prototype.
29544 (grub_rtc_get_time_ms): New prototype.
29545
29546 * kern/time.c (grub_get_time_ms): New function.
29547 (grub_install_get_time_ms): New function.
29548
29549 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
29550 <grub/time.h> anymore.
29551 (grub_millisleep): Removed.
29552 (grub_machine_init): Call grub_tsc_init.
29553
29554 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
29555 get_time_ms() implementation.
29556
29557 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
29558 (ieee1275_get_time_ms): New function.
29559 (grub_machine_init): Install get_time_ms() implementation.
29560
29561 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
29562 (grub_machine_init): Call grub_tsc_init().
29563 (grub_millisleep): Removed.
bf06a93f 29564
9c2ff3ee 29565 * kern/ieee1275/init.c (grub_millisleep): Removed.
29566 (grub_machine_init): Install ieee1275_get_time_ms()
29567 implementation.
29568 (ieee1275_get_time_ms): New function.
29569 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
29570 real work.
29571
9ec92aaf 295722008-08-05 Marco Gerards <marco@gnu.org>
29573
29574 * disk/ata.c: Include <grub/pci.h>.
29575 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
29576 (grub_ata_initialize): Rewritten.
29577 (grub_ata_device_initialize): New function.
29578
8d23f507 295792008-08-04 Pavel Roskin <proski@gnu.org>
29580
29581 * kern/main.c: Include grub/mm.h.
29582
5e15ee3d 295832008-08-04 Robert Millan <rmh@aybabtu.com>
29584
29585 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
29586 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
29587 corruption problem).
29588
a9053f8f 295892008-08-04 Robert Millan <rmh@aybabtu.com>
29590
29591 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
29592 warnings introduced in my last commit.
29593
dd19c7d7 295942008-08-03 Robert Millan <rmh@aybabtu.com>
29595
29596 Make PCI available on all i386 architectures.
29597
29598 * include/grub/i386/pc/pci.h: Move from here ...
29599 * include/grub/i386/pci.h: ... to here.
29600
29601 * include/grub/i386/pc/pci.h: Remove.
29602 * include/grub/i386/efi/pci.h: Remove.
29603 * include/grub/x86_64/efi/pci.h: Remove.
29604
29605 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
29606 `<grub/cpu/pci.h>'.
29607
29608 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
29609 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
29610 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
29611
29612 * conf/i386-ieee1275.rmk: Likewise.
29613
e14a6184 296142008-08-03 Robert Millan <rmh@aybabtu.com>
29615
29616 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
29617 (grub_console_setcursor): Make it possible to set cursor off.
29618
52768e37 296192008-08-03 Robert Millan <rmh@aybabtu.com>
29620
29621 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
29622 of modules instead of assuming which platform provides what.
29623 * util/update-grub.in: Likewise.
29624
2d52f57f 296252008-08-03 Robert Millan <rmh@aybabtu.com>
29626
29627 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
29628 instead of `grub_install_dos_part' to determine whether a drive needs
29629 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 29630 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 29631
2a5cd121 296322008-08-02 Robert Millan <rmh@aybabtu.com>
29633
29634 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
29635
93808428 296362008-08-02 Robert Millan <rmh@aybabtu.com>
29637
29638 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
29639 of informational grub_dprintf() calls.
29640
3bd0a12a 296412008-08-02 Robert Millan <rmh@aybabtu.com>
29642
29643 * disk/memdisk.c (memdisk_size): Don't initialize.
29644 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
29645
29646 * include/grub/i386/pc/kernel.h
29647 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
29648 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
29649 (grub_memdisk_image_size, grub_arch_memdisk_addr)
29650 (grub_arch_memdisk_size): Remove.
29651
29652 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
29653 field (was only used to transfer a constant). Add `type' field to
29654 support multiple module types.
29655 (grub_module_iterate): New function.
29656
29657 * kern/device.c (grub_device_open): Do not hide error messages
29658 when grub_disk_open() fails. Use grub_print_error() instead.
29659
29660 * kern/i386/pc/init.c (grub_arch_modules_addr)
29661 (grub_arch_memdisk_size): Remove functions.
29662 (grub_arch_modules_addr): Return the module address in high memory
29663 (now that it isn't copied anymore).
29664
29665 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
29666 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
29667 decompression routine (grub_total_module_size already includes that
29668 now). Don't copy modules back to low memory.
29669
29670 * kern/main.c: Include `<grub/mm.h>'.
29671 (grub_load_modules): Split out (and use) ...
29672 (grub_module_iterate): ... this function, which iterates through
29673 module objects and runs a hook.
29674 Comment out grub_mm_init_region() call, as it would cause non-ELF
29675 modules to be overwritten.
29676
29677 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
29678 the memdisk image in its own region, make it part of the module list.
29679 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
29680 (main): Parse --memdisk|-m option, and pass user-provided path as
29681 parameter to generate_image().
29682 (add_segments): Pass `memdisk_path' down to load_modules().
29683 (load_modules): Embed memdisk image in module section when requested.
29684 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
29685 `header.type' instead of `header.offset'.
29686
29687 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
29688 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
29689 (memdisk_mod_LDFLAGS): New variables.
29690 * conf/i386-coreboot.rmk: Likewise.
29691 * conf/i386-ieee1275.rmk: Likewise.
29692
a927cc73 296932008-08-02 Robert Millan <rmh@aybabtu.com>
29694
29695 * loader/i386/pc/multiboot.c (playground, forward_relocator)
29696 (backward_relocator): New variables. Used to allocate and relocate
29697 the payload, respectively.
29698 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 29699 address, install the appropriate relocator code in each bound of
a927cc73 29700 the payload, and set the entry point such that
29701 grub_multiboot_real_boot() will jump to one of them.
29702
29703 * kern/i386/loader.S (grub_multiboot_payload_size)
29704 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29705 (grub_multiboot_payload_entry_offset): New variables.
29706 (grub_multiboot_real_boot): Set cpu context to what the relocator
29707 expects, and jump to the relocator instead of the payload.
29708
29709 * include/grub/i386/loader.h (grub_multiboot_payload_size)
29710 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29711 (grub_multiboot_payload_entry_offset): Export.
29712
b15d8a0c 297132008-08-01 Bean <bean123ch@gmail.com>
29714
29715 * normal/menu_entry.c (editor_getline): Don't return the original
29716 string as result, as it will be released by lexer once it has done
29717 using it.
29718
cdfb3d22 297192008-08-01 Robert Millan <rmh@aybabtu.com>
29720
29721 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
29722 within menuentries, not before them.
29723 util/grub.d/10_hurd.in: Likewise.
29724
9175e93d 297252008-08-01 Bean <bean123ch@gmail.com>
29726
29727 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
29728 (bufio_mod_SOURCES): New macro.
29729 (bufio_mod_CFLAGS): Likewise.
29730 (bufio_mod_LDFLAGS): Likewise.
29731
29732 * include/grub/bufio.h: New file.
29733
29734 * io/bufio.c: Likewise.
29735
29736 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
29737 (grub_video_reader_png): Use grub_buffile_open to open file.
29738
29739 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
29740 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
29741
29742 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
29743 (grub_video_reader_tga): Use grub_buffile_open to open file.
29744
29745 * font/manager.c: Include <grub/bufio.h>.
29746 (add_font): Use grub_buffile_open to open file.
29747
3d8383e7 297482008-07-31 Robert Millan <rmh@aybabtu.com>
29749
29750 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
29751 ELF segments, use a macro for arbitrarily accessing any of them instead
29752 of preparing a pointer that allows access to one at a time.
29753 (grub_multiboot_load_elf64): Likewise.
29754
16e641b6 297552008-07-31 Bean <bean123ch@gmail.com>
29756
29757 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
29758 GRUB_KERNEL_MACHINE_DATA_END.
29759
59198b72 297602008-07-30 Robert Millan <rmh@aybabtu.com>
29761
29762 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
29763 Increase from 0x50 to 0x60.
29764 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
29765 use UUIDs to identify the root drive for them. If that's not
29766 possible, abort.
29767 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
29768 check, for cross-disk installs.
29769
ae88bca3 297702008-07-30 Robert Millan <rmh@aybabtu.com>
29771
29772 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
29773 is non-empty, use it to set the `prefix' environment variable instead
29774 of the usual approach.
29775 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
29776 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
29777 environment variable instead of dummy make_install_device().
29778
29779 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
29780 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 29781 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 29782
29783 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
29784 New variable reference.
29785 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
29786 New macro. Defines offset of `grub_prefix' within startup.S (relative
29787 to `start').
29788 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
29789 section within startup.S (relative to `start').
29790 * include/grub/i386/coreboot/kernel.h: Likewise.
29791
29792 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
29793 Overwrite grub_prefix with its contents, at the beginning of the
29794 first segment.
29795 (main): Understand -p|--prefix.
29796
14f41dd1 297972008-07-30 Robert Millan <rmh@aybabtu.com>
29798
29799 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
29800
4ca049a3 298012008-07-30 Robert Millan <rmh@aybabtu.com>
29802
29803 * term/i386/pc/vga_text.c (grub_console_cls): Use
29804 grub_console_gotoxy() to go back to beginning of the screen.
29805 Found by Patrick Georgi <patrick.georgi@coresystems.de>
29806
2921d337 298072008-07-29 Christian Franke <franke@computer.org>
29808
29809 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29810 Add conversion of emulated mount points on Cygwin.
29811
b609876d 298122008-07-29 Christian Franke <franke@computer.org>
29813
29814 * util/update-grub.in: Add a check for admin
29815 group on Cygwin.
29816 Remove old `grub.cfg.new' before creation.
29817 Add `-f' to `mv' to handle the different filesystem
29818 semantics of Windows.
29819
e93e4679 298202008-07-29 Bean <bean123ch@gmail.com>
29821
29822 * normal/main.c (get_line): Fix buffer overflow bug.
29823
41694fd0 298242008-07-28 Robert Millan <rmh@aybabtu.com>
29825
29826 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
29827 (struct grub_apple_header): New struct. Describes the layout of
29828 the partmap header.
29829 (apple_partition_map_iterate): Check the header magic as well as the
29830 partition magic (which was already being checked).
29831
cfd0b4e6 298322008-07-28 Pavel Roskin <proski@gnu.org>
29833
29834 * genmk.rb: Add a warning to the beginning of the output that
29835 it's a generated file and should not be edited.
29836
93cce016 298372008-07-28 Robert Millan <rmh@aybabtu.com>
29838
29839 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29840 with the same number are found, just use issue a warning with
29841 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 29842
cd1df915 298432008-07-27 Robert Millan <rmh@aybabtu.com>
29844
29845 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
29846 information.
29847
b70a8427 298482008-07-27 Bean <bean123ch@gmail.com>
29849
29850 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
29851 (grub_fat_find_dir): Ignore case when comparing filename.
29852
8f5e379f 298532008-07-27 Bean <bean123ch@gmail.com>
29854
29855 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
29856 smallino, as it's more descriptive, and i8count can be confused with
29857 the other field count.
29858 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
29859 inode type.
29860
a85cd5a0 298612008-07-27 Bean <bean123ch@gmail.com>
29862
29863 * commands/crc.c: New file.
29864
29865 * lib/crc.c: Likewise.
29866
29867 * include/grub/lib/crc.h: Likewise.
29868
29869 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
29870
29871 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
29872 (hexdump): Move this function to ...
29873
29874 * lib/hexdump.c: ... here.
29875
29876 * include/grub/hexdump.h: Renamed to ...
29877
29878 * include/grub/lib/hexdump.h: ... this.
29879
29880 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
29881
29882 * util/grub-editenv.c: Likewise.
29883
29884 * include/envblk.h: Renamed to ...
29885
29886 * include/lib/envblk.h: ... this.
29887
29888 * util/envblk.c: Renamed to ...
29889
29890 * lib/envblk.c: ... this.
29891
29892 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
29893 lib/hexdump.c.
29894 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
29895 (pkglib_MODULES): Add crc.mod.
29896 (hexdump_mod_SOURCES): Add lib/hexdump.c.
29897 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
29898 (crc_mod_SOURCES): New macro.
29899 (crc_mod_CFLAGS): Likewise.
29900 (crc_mod_LDFLAGS): Likewise.
29901
29902 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
29903
29904 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29905
29906 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29907
29908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29909
29910 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29911
c298def0 299122008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 29913
29914 * commands/help.c: Include <grub/term.h>.
29915 (TERM_WIDTH): Removed. Updated all users.
29916
cc349fb3 299172008-07-27 Pavel Roskin <proski@gnu.org>
29918
29919 * util/getroot.c (find_root_device): Rephrase a comment to avoid
29920 spurious warnings about a comment within a comment.
29921
9051607e 299222008-07-25 Robert Millan <rmh@aybabtu.com>
29923
29924 * util/getroot.c (find_root_device): Skip devices that match
29925 /dev/dm-[0-9]. This lets the real device be found for any type of
29926 abstraction (LVM, EVMS, RAID..).
29927 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
29928 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
29929 device is found first, find_root_device() will now skip it.
29930
01453bfc 299312008-07-24 Pavel Roskin <proski@gnu.org>
29932
29933 * include/grub/types.h: Use __builtin_bswap32() and
29934 __builtin_bswap64() with gcc 4.3 and newer.
29935
6af9849f 299362008-07-24 Christian Franke <franke@computer.org>
29937
3a0fa256 29938 * util/i386/pc/grub-install.in: If `--debug' is specified,
29939 pass `--verbose' to grub-setup.
29940 Abort script if make_system_path_relative_to_its_root() fails.
29941
7810e747 299422008-07-24 Bean <bean123ch@gmail.com>
29943
29944 * configure.ac: Fixed a bug caused by the previous cygwin patch,
29945 variable `target_platform' should be `platform'.
29946
42290e17 299472008-07-24 Bean <bean123ch@gmail.com>
29948
51cc5193 29949 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 29950 (grub_png_init_fixed_block): New function.
29951 (grub_png_decode_image_data): Handle fixed huffman code compression.
29952
2a8a80e4 299532008-07-24 Bean <bean123ch@gmail.com>
29954
29955 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
29956 (grub_pe2elf_SOURCES): New macro.
29957 (CLEANFILES): Add grub-pe2elf.
29958
29959 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
29960 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
29961 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
29962 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
29963 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
29964 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
29965 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
29966 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
29967 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
29968 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
29969 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
29970 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
29971 (GRUB_PE32_DT_FUNCTION): Likewise.
29972 (GRUB_PE32_REL_I386_DIR32): Likewise.
29973 (GRUB_PE32_REL_I386_REL32): Likewise.
29974 (grub_pe32_symbol): New structure.
29975 (grub_pe32_reloc): Likewise.
29976
29977 * util/grub-pe2elf.c: New file.
29978
29979 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
29980 start symbol in non pc platform.
29981
29982 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
29983
29984 The following patches are from Christian Franke.
29985
29986 * include/grub/dl.h: Remove .previous, gas supports this only
29987 for ELF format.
29988
29989 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
29990 Remove .type, gas supports this only for ELF format.
29991
29992 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
29993 nullbytes in symbol table. This fixes an infinite loop if table is
29994 zero filled.
29995
29996 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
29997 TARGET_IMG_LDFLAGS and EXEEXT.
29998
29999 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
30000 TARGET_IMG_LDFLAGS_AC.
30001 (grub_CHECK_STACK_ARG_PROBE): New function.
30002
30003 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
30004
30005 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
30006
30007 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
30008 to set TARGET_IMG_LD* accordingly.
30009 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
30010 Add call to grub_CHECK_STACK_ARG_PROBE.
30011 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
30012
30013 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
30014
30015 * genmk.rb: Add EXEEXT to CLEANFILES.
30016
12ccdb75 300172008-07-23 Robert Millan <rmh@aybabtu.com>
30018
30019 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
30020 define the codes for arrows and lines used for the menu).
30021 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
30022 as well.
30023
30024 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
30025 fonts, because the latter are too slow.
30026
18eeaf04 300272008-07-21 Bean <bean123ch@gmail.com>
30028
30029 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
30030 a20. Run keyboard test last, as it will cause macbook to halt.
30031
b095e2ad 300322008-07-18 Pavel Roskin <proski@gnu.org>
30033
30034 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
30035 load foreign architecture modules correctly anyway. Keep
30036 support for loading host architecture modules, whether we
30037 compile them or not.
30038
737feb35 300392008-07-17 Pavel Roskin <proski@gnu.org>
30040
3f4ce737 30041 * configure.ac: Use -m32 or -m64 regardless of whether we had to
30042 change target_cpu. The compiler default can mismatch target_cpu
30043 in any case.
30044
4ad2d049 30045 * disk/efi/efidisk.c: Fix format warnings on x86_64.
30046 * kern/efi/efi.c: Likewise.
30047
f6130a12 30048 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
30049 target compiler is functional.
30050 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
30051 are set up.
30052
58393a2d 30053 * configure.ac: Default to efi platform for x86_64-apple. Allow
30054 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
30055 adjustments from the rest, only do them if target is not
30056 explicitly given. Merge other adjustments with the final sanity
30057 check. Remove an extraneous check for supported CPU. Be
30058 specific which CPU and which platform is not supported.
30059
737feb35 30060 * configure.ac: Default to pc platform for x86_64.
30061
546f966a 300622008-07-17 Robert Millan <rmh@aybabtu.com>
30063
30064 Partial LinuxBIOS -> Coreboot rename.
30065
30066 * conf/i386-linuxbios.rmk: Renamed to ...
30067 * conf/i386-coreboot.rmk: ... this.
30068 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
30069 * configure.ac: Accept "coreboot" as input platform (but maintain
30070 compatibility with "linuxbios").
30071 * include/grub/i386/linuxbios: Renamed to ...
30072 * include/grub/i386/coreboot: ... this.
30073
20011694 300742008-07-17 Bean <bean123ch@gmail.com>
30075
30076 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 30077 (appleldr_mod_SOURCE): New variable.
20011694 30078 (appleldr_mod_CFLAGS): Likewise.
30079 (appleldr_mod_LDFLAGS): Likewise.
30080 (pci_mod_SOURCES): Likewise.
30081 (pci_mod_CFLAGS): Likewise.
30082 (pci_mod_LDFLAGS): Likewise.
30083 (lspci_mod_SOURCES): Likewise.
30084 (lspci_mod_CFLAGS): Likewise.
30085 (lspci_mod_LDFLAGS): Likewise.
30086
30087 * conf/x86_64-efi.rmk: New file.
30088
30089 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
30090 macro.
30091 (grub_efidisk_write): Likewise.
30092
30093 * include/efi/api.h (efi_call_0): New macro.
30094 (efi_call_1): Likewise.
30095 (efi_call_2): Likewise.
30096 (efi_call_3): Likewise.
30097 (efi_call_4): Likewise.
30098 (efi_call_5): Likewise.
30099 (efi_call_6): Likewise.
30100
30101 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
30102 grub_rescue_cmd_chainloader.
30103
30104 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
30105 (grub_pe32_optional_header): Change some fields based on i386 or
30106 x86_64 platform.
30107 (GRUB_PE32_PE32_MAGIC): Likewise.
30108
30109 * include/grub/efi/uga_draw.h: New file.
30110
30111 * include/grub/elf.h (STN_ABS): New constant.
30112 (R_X86_64_NONE): Relocation constant for x86_64.
30113 (R_X86_64_64): Likewise.
30114 (R_X86_64_PC32): Likewise.
30115 (R_X86_64_GOT32): Likewise.
30116 (R_X86_64_PLT32): Likewise.
30117 (R_X86_64_COPY): Likewise.
30118 (R_X86_64_GLOB_DAT): Likewise.
30119 (R_X86_64_JUMP_SLOT): Likewise.
30120 (R_X86_64_RELATIVE): Likewise.
30121 (R_X86_64_GOTPCREL): Likewise.
30122 (R_X86_64_32): Likewise.
30123 (R_X86_64_32S): Likewise.
30124 (R_X86_64_16): Likewise.
30125 (R_X86_64_PC16): Likewise.
30126 (R_X86_64_8): Likewise.
30127 (R_X86_64_PC8): Likewise.
30128
30129 * include/grub/i386/efi/pci.h: New file.
30130
30131 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
30132 Change it value based on platform.
30133 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
30134 (GRUB_E820_RAM): Likewise.
30135 (GRUB_E820_RESERVED): Likewise.
30136 (GRUB_E820_ACPI): Likewise.
30137 (GRUB_E820_NVS): Likewise.
30138 (GRUB_E820_EXEC_CODE): Likewise.
30139 (GRUB_E820_MAX_ENTRY): Likewise.
30140 (grub_e820_mmap): New structure.
30141 (linux_kernel_header): Change the efi field according to different
30142 kernel version, also field from linux_kernel_header.
30143
30144 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
30145
30146 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
30147 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
30148 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
30149 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
30150 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
30151 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
30152 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
30153 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
30154 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
30155 (GRUB_PCI_ADDR_IO_MASK): Likewise.
30156
30157 * include/grub/x86_64/efi/kernel.h: New file.
30158
30159 * include/grub/x86_64/efi/loader.h: Likewise.
30160
30161 * include/grub/x86_64/efi/machine.h: Likewise.
30162
30163 * include/grub/x86_64/efi/pci.h: Likewise.
30164
30165 * include/grub/x86_64/efi/time.h: Likewise.
30166
30167 * include/grub/x86_64/linux.h: Likewise.
30168
30169 * include/grub/x86_64/setjmp.h: Likewise.
30170
30171 * include/grub/x86_64/time.h: Likewise.
30172
30173 * include/grub/x86_64/types.h: Likewise.
30174
30175 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
30176 GRUB_TARGET_SIZEOF_VOID_P.
30177
30178 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
30179 (grub_efi_locate_handle): Likewise.
30180 (grub_efi_open_protocol): Likewise.
30181 (grub_efi_set_text_mode): Likewise.
30182 (grub_efi_stall): Likewise.
30183 (grub_exit): Likewise.
30184 (grub_reboot): Likewise.
30185 (grub_halt): Likewise.
30186 (grub_efi_exit_boot_services): Likewise.
30187 (grub_get_rtc): Likewise.
30188
30189 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
30190 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
30191 (grub_efi_allocate_pages): Wrap efi calls.
30192 (grub_efi_free_pages): Wrap efi calls.
30193 (grub_efi_get_memory_map): Wrap efi calls.
30194
30195 * kern/x86_64/dl.c: New file.
30196
30197 * kern/x86_64/efi/callwrap.S: Likewise.
30198
30199 * kern/x86_64/efi/startup.S: Likewise.
30200
30201 * loader/efi/appleloader.c: Likewise.
30202
30203 * loader/efi/chainloader.c (cmdline): New variable.
30204 (grub_chainloader_unload): Wrap efi calls.
30205 (grub_chainloader_boot): Likewise.
30206 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
30207 command line.
30208
30209 * loader/efi/chainloader_normal.c (chainloader_command):
30210 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
30211 command line.
30212
30213 * loader/i386/efi/linux.c (allocate_pages): Change allocation
30214 method.
30215 (grub_e820_add_region): New function.
30216 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
30217 booting.
30218 (grub_find_video_card): New function.
30219 (grub_linux_setup_video): New function.
30220 (grub_rescue_cmd_linux): Probe for video information.
30221
30222 * normal/x86_64/setjmp.S: New file.
30223
30224 * term/efi/console.c (map_char): New function.
30225 (grub_console_putchar): Map unicode char.
30226 (grub_console_checkkey): Wrap efi calls.
30227 (grub_console_getkey): Likewise.
30228 (grub_console_getwh): Likewise.
30229 (grub_console_gotoxy): Likewise.
30230 (grub_console_cls): Likewise.
30231 (grub_console_setcolorstate): Likewise.
30232 (grub_console_setcursor): Likewise.
30233
30234 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
30235
59652a20 302362008-07-16 Pavel Roskin <proski@gnu.org>
30237
ef294055 30238 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
30239 format strings.
30240
59652a20 30241 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
30242 pointer, not an integer. This fixes a warning and prevents
30243 precision loss on 64-bit systems.
30244 (relocate_addresses): Remove unneeded cast.
30245
afc3b5d7 302462008-07-15 Pavel Roskin <proski@gnu.org>
30247
506b2b3e 30248 * kern/i386/ieee1275/init.c: Include grub/cache.h.
30249
62ead89c 30250 * term/ieee1275/ofconsole.c: Disable code unused on i386.
30251
c4cd51d7 30252 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
30253 Fix comparison between signed and unsigned.
30254
0d3d8f28 30255 * include/grub/i386/ieee1275/console.h: Declare
30256 grub_console_init() and grub_console_fini().
30257
8804b286 30258 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
30259 It's empty and unused.
30260
ee01cf35 30261 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
30262 beginning to avoid warnings with some compilers.
30263
afc3b5d7 30264 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
30265 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
30266
e4e8eaa5 302672008-07-14 Pavel Roskin <proski@gnu.org>
30268
407aceb4 30269 * kern/env.c (grub_register_variable_hook): Don't copy empty
30270 string, it leaks memory. Pass "" to grub_env_set(), it should
30271 handle constant strings.
30272
e4e8eaa5 30273 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
30274 * commands/cmp.c (grub_cmd_cmp): Likewise.
30275 * kern/dl.c (grub_dl_flush_cache): Likewise.
30276 (grub_dl_load_core): Likewise.
30277 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
30278 (grub_elf64_load_phdrs): Likewise.
30279
d4e2dad3 302802008-07-13 Pavel Roskin <proski@gnu.org>
30281
30282 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
30283 between signed and unsigned.
30284 (LzmaEnc_Finish): Fix warning about an unused parameter.
30285
aa24b516 302862008-07-13 Bean <bean123ch@gmail.com>
30287
30288 * Makefile.in (enable_lzo): New rule.
30289
30290 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
30291
30292 * configure.ac (ENABLE_LZO): New option --enable-lzo.
30293
30294 * boot/i386/pc/lnxboot.S: #include <config.h>.
30295
30296 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 30297 its value according to the compression algorithm used, lzo or lzma.
aa24b516 30298
30299 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
30300 compression algorithm according to configure macro.
30301
30302 * kern/i386/pc/startup.S (codestart): Likewise.
30303
30304 * kern/i386/pc/lzma_decode.S: New file.
30305
30306 * include/grub/lib/LzFind.h: Likewise.
30307
30308 * include/grub/lib/LzHash.h: Likewise.
30309
30310 * include/grub/lib/LzmaDec.h: Likewise.
30311
30312 * include/grub/lib/LzmaEnc.h: Likewise.
30313
30314 * include/grub/lib/LzmaTypes.h: Likewise.
30315
30316 * lib/LzFind.c: Likewise.
30317
30318 * lib/LzmaDec.c: Likewise.
30319
30320 * lib/LzmaEnc.c: Likewise.
30321
4ae821ac 303222008-07-13 Bean <bean123ch@gmail.com>
30323
30324 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
30325 (grub_ext4_extent_header): New structure.
30326 (grub_ext4_extent): Likewise.
30327 (grub_ext4_extent_idx): Likewise.
30328 (grub_ext4_find_leaf): New function.
30329 (grub_ext2_read_block): Handle extents.
30330
9a745147 303312008-07-12 Robert Millan <rmh@aybabtu.com>
30332
30333 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
30334
d49a4cf6 303352008-07-11 Robert Millan <rmh@aybabtu.com>
30336
30337 * util/grub.d/40_custom.in: New file. Example on how to add custom
30338 entries to /etc/grub.d.
30339 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
30340 40_custom (implicitly, by merging all the grub.d rules).
30341
947414b4 303422008-07-11 Pavel Roskin <proski@gnu.org>
30343
0059cf6f 30344 * commands/read.c (grub_getline): Fix invalid memory access.
30345 Don't add newline to the variable value.
30346
947414b4 30347 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
30348 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
30349 (serial_hw_get_port): Check validity of the port number.
30350 (grub_cmd_serial): Check return value of serial_hw_get_port().
30351
62a02d00 303522008-07-07 Pavel Roskin <proski@gnu.org>
30353
30354 * boot/i386/pc/diskboot.S (notification_string): Replace
30355 "Loading kernel" with just "loading". This is shorter, less
30356 confusing and saves a few bytes for possible future changes.
30357
3e5581b0 303582008-07-05 Pavel Roskin <proski@gnu.org>
30359
ea387a48 30360 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
30361 size for ATAPI devices, they are undefined. Output sector
30362 number in decimal form.
30363
3e5581b0 30364 * disk/ata.c: Use named constants for status bits.
30365
fdecb8fd 303662008-07-04 Pavel Roskin <proski@gnu.org>
30367
bcd35b90 30368 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
30369 grub_addr_t before casting it to the void pointer to fix a
30370 warning. Non-addressable regions are discarded earlier.
30371 (grub_arch_modules_addr): Cast _end to grub_addr_t.
30372 * kern/i386/linuxbios/table.c: Include grub/misc.h.
30373 (check_signature): Don't shadow table_header.
30374 (grub_linuxbios_table_iterate): Cast numeric constants to
30375 grub_linuxbios_table_header_t.
30376 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
30377 grub_stop().
30378
af58ab3d 30379 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
30380 prevent warnings.
30381
1759aa57 30382 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
30383 pointer, which can cause warnings. Support 64-bit addresses.
30384
fdecb8fd 30385 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
30386 of sizeof(long). This fixes PowerPC image generation on x86_64.
30387
8516d2a8 303882008-07-04 Robert Millan <rmh@aybabtu.com>
30389
30390 This fixes a performance issue when pc & gpt partmap iterators
30391 didn't abort iteration even after our hook found what it was
fe987087 30392 looking for (often causing expensive probes of non-existent drives).
8516d2a8 30393
30394 Some callers relied on previous buggy behaviour, since they would
34c44600 30395 raise an error when their own hooks caused early abortion of its
8516d2a8 30396 iteration.
30397
30398 * kern/device.c (grub_device_open): Improve error message.
30399 * disk/lvm.c (grub_lvm_open): Likewise.
30400 * disk/raid.c (grub_raid_open): Likewise.
30401
30402 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
30403 when hook requests it, independently of grub_errno.
30404 (pc_partition_map_probe): Do not fail when find_func() caused
30405 early abortion of pc_partition_map_iterate().
30406
30407 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
30408 when hook requests it, independently of grub_errno.
30409 (gpt_partition_map_probe): Do not fail when find_func() caused
30410 early abortion of gpt_partition_map_iterate().
30411
30412 * kern/partition.c (grub_partition_iterate): Abort parent iteration
30413 when hook requests it, independently of grub_errno. Do not fail when
30414 part_map_iterate_hook() caused early abortion of p->iterate().
30415
30416 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
30417 when grub_partition_iterate() returned with non-zero.
30418
277d0de9 304192008-07-03 Pavel Roskin <proski@gnu.org>
30420
30421 * disk/ata.c (grub_ata_pio_write): Check status before writing,
30422 like we do in grub_ata_pio_read().
30423 (grub_ata_readwrite): Always write individual sectors. Fix the
30424 sector count for the remainder.
30425 (grub_ata_write): Enable writing to ATA devices. Correctly
30426 report error for ATAPI devices.
30427
d4c9b428 304282008-07-02 Pavel Roskin <proski@gnu.org>
30429
e43fc690 30430 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
30431 warning.
30432
f707af42 30433 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
30434 for every read sector, we already increment it for the whole
30435 batch. This fixes reading more than 256 sectors at once.
30436
11e16b15 30437 * util/grub-editenv.c (cmd_info): Cast argument to long
30438 explicitly. ptrdiff_t reduces to int on i386.
30439
cbabfdd4 30440 * util/grub-editenv.c (main): Be specific which parameter is
30441 missing.
30442
b8fbce0a 30443 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
30444 (memdisk): Make memdisk_orig_addr a pointer.
30445
c9c8e606 30446 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
30447 for file offsets, use grub_off_t instead. Fix printf format
30448 warnings.
30449
ca62e598 30450 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
30451 there. Real unexpected warnings should not drown in the noise
30452 about known problems.
30453
ce8d1766 30454 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
30455 grub_disk_addr_t for memory addresses.
30456
00c7a56a 30457 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
30458 explicitly to fix a warning.
30459
08d3ef09 30460 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
30461
cb71ba20 30462 * Makefile.in (MODULE_LDFLAGS): New variable.
30463 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
30464 the linker accepts --build-id=none.
30465 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
30466 MODULE_LDFLAGS.
30467 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
30468
d4c9b428 30469 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
30470 those in Linux XFS code. Provide a way to access 64-bit parent
30471 inode.
30472 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
30473 the end of struct grub_xfs_dir_header.
30474
d4156eee 304752008-07-02 Bean <bean123ch@gmail.com>
30476
30477 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
30478 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
30479 and GRUB_IEEE1275_FLAG_NO_ANSI.
30480
30481 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
30482 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
30483 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
30484
30485 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
30486 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
30487
30488 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
30489 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
30490
30491 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
30492 esc sequence on non ANSI terminal.
30493 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
30494
30495 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
30496 beginning of file.
30497
2270f77b 304982008-07-02 Bean <bean123ch@gmail.com>
30499
30500 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
30501 (grub_editenv_SOURCES): New variable.
30502 (pkglib_MODULES): Add loadenv.mod.
30503 (loadenv_mod_SOURCES): New variable.
30504 (loadenv_mod_CFLAGS): Likewise.
30505 (loadenv_mod_LDFLAGS): Likewise.
30506
30507 * include/grub/envblk.h: New file.
30508
30509 * util/envblk.c: New file.
30510
30511 * util/grub-editenv.c: New file.
30512
30513 * commands/loadenv.c: New file.
30514
0e9e51ec 305152008-07-01 Pavel Roskin <proski@gnu.org>
30516
d89b7634 30517 * include/multiboot2.h (struct multiboot_tag_module): Use char,
30518 not unsigned char. This fixes warnings and is consistent with
30519 other tags.
30520
bf1835b1 30521 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
30522
8222a04b 30523 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
30524
6a42d99d 30525 * term/tparm.c (analyze): Always set *popcount.
30526
10b159d1 30527 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
30528 cast to fix a warning.
30529
b8789f6c 30530 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
30531 cast to suppress a warning.
30532
29d7e38a 30533 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
30534 grub_fshelp_read_file() expects.
30535
f341f669 30536 * fs/fat.c: Fix UUID calculation on big-endian systems. We
30537 write uuid as a 32-bit value in CPU byte order, so declare and
30538 use it as such.
30539
0e9e51ec 30540 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
30541 long if the format specifier expects it.
30542 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
30543 * partmap/pc.c (pc_partition_map_iterate): Likewise.
30544 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
30545 long to fix a warning.
30546 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
30547 grub_dprintf() arguments to fix warnings.
30548
3aefa857 305492008-06-30 Pavel Roskin <proski@gnu.org>
30550
56c7668b 30551 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
30552 install_bsd_part immediately before core.img is embedded or
30553 modified on disk. This fixes core.img verification if core.img
30554 cannot be embedded.
30555
3aefa857 30556 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
30557 core_path to calculate the blocklist.
30558 Patch from Javier Martín <lordhabbit@gmail.com>
30559
5444088d 305602008-06-29 Robert Millan <rmh@aybabtu.com>
30561
30562 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
30563 block to disk block.
30564 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
30565 Patch from Niels Böhm <bitbucket@arcor.de>
30566
674835c8 305672008-06-29 Robert Millan <rmh@aybabtu.com>
30568
30569 * util/update-grub_lib.in (font_path): Search for fonts in
30570 /boot/grub first, which is more likely to be readable (we aren't
30571 deciding where fonts live, just looking for them).
30572
f527dbc8 305732008-06-26 Pavel Roskin <proski@gnu.org>
30574
6c2d8df6 30575 * util/biosdisk.c (read_device_map): Don't leave dead map
30576 entries for devices failing stat() check.
30577
f527dbc8 30578 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
30579 core_path_dev for the core.img path on the target device.
30580
aebe3d13 305812008-06-26 Robert Millan <rmh@aybabtu.com>
30582
30583 * disk/fs_uuid.c: New file.
30584 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
30585 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
30586 (fs_uuid_mod_LDFLAGS): New variables.
30587 * include/grub/disk.h (grub_disk_dev_id): Add
30588 `GRUB_DISK_DEVICE_UUID_ID'.
30589 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
30590 implement iterate().
30591
37aaf354 305922008-06-26 Robert Millan <rmh@aybabtu.com>
30593
30594 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
30595 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
30596 Linux image includes no initrd.
30597
25ff262a 305982008-06-21 Javier Martín <lordhabbit@gmail.com>
30599
30600 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
30601 call to resolve the core image location that effectively appended the
30602 name twice.
30603
76a2bd44 306042008-06-21 Robert Millan <rmh@aybabtu.com>
30605
30606 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
30607 call from here ...
30608
30609 * util/grub.d/10_hurd.in: ... to here ...
30610 * util/grub.d/10_linux.in: ... and here.
30611
650e1c79 306122008-06-19 Robert Millan <rmh@aybabtu.com>
30613
fe987087 30614 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 30615 after it has been set by grub_machine_set_prefix().
30616
6ce63911 306172008-06-19 Robert Millan <rmh@aybabtu.com>
30618
30619 * commands/search.c (search_label, search_fs_uuid, search_file): Print
30620 search result when not saving to variable, not the other way around.
30621 When saving to variable, abort iteration as soon as a match is found.
30622
73940cec 306232008-06-19 Robert Millan <rmh@aybabtu.com>
30624
30625 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
30626 check for partition that provides /boot/grub. Its logic is flawed,
30627 as it prevents prepare_grub_to_access_device() from being called
30628 multiple times.
30629
3c62a39d 306302008-06-19 Robert Millan <rmh@aybabtu.com>
30631
30632 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
30633 "insmod" command directly when abstraction modules are needed,
fe987087 30634 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 30635 since it had already been processed).
30636
47395a42 306372008-06-19 Pavel Roskin <proski@gnu.org>
30638
30639 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
30640 changed. This is needed in case GRUB_LIBDIR changes.
30641 * conf/i386-ieee1275.rmk: Likewise.
30642 * conf/i386-linuxbios.rmk: Likewise.
30643 * conf/i386-pc.rmk: Likewise.
30644 * conf/powerpc-ieee1275.rmk: Likewise.
30645
a145ac2d 306462008-06-18 Pavel Roskin <proski@gnu.org>
30647
30648 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
30649 kernel_elf_symlist.c to symlist.c for consistency with other
30650 architectures. Update all users.
30651 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30652
7847c51e 306532008-06-18 Robert Millan <rmh@aybabtu.com>
30654
30655 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
30656 it in prefix.
30657
30658 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
30659 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
30660 a RAID device, run setup() for all members independently on whether
30661 LVM abstraction is being used.
30662 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
30663 If grub-mkimage has set `*install_dos_part == -2', don't override this
30664 value.
30665 Perform *install_dos_part adjustments independently on whether
30666 we're embedding or not.
30667 Clarify error message when image is too big for embedding.
30668 Remove duplicate *install_dos_part stanza.
30669
b23e5644 306702008-06-17 Robert Millan <rmh@aybabtu.com>
30671
30672 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
30673 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
30674 variables.
30675 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
30676 values in grub_ofconsole_normal_color and
30677 grub_ofconsole_highlight_color (they're not directly related to
30678 background and foreground).
30679 (grub_ofconsole_setcolorstate): Extract background and foreground
30680 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
30681
0aac2f79 306822008-06-17 Robert Millan <rmh@aybabtu.com>
30683
30684 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
30685 /boot/grub for the check in last commit, not /boot (they could be
30686 different partitions).
30687
3cca7ef3 306882008-06-16 Robert Millan <rmh@aybabtu.com>
30689
30690 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
30691 asked to setup access for the same partition that provides /boot,
30692 don't bother using UUIDs since our root already has the value we
30693 want.
30694
347396d8 306952008-06-16 Robert Millan <rmh@aybabtu.com>
30696
30697 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
30698 I2O devices.
30699 Patch from Sven Mueller <sven@debian.org>.
30700
991477f8 307012008-06-16 Robert Millan <rmh@aybabtu.com>
30702
30703 * util/update-grub.in: Check for $EUID instead of $UID.
30704 Reported by Vincent Zweije.
30705
d31a32a1 307062008-06-16 Bean <bean123ch@gmail.com>
30707
fe987087 30708 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 30709 (grub_ext2_read_block): Likewise.
30710 (grub_ext2_read_inode): Likewise.
30711 (grub_ext2_mount): Likewise.
30712 (grub_ext2_close): Likewise.
30713 (grub_ext3_get_journal): Removed.
30714
fe987087 30715 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 30716 (grub_reiserfs_read_symlink): Likewise.
30717 (grub_reiserfs_mount): Likewise.
30718 (grub_reiserfs_open): Likewise.
30719 (grub_reiserfs_read): Likewise.
30720 (grub_reiserfs_close): Likewise.
30721 (grub_reiserfs_get_journal): Removed.
30722
30723 * fs/fshelp.c (grub_fshelp_read): Removed.
30724 (grub_fshelp_map_block): Likewise.
30725
30726 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
30727 (grub_fshelp_journal): Likewise.
30728 (grub_fshelp_read): Likewise.
30729 (grub_fshelp_map_block): Likewise.
30730
3540a760 307312008-06-16 Pavel Roskin <proski@gnu.org>
30732
30733 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
30734 floating point anymore.
30735 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
30736
95614c84 307372008-06-15 Pavel Roskin <proski@gnu.org>
30738
30739 * commands/ls.c (grub_ls_list_files): Use integer calculations
30740 for human readable format, avoid floating point use.
30741 * kern/misc.c (grub_ftoa): Remove.
30742 (grub_vsprintf): Remove floating point support.
30743
50465dd6 307442008-06-15 Robert Millan <rmh@aybabtu.com>
30745
fe6b695a 30746 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 30747 devices.
30748 Reported by Max Vozeler.
30749
a9207284 307502008-06-15 Robert Millan <rmh@aybabtu.com>
30751
30752 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
30753 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
30754 skipped later.
30755 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
30756 the beginning of the prefix.
30757
30758 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
30759 It is assumed that if we have a memdisk, grub-mkimage has set
30760 grub_prefix to include the "(memdisk)" drive in it.
30761
a7cbd45a 307622008-06-15 Robert Millan <rmh@aybabtu.com>
30763
30764 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
30765 Initialize keyboard controller after registering the terminal, so that
30766 grub_printf() can be called from grub_keyboard_controller_init().
30767
21cf716a 307682008-06-15 Robert Millan <rmh@aybabtu.com>
30769
30770 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
30771 extent-btree which is written as big endian on disk.
30772 Reported by Alain Greppin <al@chilibi.org>.
30773
23a64d8e 307742008-06-14 Robert Millan <rmh@aybabtu.com>
30775
30776 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
30777 * util/i386/pc/grub-install.in (modules): Likewise.
30778
d687651c 307792008-06-13 Pavel Roskin <proski@gnu.org>
30780
30781 * commands/ls.c (grub_ls_list_files): Fix format warnings.
30782
dfe9ddd4 307832008-06-13 Bean <bean123ch@gmail.com>
30784
30785 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
30786
30787 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
30788
30789 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
30790 to indicate sparse block.
30791
16ae7781 307922008-06-12 Pavel Roskin <proski@gnu.org>
30793
e6d1a308 30794 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
30795 number, grub_fshelp_read() does it for us.
30796
16ae7781 30797 * fs/fshelp.c (grub_fshelp_read): New function. Implement
30798 linear disk read with journal translation.
30799 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
30800 * include/grub/fshelp.h: Declare grub_fshelp_read().
30801
40fd3a2b 308022008-06-09 Pavel Roskin <proski@gnu.org>
30803
30804 * fs/minix.c (grub_minix_mount): Handle error reading
30805 superblock.
30806
f5679726 308072008-06-08 Robert Millan <rmh@aybabtu.com>
30808
30809 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
30810 don't append the RAID prefix afterwards.
30811 Reported by Clint Adams.
30812
ce525529 308132008-06-08 Robert Millan <rmh@aybabtu.com>
30814
30815 Based on description from Pavel:
30816 * kern/disk.c (grub_disk_check_range): Rename to ...
30817 (grub_disk_adjust_range): ... this. Add a comment explaining the
30818 tasks performed by this function.
30819
ad4936a0 308202008-06-08 Robert Millan <rmh@aybabtu.com>
30821
30822 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
30823 `num_serial' (for consistency with other variables).
30824 (struct grub_ntfs_data): Add `uuid' member.
30825 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
30826 (grub_ntfs_uuid): New function.
30827 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
30828
dc20b0f9 308292008-06-07 Pavel Roskin <proski@gnu.org>
30830
30831 * util/biosdisk.c (open_device): Revert last change to the
30832 function, it broke installation. The sector needs to be
30833 different dependent on which device is opened.
30834
c5e3cfba 308352008-06-06 Robert Millan <rmh@aybabtu.com>
30836
30837 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
30838 rest of GRUB, and breakage doesn't happen if its value were modified.
30839
30840 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30841 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
30842 a constant (same value).
30843 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
30844 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
30845
26a1f8c4 308462008-06-06 Robert Millan <rmh@aybabtu.com>
30847
30848 * util/biosdisk.c (open_device): Do not modify sector offset when
30849 accessing a partition. kern/disk.c already handles this for us.
30850
25d6b327 308512008-06-06 Robert Millan <rmh@aybabtu.com>
30852
30853 * util/grub-emu.c (grub_machine_init): Move code in this function from
30854 here ...
30855 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
30856 segfault in case grub_printf() is called).
30857
30858 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
30859 grub_probe. Update all users not to explicitly add it again.
30860 (grub_device): New variable; contains corresponding device for grubdir.
30861 (fs_module, partmap_module, devabstraction_module): Pass
30862 `--device ${grub_device}' to grub_probe to avoid traversing /dev
30863 every time.
30864
9ece62fb 308652008-06-05 Robert Millan <rmh@aybabtu.com>
30866
30867 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
30868 is found, print it (same layout as with labels).
30869
1ad36d37 308702008-06-04 Robert Millan <rmh@aybabtu.com>
30871
30872 * util/biosdisk.c (get_drive): Rename to ...
30873 (find_grub_drive): ... this. Update all users.
30874
30875 (get_os_disk): Rename to ...
30876 (convert_system_partition_to_system_disk): ... this. Update all users.
30877
30878 (find_drive): Rename to ...
30879 (find_system_device): ... this. Update all users.
30880
e6a30859 308812008-06-04 Robert Millan <rmh@aybabtu.com>
30882
30883 * util/biosdisk.c (get_os_disk): Handle IDA devices.
30884 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30885 (make_device_map): Likewise.
30886
00c108a4 308872008-06-01 Robert Millan <rmh@aybabtu.com>
30888
30889 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
30890 before dereferencing it.
30891
30892 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
30893 union with fat12/fat16-specific ones. Add some new fields, including
30894 `num_serial' for both versions.
30895 (struct grub_fat_data): Add `uuid' member.
30896 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
30897 names. Initialize `data->uuid' using `num_serial'.
30898 (grub_fat_uuid): New function.
30899 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
30900
30901 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
30902 (grub_reiserfs_uuid): New function.
30903 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
30904 member.
30905
30906 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
30907 (grub_xfs_uuid): New function.
30908 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
30909
1385c5bb 309102008-06-01 Robert Millan <rmh@aybabtu.com>
30911
30912 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
30913 code that is backward compatible with pre-uuid search command.
30914
c682dfd7 309152008-05-31 Robert Millan <rmh@aybabtu.com>
30916
30917 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
30918 floppies after everything else, to ensure floppy drive isn't accessed
30919 unnecessarily (patch from Bean).
30920
b7db5d47 309212008-05-31 Robert Millan <rmh@aybabtu.com>
30922
30923 * commands/search.c (search_label, search_fs_uuid, search_file): Do
30924 not print device names when we were asked to set a variable.
30925
6e037aa9 309262008-05-31 Robert Millan <rmh@aybabtu.com>
30927
30928 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
30929 using "cursor-on" and "cursor-off" commands (understood at least by
30930 the Open Firmware flavour on OLPC).
30931
41305bc8 309322008-05-31 Michael Gorven <michael@gorven.za.net>
30933
30934 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
30935 on and off sequences.
30936
69ba137e 309372008-05-31 Robert Millan <rmh@aybabtu.com>
30938
30939 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
30940 * util/update-grub.in: Likewise.
30941
520ae21b 309422008-05-30 Pavel Roskin <proski@gnu.org>
30943
30944 * util/biosdisk.c (linux_find_partition): Simplify logic and
30945 make the code more universal. Keep special processing for
30946 devfs, but use a simple rule for all other devices. If the
30947 device ends with a number, append 'p' and the partition number.
30948 Otherwise, append only the partition number.
30949
5786569b 309502008-05-30 Robert Millan <rmh@aybabtu.com>
30951
30952 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
30953 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
30954 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
30955 the `root' parameter to Linux.
30956
51500452 309572008-05-30 Robert Millan <rmh@aybabtu.com>
30958
30959 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
30960 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
30961 --fs_uuid with --fs-uuid.
30962 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
30963 all filesystems support them).
30964
811d3878 309652008-05-30 Robert Millan <rmh@aybabtu.com>
30966
30967 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 30968 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 30969
cab63c95 309702008-05-30 Robert Millan <rmh@aybabtu.com>
30971
30972 * util/grub.d/00_header.in: Remove obsolete comment referencing
30973 convert_system_path_to_grub_path().
30974 * util/update-grub.in: Likewise.
30975 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
30976 (convert_system_path_to_grub_path): Add a warning message explaining
30977 that this function is deprecated. Rely on is_path_readable_by_grub()
30978 for the readability checks.
30979 (font_path): Use is_path_readable_by_grub() for the readability
30980 check rather than convert_system_path_to_grub_path().
30981
972e2f7a 309822008-05-30 Robert Millan <rmh@aybabtu.com>
30983
30984 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
30985 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
30986 converting it first.
30987 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
30988 grub.cfg for access to font file, and afterwards call it again to set
30989 the root device.
30990
62191274 309912008-05-30 Robert Millan <rmh@aybabtu.com>
30992
30993 * commands/search.c (options): Add --fs_uuid option.
30994 (search_fs_uuid): New function.
30995 (grub_cmd_search): Fix --set argument passing.
30996 Use search_fs_uuid() when requested via --fs_uuid.
30997 (grub_search_init): Update help message.
30998 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
30999 and redeclare it as an array of 16-bit words.
31000 (grub_ext2_uuid): New function.
31001 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
31002 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
31003 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
31004 (GRUB_DEVICE_BOOT_UUID): New variables.
31005 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
31006 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
31007 whenever possible.
31008 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
31009 just assume `root' variable has the right value.
31010 * util/grub.d/10_linux.in: Likewise.
31011 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
31012 via PRINT_FS_UUID.
31013 (main): Recognise `-t fs_uuid' argument.
31014
01b73ec8 310152008-05-30 Robert Millan <rmh@aybabtu.com>
31016
31017 * util/biosdisk.c (map): Redefine structure to hold information
31018 about GRUB drive name.
fe6b695a 31019 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 31020 drive names.
31021 (call_hook): Remove.
31022 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
31023 member. Assume drive has partitions.
31024 (grub_util_biosdisk_open): Access device names via `.device' struct
31025 member.
31026 (open_device): Likewise.
31027 (find_drive): Likewise.
31028 (read_device_map): Adjust map[] usage to match the new struct
31029 definition. Don't check for duplicates (still possible, but not cheap
31030 anymore).
31031 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
31032 (make_device_name): Remove assumption of BIOS-like drive names.
31033
22f16596 310342008-05-30 Pavel Roskin <proski@gnu.org>
31035
31036 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
31037 compiling execute.c doesn't need grub_script.tab.h anymore.
31038 (normal/command.c_DEPENDENCIES): Likewise.
31039 (normal/function.c_DEPENDENCIES): Likewise.
31040 * conf/i386-ieee1275.rmk: Likewise.
31041 * conf/i386-linuxbios.rmk: Likewise.
31042 * conf/i386-pc.rmk: Likewise.
31043 * conf/powerpc-ieee1275.rmk: Likewise.
31044 * conf/sparc64-ieee1275.rmk: Likewise.
31045
528ad8f2 310462008-05-29 Pavel Roskin <proski@gnu.org>
31047
d1dff95d 31048 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
31049 when scanning metadata for volume group name.
31050
528ad8f2 31051 * include/grub/script.h: Don't include grub_script.tab.h. It's
31052 a generated file, which may only be included from the files with
31053 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
31054 use union YYSTYPE, as the later allows forward declaration.
31055 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
31056
47248e08 310572008-05-29 Robert Millan <rmh@aybabtu.com>
31058
31059 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
31060 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
31061 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
31062 (grub_console_checkkey): Add grub_dprintf() call to report unknown
31063 scan codes.
31064
ee632529 310652008-05-29 Robert Millan <rmh@aybabtu.com>
31066
31067 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
31068 control key combinations.
31069
eee96e08 310702008-05-29 Robert Millan <rmh@aybabtu.com>
31071
31072 * util/powerpc/ieee1275/grub-install.in: Move from here ...
31073 * util/ieee1275/grub-install.in: ... to here.
31074 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
31075 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
31076 (grub_install_SOURCES): Likewise.
31077
da9a6a94 310782008-05-29 Robert Millan <rmh@aybabtu.com>
31079
31080 * fs/affs.c: Update copyright year.
31081 * fs/ext2.c: Likewise.
31082 * fs/fshelp.c: Likewise.
31083 * fs/hfsplus.c: Likewise.
31084 * fs/ntfs.c: Likewise.
31085 * fs/xfs.c: Likewise.
31086 * include/grub/fshelp.h: Likewise.
31087 * util/grub-mkdevicemap.c: Likewise.
31088
12e65f3a 310892008-05-28 Robert Millan <rmh@aybabtu.com>
31090
31091 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
31092 might need to be fatfs to support some firmware implementations
31093 (e.g. OFW or EFI).
31094
23023641 310952008-05-28 Robert Millan <rmh@aybabtu.com>
31096
31097 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
31098 devices.
31099 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31100 (make_device_map): Likewise.
31101
887d2619 311022008-05-20 Bean <bean123ch@gmail.com>
31103
31104 * fs/fshelp.c (grub_fshelp_map_block): New function.
31105 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
31106 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
31107
31108 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
31109 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
31110 (grub_fshelp_journal): New structure.
31111 (grub_fshelp_map_block): New function prototype.
31112 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
31113 (grub_fshelp_map_block): Likewise.
31114
31115 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
31116 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
31117 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
31118 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
31119 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
31120 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
31121 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
31122 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
31123 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
31124 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
31125 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
31126 (grub_ext2_sblock): New members for journal support.
31127 (grub_ext3_journal_header): New structure.
31128 (grub_ext3_journal_revoke_header): Likewise.
31129 (grub_ext3_journal_block_tag): Likewise.
31130 (grub_ext3_journal_sblock): Likewise.
31131 (grub_fshelp_node): New members logfile and journal.
31132 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
31133 grub_fshelp_map_block to get real block number.
31134 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
31135 number.
31136 (grub_ext2_read_inode): Likewise.
31137 (grub_ext3_get_journal): New function.
31138 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
31139 (grub_ext2_close): Release memory used by journal.
31140
31141 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
31142 (REISERFS_MAGIC_DESC_BLOCK): New macro.
31143 (grub_reiserfs_transaction_header): Renamed to
31144 grub_reiserfs_description_block, replace field data with real_blocks.
31145 (grub_reiserfs_commit_block): New structure.
31146 (grub_reiserfs_data): New member journal.
31147 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
31148 number.
31149 (grub_reiserfs_read_symlink): Likewise.
31150 (grub_reiserfs_iterate_dir): Likewise.
31151 (grub_reiserfs_open): Likewise.
31152 (grub_reiserfs_read): Likewise.
31153 (grub_reiserfs_get_journal): New function.
31154 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
31155 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
31156 using grub_reiserfs_get_journal.
31157 (grub_reiserfs_close): Release memory used by journal.
31158
31159 * fs/affs.c (grub_affs_read_block): Change block type to
31160 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
31161
31162 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
31163
31164 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
31165
31166 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
31167
31168 * fs/udf.c (grub_udf_read_block): Change block type to
31169 grub_disk_addr_t. Use type cast to avoid warning.
31170
31171 * fs/xfs.c (grub_xfs_read_block): Likewise.
31172
b7c6bed5 311732008-05-16 Christian Franke <franke@computer.org>
31174
31175 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
31176 to ensure that break with ESC will always work.
31177 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
31178 Remove ESC from keyboard queue.
31179
eedf167f 311802008-05-16 Christian Franke <franke@computer.org>
31181
31182 * util/biosdisk.c: [__CYGWIN__] Add includes.
31183 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
31184 (get_os_disk): Move variable declarations to OS specific
31185 parts to avoid warning.
31186 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
31187 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
31188 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
31189 Cygwin.
31190 * util/getroot.c: [__CYGWIN__] Add includes.
31191 (strip_extra_slashes): Fix "/" case.
31192 [__CYGWIN__] (get_win32_path): New function.
31193 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
31194 [__CYGWIN__] (find_root_device): Disable.
31195 [__CYGWIN__] (get_bootsec_serial): New function.
31196 [__CYGWIN__] (find_cygwin_root_device): Likewise.
31197 [__linux__] (grub_guess_root_device): Add early returns to simplify
31198 structure.
31199 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
31200 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
31201 check for Linux only.
31202
a079699e 312032008-05-15 Bean <bean123ch@gmail.com>
31204
31205 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
31206 keyboard hang problem in apple's intel mac.
31207
1cf4059a 312082008-05-09 Robert Millan <rmh@aybabtu.com>
31209
31210 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
31211 devices.
31212 * util/grub-mkdevicemap.c (get_virtio_disk_name)
31213 (make_device_map): Likewise.
31214 Reported by Aurelien Jarno <aurel32@debian.org>
31215
ed759390 312162008-05-07 Ian Campbell <ijc@hellion.org.uk>
31217
31218 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
31219 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
31220 (make_device_map): Output entries for xvd type disks.
31221
b56c4eaa 312222008-05-07 Robert Millan <rmh@aybabtu.com>
31223
31224 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
31225 devices.
31226 * util/grub-mkdevicemap.c (get_cciss_disk_name)
31227 (make_device_map): Likewise.
31228 Reported by Roland Dreier <rdreier@cisco.com>
31229
7f8866ed 312302008-05-07 Robert Millan <rmh@aybabtu.com>
31231
31232 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
31233 grub_strstr() call. Correct a few mistakes in failure path handling.
31234
b0346e0f 312352008-05-06 Robert Millan <rmh@aybabtu.com>
31236
31237 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31238 Do not print a trailing slash (therefore, the root directory is an
31239 empty string).
31240 (convert_system_path_to_grub_path): Do not remove trailing slash
31241 from make_system_path_relative_to_its_root() output.
31242
31243 * util/i386/pc/grub-install.in: Add trailing slash to output from
31244 make_system_path_relative_to_its_root().
31245
6cf12cbd 312462008-05-06 Robert Millan <rmh@aybabtu.com>
31247
31248 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
31249 ensures that output lines aren't intermangled with those sent to
31250 stderr (via grub_util_info()).
31251 * util/grub-probe.c (grub_refresh): Likewise.
31252 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
31253
0fbb3117 312542008-05-05 Christian Franke <franke@computer.org>
31255
31256 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
31257 Add Cygwin device names.
31258 (get_ide_disk_name) [__CYGWIN__]: Likewise.
31259 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
31260 (check_device): Return error instead of success on empty name.
31261 (make_device_map): Move label inside linux specific code to
31262 prevent compiler warning.
31263
8124cdb7 312642008-04-30 Robert Millan <rmh@aybabtu.com>
31265
31266 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
31267 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
31268 first boot option.
31269 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
31270
094c01d0 312712008-04-29 Robert Millan <rmh@aybabtu.com>
31272
31273 * docs/grub.cfg: New file (example GRUB configuration).
31274
f4b1fc02 312752008-04-26 Robert Millan <rmh@aybabtu.com>
31276
329ce2a5 31277 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
31278 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
31279 and `disk/ieee1275/nand.c'.
f4b1fc02 31280
25f16ec1 312812008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 31282
25f16ec1 31283 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
31284 i386-linuxbios.
31285
31286 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
31287 change the buffer size to 4096 for cdrom device.
31288
31289 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
31290 and nand.mod.
31291 (_linux_mod_SOURCES): New variable.
31292 (_linux_mod_CFLAGS): Likewise.
31293 (_linux_mod_LDFLAGS): Likewise.
31294 (linux_mod_SOURCES): Likewise.
31295 (linux_mod_CFLAGS): Likewise.
31296 (linux_mod_LDFLAGS): Likewise.
31297 (nand_mod_SOURCES): Likewise.
31298 (nand_mod_CFLAGS): Likewise.
31299 (nand_mod_LDFLAGS): Likewise.
31300
31301 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
31302 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
31303 type property. (nand device in olpc don't have this property)
31304
31305 * include/grub/disk.h (grub_disk_dev_id): New macro
31306 GRUB_DISK_DEVICE_NAND_ID.
31307
31308 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
31309 function prototype.
31310 (grub_rescue_cmd_initrd): Likewise.
31311
31312 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
31313 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
31314 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 31315
25f16ec1 31316 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
31317 GRUB_MACHINE_IEEE1275 is defined.
31318
31319 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
31320 Use NESTED_FUNC_ATTR attribute on the hook parameter.
31321
31322 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
31323 on nested function heap_init.
31324 (grub_upper_mem): New variable for i386-ieee1275.
31325 (grub_get_extended_memory): New function for i386-ieee1275.
31326 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
31327
31328 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
31329 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
31330 property.
f19dbdb7 31331
25f16ec1 31332 * loader/i386/ieee1275/linux.c: New file.
31333
31334 * loader/i386/ieee1275/linux_normal.c: New file.
31335
31336 * disk/ieee1275/nand.c: New file.
31337
e89d61e9 313382008-04-18 Thomas Schwinge <tschwinge@gnu.org>
31339
31340 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
31341 value.
31342 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
31343
602566f6 313442008-04-18 Robert Millan <rmh@aybabtu.com>
31345
31346 Restructures early code path on ieee1275 to unify grub_main() as
31347 the first C function that is executed in every platform.
31348
31349 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
31350 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
31351 cmain().
31352 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
31353 * kern/ieee1275/cmain.c (cmain): Rename to ...
31354 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
31355 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
31356 at the beginning.
31357
57490c2b 313582008-04-18 Robert Millan <rmh@aybabtu.com>
31359
31360 * util/update-grub.in: Fix syntax error when setting
31361 `GRUB_PRELOAD_MODULES'.
31362 Reported by Stephane Chazelas <stephane@artesyncp.com>
31363
1977517d 313642008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
31365
31366 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
31367 section into account, newer toolchains generate unique build ids
31368 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 31369 we want build ids to be preserved
1977517d 31370 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
31371 far from other sections don't cause the raw binary images grow
31372 size
31373
bfb1f1a2 313742008-04-15 Robert Millan <rmh@aybabtu.com>
31375
31376 * disk/lvm.c: Update copyright year.
31377 * kern/misc.c: Likewise.
31378
01979850 313792008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
31380
31381 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 31382 there is no memory left for physical volume name.
01979850 31383
0a1150e2 313842008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
31385
31386 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
31387 volume name mapping to support bigger than 9 character names properly.
31388
82ead3fe 313892008-04-13 Robert Millan <rmh@aybabtu.com>
31390
31391 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
31392 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
31393
e54a72f5 313942008-04-13 Christian Franke <franke@computer.org>
31395
31396 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
31397 to create a floppy emulation boot CD when non emulation mode
31398 does not work.
31399 Enable Joliet CD filesystem extension.
31400
9fe86034 314012008-04-13 Robert Millan <rmh@aybabtu.com>
31402
31403 * kern/misc.c (grub_strncat): Fix off-by-one error.
31404 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
31405
31406 * kern/env.c (grub_env_context_close): Clear current context, not
31407 previous one.
31408 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
31409
31410 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
31411
7ceeee39 314122008-04-13 Robert Millan <rmh@aybabtu.com>
31413
31414 Improve robustness when handling LVM.
31415
31416 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 31417 (and leave `*p' unmodified).
7ceeee39 31418 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
31419 through it.
31420 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
31421 iterating through it.
31422 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
31423 through it.
fe6b695a 31424 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 31425 when due) on each grub_lvm_getvalue() or grub_strstr() call.
31426 Don't assume `vg->pvs != NULL' when iterating through it.
31427
58cd3d85 314282008-04-13 Robert Millan <rmh@aybabtu.com>
31429
31430 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
31431 * genmk.rb (partmap): New variable.
31432 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
31433 (#{partmap}): New target rule.
31434 * genpartmaplist.sh: New file.
31435 * Makefile.in (pkglib_DATA): Add partmap.lst.
31436 (partmap.lst): New target rule.
31437 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
31438 modules (including all partition maps), instead of preloading them.
31439
78b51059 314402007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
31441
31442 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
31443 `linux-boot-prober' (if installed) to detect other operating
31444 systems which are installed on the computer and add them to
31445 the boot menu.
31446 * conf/common.rmk: Build and install 30_os-prober.
31447
a91627b4 314482008-04-12 Robert Millan <rmh@aybabtu.com>
31449
31450 * kern/powerpc/ieee1275/init.c: Move from here ...
31451 * kern/ieee1275/init.c: ... to here. Update all users.
31452
31453 * kern/powerpc/ieee1275/cmain.c: Move from here ...
31454 * kern/ieee1275/cmain.c: ... to here. Update all users.
31455
31456 * kern/powerpc/ieee1275/openfw.c: Move from here ...
31457 * kern/ieee1275/openfw.c: ... to here. Update all users.
31458
31459 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
31460 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
31461
322562ea 314622008-04-10 Pavel Roskin <proski@gnu.org>
31463
31464 * configure.ac: Always use "_cv_" in cache variables for
31465 compatibility with Autoconf 2.62.
31466
a02a73c5 314672008-04-07 Robert Millan <rmh@aybabtu.com>
31468
31469 Revert grub/machine/init.h addition by Pavel (since it breaks on
31470 i386-ieee1275 and others):
31471 * util/i386/pc/misc.c: Remove grub/machine/init.h.
31472 * util/powerpc/ieee1275/misc.c: Likewise.
31473
25c024b1 314742008-04-07 Robert Millan <rmh@aybabtu.com>
31475
31476 * util/grub-probe.c (probe): Improve error message.
31477
3cbd2f98 314782008-04-07 Robert Millan <rmh@aybabtu.com>
31479
31480 * util/biosdisk.c (read_device_map): Skip devices that don't exist
31481 (this prevents the presence of a bogus entry from ruining the whole
31482 thing).
31483
87a297bf 314842008-04-06 Pavel Roskin <proski@gnu.org>
31485
36747a62 31486 * util/biosdisk.c: Include grub/util/biosdisk.h.
31487 * util/grub-fstest.c (execute_command): Make static.
31488 * util/grub-mkdevicemap.c (check_device): Likewise.
31489 * util/i386/pc/misc.c: Include grub/machine/init.h.
31490 * util/powerpc/ieee1275/misc.c: Likewise.
31491 * util/lvm.c: Include grub/util/lvm.h.
31492 * util/misc.c: Include grub/kernel.h, grub/misc.h and
31493 grub/cache.h.
31494 * util/raid.c: Include grub/util/raid.h.
31495 (grub_util_getdiskname): Make static.
31496
87a297bf 31497 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
31498 grub_hostfs_fini(), as they are called from grub_init_all() and
31499 grub_fini_all() respectively. This fixes an infinite loop in
31500 grub-fstest due to double registration of hostfs.
31501 Reported by Christian Franke <Christian.Franke@t-online.de>
31502
f6ce7629 315032008-04-05 Pavel Roskin <proski@gnu.org>
31504
31505 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
31506 all 8 functions. Otherwise, probe function 0 only.
31507
070e49e4 315082008-04-04 Pavel Roskin <proski@gnu.org>
31509
8b088a4c 31510 * commands/lspci.c (grub_lspci_iter): Print the bus number
31511 correctly.
31512
4f657021 31513 * commands/lspci.c (grub_pci_classes): Fix typos.
31514 (grub_lspci_iter): Don't print func twice. Print vendor ID
31515 before device ID, as it's normally done.
31516
070e49e4 31517 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
31518 Fix signedness warnings.
31519 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
31520 Likewise.
31521 * util/ieee1275/get_disk_name.c: Include config.h so that
31522 _GNU_SOURCE is defined and getline() is declared. Mark an
31523 unused argument as such. Fix a signedness warning.
31524
ba7328dc 315252008-04-02 Pavel Roskin <proski@gnu.org>
31526
26887f22 31527 * genkernsyms.sh.in: Use more robust assignments for CC and
31528 srcdir. Quote srcdir.
31529 * gensymlist.sh.in: Likewise. Assert at the compile time that
31530 the symbol table is not empty.
31531
ba7328dc 31532 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
31533 * fs/cpio.c (grub_cpio_read): Likewise.
31534
0f582c6b 315352008-04-01 Pavel Roskin <proski@gnu.org>
31536
4b6e1995 31537 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
31538 * disk/host.c (grub_host_open): Likewise.
31539 * disk/loopback.c (grub_loopback_open): Likewise.
31540 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
31541 disk->id as in disk/host.c, not a multi-character constant.
31542
828a2768 31543 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
31544 later is obsolete, potentially dangerous and sets a bad example.
31545 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
31546 * util/misc.c (grub_util_get_image_size): Likewise.
31547
2bb4fb47 31548 * disk/loopback.c (options): Improve help for "--partitions".
31549
0f582c6b 31550 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
31551 options to align them with the short options, e.g. "echo -e".
31552
a33224e0 315532008-03-31 Bean <bean123ch@gmail.com>
31554
31555 * video/reader/png.c (grub_png_data): New member is_16bit and
31556 image_data.
31557 (grub_png_decode_image_header): Detect 16 bit png image.
31558 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
31559 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
31560 (grub_video_reader_png): Release memory occupied by image_data.
31561
31562 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
31563 4096 bytes.
31564 (grub_nfs_mount): Skip the test for sector per cluster.
31565
31566 * include/grub/ntfs.h (MAX_SPC): Removed.
31567
86cb4f54 315682008-03-31 Bean <bean123ch@gmail.com>
31569
31570 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
31571 (grub_probe_SOURCES): Add fs/afs.c.
31572 (grub_fstest_SOURCES): Likewise.
31573 (afs_mod_SOURCES): New variable.
31574 (afs_mod_CFLAGS): Likewise.
31575 (afs_mod_LDFLAGS): Likewise.
31576
31577 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
31578 (grub_emu_SOURCES): Likewise.
31579
31580 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31581
31582 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31583
31584 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31585
31586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31587
31588 * fs/afs.c: New file.
31589
17c74c21 315902008-03-30 Pavel Roskin <proski@gnu.org>
31591
4cb68e89 31592 * disk/host.c: Include grub/misc.h to fix a warning.
31593 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
31594 warnings about implicit declarations.
31595
8790bb04 31596 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
31597 variable.
31598 * include/grub/i386/loader.h: Change declaration of
31599 grub_linux_boot() to match what grub_loader_set() expects.
31600 * util/getroot.c (grub_guess_root_device): Return const char* to
31601 fix a warning.
31602 * util/grub-probe.c (probe): Fix a warning about uninitialized
31603 abstraction_name variable.
31604 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
31605 second argument as unused to fix a warning.
31606
9a3f3296 31607 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
31608 missing grub_error() call.
31609
0ecef90d 31610 * util/update-grub_lib.in: Define datarootdir, since Autoconf
31611 2.60 and newer uses it to define datadir.
31612
0bf6d401 31613 * commands/sleep.c: Fix warning about implicit declaration.
31614 * disk/memdisk.c: Likewise.
31615 * loader/aout.c: Likewise.
31616 * loader/i386/bsd_normal.c: Likewise.
31617 * util/grub-probe.c: Likewise.
31618
7cdacf97 31619 * commands/i386/cpuid.c (has_longmode): Make static.
31620 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
31621 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
31622
17c74c21 31623 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
31624 GDT. This is more robust, as %ds can change.
31625 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
31626 calling real_to_prot().
31627 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
31628
80a3e68b 316292008-03-28 Pavel Roskin <proski@gnu.org>
31630
31631 * kern/i386/pc/startup.S: Assert that uncompressed functions
31632 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
31633 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
31634 code, as they push parts of the code (error handlers) beyond
31635 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
31636 code as correctness and size.
31637
77bcd272 316382008-03-28 Pavel Roskin <proski@gnu.org>
31639
31640 * kern/i386/pc/startup.S
31641 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
31642 data block address to the real mode, keep offset minimal. This
31643 works around a bug in AWARD BIOS on old Athlon systems, which
31644 makes CD detection hang.
31645
c5dfd43b 316462008-03-26 Pavel Roskin <proski@gnu.org>
31647
31648 * normal/color.c (grub_parse_color_name_pair): Make `name' a
31649 const.
31650 * include/grub/normal.h: Add grub_parse_color_name_pair()
31651 declaration.
31652
bf962df2 316532008-03-24 Bean <bean123ch@gmail.com>
31654
31655 * disk/i386/pc/biosdisk.c (cd_start): Removed.
31656 (cd_count): Removed.
31657 (cd_drive): New variable.
31658 (grub_biosdisk_get_drive): Don't check for (cdN) device.
31659 (grub_biosdisk_call_hook): Likewise.
31660 (grub_biosdisk_iterate): Change cdrom detection method.
31661 (grub_biosdisk_open): Replace cd_start with cd_drive.
31662 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
31663 detect cdrom device.
31664
31665 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
31666 Removed.
31667 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
31668 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
31669 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
31670 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
31671 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
31672 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
31673 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
31674 (grub_biosdisk_cdrp): New structure.
31675 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
31676
31677 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
31678
31679 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
31680 device.
31681
31682 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
31683 New function.
31684
68e7fc7a 316852008-03-20 Robert Millan <rmh@aybabtu.com>
31686
31687 Remove 2 TiB limit in ata.mod.
31688 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
31689 (grub_ata_dumpinfo): Print sector count with 0x%llx.
31690 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
31691 grub_uint64_t instead of grub_uint32_t.
31692
38ad2cf5 316932008-03-05 Bean <bean123ch@gmail.com>
31694
31695 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
31696 (grub_multiboot): Set boot device.
31697
31698 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
31699
2b89344e 317002008-03-02 Bean <bean123ch@gmail.com>
31701
31702 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
31703 symlink_buffer.
31704
87a95d1f 317052008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
31706
31707 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
31708 texinfo.tex.
31709
31710 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
31711 modified.
31712
31713 * docs/fdl.texi: New file.
f19dbdb7 31714
87a95d1f 31715 * docs/mdate-sh: New file. Copied from gnulib.
31716 * docs/texinfo.tex: Likewise.
31717
31718 * config.guess: Updated from gnulib.
31719 * install-sh: Likewise.
31720
7dc15d8e 317212008-02-28 Robert Millan <rmh@aybabtu.com>
31722
31723 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
31724 (aout_mod_SOURCES): New variable.
31725 (aout_mod_CFLAGS): Likewise.
31726 (aout_mod_LDFLAGS): Likewise.
31727
31728 * conf/i386-ieee1275.rmk: Likewise.
31729
b00ab696 317302008-02-28 Robert Millan <rmh@aybabtu.com>
31731
31732 * util/update-grub.in: Reorganise terminal validity check. Accept
31733 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
31734 Based on suggestion by Franklin PIAT.
31735
79ca2d78 317362008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
31737
31738 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
31739 function.
31740 * util/getroot.c (grub_util_check_block_device): New function that
31741 returns the given argument if it is a block device and returns NULL else.
31742 * util/grub-probe.c (argument_is_device): New variable.
31743 (probe): Promote device_name from a variable to an argument. Receive
31744 device_name from grub_util_check_block_device() if path is NULL and from
31745 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 31746 (options): Introduce new parameter '-d, --device'.
79ca2d78 31747 (main): Add description of the new parameter to the help screen.
31748 Rename path variable to argument. Set argument_is_device if the '-d'
31749 option is given. Pass argument to probe() depending on
31750 argument_is_device.
31751
0d16e571 317522008-02-24 Bean <bean123ch@gmail.com>
31753
31754 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
31755 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
31756 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
31757 (GRUB_ISO9660_VOLDESC_PART): Likewise.
31758 (GRUB_ISO9660_VOLDESC_END): Likewise.
31759 (grub_iso9660_primary_voldesc): New member escape.
31760 (grub_iso9660_data): New member joliet.
31761 (grub_iso9660_convert_string): New function.
31762 (grub_iso9660_mount): Detect joliet extension.
31763 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
31764 (grub_iso9660_iso9660_label): Likewise.
31765
31766 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
31767 (grub_setup_SOURCES): Add fs/udf.c.
31768 (grub_fstest_SOURCES): Likewise.
31769 (udf_mod_SOURCES): New variable.
31770 (udf_mod_CFLAGS): Likewise.
31771 (udf_mod_LDFLAGS): Likewise.
31772
31773 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
31774 (grub_emu_SOURCES): Likewise.
31775
31776 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31777
31778 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31779
31780 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31781
31782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31783
31784 * fs/udf.c: New file.
31785
8a594a17 317862008-02-24 Robert Millan <rmh@aybabtu.com>
31787
31788 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
31789 (normal/lexer.c_DEPENDENCIES): New variables.
31790 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31791 (normal/lexer.c_DEPENDENCIES): Likewise.
31792 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
31793 (normal/lexer.c_DEPENDENCIES): Likewise.
31794 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
31795 (normal/lexer.c_DEPENDENCIES): Likewise.
31796 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31797 (normal/lexer.c_DEPENDENCIES): Likewise.
31798 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31799 (normal/lexer.c_DEPENDENCIES): Likewise.
31800
2dc33c03 318012008-02-23 Robert Millan <rmh@aybabtu.com>
31802
31803 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
31804 since they were intended to be in hex. This didn't break previously
31805 because of a bug in gpt_partition_map_iterate() (see below).
31806
31807 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
31808 when checking the validity of GPT header.
31809 Remove `partno', since it always provides the same information as `i'.
31810
f6f4cfb0 318112008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
31812
31813 * include/grub/efi/time.h: Fix a wrong comment.
31814
79ff665f 318152008-02-19 Pavel Roskin <proski@gnu.org>
31816
31817 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
31818 message.
31819
d38e24c2 318202008-02-19 Bean <bean123ch@gmail.com>
31821
31822 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
31823 (aout_mod_SOURCES): New variable.
31824 (aout_mod_CFLAGS): Likewise.
31825 (aout_mod_LDFLAGS): Likewise.
31826 (_bsd_mod_SOURCES): New variable.
31827 (_bsd_mod_CFLAGS): Likewise.
31828 (_bsd_mod_LDFLAGS): Likewise.
31829 (bsd_mod_SOURCES): New variable.
31830 (bsd_mod_CFLAGS): Likewise.
31831 (bsd_mod_LDFLAGS): Likewise.
31832
31833 * include/grub/aout.h: New file.
31834
31835 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
31836
31837 * include/grub/i386/bsd.h: New file.
31838
31839 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
31840 to make it public.
31841
31842 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
31843 function is called, so that it's possible to change it inside the hook.
31844 (grub_elf64_load): Likewise.
31845 (grub_elf_file): Don't close the file if elf header is not found.
31846 (grub_elf_close): Close the file if grub_elf_file fails (The new
31847 grub_elf_file won't close it).
31848 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
31849 (grub_elf64_size): Likewise.
31850
31851 * kern/i386/loader.S (grub_unix_real_boot): New function.
31852
31853 * loader/aout.c: New file.
31854
31855 * loader/i386/bsd.c: New file.
31856
31857 * loader/i386/bsd_normal.c: New file.
31858
31859 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
31860
31861 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 31862 can test other formats.
d38e24c2 31863
b93bdb0f 318642008-02-19 Robert Millan <rmh@aybabtu.com>
31865
31866 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
31867 (grub_gpt_partition_type_empty): Redefine with macro from
31868 `<grub/gpt_partition.h>'.
31869 (gpt_partition_map_iterate): Adjust partition type comparison.
31870
31871 Export `entry' as partmap-specific `part.data' struct.
31872 (grub_gpt_header, grub_gpt_partentry): Move from here ...
31873
31874 * include/grub/gpt_partition.h (grub_gpt_header)
31875 (grub_gpt_partentry): ... to here (new file).
31876
31877 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
31878
31879 (grub_gpt_partition_type_bios_boot): New const variable, defined
31880 with macro from `<grub/gpt_partition.h>'.
31881
31882 (setup): Replace `first_start' with `embed_region', which keeps
31883 track of the embed region (and is partmap-agnostic).
31884
31885 Replace find_first_partition_start() with find_usable_region(),
31886 which finds a usable region for embedding using partmap-specific
31887 knowledge (supports PC/MSDOS and GPT).
31888
31889 Fix all assumptions that the embed region start at sector 1, using
31890 `embed_region.start' from now on. Similarly, use `embed_region.end'
31891 rather than `first_start' to calculate available size.
31892
31893 In grub_util_info() message, replace "into after the MBR" with an
31894 indication of the specific sector our embed region starts at.
31895
66cb40f6 318962008-02-19 Robert Millan <rmh@aybabtu.com>
31897
31898 * DISTLIST: Replace `commands/ieee1275/halt.c' and
31899 `commands/ieee1275/reboot.c' with `commands/halt.c' and
31900 `commands/reboot.c'.
31901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31902 (halt_mod_SOURCES): Likewise.
31903 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31904 (halt_mod_SOURCES): Likewise.
31905
b7202015 319062008-02-17 Christian Franke <franke@computer.org>
31907
31908 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
31909
32b0fc49 319102008-02-17 Robert Millan <rmh@aybabtu.com>
31911
31912 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31913 set `first_start' to 0 for non-PC/MSDOS partition maps.
31914
aca63502 319152008-02-16 Robert Millan <rmh@aybabtu.com>
31916
31917 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31918 do not assume partition map is PC/MSDOS before performing checks that
31919 are specific to that layout.
31920
0de8be86 319212008-02-13 Robert Millan <rmh@aybabtu.com>
31922
31923 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
31924 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
31925 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
31926
c3db8364 319272008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
31928
31929 * configure.ac: Only a cosmetic change on the handling of
31930 -fno-stack-protector.
31931
f714229e 319322008-02-12 Alexandre Boeglin <alex@boeglin.org>
31933
c3db8364 31934 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
31935 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
31936 reboot.c.
f714229e 31937 (grub_install_SOURCES): Add halt.mod and reboot.mod.
31938 (halt_mod_SOURCES): New variable.
31939 (halt_mod_CFLAGS): Likewise.
31940 (halt_mod_LDFLAGS): Likewise.
31941 (reboot_mod_SOURCES): Likewise.
31942 (reboot_mod_CFLAGS): Likewise.
31943 (reboot_mod_LDFLAGS): Likewise.
31944
c3db8364 31945 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
31946 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
31947 reboot.c.
f714229e 31948 (halt_mod_SOURCES): Likewise.
31949 (reboot_mod_SOURCES): Likewise.
31950
c3db8364 31951 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
31952 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 31953 (reboot_mod_SOURCES): Likewise.
31954
31955 * commands/i386/pc/reboot.c: merge this file ...
31956
31957 * commands/ieee1275/reboot.c: ... and this file ...
31958
31959 * commands/reboot.c: ... to this file.
c3db8364 31960 Add some precompiler directive to include the correct header for
31961 each machine.
f714229e 31962
31963 * commands/ieee1275/halt.c: move this file ...
31964
31965 * commands/halt.c: ... to here.
c3db8364 31966 Add some precompiler directive to include the correct header for
31967 each machine.
f714229e 31968
31969 * include/grub/efi/efi.h (grub_reboot): New function declaration.
31970 (grub_halt): Likewise.
31971
31972 * kern/efi/efi.c (grub_reboot): New function.
31973 (grub_halt): Likewise.
31974
c74493e0 319752008-02-12 Robert Millan <rmh@aybabtu.com>
31976
31977 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
31978 /dev (like it is done for /dev/mapper). This doesn't provide support
31979 for EVMS, but at least it is now easy to identify the problem when it
31980 arises.
31981
d0db4b04 319822008-02-11 Robert Millan <rmh@aybabtu.com>
31983
31984 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
31985 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
31986 comparing it with -1, not 0.
31987
bf748642 319882008-02-10 Robert Millan <rmh@aybabtu.com>
31989
31990 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
31991 `disk/lvm.c'.
31992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31993 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31994
31995 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
31996 `disk/lvm.c' to the end of the list.
31997 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31998 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31999
b5db202a 320002008-02-10 Robert Millan <rmh@aybabtu.com>
32001
32002 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
32003 grub_print_error() instead. This will let user know why we're entering
32004 rescue mode.
32005 Based on suggestions from Sam Morris.
32006
83abee31 320072008-02-10 Alexandre Boeglin <alex@boeglin.org>
32008
32009 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
32010 on remaining N args, instead of "--" arg N times.
32011
78d5a08b 320122008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
32013
32014 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
32015 (fill_with_default_glyph): Changed to use unknown_glyph for fill
32016 pattern for unknown glyphs.
32017
68807e5f 320182008-02-09 Robert Millan <rmh@aybabtu.com>
32019
32020 * configure.ac: Probe for `help2man'.
32021 * Makefile.in (builddir): New variable.
32022 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
32023 or otherwise add a few flags/options to it.
32024 (install-local): For every executable utility or script that is
32025 installed, invoke $(HELP2MAN) to install a manpage based on --help
32026 output.
32027
32028 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
32029 that it doesn't prevent --help from working in build tree.
32030
32031 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
32032 with `bug-grub@gnu.org'.
32033 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
32034 * util/update-grub.in (usage): New function.
32035 Implement proper argument check, with support for --help and --version
32036 (as well as existing -y).
32037
320382008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 32039
32040 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
32041 avoid overwriting previous output.
32042 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
32043
c1962162 320442008-02-09 Robert Millan <rmh@aybabtu.com>
32045
32046 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
32047 drawing the menu.
32048
3dac2e3f 320492008-02-09 Robert Millan <rmh@aybabtu.com>
32050
32051 * commands/sleep.c: New file.
32052 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
32053 (sleep_mod_SOURCES): New variable.
32054 (sleep_mod_CFLAGS): Likewise.
32055 (sleep_mod_LDFLAGS): Likewise.
32056
7a634e08 320572008-02-09 Robert Millan <rmh@aybabtu.com>
32058
32059 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
32060 situations in which we can deduce the RAID size and the superblock
32061 doesn't match it.
32062
b92f0c18 320632008-02-09 Robert Millan <rmh@aybabtu.com>
32064
32065 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
32066 and return a grub_diskmemberlist_t composed of LVM physical volumes.
32067 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
32068
32069 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
32070 and return a grub_diskmemberlist_t composed of physical array members.
32071 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
32072
32073 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
32074 prototype.
32075 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
32076 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
32077 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
32078
32079 * util/grub-probe.c (probe): Move partmap probing code from here ...
32080 (probe_partmap): ... to here.
32081 (probe): Use probe_partmap() once for the disk we're probing, and
32082 additionally, when such disk contains a memberlist() struct member,
32083 once for each disk that is contained in the structure returned by
32084 memberlist().
32085
91a4bf68 320862008-02-09 Robert Millan <rmh@aybabtu.com>
32087
32088 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
32089 environment variable to 'all' in order to obtain debug output from
32090 non-util/ code.
32091 * util/i386/pc/grub-setup.c (main): Likewise.
32092
a96f9caa 320932008-02-08 Robert Millan <rmh@aybabtu.com>
32094
32095 * disk/raid.c (grub_raid_scan_device): Check for
32096 `array->device[sb.this_disk.number]' rather than for
32097 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 32098 guaranteed to be accessible.
a96f9caa 32099
b37a9222 321002008-02-08 Robert Millan <rmh@aybabtu.com>
32101
32102 * disk/raid.c: Update copyright.
32103 * fs/cpio.c: Likewise.
32104 * include/grub/raid.h: Likewise.
32105 * loader/i386/pc/multiboot.c: Likewise.
32106 * util/hostfs.c: Likewise.
32107
5626aee1 321082008-02-08 Robert Millan <rmh@aybabtu.com>
32109
32110 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
32111 to a grub_disk_t array.
32112 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
32113 `device[x]'.
32114 (grub_raid_scan_device): Replace `device[x].name' accesses with
32115 `device[x]->name'. Simplify initialization of `array->device[x]'.
32116
554f0187 321172008-02-08 Robert Millan <rmh@aybabtu.com>
32118
32119 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
32120 grub_dprintf() calls.
32121 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
32122 error message.
32123
1ec8425d 321242008-02-07 Christian Franke <franke@computer.org>
32125
32126 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
32127 instead of fseek and ftell to support large files.
32128 (grub_hostfs_read): Likewise.
32129
f2156fda 321302008-02-07 Robert Millan <rmh@aybabtu.com>
32131
32132 Patch from Jeroen Dekkers.
32133 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 32134 failure, since successfully reading all array members might not be
f2156fda 32135 required.
32136
9216e0e7 321372008-02-06 Robert Millan <rmh@aybabtu.com>
32138
32139 * util/grub-probe.c (probe): Simplify partmap probing (with the
32140 assumption that the first word up to the underscore equals to
32141 the module name).
32142
b0dfd29a 321432008-02-06 Christian Franke <franke@computer.org>
32144
32145 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
32146 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
32147 last block of a cpio or tar stream.
32148 Check for "TRAILER!!!" instead of any empty data
32149 block to detect last block of a cpio stream.
32150 (grub_cpio_dir): Fix constness of variable np.
32151 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
32152 cpio or tar trailer is detected. This fixes a crash
32153 on open of a non existing file.
32154
c32865bf 321552008-02-05 Bean <bean123ch@gmail.com>
32156
32157 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
32158 address of entry.
32159 (grub_multiboot_load_elf64): Likewise.
32160 (grub_multiboot): Initialize mbi structure.
32161
32162 * util/grub-fstest.c: Don't include unused header file script.h.
32163
fe6b695a 32164 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 32165 of file.
32166 (grub_fstest_SOURCES): Likewise.
32167
409480b7 321682008-02-05 Robert Millan <rmh@aybabtu.com>
32169
32170 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
32171 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
32172 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
32173 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
32174
32175 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
32176 (translation_table): Replace hardcoded values with macros
32177 provided by `<grub/term.h>'.
32178
32179 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
32180 (keyboard_map): Correct/add a few values, with macros provided
32181 by `<grub/term.h>'.
32182 (keyboard_map_shift): Zero values that don't differ from their
32183 `keyboard_map' equivalents.
32184 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
32185 Discard the second scan code that is always sent by Caps lock.
32186 Only use `keyboard_map_shift' when it provides a non-zero value,
32187 otherwise fallback to `keyboard_map'.
32188
99fadbaa 321892008-02-04 Bean <bean123ch@gmail.com>
32190
32191 * Makefile.in (enable_grub_fstest): New variable.
32192
32193 * conf/common.rmk (grub_fstest_init.lst): New rule.
32194 (grub_fstest_init.h): Likewise.
32195 (grub_fstest_init.c): Likewise.
32196 (util/grub-fstest.c_DEPENDENCIES): New variable.
32197 (grub_fstest_SOURCES): Likewise.
32198
32199 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
32200
32201 * util/grub-fstest.c: New file.
32202
bf567c50 322032008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32204
32205 Make grub-setup handle a separate root device.
f19dbdb7 32206
bf567c50 32207 * util/i386/pc/grub-setup.c (setup): Always open the root device,
32208 so that the root device can be compared with the destination
32209 device.
32210 When embedding the core image, if the root and destination devices
32211 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
32212 0xFF.
32213 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 32214
9be6b98b 322152008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32216
32217 Add support for having a grub directory in a different drive. This
32218 is still only the data handling part.
f19dbdb7 32219
9be6b98b 32220 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
32221 (codestart): Save %dh in GRUB_ROOT_DRIVE.
32222 (grub_root_drive): New variable.
32223
32224 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
32225 instead of GRUB_BOOT_DRIVE to construct a device name. Set
32226 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
32227 as it was.
32228
32229 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
32230
32231 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
32232 macro.
32233 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
32234
32235 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
32236 is bogus, because PXE booting does not specify any drive
32237 correctly.
32238
32239 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
32240 am not sure if this is really correct.
32241
32242 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
32243 is always identical to the boot drive when booting from a CD.
32244
32245 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
32246 longer.
32247 (root_drive): New variable.
32248 (real_start): Unconditionally set %dh to ROOT_DRIVE.
32249 (setup_sectors): Push %dx right after popping it, because %dh will
32250 be modified later.
32251 (copy_buffer): Restore %dx.
32252
e0ca0677 322532008-02-03 Robert Millan <rmh@aybabtu.com>
32254
32255 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
32256 use `cdboot.img' for cdrom images.
32257
3b3f6629 322582008-02-03 Robert Millan <rmh@aybabtu.com>
32259
32260 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
32261 only setup gfxterm when `font' command has succeeded.
32262
d42b3672 322632008-02-03 Robert Millan <rmh@aybabtu.com>
32264
32265 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
32266 (grub_rescue_cmd_multiboot_loader)
32267 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
32268
fa370ea6 322692008-02-03 Pavel Roskin <proski@gnu.org>
32270
e0c5dacb 32271 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 32272 %edx and %esi from stack only after grub_gate_a20() is called.
32273 grub_gate_a20() clobbers %edx.
32274
f2a76e1d 322752008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32276
32277 * configure.ac (AC_INIT): Bumped to 1.96.
32278
32279 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
32280 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
32281 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
32282 video/readers/png.c.
32283
90fd32d1 322842008-02-03 Bean <bean123ch@gmail.com>
9be665dd 32285
32286 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
32287 (cdboot_img_SOURCES): New variable.
32288 (cdboot_img_ASFLAGS): New variable.
32289 (cdboot_img_LDFLAGS): New variable.
32290
32291 * boot/i386/pc/cdboot.S: New file.
32292
32293 * disk/i386/pc/biosdisk.c (cd_start): New variable.
32294 (cd_count): Likewise.
32295 (grub_biosdisk_get_drive): Add support for cd device.
32296 (grub_biosdisk_call_hook): Likewise.
32297 (grub_biosdisk_iterate): Likewise.
32298 (grub_biosdisk_open): Likewise.
32299 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
32300 (grub_biosdisk_rw): Support reading from cd device.
32301 (GRUB_MOD_INIT): Iterate cd devices.
32302
32303 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
32304 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
32305 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
32306
32307 * kern/i386/pc/init.c (make_install_device): Check for cd device.
32308
4020aa53 323092008-02-02 Robert Millan <rmh@aybabtu.com>
32310
32311 * commands/read.c: New file.
32312 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
32313 (read_mod_SOURCES): New variable.
32314 (read_mod_CFLAGS): Likewise.
32315 (read_mod_LDFLAGS): Likewise.
32316
e03a1132 323172008-02-02 Robert Millan <rmh@aybabtu.com>
32318
32319 * normal/main.c (grub_normal_execute): Check for `menu->size' when
32320 determining whether menu has to be displayed.
32321
58c69220 323222008-02-02 Marco Gerards <marco@gnu.org>
32323
32324 * bus/pci.c: New file.
32325
32326 * include/grub/pci.h: Likewise.
32327
32328 * include/grub/i386/pc/pci.h: Likewise.
32329
32330 * commands/lspci.c: Likewise.
32331
32332 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
32333 `lspci.mod'.
32334 (pci_mod_SOURCES): New variable.
32335 (pci_mod_CFLAGS): Likewise.
32336 (pci_mod_LDFLAGS): Likewise.
32337 (lspci_mod_SOURCES): Likewise.
32338 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 32339 (lspci_mod_LDFLAGS): Likewise.
58c69220 32340
c004e1b4 323412008-02-02 Bean <bean123ch@gmail.com>
32342
32343 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
32344 (grub_ufs_get_file_block): Fix indirect block calculation problem.
32345
32346 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
32347 (grub_xfs_btree_node): New structure.
32348 (grub_xfs_btree_root): New structure.
32349 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
32350 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
32351 (GRUB_XFS_EXTENT_BLOCK): Likewise.
32352 (GRUB_XFS_EXTENT_SIZE): Likewise.
32353 (grub_xfs_read_block): Support btree format type.
32354 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
32355 Use directory block as basic unit.
32356
32357 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
32358
32359 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
32360 __attribute__ ((__regparm__ (1))).
32361
f95562bf 323622008-02-01 Robert Millan <rmh@aybabtu.com>
32363
32364 Correct a mistake in previous commit.
32365
32366 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
32367 top.
32368 (normal/command.c_DEPENDENCIES): New variable.
32369
7d31f41f 323702008-02-01 Robert Millan <rmh@aybabtu.com>
32371
32372 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
32373 top.
32374 (normal/command.c_DEPENDENCIES): New variable.
32375 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
32376 * conf/i386-ieee1275.rmk: Likewise.
32377 * conf/i386-linuxbios.rmk: Likewise.
32378 * conf/i386-pc.rmk: Likewise.
32379 * conf/sparc64-ieee1275.rmk: Likewise.
32380 * conf/powerpc-ieee1275.rmk: Likewise.
32381 (grub_emu_SOURCES): Add `fs/fshelp.c'.
32382
32383 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
32384
60b6be74 323852008-02-01 Robert Millan <rmh@aybabtu.com>
32386
32387 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
32388 call at beginning of function.
32389
078522ab 323902008-01-31 Pavel Roskin <proski@gnu.org>
32391
32392 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 32393 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
32394 (grub_mkrescue_SOURCES): Likewise.
078522ab 32395 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
32396
ccaa8a5f 323972008-01-30 Robert Millan <rmh@aybabtu.com>
32398
32399 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
32400 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
32401 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
32402 (grub_probe_SOURCES): ... to here.
32403
32404 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
32405 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
32406 * conf/i386-ieee1275.rmk: Likewise.
32407 * conf/i386-linuxbios.rmk: Likewise.
32408 * conf/powerpc-ieee1275.rmk: Likewise.
32409
ae5a9cd7 324102008-01-30 Tristan Gingold <gingold@free.fr>
32411
32412 * kern/rescue.c: Silently accept empty lines.
32413
70bc2ef2 324142008-01-29 Bean <bean123ch@gmail.com>
32415
32416 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
32417 (real_code_2): Code cleanup and change comment style.
32418 (move_memory): Avoid using 32-bit address mode.
32419
6a4d50ea 324202008-01-29 Bean <bean123ch@gmail.com>
32421
32422 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
32423 (png_mod_SOURCES): New variable.
32424 (png_mod_CFLAGS): Likewise.
32425 (png_mod_LDFLAGS): Likewise.
32426
32427 * video/readers/png.c: New file.
32428
11cc30ac 324292008-01-28 Robert Millan <rmh@aybabtu.com>
32430
32431 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
32432 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
32433 `ifndef GRUB_MOD_GAP' hack.
32434 * util/elf/grub-mkimage.c (add_segments): Likewise.
32435
3abc589f 324362008-01-27 Robert Millan <rmh@aybabtu.com>
32437
32438 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
32439 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 32440 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 32441
e1907778 324422008-01-27 Robert Millan <rmh@aybabtu.com>
32443
32444 Get grub-emu to build again (including parallel builds).
32445
32446 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
32447 Split into ...
32448 (util/grub-emu.c_DEPENDENCIES): ... this, ...
32449 (normal/execute.c_DEPENDENCIES): ... this, ...
32450 (grub-emu_DEPENDENCIES): ... and this.
32451
32452 * conf/i386-efi.rmk: Likewise.
32453 * conf/i386-linuxbios.rmk: Likewise.
32454 * conf/i386-ieee1275.rmk: Likewise.
32455 * conf/powerpc-ieee1275.rmk: Likewise.
32456 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
32457
2216b101 324582008-01-27 Robert Millan <rmh@aybabtu.com>
32459
32460 * NEWS: Add a few items.
32461
f75172d9 324622008-01-27 Robert Millan <rmh@aybabtu.com>
32463
32464 Fix parallel builds with grub-emu. Based on earlier commit for
32465 grub-probe and grub-setup.
32466
32467 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32468 (util/grub-emu.c_DEPENDENCIES): ... this.
32469 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32470 (util/grub-emu.c_DEPENDENCIES): ... this.
32471 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32472 (util/grub-emu.c_DEPENDENCIES): ... this.
32473 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32474 (util/grub-emu.c_DEPENDENCIES): ... this.
32475 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32476 (util/grub-emu.c_DEPENDENCIES): ... this.
32477
3f51de77 324782008-01-27 Pavel Roskin <proski@gnu.org>
32479
32480 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
32481 to create a gap between _end and the modules added to the image
32482 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
32483 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
32484 * util/elf/grub-mkimage.c (add_segments): Likewise.
32485
2033f53e 324862008-01-26 Pavel Roskin <proski@gnu.org>
32487
32488 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
32489 just return an error.
32490
22da1f6f 324912008-01-26 Bean <bean123ch@gmail.com>
32492
32493 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
32494 (grub_reiserfs_get_item): Save offset of the next item.
32495 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
32496
2a9525e6 324972008-01-25 Robert Millan <rmh@aybabtu.com>
32498
32499 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
32500 make all filesystem sources appear together (possibly fixing omissions
32501 while at it).
32502 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32503 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32504 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32506
32507 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
32508 add `kern/file.c'.
32509 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
32510 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
32511 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
32512 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
32513
32514 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
32515 (probe): Add a sanity check to make sure of our ability to read
32516 requested files when probing for filesystem type.
32517
32518 * genmk.rb: Update copyright year (2007).
32519
32520 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
32521 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
32522 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
32523 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
32524 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
32525 : Remove function prototypes.
32526
b95f71b5 325272008-01-25 Robert Millan <rmh@aybabtu.com>
32528
32529 Revert my previous commits (based on wrong assumption of how grub_errno
32530 works).
32531
fe6b695a 32532 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 32533 * kern/file.c (grub_file_open): Likewise.
32534
d08bbb49 325352008-01-24 Pavel Roskin <proski@gnu.org>
32536
32537 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
32538 that hang if GRUB tries to setup colors.
32539 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
32540 colors for firmwares that don't support it.
32541 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
32542 Recognize Open Hack'Ware, set flags to work around its
32543 limitations.
32544
605e36ed 325452008-01-24 Robert Millan <rmh@aybabtu.com>
32546
32547 * kern/file.c (grub_file_open): Do not account previous failures of
32548 unrelated functions when grub_errno is checked for.
32549 Reported by Oleg Strikov.
32550
bac332a1 325512008-01-24 Bean <bean123ch@gmail.com>
32552
32553 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
32554 (grub_ufs_sblock): New member volume name.
32555 (grub_ufs_find_file): Fix string copy bug.
32556 (grub_ufs_label): Implement this function properly.
32557
32558 * fs/hfs.c (grub_hfs_cnid_type): New enum.
32559 (grub_hfs_iterate_records): Use the correct file number for extents
32560 and catalog file. Fix problem in next index calculation.
32561 (grub_hfs_find_node): Replace recursive function call with loop.
32562 (grub_hfs_iterate_dir): Replace recursive function call with loop.
32563
15c80c09 325642008-01-23 Robert Millan <rmh@aybabtu.com>
32565
32566 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
32567 `<grub/symbol.h>' and `<grub/multiboot.h>'.
32568 (grub_multiboot2_real_boot): New function prototype.
32569
32570 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
32571 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
32572
32573 * kern/i386/ieee1275/init.c (grub_os_area_addr)
32574 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
32575
305338fd 325762008-01-23 Robert Millan <rmh@aybabtu.com>
32577
32578 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
32579 #ifdef'ed out grub_printf().
32580
3ea52685 325812008-01-23 Robert Millan <rmh@aybabtu.com>
32582
32583 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
32584 grub_dprintf calls, since they make "debug=all" mode unusable.
32585 (grub_console_checkkey): Likewise.
32586
5882ae4b 325872008-01-23 Robert Millan <rmh@aybabtu.com>
32588
32589 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32590 `term/i386/pc/at_keyboard.c'.
32591 (pkglib_MODULES): Add `serial.mod'.
32592 (serial_mod_SOURCES): New variable.
32593 (serial_mod_CFLAGS): Likewise.
32594 (serial_mod_LDFLAGS): Likewise.
32595
32596 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
32597 `<grub/powerpc/ieee1275/console.h>'.
32598 (grub_keyboard_controller_init): New function prototype.
32599 (grub_console_checkkey): Likewise.
32600 (grub_console_getkey): Likewise.
32601
32602 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
32603 keyboard on i386.
32604
32605 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
32606 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
32607
06ab5303 326082008-01-23 Robert Millan <rmh@aybabtu.com>
32609
32610 * kern/i386/pc/init.c (make_install_device): When memdisk image is
32611 present, "(memdisk)/boot/grub" becomes the default prefix.
32612
32613 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
32614 a memdisk tarball with all the modules. Add --overlay=DIR option that
32615 allows users to overlay additional files into the image.
32616
dbb475a4 326172008-01-23 Robert Millan <rmh@aybabtu.com>
32618
32619 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
32620 and `machine/memory.h'.
32621 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
32622 (_multiboot_mod_SOURCES): New variable.
32623 (_multiboot_mod_CFLAGS): Likewise.
32624 (_multiboot_mod_LDFLAGS): Likewise.
32625 (multiboot_mod_SOURCES): Likewise.
32626 (multiboot_mod_CFLAGS): Likewise.
32627 (multiboot_mod_LDFLAGS): Likewise.
32628
32629 * include/grub/i386/ieee1275/loader.h: New file.
32630
32631 * include/grub/i386/ieee1275/machine.h: Likewise.
32632
32633 * include/grub/i386/ieee1275/memory.h: Likewise.
32634
32635 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
32636 variable declaration.
32637 (grub_os_area_size): Likewise.
32638
32639 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
32640 (grub_lower_mem, grub_upper_mem): New variables.
32641 (grub_stop_floppy): New function (just to make
32642 grub_multiboot2_real_boot() happy).
32643
32644 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
32645 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
32646 (grub_stop): New function.
32647 Include `"../realmode.S"' and `"../loader.S"'.
32648
32649 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
32650 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
32651
32652 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
32653 rely on grub_multiboot2_real_boot() for final boot.
32654
25638629 326552008-01-22 Robert Millan <rmh@aybabtu.com>
32656
32657 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
32658 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
32659 device that doesn't look like an SD card.
32660 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32661 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
32662 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
32663 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
32664 found.
32665
9dad816d 326662008-01-22 Robert Millan <rmh@aybabtu.com>
32667
32668 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
32669 avoid claiming over our own code.
32670
34842f2d 326712008-01-22 Bean <bean123ch@gmail.com>
32672
32673 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
32674 (jpeg_mod_SOURCES): New variable.
32675 (jpeg_mod_CFLAGS): Likewise.
32676 (jpeg_mod_LDFLAGS): Likewise.
32677
32678 * video/readers/jpeg.c : New file.
32679
44023a28 326802008-01-22 Bean <bean123ch@gmail.com>
32681
32682 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
32683 there are no more items.
32684
bc2d8ac6 326852008-01-21 Robert Millan <rmh@aybabtu.com>
32686
32687 * kern/mm.c (grub_mm_init_region): Improve debug message.
32688
261bd4bc 326892008-01-21 Robert Millan <rmh@aybabtu.com>
32690
32691 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
32692 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
32693 address.
32694 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
32695 a C macro.
32696 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
32697 Indicates start of upper memory.
32698 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
32699 (generate_image): Abort when image size is big enough to corrupt
32700 upper memory.
32701
32702 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
32703 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
32704 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32705 instead of hardcoding 0xA0000.
32706 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
32707 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32708 instead of hardcoding 0xA0000.
32709
f970b55e 327102008-01-21 Robert Millan <rmh@aybabtu.com>
32711
32712 * disk/memdisk.c (memdisk_size): New variable.
32713 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
32714 `memdisk_size'.
32715 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
32716 image to dynamic memory.
32717 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
32718 `memdisk_size'. Free memdisk block.
32719
1a8b0526 327202008-01-21 Robert Millan <rmh@aybabtu.com>
32721
32722 Fix detection of very small filesystems (like tar).
32723
32724 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
32725 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
32726 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
32727 a problem with this disk).
32728
6e9b4aab 327292008-01-21 Robert Millan <rmh@aybabtu.com>
32730
32731 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
32732 on grub_biosdisk_rw_standard() error.
32733
0d8837b2 327342008-01-21 Robert Millan <rmh@aybabtu.com>
32735
32736 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
32737 recent changes.
32738 * kern/elf.c: Likewise.
32739 * kern/ieee1275/ieee1275.c: Likewise.
32740 * kern/powerpc/ieee1275/openfw.c: Likewise.
32741 * term/ieee1275/ofconsole.c: Likewise.
32742
ffd36e34 327432008-01-21 Robert Millan <rmh@aybabtu.com>
32744
32745 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
32746
3f0093d0 32747 * include/grub/kernel.h (grub_arch_memdisk_addr)
32748 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 32749
3f0093d0 32750 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
32751 (grub_arch_memdisk_size): ... to here.
ffd36e34 32752
6c391b21 327532008-01-21 Robert Millan <rmh@aybabtu.com>
32754
32755 Mostly based on bugfix from Bean.
32756
32757 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
32758 attribute with hook() parameter.
32759 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
32760 declaration.
32761 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
32762 attribute with hook() parameter.
32763 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
32764 declaration.
32765
55a581dc 327662008-01-21 Robert Millan <rmh@aybabtu.com>
32767
32768 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
32769 (pkglib_MODULES): Add `memdisk.mod'.
32770 (memdisk_mod_SOURCES): New variable.
32771 (memdisk_mod_CFLAGS): Likewise.
32772 (memdisk_mod_LDFLAGS): Likewise.
32773
32774 * disk/memdisk.c: New file.
32775
32776 * include/grub/disk.h (grub_disk_dev_id): Add
32777 `GRUB_DISK_DEVICE_MEMDISK_ID'.
32778
32779 * include/grub/i386/pc/kernel.h
32780 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
32781 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
32782 (grub_kernel_image_size): New variable declaration.
32783 (grub_total_module_size): Likewise.
32784 (grub_memdisk_image_size): Likewise.
32785
32786 * include/grub/i386/pc/memory.h
32787 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
32788
32789 * include/grub/kernel.h: Include `<grub/symbol.h>'.
32790 (grub_arch_memdisk_addr): New variable declaration.
32791 (grub_arch_memdisk_size): Likewise.
32792
32793 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
32794 (grub_arch_memdisk_size): Likewise.
32795
32796 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
32797 (codestart): Replace hardcoded `0x100000' with
32798 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
32799
32800 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
32801 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
32802 not NULL, append the contents of the file it refers to, at the end of
32803 the compressed kernel image. Initialize `grub_memdisk_image_size'
32804 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
32805 (options): Add "memdisk"|'m' option.
32806 (main): Parse --memdisk|-m option, and pass user-provided path as
32807 parameter to generate_image().
32808
3d7f54c9 328092008-01-20 Robert Millan <rmh@aybabtu.com>
32810
32811 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
32812 grub_dprintf() calls from here ...
32813 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
32814
0bf74728 328152008-01-20 Robert Millan <rmh@aybabtu.com>
32816
32817 Fix detection of "real mode" when /options/real-mode? doesn't exist.
32818
32819 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
32820 declaration.
32821 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
32822 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
32823 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 32824 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 32825 property).
32826 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
32827 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
32828
33bf70a7 328292008-01-19 Robert Millan <rmh@aybabtu.com>
32830
fe6b695a 32831 Get rid of confusing function (superseded by
33bf70a7 32832 `grub_ieee1275_get_integer_property')
32833 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
32834 prototype.
32835 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
32836 function.
32837 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
32838 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 32839 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 32840
e2da7d26 328412008-01-19 Robert Millan <rmh@aybabtu.com>
32842
32843 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
32844 command after "shut-down", since implementations differ on which
32845 the command for halt is.
32846
59f1fd8d 328472008-01-19 Robert Millan <rmh@aybabtu.com>
32848
32849 * include/grub/i386/linuxbios/console.h: Add header protection.
32850 (grub_keyboard_controller_init): New function prototype.
32851 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
32852 (KEYBOARD_COMMAND_READ): Likewise.
32853 (KEYBOARD_COMMAND_WRITE): Likewise.
32854 (KEYBOARD_SCANCODE_SET1): Likewise.
32855 (grub_keyboard_controller_write): New function.
32856 (grub_keyboard_controller_read): Likewise.
32857 (grub_keyboard_controller_init): Likewise.
32858
32859 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
32860 (grub_console_init): On coreboot/LinuxBIOS, call
32861 grub_keyboard_controller_init().
32862
5f5a7c15 328632008-01-19 Robert Millan <rmh@aybabtu.com>
32864
32865 PowerPC changes provided by Pavel Roskin.
32866
32867 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
32868 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
32869 don't rely on cmain() doing it.
32870 * kern/i386/ieee1275/startup.S (_start): Store %eax in
32871 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
32872
1210e168 328732008-01-16 Robert Millan <rmh@aybabtu.com>
32874
32875 * include/grub/i386/linuxbios/memory.h
32876 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
32877 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
32878 receive `table_header' as argument. Instead, probe for it in the
32879 known memory ranges where it can be present.
32880 (grub_available_iterate): Do not pass a fixed `table_header' address
32881 to grub_linuxbios_table_iterate().
32882
3d04eab8 328832008-01-15 Robert Millan <rmh@aybabtu.com>
32884
32885 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
32886 * conf/i386-ieee1275.rmk: New file.
32887 * include/grub/i386/ieee1275/console.h: Likewise.
32888 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
32889 * include/grub/i386/ieee1275/kernel.h: Likewise.
32890 * include/grub/i386/ieee1275/time.h: Likewise.
32891 * kern/i386/ieee1275/init.c: Likewise.
32892 * kern/i386/ieee1275/startup.S: Likewise.
32893
d1bc1b73 328942008-01-15 Robert Millan <rmh@aybabtu.com>
32895
32896 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
32897 when pointers are 32-bit (but still do set it to one when they are
32898 64-bit).
32899
66a65807 329002008-01-15 Robert Millan <rmh@aybabtu.com>
32901
32902 * include/grub/ieee1275/ieee1275.h
32903 (grub_ieee1275_get_integer_property): New function prototype.
32904
32905 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
32906 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 32907 grub_ieee1275_get_property() to handle endianness.
66a65807 32908
32909 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
32910 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 32911 where appropriate.
66a65807 32912 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
32913 (grub_map): Likewise.
32914 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
32915
a83ccafd 329162008-01-15 Bean <bean123ch@gmail.com>
32917
32918 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
32919 (grub_script_execute_cmdline): Reset grub_errno.
32920
32921 * normal/main.c (read_config_file): Reset grub_errno.
32922
32923 * normal/parse.y (script_init): New.
32924 (script): Move function and menuentry here.
32925 (delimiter): New.
32926 (command): Add delimiter at the end of command.
32927 (commands): Adjust to match the new command.
32928 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 32929 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 32930 (if): Use the new commands.
32931
32932 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
32933
df6ecfc6 329342008-01-15 Robert Millan <rmh@aybabtu.com>
32935
32936 * normal/menu.c (run_menu): Move timeout message from here ...
32937 (print_timeout): ... to here.
32938 (run_menu): Use print_timeout() once during initial draw to print
32939 the whole message, and again in every clock tick to update only
32940 the number of seconds.
32941
87ae25eb 329422008-01-15 Robert Millan <rmh@aybabtu.com>
32943
32944 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
32945 actual size of `available' from grub_ieee1275_get_property(), and
32946 restrict parsing to that bound.
32947
47bf09a4 329482008-01-15 Christian Franke <franke@computer.org>
32949
32950 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
32951 (argp_program_version): Remove variable.
32952 (argp_program_bug_address): Likewise.
32953 (options): Convert from struct argp_option to struct option.
32954 (struct arguments): Remove.
32955 (parse_opt): Remove.
32956 (usage): New function.
32957 (main): Replace struct args members by simple variables.
32958 Replace argp_parse() by getopt_long().
32959 Add switch to evaluate options.
32960 Add missing "(...)" around root_dev in prefix string.
32961
c86f1469 329622008-01-14 Robert Millan <rmh@aybabtu.com>
32963
32964 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
32965 for grub_ieee1275_exit(), in order to improve portability.
32966
e622c559 329672008-01-14 Robert Millan <rmh@aybabtu.com>
32968
32969 * util/grub.d/10_linux.in (prefix): Define.
32970 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
32971
44cb1ec8 329722008-01-13 Pavel Roskin <proski@gnu.org>
32973
32974 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
32975 grub_errno if no errors have been detected.
32976
1eb8c802 329772008-01-12 Robert Millan <rmh@aybabtu.com>
32978
32979 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
32980 (grub_util_get_dev_abstraction): New function prototype.
32981
32982 * util/getroot.c: Include `<grub/util/getroot.h>'
32983 (grub_util_get_grub_dev): Move detection of abstraction type to ...
32984 (grub_util_get_dev_abstraction): ... here (new function).
32985
32986 * util/grub-probe.c: Convert PRINT_* to an enum. Add
32987 `PRINT_ABSTRACTION'.
32988 (probe): Probe for abstraction type when requested.
32989 (main): Understand `--target=abstraction'.
32990
32991 * util/i386/efi/grub-install.in: Add abstraction module to core
32992 image when it is found to be necessary.
32993 * util/i386/pc/grub-install.in: Likewise.
32994 * util/powerpc/ieee1275/grub-install.in: Likewise.
32995
32996 * util/update-grub_lib.in (font_path): Return system path without
32997 converting to GRUB path.
32998 * util/update-grub.in: Convert system path returned by font_path()
32999 to a GRUB path. Use `grub-probe -t abstraction' to determine what
33000 abstraction module is needed for loading fonts (if any). Export
33001 that as `GRUB_PRELOAD_MODULES'.
33002 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
33003 insmod commands).
33004
52bd3de9 330052008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
33006
33007 Remove some unused code from reiserfs.
f19dbdb7 33008
52bd3de9 33009 * fs/reiserfs.c (struct grub_reiserfs_key)
33010 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
33011 (struct grub_reiserfs_node_body): Removed.
33012 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33013 Likewise.
33014 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33015 Likewise.
33016 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33017 Likewise.
33018 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33019 Likewise.
33020 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33021 Likewise.
33022 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
33023 Likewise.
33024 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33025 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33026 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33027
2f80039d 330282008-01-10 Robert Millan <rmh@aybabtu.com>
33029
33030 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
33031 Determines if a file is garbage left by packaging systems, etc.
33032 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
33033 for processing /etc/grub.d scripts.
33034 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
33035 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
33036 as a condition for processing Linux images.
33037
87888032 330382008-01-10 Pavel Roskin <proski@gnu.org>
33039
33040 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
33041 to compile reiserfs.c on PowerPC.
33042
7e54fced 330432008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 33044
33045 * kern/device.c (grub_device_iterate): Do not abort device iteration
33046 when one of the devices cannot be opened.
33047 * kern/disk.c (grub_disk_open): Do not account previous failures of
33048 unrelated functions when grub_errno is checked for.
33049
5aa541e6 330502008-01-08 Robert Millan <rmh@aybabtu.com>
33051
33052 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
33053 `! grub_linux_is_bzimage', change order of address comparison to make
33054 it more intuitive, and improve "too big zImage" error message.
33055
7076340d 330562008-01-08 Robert Millan <rmh@aybabtu.com>
33057
33058 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
33059 `$(update-grub_DATA)'.
33060 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
33061 targets.
33062
9ca70333 330632008-01-07 Robert Millan <rmh@aybabtu.com>
33064
33065 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
33066 which instruction is modified by grub-setup during installation
33067 (since it wasn't obvious by only looking at this file).
33068
38ccf575 330692008-01-07 Robert Millan <rmh@aybabtu.com>
33070
33071 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
33072 listing actual TODO items.
33073
f5db4291 330742008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33075
868967cf 33076 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
33077 correctly.
33078 (grub_reiserfs_get_key_offset): Likewise.
33079 (grub_reiserfs_set_key_offset): Likewise.
33080 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 33081 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 33082
33083 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
33084 better to remove the bitfield version completely.
f19dbdb7 33085
868967cf 330862008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33087
f5db4291 33088 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
33089 allocated from the heap, due to the fshelp implementation.
33090 (grub_reiserfs_dir): Free NODE, due to the same reason.
33091
492e6d9d 330922008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33093
33094 Mostly from Vincent Pelletier:
f19dbdb7 33095
492e6d9d 33096 * fs/reiserfs.c: New file.
f19dbdb7 33097
492e6d9d 33098 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
33099 (reiserfs_mod_SOURCES): New variable.
33100 (reiserfs_mod_CFLAGS): Likewise.
33101 (reiserfs_mod_LDFLAGS): Likewise.
33102
33103 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
33104 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
33105 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
33106 normal/color.c.
33107
9ce3e7c1 331082008-01-06 Robert Millan <rmh@aybabtu.com>
33109
33110 * normal/color.c: Remove `<grub/env.h>'.
33111
f3b58148 331122008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
33113
33114 * include/grub/normal.h: Include <grub/env.h>.
33115
7ac3bcfa 331162008-01-05 Robert Millan <rmh@aybabtu.com>
33117
33118 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
33119 usage example with `(hd0,1)'.
fb358190 33120 Reported by Samuel Thibault.
7ac3bcfa 33121
c8ee99d7 331222008-01-05 Robert Millan <rmh@aybabtu.com>
33123
33124 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
33125 (grub_linux_boot_zimage): Rename to ...
33126 (grub_linux_boot): ... this.
33127 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
33128 (grub_linux_boot_zimage): Conditionalize zImage copy.
33129
33130 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
33131 (grub_linux_boot_bzimage): Remove prototype.
33132 (grub_linux_boot_zimage): Rename to ...
33133 (grub_linux_boot): ... this.
33134
33135 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
33136 (grub_linux_boot): Remove function.
33137
0ece25b1 331382008-01-05 Robert Millan <rmh@aybabtu.com>
33139
33140 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
33141 (grub_env_write_color_highlight): Likewise.
33142 (grub_wait_after_message): Likewise.
33143
33144 * normal/color.c: New file.
33145
33146 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33147 (normal_mod_DEPENDENCIES): Likewise.
33148
33149 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33150 (normal_mod_DEPENDENCIES): Likewise.
33151
33152 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33153 (normal_mod_DEPENDENCIES): Likewise.
33154
33155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33156 (normal_mod_DEPENDENCIES): Likewise.
33157
33158 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
33159 for waiting after a message is printed.
33160 * normal/main.c (read_config_file): Likewise.
33161 (grub_normal_init): Register grub_env_write_color_normal() and
33162 grub_env_write_color_highlight() hooks. Mark `color_normal' and
33163 `color_highlight' variables as global.
33164
33165 * normal/menu.c (grub_wait_after_message): New function.
33166 (grub_color_menu_normal): New variable. Replaces ...
33167 (GRUB_COLOR_MENU_NORMAL): ... this macro.
33168 (grub_color_menu_highlight): New variable. Replaces ...
33169 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
33170 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
33171 `GRUB_TERM_COLOR_STANDARD'.
33172 (print_message): Use `grub_setcolorstate' to reload colors. Rename
33173 `normal_code' and `highlight_code' to `old_color_normal' and
33174 `old_color_highlight', respectively.
33175 (grub_menu_init_page): Update colors when drawing the menu, based on
33176 `menu_color_normal' and `menu_color_highlight' variables.
33177 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
33178 a message is printed.
33179
182dd4e5 331802008-01-05 Robert Millan <rmh@aybabtu.com>
33181
33182 * kern/env.c (grub_env_context_open): Propagate hooks for global
33183 variables to new context.
33184
33185 * kern/main.c (grub_set_root_dev): Export `root' variable.
33186
ddf8f6ad 331872008-01-05 Robert Millan <rmh@aybabtu.com>
33188
33189 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 33190 discs unconditionally, since udev and others have options to provide
ddf8f6ad 33191 them.
33192
d8b43d9b 331932008-01-05 Robert Millan <rmh@aybabtu.com>
33194
33195 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
33196
2bff2de3 331972008-01-04 Christian Franke <franke@computer.org>
33198
33199 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
33200 of eisa_mmap.
33201
97eab917 332022008-01-03 Pavel Roskin <proski@gnu.org>
33203
33204 * kern/i386/linuxbios/init.c: Put "void" to all function
33205 declarations with no arguments.
33206 * kern/powerpc/ieee1275/init.c: Likewise.
33207 * term/i386/pc/at_keyboard.c: Likewise.
33208 * term/i386/pc/vga_text.c: Likewise.
33209 * util/grub-mkdevicemap.c: Likewise.
33210
b9416d00 332112008-01-02 Robert Millan <rmh@aybabtu.com>
33212
33213 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
33214 message when loaded image is out of bounds.
33215 (grub_multiboot_load_elf64): Likewise.
33216
92695df9 332172008-01-02 Pavel Roskin <proski@gnu.org>
33218
33219 * util/grub.d/10_linux.in: Try version without ".old" when
33220 looking for initrd. It's better to use initrd from the newer
33221 kernel of the same version than no initrd at all.
33222
d98d9cad 332232008-01-01 Robert Millan <rmh@aybabtu.com>
33224
33225 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
33226
dbfdce36 332272008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
33228
f19dbdb7 33229 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 33230 grub_video_get_active_render_target.
33231 (grub_video_adapter): Added unmap_color and get_active_render_target.
33232
f19dbdb7 33233 * video/video.c: Added grub_video_unmap_color and
dbfdce36 33234 grub_video_get_active_render_target.
33235 (grub_video_get_info): Changed method to accept NULL pointer as an
33236 argument to allow detection of active video adapter.
33237
33238 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
33239 grub_video_vbe_unmap_color_int.
33240 Added grub_video_vbe_unmap_color and
33241 grub_video_vbe_get_active_render_target.
33242 (grub_video_vbe_adapter): Added unmap_color and
33243 get_active_render_target.
33244
f19dbdb7 33245 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 33246 with grub_video_vbe_unmap_color_int.
33247
33248 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
33249 (DEFAULT_NORMAL_COLOR): Likewise.
33250 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
33251 (DEFAULT_FG_COLOR): Removed.
33252 (DEFAULT_BG_COLOR): Likewise.
33253 (DEFAULT_CURSOR_COLOR): Changed value.
33254 (grub_virtual_screen): Added standard_color_setting,
33255 normal_color_setting, highlight_color_setting and term_color.
33256 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
33257 (bitmap_width): Added.
33258 (bitmap_height): Likewise.
33259 (bitmap): Likewise.
33260 (set_term_color): Likewise.
33261 (grub_virtual_screen_setup): Changed to use new terminal coloring
33262 settings.
33263 (grub_gfxterm_init): Added init for bitmap.
33264 (grub_gfxterm_fini): Added destroy for bitmap.
33265 (redraw_screen_rect): Updated to use background bitmap and new
33266 terminal coloring.
33267 (scroll_up): Added optimization for case when there is no bitmap.
33268 (grub_gfxterm_cls): Fixed to use correct background color.
33269 (grub_virtual_screen_setcolorstate): Changed to use new terminal
33270 coloring.
33271 (grub_virtual_screen_setcolor): Likewise.
33272 (grub_virtual_screen_getcolor): Added.
33273 (grub_gfxterm_background_image_cmd): Likewise.
33274 (grub_video_term): Added setcolor and getcolor.
33275 (MOD_INIT): Added registration of background_image command.
33276 (MOD_TERM): Added unregistration for background_image command.
33277
c3c20931 332782007-12-30 Pavel Roskin <proski@gnu.org>
33279
33280 * loader/multiboot_loader.c: Fix multiboot command
33281 unregistration. Fix all typos in the word "multiboot".
33282
df266716 332832007-12-29 Pavel Roskin <proski@gnu.org>
94239199 33284
33285 * util/grub.d/10_linux.in: Refactor search for initrd. Add
33286 support for initrd names used in Fedora.
33287
fc6e896c 332882007-12-26 Bean <bean123ch@gmail.com>
33289
33290 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
33291 (cpio_mod_SOURCES): New variable.
33292 (cpio_mod_CFLAGS): Likewise.
33293 (cpio_mod_LDFLAGS): Likewise.
33294
33295 * fs/cpio.c: New file.
33296
33297 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
33298
33299 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33300
33301 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33302
33303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33304
533110ad 333052007-12-25 Robert Millan <rmh@aybabtu.com>
33306
33307 * include/grub/term.h (struct grub_term): Add `getcolor' function.
33308 (grub_getcolor): New function.
33309
33310 * kern/term.c (grub_getcolor): New function.
33311 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
33312 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
33313 (print_entry): Set normal and highlight colors to
33314 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
33315 respectively, before printing and restore them to old
33316 values afterwards.
33317 (grub_menu_init_page): Likewise. Fill an additional colored space
33318 that would otherwise be left blank.
33319
33320 * term/efi/console.c (grub_console_getcolor): New function.
33321 (struct grub_console_term.getcolor): New variable.
33322 * term/i386/pc/console.c (grub_console_getcolor): New function.
33323 (struct grub_console_term.getcolor): New variable.
33324 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
33325 (struct grub_console_term.getcolor): New variable.
33326
33327 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
33328 (struct grub_console_term.setcolor): Remove variable.
33329 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
33330 (struct grub_console_term.setcolor): Remove variable.
33331 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
33332 (struct grub_console_term.setcolor): Remove variable.
33333 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
33334 (struct grub_console_term.setcolor): Remove variable.
33335
4931827f 333362007-12-25 Robert Millan <rmh@aybabtu.com>
33337
33338 * configure.ac: Search for possible unifont.hex locations, and
33339 define UNIFONT_HEX if found.
33340
33341 * Makefile.in (UNIFONT_HEX): Define variable.
33342 (DATA): Rename to ...
33343 (PKGLIB): ... this. Update all users.
33344 (PKGDATA): New variable.
33345 (pkgdata_IMAGES): Rename to ...
33346 (pkglib_IMAGES): ... this. Update all users.
33347 (pkgdata_MODULES): Rename to ...
33348 (pkglib_MODULES): ... this. Update all users.
33349 (pkgdata_PROGRAMS): Rename to ...
33350 (pkglib_PROGRAMS): ... this. Update all users.
33351 (pkgdata_DATA): Rename to ...
33352 (pkglib_DATA): ... this. Update all users.
33353 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
33354 (unicode.pff, ascii.pff): New rules.
33355 (all-local): Add `$(PKGDATA)' dependency.
33356 (install-local): Process `$(PKGDATA)'.
33357
33358 * util/update-grub_lib.in (font_path): Search for *.pff files in
33359 a few more locations, including `${pkgdata}'.
33360
57e57e31 333612007-12-23 Robert Millan <rmh@aybabtu.com>
33362
33363 Patch from Bean <bean123ch@gmail.com>:
33364 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
33365 `size'.
33366
4bc72aa9 333672007-12-21 Bean <bean123ch@gmail.com>
33368
33369 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
33370 (ntfscomp_mod_SOURCES): New variable.
33371 (ntfscomp_mod_CFLAGS): Likewise.
33372 (ntfscomp_mod_LDFLAGS): Likewise.
33373
33374 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
33375 (grub_probe_SOURCES): Likewise.
33376 (grub_emu_SOURCES): Likewise.
33377
33378 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
33379 (grub_emu_SOURCES): Likewise.
33380
33381 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
33382 (grub_emu_SOURCES): Likewise.
33383
33384 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
33385 (grub_emu_SOURCES): Likewise.
33386
33387 * fs/ntfs.c (grub_ntfscomp_func): New variable.
33388 (read_run_list): Renamed to grub_ntfs_read_run_list.
33389 (decomp_nextvcn): Moved to ntfscomp.c.
33390 (decomp_getch): Likewise.
33391 (decomp_get16): Likewise.
33392 (decomp_block): Likewise.
33393 (read_block): Likewise.
33394 (read_data): Partially moved to ntfscomp.c.
33395 (fixup): Change unsigned to grub_uint16_t.
33396 (read_mft): Change unsigned long to grub_uint32_t.
33397 (read_attr): Likewise.
33398 (read_data): Likewise.
33399 (read_run_data): Likewise.
33400 (read_run_list): Likewise.
33401 (read_mft): Likewise.
33402
33403 * fs/ntfscomp.c: New file.
33404
33405 * include/grub/ntfs.h: New file.
33406
af680a87 334072007-12-16 Robert Millan <rmh@aybabtu.com>
33408
33409 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
33410 IDE disk check, since Linux is known to support 20 IDE disks.
33411 Reported by Colin Watson.
33412
84be7599 334132007-12-15 Bean <bean123ch@gmail.com>
33414
33415 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
33416 (lnxboot_img_SOURCES): New variable.
33417 (lnxboot_img_ASFLAGS): Likewise.
33418 (lnxboot_img_LDFLAGS): Likewise.
33419
33420 * boot/i386/pc/lnxboot.S: New file.
33421
6af9db01 334222007-11-24 Pavel Roskin <proski@gnu.org>
33423
33424 * configure.ac: Test if '--build-id=none' is supported by the
33425 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
33426 objcopy to generate incorrect binary files (binutils
33427 2.17.50.0.18-1 as shipped by Fedora 8).
33428 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
33429 linking, so that build ID doesn't break the test.
33430
7361cfe6 334312007-11-24 Pavel Roskin <proski@gnu.org>
33432
33433 * include/grub/i386/time.h: use "void" in the argument list
33434 of grub_cpu_idle().
33435 * include/grub/powerpc/time.h: Likewise.
33436 * include/grub/sparc64/time.h: Likewise.
33437
1593e10c 334382007-11-18 Christian Franke <franke@computer.org>
33439
33440 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
33441 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
33442 This fixes the problem that function keys did not work in grub-emu.
33443
3b8db1a8 334442007-11-18 Christian Franke <franke@computer.org>
33445
33446 * disk/host.c (grub_host_open): Remove attribute unused from
33447 name parameter. Add check for "host". This fixes the problem
33448 that grub-emu does not find partitions.
33449
2e29408d 334502007-11-18 Christian Franke <franke@computer.org>
33451
33452 * util/hostfs.c (is_dir): New function.
33453 (grub_hostfs_dir): Handle missing dirent.d_type case.
33454 (grub_hostfs_read): Add missing fseek().
33455 (grub_hostfs_label): Clear label pointer. This fixes a crash
33456 of grub-emu on "ls (host)".
33457
398cd047 334582007-11-18 Christian Franke <franke@computer.org>
33459
33460 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
33461 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
33462 to 64 bit boundary by default.
33463
c405c391 334642007-11-18 Bean <bean123ch@gmail.com>
33465
33466 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
33467 (hexdump_mod_SOURCES): New variable.
33468 (hexdump_mod_CFLAGS): Likewise.
33469 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 33470
c405c391 33471 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33472
33473 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33474
33475 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33476
33477 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33478
33479 * include/grub/hexdump.h: New file.
33480
33481 * commands/hexdump.c: New file.
33482
5cced7fd 334832007-11-10 Robert Millan <rmh@aybabtu.com>
33484
33485 * commands/i386/pc/play.c (beep_off): Switch order of arguments
33486 in grub_outb() calls.
33487 (beep_on): Likewise.
33488
8b714eb0 334892007-11-10 Christian Franke <franke@computer.org>
33490
33491 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
33492 (grub_menu_run): Likewise.
33493
ce0f1839 334942007-11-10 Robert Millan <rmh@aybabtu.com>
33495
33496 * include/grub/i386/efi/machine.h: New file.
33497 * include/grub/i386/linuxbios/machine.h: Likewise.
33498 * include/grub/i386/pc/machine.h: Likewise.
33499 * include/grub/powerpc/ieee1275/machine.h: Likewise.
33500 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33501
33502 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
33503 (serial_hw_io_addr): New variable.
33504 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
33505 instead of `(unsigned short *) 0x400'.
33506
270c237d 335072007-11-10 Bean <bean123ch@gmail.com>
33508
33509 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
33510
a87783bf 335112007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
33512
33513 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
33514 (vga_mod_SOURCES): Added.
33515 (vga_mod_CFLAGS): Likewise.
33516 (vga_mod_LDFLAGS): Likewise.
33517
33518 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
33519 grub_outb() calls.
33520 (set_map_mask): Likewise.
33521 (set_read_map): Likewise.
33522 (set_read_address): Likewise.
33523 (vga_font): Removed variable.
33524 (get_vga_glyph): Removed function.
33525 (invalidate_char): Likewise.
33526 (write_char): Changed to use grub_font_get_glyph() for font
33527 information.
33528 (grub_vga_putchar): Likewise.
33529 (grub_vga_getcharwidth): Likewise.
33530
6433b448 335312007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
33532
33533 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
33534 flags.
33535 (pxeboot_img_LDFLAGS): Likewise.
33536 (diskboot_img_LDFLAGS): Likewise.
33537 (kernel_img_LDFLAGS): Likewise.
33538
49178511 335392007-11-06 Robert Millan <rmh@aybabtu.com>
33540
33541 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
33542 in grub_outb() calls.
33543 (serial_hw_init): Likewise.
33544
53b052de 335452007-11-05 Robert Millan <rmh@aybabtu.com>
33546
33547 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
33548 spaces. Skip non-regular files.
33549
5ab33bba 335502007-11-05 Robert Millan <rmh@aybabtu.com>
33551
33552 * kern/disk.c (grub_disk_firmware_fini)
33553 (grub_disk_firmware_is_tainted): New variables.
33554
33555 * include/grub/disk.h (grub_disk_firmware_fini)
33556 (grub_disk_firmware_is_tainted): Likewise.
33557
33558 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
33559 (grub_disk_biosdisk_fini): ... to here.
33560 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
33561 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
33562 is set. Register grub_disk_biosdisk_fini() in
33563 `grub_disk_firmware_fini'.
33564
33565 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
33566 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
33567 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
33568 to finish existing firmware disk interface.
33569
33570 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
33571 (ata_mod_SOURCES): New variable.
33572 (ata_mod_CFLAGS): Likewise.
33573 (ata_mod_LDFLAGS): Likewise.
33574
0149ab7c 335752007-11-05 Robert Millan <rmh@aybabtu.com>
33576
33577 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
33578 (grub_ata_wait): Reimplement using grub_millisleep().
33579
33580 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
33581 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
33582
be7ac41e 335832007-11-03 Marco Gerards <marco@gnu.org>
33584
33585 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
33586 (CRTC_ADDR_PORT): New macro.
33587 (CRTC_DATA_PORT): Likewise.
33588 (CRTC_CURSOR): Likewise.
33589 (CRTC_CURSOR_ADDR_HIGH): Likewise.
33590 (CRTC_CURSOR_ADDR_LOW): Likewise.
33591 (update_cursor): New function.
33592 (grub_console_real_putchar): Call `update_cursor'.
33593 (grub_console_gotoxy): Likewise.
33594 (grub_console_cls): Set the default color when clearing the
33595 screen.
33596 (grub_console_setcursor): Implemented.
33597
bb06ab2e 335982007-11-03 Marco Gerards <marco@gnu.org>
33599
33600 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
33601 become activate.
33602 (grub_ata_pio_write): Likewise.
33603
33604 (grub_atapi_identify): Wait after issuing an ATA command.
33605 (grub_atapi_packet): Likewise.
33606 (grub_ata_identify): Likewise.
33607 (grub_ata_readwrite): Likewise.
33608
cf8f780b 336092007-11-03 Marco Gerards <marco@gnu.org>
33610
33611 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
33612 (grub_ata_pio_write): Likewise.
33613 (grub_ata_readwrite): Use `grub_error', instead of
33614 returning `grub_errno'.
33615
ed649e54 336162007-11-03 Marco Gerards <marco@gnu.org>
33617
33618 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
33619 grub_ata_pio_write once for every single sector, instead of for
33620 multiple sectors.
33621
ca25d8f0 336222007-10-31 Robert Millan <rmh@aybabtu.com>
33623
33624 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
33625
33626 * conf/i386-linuxbios.rmk: New file.
33627
33628 * kern/i386/pc/hardware.c: Likewise.
33629 * term/i386/pc/at_keyboard.c: Likewise.
33630 * term/i386/pc/vga_text.c: Likewise.
33631
33632 * include/grub/i386/linuxbios/boot.h: Likewise.
33633 * include/grub/i386/linuxbios/console.h: Likewise.
33634 * include/grub/i386/linuxbios/init.h: Likewise.
33635 * include/grub/i386/linuxbios/kernel.h: Likewise.
33636 * include/grub/i386/linuxbios/loader.h: Likewise.
33637 * include/grub/i386/linuxbios/memory.h: Likewise.
33638 * include/grub/i386/linuxbios/serial.h: Likewise.
33639 * include/grub/i386/linuxbios/time.h: Likewise.
33640
33641 * kern/i386/linuxbios/init.c: Likewise.
33642 * kern/i386/linuxbios/startup.S: Likewise.
33643 * kern/i386/linuxbios/table.c: Likewise.
33644
e911ecc1 336452007-10-31 Marco Gerards <marco@gnu.org>
33646
33647 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
33648 (ata_mod_SOURCES): New variable.
33649 (ata_mod_CFLAGS): Likewise.
33650 (ata_mod_LDFLAGS): Likewise.
33651
33652 * disk/ata.c: New file.
33653
33654 * include/grub/disk.h (grub_disk_dev_id): Add
33655 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 33656
7f66d0e0 336572007-10-31 Robert Millan <rmh@aybabtu.com>
33658
33659 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
33660 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
33661
33662 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
33663 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
33664
33665 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
33666 `<grub/types.h>'.
33667
33668 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
33669
5cd7dd46 336702007-10-27 Robert Millan <rmh@aybabtu.com>
33671
3236ca65 33672 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 33673
2ebfc90f 336742007-10-22 Robert Millan <rmh@aybabtu.com>
33675
33676 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
33677 `"../realmode.S"'.
33678 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
33679
73fcb0f3 336802007-10-22 Robert Millan <rmh@aybabtu.com>
33681
33682 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
33683 (pkgdata_MODULES): Add `biosdisk.mod'.
33684 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
33685 variables.
33686
33687 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
33688 (grub_biosdisk_init): Replace with ...
33689 (GRUB_MOD_INIT(biosdisk)): ... this.
33690 (grub_biosdisk_fini): Replace with ...
33691 (GRUB_MOD_FINI(biosdisk)): ... this.
33692
33693 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
33694 (grub_machine_init): Remove call to grub_biosdisk_init().
33695 (grub_machine_fini): Remove call to grub_machine_fini().
33696
33697 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
33698
3381d274 336992007-10-22 Robert Millan <rmh@aybabtu.com>
33700
33701 * include/grub/time.h: New file.
33702 * include/grub/i386/time.h: Likewise.
33703 * include/grub/powerpc/time.h: Likewise.
33704 * include/grub/sparc64/time.h: Likewise.
33705
33706 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
33707 instances to ...
33708 (KERNEL_MACHINE_TIME_HEADER): ... this.
33709 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33710 instances to ...
33711 (KERNEL_MACHINE_TIME_HEADER): ... this.
33712 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33713 instances to ...
33714 (KERNEL_MACHINE_TIME_HEADER): ... this.
33715
33716 * kern/i386/efi/init.c: Include `<grub/time.h>'.
33717 (grub_millisleep): New function.
33718 * kern/i386/pc/init.c: Include `<grub/time.h>'.
33719 (grub_millisleep): New function.
33720 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
33721 Remove `grub/machine/time.h' include.
33722 (grub_millisleep): New function.
33723 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
33724 Remove `grub/machine/time.h' include.
33725 (grub_millisleep): New function.
33726
33727 * include/grub/misc.h (grub_div_roundup): New function.
33728
33729 * kern/misc.c: Include `<grub/time.h>'.
33730 (grub_millisleep_generic): New function.
33731
33732 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
33733 Add `time.h'.
33734 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
33735 Add `time.h'.
33736 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
33737 `machine/time.h'. Add `time.h'.
33738 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33739
a39a0312 337402007-10-21 Robert Millan <rmh@aybabtu.com>
33741
33742 * include/grub/misc.h (grub_max): New function.
33743
2aad70e2 337442007-10-21 Robert Millan <rmh@aybabtu.com>
33745
33746 * util/misc.c (grub_util_info): Call fflush() before returning.
33747
54b71c4b 337482007-10-20 Robert Millan <rmh@aybabtu.com>
33749
33750 * genmk.rb (Image): Copy `extra_flags' from here ...
33751 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
33752
33753 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
33754 to `argc' and `args' arguments.
33755
a979f513 337562007-10-17 Robert Millan <rmh@aybabtu.com>
33757
33758 * kern/i386/loader.S: New file.
33759
33760 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
33761 * kern/i386/loader.S (grub_linux_prot_size)... to here.
33762 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
33763 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
33764 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
33765 * kern/i386/loader.S (grub_linux_real_addr)... to here.
33766 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
33767 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
33768 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
33769 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
33770 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
33771 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
33772 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
33773 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
33774
33775 * kern/i386/realmode.S: New file.
33776
33777 * kern/i386/pc/startup.S (protstack): Moved from here ...
33778 * kern/i386/realmode.S (protstack)... to here.
33779 * kern/i386/pc/startup.S (gdt): Moved from here ...
33780 * kern/i386/realmode.S (gdt)... to here.
33781 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
33782 * kern/i386/realmode.S (prot_to_real)... to here.
33783
33784 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
33785 `kern/i386/realmode.S'.
33786
825fc8fd 337872007-10-17 Robert Millan <rmh@aybabtu.com>
33788
33789 * include/grub/i386/loader.h: New file.
33790
33791 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
33792 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33793 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33794 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33795 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
33796 * include/grub/i386/loader.h (grub_linux_prot_size)
33797 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33798 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33799 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33800 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
33801
33802 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
33803
e179b2f4 338042007-10-15 Robert Millan <rmh@aybabtu.com>
33805
33806 * normal/misc.c (grub_normal_print_device_info): Do not probe for
33807 filesystem when dev->disk is unset.
33808 Do probe for filesystem even when dev->disk->has_partitions is set.
33809 In case a filesystem is found, always report it.
33810 In case it isn't, if dev->disk->has_partitions is set, report that
33811 a partition table was found instead of reporting that no filesystem
33812 could be identified.
33813
5db82af6 338142007-10-12 Robert Millan <rmh@aybabtu.com>
33815
33816 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
33817 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
33818
68f6ac74 33819 * include/grub/types.h (grub_host_to_target16): New macro.
33820 (grub_host_to_target32): Likewise.
33821 (grub_host_to_target64): Likewise.
33822 (grub_target_to_host16): Likewise.
33823 (grub_target_to_host32): Likewise.
33824 (grub_target_to_host64): Likewise.
5db82af6 33825
33826 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33827 Renamed from to ...
33828 (GRUB_MOD_ALIGN): ...this. Update all users.
33829
68f6ac74 33830 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
33831 grub_host_to_target32.
33832 Replace grub_be_to_cpu32 with grub_target_to_host32.
33833 (load_modules): Likewise.
33834 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
33835 Replace grub_be_to_cpu32 with grub_target_to_host32.
33836 Replace grub_cpu_to_be16 with grub_host_to_target16.
33837 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 33838
3cf497cc 338392007-10-12 Robert Millan <rmh@aybabtu.com>
33840
33841 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
33842 * util/elf/grub-mkimage.c: ... here.
33843
33844 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
33845 `util/powerpc/ieee1275/grub-mkimage.c'.
33846
c8cc3692 338472007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 33848
c8cc3692 33849 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
33850 and make it easier to figure out.
33851 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
33852 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
33853 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
33854 leave us with less than HEAP_MIN_SIZE total heap.
33855 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 33856
5c58b791 338572007-10-03 Robert Millan <rmh@aybabtu.com>
33858
33859 * include/grub/i386/io.h: New file.
33860 * commands/i386/pc/play.c (inb): Removed.
33861 (outb): Removed.
33862 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33863 with grub_outb().
afcd2ef8 33864 * term/i386/pc/serial.c (inb): Removed.
33865 (outb): Removed.
33866 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33867 with grub_outb().
33868 * term/i386/pc/vga.c (inb): Removed.
33869 (outb): Removed.
33870 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33871 with grub_outb().
5c58b791 33872
1a477ed6 338732007-10-02 Robert Millan <rmh@aybabtu.com>
33874
33875 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
33876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33877 Reported by Marcin Kurek.
33878
6b5d80fa 338792007-09-07 Robert Millan <rmh@aybabtu.com>
33880
33881 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
33882 SmartFirmware version updates (as released by Sven Luther), and avoid
33883 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
33884 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
33885 known broken.
33886
5618afbf 338872007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33888
33889 From Hitoshi Ozeki:
33890 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
33891 when merging two regions.
33892
6139dcd9 338932007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33894
508e39ee 33895 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
33896 * normal/completion.c (grub_normal_do_completion): Likewise.
33897 Reported by Hitoshi Ozeki.
33898
338992007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33900
6139dcd9 33901 Do not use devices at boot in chainloading.
f19dbdb7 33902
6139dcd9 33903 * loader/i386/pc/chainloader.c (boot_drive): New variable.
33904 (boot_part_addr): Likewise.
33905 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
33906 with BOOT_DRIVE and BOOT_PART_ADDR.
33907 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
33908 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
33909
38da6516 339102007-08-29 Robert Millan <rmh@aybabtu.com>
33911
33912 Patch from Simon Peter <dn.tlp@gmx.net>:
33913 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
33914 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
33915 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
33916 util/i386/pc/grub-setup.c_DEPENDENCIES.
33917 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
33918 util/grub-probe.c_DEPENDENCIES.
33919 * conf/powerpc-ieee1275.rmk: Likewise.
33920
29d0928c 339212007-08-28 Robert Millan <rmh@aybabtu.com>
33922
33923 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
33924 to tell grub-mkdevicemap how to name devices.
33925 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
33926 feature).
33927
33928 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
33929 util/i386/get_disk_name.c.
33930 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
33931 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
33932 util/ieee1275/get_disk_name.c.
33933
33934 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
33935
33936 * DISTLIST: Add util/i386/get_disk_name.c and
33937 util/ieee1275/get_disk_name.c.
33938
33939 * util/grub-mkdevicemap.c: Replace device naming logic with
33940 grub_util_get_disk_name() calls.
33941
5a0d3cca 339422007-08-20 Robert Millan <rmh@aybabtu.com>
33943
33944 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
33945 (so that it works for both plural and singular quantities).
33946
8b72db2f 339472007-08-05 Robert Millan <rmh@aybabtu.com>
33948
33949 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
33950 so that [xz] isn't taken into account when determining order.
33951
352466bf 339522007-08-02 Marco Gerards <marco@gnu.org>
33953
33954 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
33955 `include/multiboot2.h', `include/grub/elfload.h',
33956 `include/multiboot.h', `include/grub/multiboot.h',
33957 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
33958 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
33959 `kern/elf.c', `loader/multiboot_loader.c',
33960 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
33961 `loader/i386/pc/multiboot2.c',
33962 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
33963 `util/i386/pc/grub-mkrescue.in'. Remove
33964 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
33965 `include/grub/i386/pc/util/biosdisk.h' and
33966 `include/grub/powerpc/ieee1275/multiboot.h'.
33967
8f096014 339682007-08-02 Bean <bean123ch@gmail.com>
33969
33970 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
33971 (ntfs_mod_SOURCES): New variable.
33972 (ntfs_mod_CFLAGS): Likewise.
33973 (ntfs_mod_LDFLAGS): Likewise.
33974
33975 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
33976 (grub_probe_SOURCES): Likewise.
33977 (grub_emu_SOURCES): Likewise.
33978
33979 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33980 (grub_emu_SOURCES): Likewise.
33981
33982 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33983 (grub_emu_SOURCES): Likewise.
f19dbdb7 33984
8f096014 33985 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
33986
33987 * fs/ntfs.c: New file.
33988
9959f7db 339892007-08-02 Bean <bean123ch@gmail.com>
33990
33991 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
33992
33993 * file.h (grub_file): Likewise.
33994
33995 * fshelp.h (grub_fshelp_read_file): Likewise.
33996
33997 * util/i386/pc/grub-setup.c (setup): Likewise.
33998 (save_first_sector): Likewise.
33999 (save_blocklists): Likewise.
f19dbdb7 34000
9959f7db 34001 * fs/affs.c (grub_affs_read_file): Likewise.
34002
34003 * fs/ext2.c (grub_ext2_read_file): Likewise.
34004
34005 * fs/fat.c (grub_fat_read_data): Likewise.
34006
34007 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
34008
34009 * fs/hfs.c (grub_hfs_read_file): Likewise.
34010
34011 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34012
34013 * fs/jfs.c (grub_jfs_read_file): Likewise.
34014
34015 * fs/minix.c (grub_minix_read_file): Likewise.
34016
34017 * fs/sfs.c (grub_sfs_read_file): Likewise.
34018
34019 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 34020
9959f7db 34021 * fs/xfs.c (grub_xfs_read_file): Likewise.
34022
34023 * command/blocklist.c (read_blocklist): Likewise.
34024 (print_blocklist): Likewise.
34025
0a203f83 340262007-08-02 Marco Gerards <marco@gnu.org>
34027
34028 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
34029 `util/hostfs.c'.
34030
34031 * disk/host.c: New file.
34032
34033 * util/hostfs.c: Likewise.
34034
34035 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
34036 return `GRUB_ERR_BAD_FS'.
34037 * fs/sfs.c (grub_sfs_mount): Likewise.
34038 * fs/xfs.c (grub_xfs_mount): Likewise.
34039
34040 * include/grub/disk.h (enum grub_disk_dev_id): Add
34041 `GRUB_DISK_DEVICE_HOST_ID'.
34042
34043 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
34044
e5dfe777 340452007-07-24 Jerone Young <jerone@gmail.com>
34046
f19dbdb7 34047 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 34048 modules for compilation.
34049 * conf/powerpc-ieee1275.rmk: Likewise.
34050
34051 * include/multiboot.h: Move multiboot definitions to one file. Rename
34052 many definitions to not get grub specific.
34053 * include/multiboot2.h: Create header with multiboot 2 definitions.
34054 * include/grub/multiboot.h: Header for grub specific function
34055 prototypes and definitions.
34056 * include/grub/multiboot2.h: Likewise.
34057 * include/grub/multiboot_loader.h: Likewise.
34058 * include/grub/i386/pc/multiboot.h: Removed.
34059 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
34060
34061 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
34062 and 2 to allow for one multiboot and module commands.
34063 * loader/multiboot2.c: Add multiboot2 functionality.
34064 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
34065 and definition names.
34066 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
34067 2 functions.
34068 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
34069 ieee1275 specific multiboot2 code.
34070
34071 * kern/i386/pc/startup.S: Change headers and definition names for
34072 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
34073
daf0f0ba 340742007-07-22 Robert Millan <rmh@aybabtu.com>
34075
34076 * geninitheader.sh: Process file specified in first parameter rather
34077 than hardcoding grub_modules_init.lst.
fe6b695a 34078 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 34079 than hardcoding grub_modules_init.h.
34080
34081 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
34082 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
34083 grub_probe_init.[ch] and grub_setup_init.[ch].
34084
34085 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
34086 grub_modules_init.h with grub_emu_init.h.
34087 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
34088 grub_probe_init.[ch] files.
34089 * conf/i386-efi.rmk: Likewise.
34090 * conf/i386-pc.rmk: Likewise.
34091 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
34092 grub_setup_init.[ch] files.
34093
34094 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
34095 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
34096 to initialize modules rather than a list of hardcoded functions.
34097 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
34098 grub_init_all() to initialize modules rather than a list of hardcoded
34099 functions.
34100
54cdc1cc 341012007-07-22 Robert Millan <rmh@aybabtu.com>
34102
34103 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
34104 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
34105
ad0686cc 341062007-07-22 Robert Millan <rmh@aybabtu.com>
34107
34108 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
34109 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
34110 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
34111 flag when running on SmartFirmware.
34112 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
34113 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
34114 was set.
34115
34116 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34117 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
34118 rather than decreasing it.
34119
34120 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
34121 there's not enough space to do it, fail in the same way as when it
34122 can't be done because there are no partitions.
34123
34124 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
34125 when nvsetenv failed.
34126
969c02ec 341272007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
34128
34129 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
34130 because this rule is automatically generated.
34131 (grub-mkrescue): Removed for the same reason as above.
34132
5a79f472 341332007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
34134
34135 Migrate to GNU General Public License Version 3.
f19dbdb7 34136
5a79f472 34137 * COPYING: Replaced with the plain text version of GPLv3.
34138
34139 * config.guess: Updated from gnulib.
34140 * config.sub: Likewise.
34141
34142 * geninit.sh: Output a GPLv3 copyright notice.
34143 * geninitheader.sh: Likewise.
34144 * genmodsrc.sh: Likewise.
34145 * gensymlist.sh.in: Likewise.
34146
34147 * boot/i386/pc/boot.S: Upgraded to GPLv3.
34148 * boot/i386/pc/diskboot.S: Likewise.
34149 * boot/i386/pc/pxeboot.S: Likewise.
34150 * commands/blocklist.c: Likewise.
34151 * commands/boot.c: Likewise.
34152 * commands/cat.c: Likewise.
34153 * commands/cmp.c: Likewise.
34154 * commands/configfile.c: Likewise.
34155 * commands/echo.c: Likewise.
34156 * commands/help.c: Likewise.
34157 * commands/ls.c: Likewise.
34158 * commands/search.c: Likewise.
34159 * commands/terminal.c: Likewise.
34160 * commands/test.c: Likewise.
34161 * commands/videotest.c: Likewise.
34162 * commands/i386/cpuid.c: Likewise.
34163 * commands/i386/pc/halt.c: Likewise.
34164 * commands/i386/pc/play.c: Likewise.
34165 * commands/i386/pc/reboot.c: Likewise.
34166 * commands/i386/pc/vbeinfo.c: Likewise.
34167 * commands/i386/pc/vbetest.c: Likewise.
34168 * commands/ieee1275/halt.c: Likewise.
34169 * commands/ieee1275/reboot.c: Likewise.
34170 * commands/ieee1275/suspend.c: Likewise.
34171 * disk/loopback.c: Likewise.
34172 * disk/lvm.c: Likewise.
34173 * disk/raid.c: Likewise.
34174 * disk/efi/efidisk.c: Likewise.
34175 * disk/i386/pc/biosdisk.c: Likewise.
34176 * disk/ieee1275/ofdisk.c: Likewise.
34177 * font/manager.c: Likewise.
34178 * fs/affs.c: Likewise.
34179 * fs/ext2.c: Likewise.
34180 * fs/fat.c: Likewise.
34181 * fs/fshelp.c: Likewise.
34182 * fs/hfs.c: Likewise.
34183 * fs/hfsplus.c: Likewise.
34184 * fs/iso9660.c: Likewise.
34185 * fs/jfs.c: Likewise.
34186 * fs/minix.c: Likewise.
34187 * fs/sfs.c: Likewise.
34188 * fs/ufs.c: Likewise.
34189 * fs/xfs.c: Likewise.
34190 * hello/hello.c: Likewise.
34191 * include/grub/acorn_filecore.h: Likewise.
34192 * include/grub/arg.h: Likewise.
34193 * include/grub/bitmap.h: Likewise.
34194 * include/grub/boot.h: Likewise.
34195 * include/grub/cache.h: Likewise.
34196 * include/grub/device.h: Likewise.
34197 * include/grub/disk.h: Likewise.
34198 * include/grub/dl.h: Likewise.
34199 * include/grub/elfload.h: Likewise.
34200 * include/grub/env.h: Likewise.
34201 * include/grub/err.h: Likewise.
34202 * include/grub/file.h: Likewise.
34203 * include/grub/font.h: Likewise.
34204 * include/grub/fs.h: Likewise.
34205 * include/grub/fshelp.h: Likewise.
34206 * include/grub/gzio.h: Likewise.
34207 * include/grub/hfs.h: Likewise.
34208 * include/grub/kernel.h: Likewise.
34209 * include/grub/loader.h: Likewise.
34210 * include/grub/lvm.h: Likewise.
34211 * include/grub/misc.h: Likewise.
34212 * include/grub/mm.h: Likewise.
34213 * include/grub/net.h: Likewise.
34214 * include/grub/normal.h: Likewise.
34215 * include/grub/parser.h: Likewise.
34216 * include/grub/partition.h: Likewise.
34217 * include/grub/pc_partition.h: Likewise.
34218 * include/grub/raid.h: Likewise.
34219 * include/grub/rescue.h: Likewise.
34220 * include/grub/script.h: Likewise.
34221 * include/grub/setjmp.h: Likewise.
34222 * include/grub/symbol.h: Likewise.
34223 * include/grub/term.h: Likewise.
34224 * include/grub/terminfo.h: Likewise.
34225 * include/grub/tparm.h: Likewise.
34226 * include/grub/types.h: Likewise.
34227 * include/grub/video.h: Likewise.
34228 * include/grub/efi/api.h: Likewise.
34229 * include/grub/efi/chainloader.h: Likewise.
34230 * include/grub/efi/console.h: Likewise.
34231 * include/grub/efi/console_control.h: Likewise.
34232 * include/grub/efi/disk.h: Likewise.
34233 * include/grub/efi/efi.h: Likewise.
34234 * include/grub/efi/pe32.h: Likewise.
34235 * include/grub/efi/time.h: Likewise.
34236 * include/grub/i386/linux.h: Likewise.
34237 * include/grub/i386/setjmp.h: Likewise.
34238 * include/grub/i386/types.h: Likewise.
34239 * include/grub/i386/efi/kernel.h: Likewise.
34240 * include/grub/i386/efi/loader.h: Likewise.
34241 * include/grub/i386/efi/time.h: Likewise.
34242 * include/grub/i386/pc/biosdisk.h: Likewise.
34243 * include/grub/i386/pc/boot.h: Likewise.
34244 * include/grub/i386/pc/chainloader.h: Likewise.
34245 * include/grub/i386/pc/console.h: Likewise.
34246 * include/grub/i386/pc/init.h: Likewise.
34247 * include/grub/i386/pc/kernel.h: Likewise.
34248 * include/grub/i386/pc/loader.h: Likewise.
34249 * include/grub/i386/pc/memory.h: Likewise.
34250 * include/grub/i386/pc/multiboot.h: Likewise.
34251 * include/grub/i386/pc/serial.h: Likewise.
34252 * include/grub/i386/pc/time.h: Likewise.
34253 * include/grub/i386/pc/vbe.h: Likewise.
34254 * include/grub/i386/pc/vbeblit.h: Likewise.
34255 * include/grub/i386/pc/vbefill.h: Likewise.
34256 * include/grub/i386/pc/vbeutil.h: Likewise.
34257 * include/grub/i386/pc/vga.h: Likewise.
34258 * include/grub/ieee1275/ieee1275.h: Likewise.
34259 * include/grub/ieee1275/ofdisk.h: Likewise.
34260 * include/grub/powerpc/libgcc.h: Likewise.
34261 * include/grub/powerpc/setjmp.h: Likewise.
34262 * include/grub/powerpc/types.h: Likewise.
34263 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
34264 * include/grub/powerpc/ieee1275/console.h: Likewise.
34265 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
34266 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
34267 * include/grub/powerpc/ieee1275/loader.h: Likewise.
34268 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
34269 * include/grub/powerpc/ieee1275/time.h: Likewise.
34270 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
34271 * include/grub/sparc64/libgcc.h: Likewise.
34272 * include/grub/sparc64/setjmp.h: Likewise.
34273 * include/grub/sparc64/types.h: Likewise.
34274 * include/grub/sparc64/ieee1275/console.h: Likewise.
34275 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34276 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34277 * include/grub/sparc64/ieee1275/time.h: Likewise.
34278 * include/grub/util/biosdisk.h: Likewise.
34279 * include/grub/util/getroot.h: Likewise.
34280 * include/grub/util/lvm.h: Likewise.
34281 * include/grub/util/misc.h: Likewise.
34282 * include/grub/util/raid.h: Likewise.
34283 * include/grub/util/resolve.h: Likewise.
34284 * io/gzio.c: Likewise.
34285 * kern/device.c: Likewise.
34286 * kern/disk.c: Likewise.
34287 * kern/dl.c: Likewise.
34288 * kern/elf.c: Likewise.
34289 * kern/env.c: Likewise.
34290 * kern/err.c: Likewise.
34291 * kern/file.c: Likewise.
34292 * kern/fs.c: Likewise.
34293 * kern/loader.c: Likewise.
34294 * kern/main.c: Likewise.
34295 * kern/misc.c: Likewise.
34296 * kern/mm.c: Likewise.
34297 * kern/parser.c: Likewise.
34298 * kern/partition.c: Likewise.
34299 * kern/rescue.c: Likewise.
34300 * kern/term.c: Likewise.
34301 * kern/efi/efi.c: Likewise.
34302 * kern/efi/init.c: Likewise.
34303 * kern/efi/mm.c: Likewise.
34304 * kern/i386/dl.c: Likewise.
34305 * kern/i386/efi/init.c: Likewise.
34306 * kern/i386/efi/startup.S: Likewise.
34307 * kern/i386/pc/init.c: Likewise.
34308 * kern/i386/pc/lzo1x.S: Likewise.
34309 * kern/i386/pc/startup.S: Likewise.
34310 * kern/ieee1275/ieee1275.c: Likewise.
34311 * kern/powerpc/cache.S: Likewise.
34312 * kern/powerpc/dl.c: Likewise.
34313 * kern/powerpc/ieee1275/cmain.c: Likewise.
34314 * kern/powerpc/ieee1275/crt0.S: Likewise.
34315 * kern/powerpc/ieee1275/init.c: Likewise.
34316 * kern/powerpc/ieee1275/openfw.c: Likewise.
34317 * kern/sparc64/cache.S: Likewise.
34318 * kern/sparc64/dl.c: Likewise.
34319 * kern/sparc64/ieee1275/init.c: Likewise.
34320 * kern/sparc64/ieee1275/openfw.c: Likewise.
34321 * loader/efi/chainloader.c: Likewise.
34322 * loader/efi/chainloader_normal.c: Likewise.
34323 * loader/i386/efi/linux.c: Likewise.
34324 * loader/i386/efi/linux_normal.c: Likewise.
34325 * loader/i386/pc/chainloader.c: Likewise.
34326 * loader/i386/pc/chainloader_normal.c: Likewise.
34327 * loader/i386/pc/linux.c: Likewise.
34328 * loader/i386/pc/linux_normal.c: Likewise.
34329 * loader/i386/pc/multiboot.c: Likewise.
34330 * loader/i386/pc/multiboot_normal.c: Likewise.
34331 * loader/powerpc/ieee1275/linux.c: Likewise.
34332 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34333 * normal/arg.c: Likewise.
34334 * normal/cmdline.c: Likewise.
34335 * normal/command.c: Likewise.
34336 * normal/completion.c: Likewise.
34337 * normal/execute.c: Likewise.
34338 * normal/function.c: Likewise.
34339 * normal/lexer.c: Likewise.
34340 * normal/main.c: Likewise.
34341 * normal/menu.c: Likewise.
34342 * normal/menu_entry.c: Likewise.
34343 * normal/misc.c: Likewise.
34344 * normal/parser.y: Likewise.
34345 * normal/script.c: Likewise.
34346 * normal/i386/setjmp.S: Likewise.
34347 * normal/powerpc/setjmp.S: Likewise.
34348 * normal/sparc64/setjmp.S: Likewise.
34349 * partmap/acorn.c: Likewise.
34350 * partmap/amiga.c: Likewise.
34351 * partmap/apple.c: Likewise.
34352 * partmap/gpt.c: Likewise.
34353 * partmap/pc.c: Likewise.
34354 * partmap/sun.c: Likewise.
34355 * term/gfxterm.c: Likewise.
34356 * term/terminfo.c: Likewise.
34357 * term/efi/console.c: Likewise.
34358 * term/i386/pc/console.c: Likewise.
34359 * term/i386/pc/serial.c: Likewise.
34360 * term/i386/pc/vesafb.c: Likewise.
34361 * term/i386/pc/vga.c: Likewise.
34362 * term/ieee1275/ofconsole.c: Likewise.
34363 * util/biosdisk.c: Likewise.
34364 * util/console.c: Likewise.
34365 * util/genmoddep.c: Likewise.
34366 * util/getroot.c: Likewise.
34367 * util/grub-emu.c: Likewise.
34368 * util/grub-mkdevicemap.c: Likewise.
34369 * util/grub-probe.c: Likewise.
34370 * util/lvm.c: Likewise.
34371 * util/misc.c: Likewise.
34372 * util/raid.c: Likewise.
34373 * util/resolve.c: Likewise.
34374 * util/update-grub.in: Likewise.
34375 * util/update-grub_lib.in: Likewise.
34376 * util/grub.d/00_header.in: Likewise.
34377 * util/grub.d/10_hurd.in: Likewise.
34378 * util/grub.d/10_linux.in: Likewise.
34379 * util/i386/efi/grub-install.in: Likewise.
34380 * util/i386/efi/grub-mkimage.c: Likewise.
34381 * util/i386/pc/grub-install.in: Likewise.
34382 * util/i386/pc/grub-mkimage.c: Likewise.
34383 * util/i386/pc/grub-mkrescue.in: Likewise.
34384 * util/i386/pc/grub-setup.c: Likewise.
34385 * util/i386/pc/misc.c: Likewise.
34386 * util/powerpc/ieee1275/grub-install.in: Likewise.
34387 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
34388 * util/powerpc/ieee1275/misc.c: Likewise.
34389 * video/bitmap.c: Likewise.
34390 * video/video.c: Likewise.
34391 * video/i386/pc/vbe.c: Likewise.
34392 * video/i386/pc/vbeblit.c: Likewise.
34393 * video/i386/pc/vbefill.c: Likewise.
34394 * video/i386/pc/vbeutil.c: Likewise.
34395 * video/readers/tga.c: Likewise.
34396
3572d015 343972007-07-02 Robert Millan <rmh@aybabtu.com>
34398
34399 * conf/i386-efi.rmk: Replace obsolete reference to
34400 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
34401 with util/getroot.c.
34402 * conf/powerpc-ieee1275.rmk: Likewise.
34403 * conf/sparc64-ieee1275.rmk: Likewise.
34404
34405 * util/grub-emu.c (main): Fix unchecked pointer handling.
34406
2c2a681b 344072007-07-02 Robert Millan <rmh@aybabtu.com>
34408
34409 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
34410 invocation to fail, in order to support partition-less media.
34411
34412 * util/i386/pc/grub-install.in: Likewise.
34413
34414 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
34415 which fs or partmap modules are needed (akin to its sister scripts).
34416
34417 Also use grub-probe to get rid of unportable /proc/mounts check.
34418
34419 Print the same informational message that the other scripts do, before
fe6b695a 34420 exiting.
2c2a681b 34421
6193defe 344222007-06-23 Robert Millan <rmh@aybabtu.com>
34423
fe6b695a 34424 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 34425 a font file can be found and, if so, echo the GRUB path to it.
34426
34427 * util/update-grub.in: Handle multiple terminals depending on user
34428 input, platform availability and font file presence. Propagate
34429 variables of our findings to /etc/grub.d/ children.
34430
34431 * util/grub.d/00_header.in: Handle multiple terminals, based on
34432 environment setup by update-grub.
34433
eface1dc 344342007-06-23 Robert Millan <rmh@aybabtu.com>
34435
ba50d28f 34436 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 34437
bf697e28 344382007-06-21 Robert Millan <rmh@aybabtu.com>
34439
34440 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
34441 indicate end of data section in kernel image.
34442 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
34443 GRUB_KERNEL_MACHINE_DATA_END.
34444
34445 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
34446 space for it.
34447 * kern/i386/efi/startup.S: Likewise.
34448
34449 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
34450 during image generation. Implement --prefix option to override this
34451 patch.
34452 * util/i386/efi/grub-mkimage.c: Likewise.
34453
34454 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
34455 code to make path relative to its root into a separate function.
34456
34457 * util/i386/pc/grub-install.in: Use newly provided
34458 make_system_path_relative_to_its_root() to convert ${grubdir}, then
34459 pass the result to grub-install --prefix.
34460
baa574b4 344612007-06-13 Robert Millan <rmh@aybabtu.com>
34462
34463 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
34464 DEFAULT_DEVICE_MAP.
34465 * util/grub-emu.c: Use above definitions from misc.h instead of
34466 defining them.
34467 * util/grub-mkdevicemap.c: Likewise.
34468 * util/i386/pc/grub-setup.c: Likewise.
34469 * util/grub-probe.c: Likewise.
34470 (probe): Abort with grub_util_error() when either
34471 grub_guess_root_device or grub_util_get_grub_dev fails.
34472
0215dcbf 344732007-06-12 Robert Millan <rmh@aybabtu.com>
34474
34475 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
34476 "pager" assignment.
34477 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
34478 "pcdata".
34479 * util/grub-probe.c (probe): Likewise for "drive_name".
34480
8af2ab7b 344812007-06-11 Robert Millan <rmh@aybabtu.com>
34482
34483 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
34484 not just the cdrom one.
34485
59d31694 344862007-06-11 Robert Millan <rmh@aybabtu.com>
34487
34488 * util/i386/pc/grub-mkrescue.in: Add "set -e".
34489 Add --pkglibdir=DIR option to override pkglibdir.
34490 Mention --image-type=TYPE in help output.
34491 Fix --grub-mkimage (it was a no-op).
fe6b695a 34492 Abort gracefully when no parameter is given.
59d31694 34493
7ee367e4 344942007-06-11 Robert Millan <rmh@aybabtu.com>
34495
34496 * util/i386/pc/grub-mkrescue.in: New file.
34497 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
34498 * Makefile.in: Handle bin_SCRIPTS.
34499
29b0ed46 345002007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
34501
34502 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
34503 list of video modes.
34504
c0f90770 345052007-06-06 Robert Millan <rmh@aybabtu.com>
34506
34507 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
34508 file doesn't exist, or if it is in a filesystem grub can't read.
34509
34510 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
34511 not abort if GRUB_DRIVE could not be defined. Rearrange generated
34512 header comment to fit in 80 columns when the variables are resolved.
34513
34514 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
34515 could be identified by update-grub. Remove redundant check for
fe6b695a 34516 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 34517 handles that).
34518
fb36dc26 345192007-06-04 Robert Millan <rmh@aybabtu.com>
34520
34521 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
34522
34523 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
34524
34525 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
34526
0c68c93e 345272007-06-04 Robert Millan <rmh@aybabtu.com>
34528
34529 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
34530
34531 * include/grub/partition.h: Declare grub_apple_partition_map_init and
34532 grub_apple_partition_map_fini.
34533
34534 * util/biosdisk.c
34535 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
34536 to access >2 TiB disks).
34537
34538 Print disk->total_sectors with %llu instead of %lu, since this
34539 variable is always 64-bit (prevents wrong disk size from being displayed
34540 on either >2 TiB disk or big-endian CPU).
34541
34542 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
34543 into a generic case that supports all (sane) partition maps.
34544
34545 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
34546 breaks big-endian.
34547
34548 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
34549 and grub_apple_partition_map_fini() after that.
34550
0f23eb74 345512007-06-01 Robert Millan <rmh@aybabtu.com>
34552
34553 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
34554
34555 * util/grub.d/00_header.in: Only enable gfxterm when
34556 convert_system_path_to_grub_path() succeeds.
34557
42c71976 345582007-05-20 Robert Millan <rmh@aybabtu.com>
34559
34560 * util/update-grub_lib.in: New file.
34561 * DISTLIST: Add update-grub_lib.in.
34562 * conf/common.rmk: Generate update-grub_lib and install it in
34563 $(lib_DATA).
34564 * Makefile.in: Add install routine for $(lib_DATA).
34565
34566 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
34567 function provided by update-grub_lib to support arbitrary paths of
34568 unifont.pff.
34569 * util/update-grub.in: Use convert_system_path_to_grub_path() to
34570 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
34571
5beb2291 345722007-05-19 Robert Millan <rmh@aybabtu.com>
34573
34574 * commands/i386/cpuid.c: New module.
34575 * DISTLIST: Add it.
34576 * conf/i386-efi.rmk: Enable cpuid.mod.
34577 * conf/i386-pc.rmk: Likewise.
34578
7262eca1 345792007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34580
34581 * kern/disk.c (grub_disk_read): Check return value of
34582 grub_realloc().
34583
260ba823 345842007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34585
34586 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
34587 arrays.
34588 * disk/raid.c (grub_raid_open): Likewise.
34589
1ecb6cf2 345902007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34591
34592 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
34593 stack instead of on the heap.
34594
34595 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
34596 before doing a read on it.
34597
34598 * configure.ac: Only use -fno-stack-protector for the target
34599 environment.
f19dbdb7 34600
21c8cbb1 346012007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34602
34603 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
34604 __attribute_ ((unused)) to mode_type argument.
34605
34606 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 34607
21c8cbb1 34608 * kern/misc.c (memcmp): Fix prototype.
34609
34610 * include/grub/partition.h [GRUB_UTIL]
34611 (grub_gpt_partition_map_init): Add prototype.
34612 (grub_gpt_partition_map_fini): Likewise.
34613
34614 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
34615 at the right place.
34616
34617 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
34618 (grub_fat_read_data): Likewise.
34619 (grub_fat_find_dir): Likewise.
34620
34621 * font/manager.c (find_glyph): Make table a const.
34622 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 34623
849d55d3 346242007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
34625
34626 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
34627 code, first search for device in /dev/mapper, then in /dev.
34628 (grub_util_get_grub_dev): New function.
34629 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
34630 prototype.
34631 * util/grub-probe.c (probe): Remove check for RAID, call
34632 grub_util_get_grub_dev() instead of
34633 grub_util_biosdisk_get_grub_dev().
34634 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
34635 grub_util_biosdisk_get_grub_dev().
34636 * util/i386/pc/grub-setup.c (main): Likewise.
34637
8fff7c2f 346382007-05-16 Robert Millan <rmh@aybabtu.com>
34639
34640 * DISTLIST: Update for the latest changes.
34641 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
34642 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
34643 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
34644 grub/util/biosdisk.h.
34645 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
34646 grub/util/biosdisk.h.
34647
48e12b52 346482007-05-16 Robert Millan <rmh@aybabtu.com>
34649
34650 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
34651
46b9d128 346522007-05-16 Robert Millan <rmh@aybabtu.com>
34653
34654 * util/i386/efi/grub-install.in: New.
34655 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
34656 newly added grub-install.
34657 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
34658 include.
34659 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
34660 grub/util/biosdisk.h.
34661 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
34662 grub/util/biosdisk.h.
34663
2d1a40a9 346642007-05-16 Robert Millan <rmh@aybabtu.com>
34665
34666 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
34667 * include/grub/util/biosdisk.h: ... here.
34668 * util/i386/pc/biosdisk.c: Moved to ...
34669 * util/biosdisk.c: ... here.
34670 * util/i386/pc/getroot.c: Moved to ...
34671 * util/getroot.c: ... here.
34672 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
34673 * util/grub-mkdevicemap.c: ... here.
34674 * util/i386/pc/grub-probe.c: Moved to ...
34675 * util/grub-probe.c: ... here.
34676
9e26e3bc 346772007-05-15 Robert Millan <rmh@aybabtu.com>
34678
34679 * util/update-grub.in: Remove duplicated line in grub.cfg header
34680 message.
34681
57f96397 346822007-05-13 Robert Millan <rmh@aybabtu.com>
34683
34684 * util/update-grub.in: Fix a few assumptions about the devices holding
34685 /, /boot and /boot/grub being the same.
34686 * util/grub.d/00_header.in: Likewise.
34687 * util/grub.d/10_hurd.in: Likewise.
34688 * util/grub.d/10_linux.in: Likewise.
34689
34690 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
34691 patterns. Use that to define the `.old' suffix as older than `'.
34692
34693 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
34694
34695 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
34696 the grub.cfg header message.
34697
2e610d62 346982007-05-11 Robert Millan <rmh@aybabtu.com>
34699
34700 * util/update-grub.in: Create device.map if it doesn't already exist,
34701 before attempting to run grub-probe.
34702 Check for grub-probe and grub-mkdevicemap with the same code
34703 grub-install is using.
34704 Remove test mode.
34705
3f6a10ef 347062007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
34707
34708 * Makefile.in: Add the datarootdir autoconf variable.
34709
02e7b75e 347102007-05-09 Robert Millan <rmh@aybabtu.com>
34711
34712 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 34713 fail gracefully if dev->disk->partition == NULL.
02e7b75e 34714
75f396cc 347152007-05-07 Robert Millan <rmh@aybabtu.com>
34716
34717 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
34718 determine partition map module.
34719 * util/i386/pc/grub-install.in: Use this feature to decide which
34720 partition module to load, instead of hardcoding pc and gpt.
34721
da65cb36 347222007-05-07 Robert Millan <rmh@aybabtu.com>
34723
34724 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
34725 source directory differs from build directory.
34726
b57d6a91 347272007-05-05 Robert Millan <rmh@aybabtu.com>
34728
34729 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
34730 initialisation.
34731
509d00f1 347322007-05-05 Robert Millan <rmh@aybabtu.com>
34733
34734 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
34735
c48f23ef 347362007-05-05 Robert Millan <rmh@aybabtu.com>
34737
34738 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
34739 command-line arguments via ${GRUB_CMDLINE_LINUX}.
34740
20b97658 347412007-05-05 Robert Millan <rmh@aybabtu.com>
34742
34743 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
34744 (grub_probe_SOURCES): Likewise.
34745 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
34746 GPT and initialize dos_part and bsd_part accordingly.
34747 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
34748 install_bsd_part.
34749 (main): Activate gpt module for use during partition identification,
34750 and deactivate it afterwards.
34751 * util/i386/pc/grub-install.in: Add gpt module to core.img.
34752 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
34753 partition identification, and deactivate it afterwards.
34754
99123174 347552007-05-05 Robert Millan <rmh@aybabtu.com>
34756
34757 * term/i386/pc/console.c (grub_console_fini): Call
34758 grub_term_set_current() before grub_term_unregister().
34759
ebd97f6e 347602007-05-04 Robert Millan <rmh@aybabtu.com>
34761
34762 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
34763 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
34764 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
34765 and update-grub_DATA.
34766 * conf/common.rmk: Build and install update-grub components.
34767 * conf/common.mk: Regenerate.
34768 * util/update-grub.in: New. Core of update-grub.
34769 * util/grub.d/00_header.in: New. Generates grub.cfg header.
34770 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
34771 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
34772 * util/grub.d/README: New. Document grub.d directory layout.
34773
b06a264d 347742007-05-01 Robert Millan <rmh@aybabtu.com>
34775
34776 * util/grub-emu.c: Move initialization functions
34777 grub_util_biosdisk_init() and grub_init_all() before
34778 grub_util_biosdisk_get_grub_dev(), which relies on them.
34779
41f0050e 347802007-04-19 Robert Millan <rmh@aybabtu.com>
34781
34782 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
34783 it is used later.
34784
04582bb3 347852007-04-18 Jerone Young <jerone@gmail.com>
34786
f19dbdb7 34787 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 34788 stanza.
34789
08db4632 347902007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 34791
08db4632 34792 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
34793 continue on and look for device node with real device name.
34794
801b76be 347952007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 34796
fe6b695a 34797 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 34798 ability.
34799 * Makefile.in: Add autoconf package transformation code.
34800 * util/i386/pc/grub-install.in: Likewise.
34801 * util/powerpc/ieee1275/grub-install.in: Likewise.
34802
6795c4e1 348032007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
34804
34805 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
34806 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
34807 (EXT2_REVISION): Likewise.
34808 (EXT2_INODE_SIZE): Likewise.
34809 (struct grub_ext2_block_group): Added a missing member
34810 "used_dirs".
34811 (grub_ext2_read_inode): Divide by the inode size in a superblock
34812 instead of 128 to obtain INODES_PER_BLOCK.
34813 Use the macro EXT2_INODE_SIZE instead of directly using
34814 SBLOCK->INODE_SIZE.
34815
d70af616 348162007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
34817
34818 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
34819 superblock instead of the structure size to compute an
34820 offset. This fixes the problem that GRUB could not read a
34821 filesystem when inode size is different from 128-byte.
34822
3b801603 348232007-03-05 Marco Gerards <marco@gnu.org>
34824
34825 * normal/main.c (read_config_file): When "menu" is not set, create
34826 an initial context.
34827
4785bfe4 348282007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34829
34830 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
34831 (HEAP_LIMIT): New macro.
34832 (grub_claim_heap): Claim memory up to `heaplimit'.
34833
a0cbb023 348342007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34835
34836 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
34837 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
34838 (_start): Likewise.
34839 (grub_arch_modules_addr): Return address after `_end'.
34840 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
34841 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
34842 (add_segments): Calculate `_end' from phdr size and location.
34843 (ALIGN_UP): Moved to ...
34844 * include/grub/misc.h: here.
34845 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34846 New macro.
34847 (GRUB_IEEE1275_MODULE_BASE): Removed.
34848
fd7d8eba 348492007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34850
34851 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
34852 loop boundary.
34853
9b09e6fc 348542007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34855
34856 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
34857 All users updated.
34858 (grub_elf64_load_hook_t): Likewise.
34859 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
34860 debug output.
34861
3ce27299 348622007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34863
34864 * kern/mm.c: Update copyright.
34865 (grub_mm_debug): Correct syntax error.
34866 (grub_mm_dump_free): New function.
34867 (grub_debug_free): Call `grub_free'.
34868 * include/grub/mm.h: Update copyright.
34869 (grub_mm_dump_free): Add declaration.
34870
077d5fee 348712007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34872
34873 * include/grub/ieee1275/ieee1275.h: Update copyright.
34874 * kern/powerpc/ieee1275/init.c: Likewise.
34875 * kern/powerpc/ieee1275/openfw.c: Likewise.
34876
34877 * loader/powerpc/ieee1275/linux.c: Likewise.
34878 * include/grub/elfload.h: Likewise.
34879 * kern/elf.c: Likewise.
34880 (grub_elf32_load): Pass `base' and `size' parameters. Update all
34881 callers.
34882 (grub_elf64_load): Likewise.
34883 (grub_elf32_load_segment): Move to a nested function.
34884 (grub_elf64_load_segment): Likewise.
34885
dc946850 348862007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34887
34888 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
34889 prototype.
34890 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
34891 (grub_heap_len): Likewise.
34892 (HEAP_SIZE): New macro.
34893 (grub_claim_heap): New function.
34894 (grub_machine_init): Don't claim heap directly. Call
34895 `grub_claim_heap'.
34896 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
34897 (grub_available_iterate): New function.
34898
baa2a121 348992007-02-03 Thomas Schwinge <tschwinge@gnu.org>
34900
34901 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
34902 * configure.ac: Use it for testing the HOST and TARGET compilers.
34903
4fe9862e 349042006-12-13 Thomas Schwinge <tschwinge@gnu.org>
34905
34906 * Makefile.in (enable_grub_emu): New variable.
34907 * configure.ac (--enable-grub-emu): New option.
34908 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
34909 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
34910 * conf/i386-pc.rmk: Likewise.
34911 * conf/powerpc-ieee1275.rmk: Likewise.
34912 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
34913
a8aa5762 349142006-12-12 Marco Gerards <marco@gnu.org>
34915
34916 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
34917
34918 * kern/env.c (grub_env_unset): Don't free the member `value' when
34919 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
34920 pointer.
34921
34922 * normal/main.c (current_menu): Removed.
34923 (free_menu): Unset the `menu' environment variable.
34924 (grub_normal_menu_addentry): Make use of the environment variable
34925 `menu', instead of using the global `current_menu'. Allocate
34926 memory for the sourcecode of this entry.
34927 (read_config_file): New argument `nested', changed all callers.
34928 Only in the case of a new context, initialize a new menu. Set the
34929 `menu' environment variable.
34930 (grub_normal_execute): Don't set and unset the environment
34931 variable `menu' here anymore. Only free the menu when leaving the
34932 context.
34933
34934 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
34935 leak.
34936
957b3a3e 349372006-12-11 Marco Gerards <marco@gnu.org>
34938
34939 * normal/menu_entry.c (run): Fix off by one bug so the last line
34940 is executed. Move the loader check to outside the loop.
34941
ef875714 349422006-12-08 Hollis Blanchard <hollis@penguinppc.org>
34943
34944 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
34945
4e739985 349462006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
34947
34948 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
34949 the number of sectors. Reported by Andrey Shuvikov
34950 <mr_hyro@yahoo.com>.
f19dbdb7 34951
790707f2 349522006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
34953
34954 * kern/disk.c (grub_disk_read): When there is a read error, always
34955 try to read only the necessary data.
f19dbdb7 34956
790707f2 34957 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
34958 disk/raid.c.
34959 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
34960 prototype.
34961 [GRUB_UTIL] (grub_raid_fini): Likewise.
34962 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 34963 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 34964 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
34965 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
34966 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
34967 and grub_raid_fini().
f19dbdb7 34968
03e58196 349692006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34970
34971 * include/grub/types.h (__unused): Rename to UNUSED.
34972 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
34973 (grub_elf64_size): Likewise.
f19dbdb7 34974
ae4f23bf 349752006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34976
34977 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
34978 grub_error_push and grub_error_pop in the error-handling path.
34979 (grub_elf32_load_segment): Only call grub_file_read with non-zero
34980 length.
34981
2166cc83 349822006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34983
34984 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
34985 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34987 (kernel_elf_SOURCES): Likewise.
34988 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
34989 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
34990 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34991 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34992 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
34993 (elf_mod_SOURCES): New variable.
34994 (elf_mod_CFLAGS): Likewise.
34995 (elf_mod_LDFLAGS): Likewise.
34996 * include/grub/types.h (__unused): New macro.
34997 * include/grub/elfload.h: New file.
34998 * kern/elf.c: Likewise.
34999 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
35000 (ELF32_LOADMASK): New macro.
35001 (ELF64_LOADMASK): Likewise.
35002 (vmlinux): Removed.
35003 (grub_linux_load32): New function.
35004 (grub_linux_load64): Likewise.
35005 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
35006 Use grub_elf_t instead of grub_file_t.
35007
a09d5aa5 350082006-11-02 Hollis Blanchard <hollis@penguinppc.org>
35009
35010 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
35011 `catch_result' to struct set_color_args.
35012
d976fc51 350132006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
35014
35015 * normal/menu.c: Include grub/script.h.
35016 * normal/menu_entry.c: Likewise.
35017 * include/grub/normal.h: Do not include grub/script.h.
35018
67507549 350192006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35020
35021 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
35022
69203a99 350232006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35024
35025 * kern/disk.c (grub_disk_open): Print debug messages when opening a
35026 disk.
35027 (grub_disk_close): Print debug messages when closing a disk.
35028 (grub_disk_read): Print debug messages when disk read fails.
35029 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
35030 filesystem type.
35031 * kern/partition.c: Include misc.h.
35032 (grub_partition_iterate): Print debug messages when detecting
35033 partition type.
35034
e2b8278c 350352006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35036
35037 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
35038 is negative.
35039 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
35040
97b2f2ff 350412006-10-26 Hollis Blanchard <hollis@penguinppc.org>
35042
35043 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35044 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
35045
6555d655 350462006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
35047
35048 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
35049 instead of sizeof(lv). Patch by Michael Guntsche.
35050
4d42b77f 350512006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
35052
35053 * disk/lvm.c: Rename VGS to VG_LIST.
35054 (grub_lvm_iterate): Change VGS->LV to VG-LV.
35055 (grub_lvm_open): Likewise.
35056 Thanks to Michael Guntsche for finding this bug.
35057
5d74d927 350582006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35059
35060 * configure.ac (AC_INIT): Bumped to 1.95.
35061
a1bb27e4 350622006-10-14 Robert Millan <rmh@aybabtu.com>
35063
35064 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
35065 with "/dev/.static/dev/md".
35066
e0994b8b 350672006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
35068
35069 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
35070 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
35071 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
35072 DRIVE_NAME are always freed.
35073
35074 * util/i386/pc/biosdisk.c (make_device_name): Add one into
35075 DOS_PART, as a DOS partition is counted from one instead of zero
35076 now. Reported by Robert Millan.
35077
ddd5cee9 350782006-10-14 Robert Millan <rmh@aybabtu.com>
35079
35080 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
35081 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
35082 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
35083 string returned by grub_guess_root_device.
35084 * util/i386/pc/grub-setup.c: Likewise.
35085 * util/i386/pc/grub-probefs.c: Likewise.
35086
35087 * util/i386/pc/grub-probefs.c: Rename to ...
35088 * util/i386/pc/grub-probe.c: ... this.
35089 * DISTLIST: Remove grub-probefs, add grub-probe.
35090 * conf/i386-efi.rmk: Likewise.
35091 * conf/i386-pc.rmk: Likewise.
35092 * util/i386/pc/grub-install.in: Likewise.
35093
35094 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
35095 choose which information we want to print.
35096
2b002173 350972006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
35098
35099 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
35100 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
35101 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
35102 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
35103 video/readers/tga.c and video/i386/pc/vbeutil.c.
35104
351052006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
35106
35107 Added support for RAID and LVM.
f19dbdb7 35108
2b002173 35109 * disk/lvm.c: New file.
35110 * disk/raid.c: Likewise.
35111 * include/grub/lvm.h: Likewise.
f19dbdb7 35112 * include/grub/raid.h: Likewise.
2b002173 35113 * include/grub/util/lvm.h: Likewise.
35114 * include/grub/util/raid.h: Likewise.
35115 * util/lvm.c: Likewise.
35116 * util/raid.c: Likewise.
35117
35118 * include/grub/disk.h (grub_disk_dev_id): Add
35119 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
35120 (grub_disk_get_size): New prototype.
35121 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
35122 returns a partition.
35123 (grub_disk_get_size): New function.
f19dbdb7 35124
2b002173 35125 * kern/i386/pc/init.c (make_install_device): Copy the prefix
35126 verbatim if grub_install_dos_part is -2.
35127
35128 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
35129 and LVM devices.
35130
35131 * util/i386/pc/grub-setup.c (setup): New argument
35132 MUST_EMBED. Force embedding of GRUB when the argument is
35133 true. Close FILE before returning.
35134 (main): Add support for RAID and LVM.
f19dbdb7 35135
2b002173 35136 * conf/common.rmk: Add RAID and LVM modules.
35137 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
35138 util/lvm.c.
35139 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
35140
35141 * kern/misc.c (grub_strstr): New function.
35142 * include/grub/misc.h (grub_strstr): New prototype.
35143
050548d0 351442006-10-10 Tristan Gingold <tristan.gingold@bull.net>
35145
35146 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
35147
da849d2d 351482006-10-05 Tristan Gingold <tristan.gingold@bull.net>
35149
35150 * kern/misc.c (grub_strtoull): Guess the base only if not
35151 specified.
35152
97b2f2ff 351532006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 35154
35155 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
35156 PowerMac support.
35157
97b2f2ff 351582006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 35159
35160 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
35161
35162 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
35163 Remove `flags' argument. All callers changed.
35164 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
35165 (IEEE1275_IHANDLE_INVALID): New variable.
35166 (IEEE1275_CELL_INVALID): New variable.
35167 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35168 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
35169 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
35170 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
35171 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
35172 codes from Open Firmware. All callers updated.
35173 (grub_ieee1275_next_property): Directly return Open Firmware return
35174 code.
35175 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35176 Standardize error checking from `grub_ieee1275_get_property'.
35177 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
35178 `devalias' to `aliases'. Correct comments. Consolidate error paths.
35179
97b2f2ff 351802006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 35181
35182 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
35183 `instance_to_package_args' to `instance_to_path_args'.
35184
35185 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
35186 `grub_ieee1275_chosen'.
35187
35188 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
35189 `grub_ieee1275_interpret'.
35190
97b2f2ff 351912006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 35192
35193 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
35194
97b2f2ff 351952006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 35196
35197 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
35198 (__cmpdi): Likewise.
35199
35200 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
35201 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
35202 `grub_ssize_t'.
35203
02bb8acc 35204 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 35205
35206 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
35207 to type `grub_ssize_t'.
35208 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
35209
7f9a8531 352102006-09-22 Marco Gerards <marco@gnu.org>
35211
35212 * normal/script.c (grub_script_create_cmdmenu): Skip leading
35213 newlines.
35214
b5ef1102 352152006-09-22 Marco Gerards <marco@gnu.org>
35216
35217 * commands/echo.c: New file.
35218
35219 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
35220
35221 * conf/common.rmk (echo_mod_SOURCES): New variable.
35222 (echo_mod_CFLAGS): Likewise.
35223 (echo_mod_LDFLAGS): Likewise.
35224
2cff3677 352252006-09-22 Marco Gerards <marco@gnu.org>
35226
35227 * normal/main.c (get_line): Malloc memory instead of using
35228 preallocated memory. Removed the arguments `cmdline' and
35229 `max_len'. Updated all callers.
35230
6ba4688b 352312006-09-22 Marco Gerards <marco@gnu.org>
35232
35233 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
35234 (normal_mod_DEPENDENCIES): Likewise.
35235
35236 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
35237 (normal_mod_DEPENDENCIES): Likewise.
35238
35239 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
35240
e02ac02c 352412006-09-22 Johan Rydberg <jrydberg@gnu.org>
35242
35243 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
35244 programs.
35245 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
35246 (normal_mod_DEPENDENCIES): Likewise.
35247 * conf/i386-pc.mk: Regenerate.
35248 * conf/i386-efi.mk: Likewise
35249 * conf/common.mk: Likewise.
35250 * conf/powerpc-ieee1275.mk: Likewise.
35251 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 35252
8d252e44 352532006-09-22 Robert Millan <rmh@aybabtu.com>
35254
35255 Sync with i386 version.
35256 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
35257 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
35258
209bf7ac 352592006-09-21 Robert Millan <rmh@aybabtu.com>
35260
35261 Import from GRUB Legacy (lib/device.c):
35262 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
35263 (init_device_map) [__linux__]: Add support for I2O devices.
35264
6b146090 352652006-09-14 Marco Gerards <marco@gnu.org>
35266
35267 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
35268 `-melf_i386'.
35269
e38600a8 352702006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 35271
35272 * util/i386/pc/grub-install.in: Skip menu.lst when removing
35273 /boot/grub/*.lst.
78fa1790 35274
2952da5d 35275 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 35276
2952da5d 35277 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
35278 before adding it to device.map.
35279
01b82a64 352802006-08-15 Johan Rydberg <jrydberg@gnu.org>
35281
fe6b695a 35282 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 35283 compiles a file; using the -MD option.
35284 * conf/common.mk: Regenerate.
35285 * conf/i386-pc.mk: Likewise.
35286 * conf/i386-efi.mk: Likewise.
35287 * conf/powerpc-ieee1275.mk: Likewise.
35288 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 35289
1064790d 352902006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
35291
35292 Move the prototypes of grub_setjmp and grub_longjmp to
35293 cpu/setjmp.h, so that each architecture may specify different
35294 attributes.
f19dbdb7 35295
1064790d 35296 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
35297 (grub_longjmp): Likewise.
35298 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
35299 (grub_longjmp): Likewise.
35300 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
35301 (grub_longjmp): Likewise.
35302
35303 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
35304 [!GRUB_UTIL] (grub_longjmp): Removed.
35305
29dda3ed 353062006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
35307
35308 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
35309 "color!" method does not return any value.
35310
ad2a06ed 353112006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35312
35313 * include/grub/bitmap.h: New file.
35314
35315 * include/grub/i386/pc/vbeutil.h: Likewise.
35316
35317 * video/bitmap.c: Likewise.
35318
35319 * video/readers/tga.c: Likewise.
35320
35321 * video/i386/pc/vbeutil.c: Likewise.
35322
35323 * commands/videotest.c: Code cleanup and updated to reflect to new
35324 video API.
35325
35326 * term/gfxterm.c: Likewise.
35327
35328 * video/video.c: Likewise.
35329
35330 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
35331 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
35332 (bitmap_mod_SOURCES): New entry.
35333 (bitmap_mod_CFLAGS): Likewise.
35334 (bitmap_mod_LDFLAGS): Likewise.
35335 (tga_mod_SOURCES): Likewise.
35336 (tga_mod_CFLAGS): Likewise.
35337 (tga_mod_LDFLAGS): Likewise.
35338
35339 * include/grub/video.h (grub_video_blit_operators): New enum type.
35340 (grub_video_render_target): Changed as forward declaration and moved
35341 actual definition to be video driver specific.
35342 (grub_video_adapter.blit_bitmap): Added blitting operator.
35343 (grub_video_adapter.blit_render_target): Likewise.
35344 (grub_video_blit_bitmap): Likewise.
35345 (grub_video_blit_render_target): Likewise.
35346
35347 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
35348 driver specific render target definition.
35349 (grub_video_vbe_map_rgba): Added driver internal helper.
35350 (grub_video_vbe_unmap_color): Updated to use
35351 grub_video_i386_vbeblit_info.
35352 (grub_video_vbe_get_video_ptr): Likewise.
35353
35354 * include/grub/i386/pc/vbeblit.h
35355 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
35356 grub_video_i386_vbeblit_info.
35357 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35358 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35359 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35360 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35361 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35362 (grub_video_i386_vbeblit_index_index): Likewise.
35363 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
35364 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35365 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35366 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
35367 operator.
35368 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
35369 operator.
35370
35371 * video/i386/pc/vbeblit.c: Updated to reflect changes on
35372 include/grub/i386/pc/vbeblit.h.
35373
35374 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
35375 Updated to use grub_video_i386_vbeblit_info.
35376 (grub_video_i386_vbefill_R8G8B8): Likewise.
35377 (grub_video_i386_vbefill_index): Likewise.
35378 (grub_video_i386_vbefill): Added generic filler.
35379
35380 * video/i386/pc/vbefill.c: Updated to reflect changes on
35381 include/grub/i386/pc/vbefill.h.
35382
35383 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
35384 grub_video_i386_vbeblit_info.
35385 (grub_video_vbe_unmap_color): Likewise.
35386 (grub_video_vbe_blit_glyph): Likewise.
35387 (grub_video_vbe_scroll): Likewise.
35388 (grub_video_vbe_draw_pixel): Removed function.
35389 (grub_video_vbe_get_pixel): Likewise.
35390 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
35391 updated code to use it.
35392 (common_blitter): Added common blitter for render target and bitmap.
35393 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
35394 (grub_video_vbe_blit_render_target): Likewise.
35395
bc8c036d 353962006-07-30 Johan Rydberg <jrydberg@gnu.org>
35397
35398 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
35399 is in text mode if there is no console control protocol instance
35400 available.
35401
684a8eff 354022006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35403
35404 * include/grub/video.h: Code cleanup.
35405
35406 * include/grub/i386/pc/vbe.h: Likewise.
35407
35408 * video/i386/pc/vbe.c: Likewise.
35409
35410 * video/i386/pc/vbeblit.c: Likewise.
35411
35412 * video/i386/pc/vbefill.c: Likewise.
35413
35414 * video/video.c: Likewise. Also added more comments.
35415
5915059b 354162006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35417
35418 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
35419 (struct grub_biosdisk_dap): Likewise.
35420
35421 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
35422 linkage settings for all functions.
35423
90ce5d56 354242006-07-12 Marco Gerards <marco@gnu.org>
35425
35426 * configure.ac (--enable-mm-debug): Fix typo.
35427
35428 * genkernsyms.sh.in: Use proper quoting for `CC'.
35429
43e7f879 354302006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
35431
35432 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
35433 (normal_mod_ASFLAGS): Remove "-m32".
35434
4889bdec 354352006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
35436
35437 * util/misc.c: Include config.h.
35438 [!HAVE_MEMALIGN]: Do not include malloc.h.
35439 (grub_memalign): Use posix_memalign, if present. Then, use
35440 memalign, if present. Otherwise, emit an error.
35441
35442 * util/grub-emu.c: Do not include malloc.h.
35443
35444 * include/grub/util/misc.h: Include unistd.h. This is required for
35445 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
35446 D. Eades III <hde@foobar-qux.org>.
35447
35448 * configure.ac (AC_GNU_SOURCE): Added.
35449 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
35450 type.
35451
fd39d4da 354522006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
35453
35454 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
35455 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
35456
b786f3b5 354572006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
35458
35459 * include/grub/types.h (grub_host_addr_t): Rename to
35460 grub_target_addr_t.
35461 (grub_host_off_t): Rename to grub_target_off_t.
35462 (grub_host_size_t): Rename to grub_target_size_t.
35463 (grub_host_ssize_t): Rename to grub_target_ssize_t.
35464 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
35465
35466 * include/grub/kernel.h (struct grub_module_header): Change type
35467 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
35468 (grub_module_info): Likewise.
f19dbdb7 35469
051988bb 354702006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
35471
35472 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
35473 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
35474 Velazquez <jesus.velazquez@gmail.com>.
35475
deae281b 354762006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
35477
35478 Count partitions from 1 instead of 0 in the string representation
35479 of partitions. Still use 0-based internally.
f19dbdb7 35480
deae281b 35481 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
35482 (sun_partition_map_iterate): Use grub_partition_t instead of
35483 struct grub_partition *. Cast DESC->START_CYLINDER to
35484 grub_uint64_t after converting the endian.
35485 (sun_partition_map_probe): Subtract 1 for PARTNUM.
35486 (sun_partition_map_get_name): Add 1 to P->INDEX.
35487
35488 * partmap/pc.c (grub_partition_parse): Subtract 1 for
35489 PCDATA->DOS_PART.
35490 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
35491
35492 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
35493 zero instead of one.
35494 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
35495 (gpt_partition_map_get_name): Add 1 into P->INDEX.
35496
35497 * partmap/apple.c (apple_partition_map_iterate): Change the type
35498 of POS to unsigned.
35499 (apple_partition_map_probe): Subtract 1 for PARTNUM.
35500 (apple_partition_map_get_name): Add 1 into P->INDEX.
35501
35502 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
35503 of POS to unsigned.
35504 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
35505 calculate the offset of a partition.
35506 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
35507 (amiga_partition_map_get_name): Add 1 into P->INDEX.
35508
35509 * partmap/acorn.c (acorn_partition_map_find): Change the type of
35510 SECTOR to grub_disk_addr_t.
35511 (acorn_partition_map_iterate): Likewise.
35512 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
35513 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
35514 top.
35515 (acorn_partition_map_get_name): Add 1 into P->INDEX.
35516
35517 * kern/i386/pc/init.c (make_install_device): Add 1 into
35518 GRUB_INSTALL_DOS_PART.
35519
35520 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
35521 conditional.
35522
524a1e6a 355232006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
35524
35525 Clean up the code to support 64-bit addressing in disks and
35526 files. This change is not enough for filesystems yet.
f19dbdb7 35527
524a1e6a 35528 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
35529 type of "start" to grub_uint64_t.
35530 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
35531 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
35532 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
35533 convert addresses.
35534
35535 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
35536 to grub_disk_addr_t.
35537
35538 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
35539 string.
35540
35541 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35542
35543 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
35544 to char *.
35545
35546 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
35547
35548 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
35549
35550 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
35551
35552 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
35553 to grub_off_t, to detect an error from grub_file_seek.
35554 (grub_multiboot_load_elf32): Likewise.
35555
35556 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
35557 maximum unsigned long value when an overflow is detected.
35558 (grub_strtoull): New function.
35559 (grub_divmod64): Likewise.
35560 (grub_lltoa): use grub_divmod64.
35561
35562 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
35563 grub_disk_addr_t.
35564 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
35565 the pointer to next character. Use grub_strtoull instead of
35566 grub_strtoul.
35567 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
35568 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
35569 respectively.
35570
fe6b695a 35571 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 35572 return value is signed.
35573 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
35574 test if OFFSET is less than zero, as OFFSET is unsigned now.
35575
35576 * kern/disk.c (struct grub_disk_cache): Change the type of
35577 "sector" to grub_disk_addr_t.
35578 (grub_disk_cache_get_index): Change the type of SECTOR to
35579 grub_disk_addr_t. Calculate the hash with SECTOR casted to
35580 unsigned after shifting.
35581 (grub_disk_cache_invalidate): Change the type of SECTOR to
35582 grub_disk_addr_t.
35583 (grub_disk_cache_unlock): Likewise.
35584 (grub_disk_cache_store): Likewise.
35585 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
35586 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
35587 grub_disk_addr_t and grub_uint64_t, respectively.
35588 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
35589 body, as the value of OFFSET is tweaked by
35590 grub_disk_check_range. Change the types of START_SECTOR, LEN and
35591 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
35592 respectively.
35593 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
35594 body, as the value of OFFSET is tweaked by
35595 grub_disk_check_range. Change the types of LEN and N to
35596 grub_size_t.
35597
35598 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
35599 and "saved_offset" to grub_off_t.
35600 (test_header): Cast BUF to char *.
35601 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
35602 to char *.
35603 (grub_gzio_read): Change the types of OFFSET and SIZE to
35604 grub_off_t and grub_size_t, respectively.
35605
35606 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
35607 Removed.
35608 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
35609 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
35610 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
35611 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
35612 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
35613
35614 * include/grub/types.h (grub_off_t): Unconditionally set to
35615 grub_uint64_t.
35616 (grub_disk_addr_t): Changed to grub_uint64_t.
35617
35618 * include/grub/partition.h (struct grub_partition): Change the
35619 types of "start", "len" and "offset" to grub_disk_addr_t,
35620 grub_uint64_t and grub_disk_addr_t, respectively.
35621 (grub_partition_get_start): Return grub_disk_addr_t.
35622 (grub_partition_get_len): Return grub_uint64_t.
35623
35624 * include/grub/misc.h (grub_strtoull): New prototype.
35625 (grub_divmod64): Likewise.
35626
35627 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
35628 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
35629 grub_off_t, respectively.
35630 All callers and references changed.
35631
35632 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
35633 grub_size_t in "read".
35634 All callers and references changed.
35635
35636 * include/grub/file.h (struct grub_file): Change the types of
35637 "offset" and "size" to grub_off_t and grub_off_t,
35638 respectively. Change the type of SECTOR to grub_disk_addr_t in
35639 "read_hook".
35640 (grub_file_read): Change the type of LEN to grub_size_t.
35641 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
35642 grub_off_t.
35643 (grub_file_size): Return grub_off_t.
35644 (grub_file_tell): Likewise.
35645 All callers and references changed.
35646
35647 * include/grub/disk.h (struct grub_disk_dev): Change the types of
35648 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
35649 "write".
35650 (struct grub_disk): Change the type of "total_sectors" to
35651 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 35652 "read_hook".
524a1e6a 35653 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
35654 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
35655 (grub_disk_write): Likewise.
35656 All callers and references changed.
35657
35658 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
35659 char * for grub_strncmp to silence gcc.
35660 (grub_iso9660_mount): Likewise.
35661 (grub_iso9660_mount): Likewise.
35662 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
35663 return statement.
35664 (grub_iso9660_iterate_dir): Likewise.
35665 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
35666
35667 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
35668 LEN to grub_disk_addr_t and grub_size_t, respectively.
35669
35670 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35671
35672 * fs/jfs.c (grub_jfs_read_file): Likewise.
35673
35674 * fs/minix.c (grub_jfs_read_file): Likewise.
35675
35676 * fs/sfs.c (grub_jfs_read_file): Likewise.
35677
35678 * fs/ufs.c (grub_jfs_read_file): Likewise.
35679
35680 * fs/xfs.c (grub_jfs_read_file): Likewise.
35681
35682 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
35683 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
35684 respectively.
35685
35686 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
35687 BLKNR to -1 instead of returning GRUB_ERRNO.
35688 (grub_ext2_read_file): Change the types of SECTOR and
35689 LEN to grub_disk_addr_t and grub_size_t, respectively.
35690
35691 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
35692 LEN to grub_disk_addr_t and grub_size_t, respectively.
35693
35694 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
35695 grub_file_read.
35696
35697 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
35698 string. Do not cast SECTOR explicitly.
35699
35700 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
35701 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
35702 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
35703 grub_disk_addr_t and grub_size_t, respectively. If the sector is
35704 over 2TB and LBA mode is not supported, raise an error.
35705 (get_safe_sectors): New function.
35706 (grub_biosdisk_read): Use get_safe_sectors.
35707 (grub_biosdisk_write): Likewise.
35708
35709 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
35710 (grub_efidisk_write): Likewise.
35711
35712 * disk/loopback.c (delete_loopback): Cosmetic changes.
35713 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
35714 correctly.
35715 (grub_loopback_open): Likewise.
35716 (grub_loopback_read): Likewise. Also, change the type of POS to
35717 grub_off_t, and fix the usage of grub_memset.
35718
35719 * commands/i386/pc/play.c: Include grub/machine/time.h.
35720
35721 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
35722 print FILE->SIZE.
35723
35724 * commands/configfile.c: Include grub/env.h.
35725
35726 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
35727 GRUB_ERRNO directly instead. Change the type of POS to
35728 grub_off_t. Follow the coding standard.
35729
35730 * commands/blocklist.c: Include grub/partition.h.
35731 (grub_cmd_blocklist): Return an error if the underlying device is
35732 not a disk. Take the starting sector of a partition into account,
35733 if a partition is used.
35734
35735 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
35736 a length field.
35737 (lba_mode): Support 64-bit addresses.
35738 (chs_mode): Likewise.
35739 (copy_buffer): Adapted to the new offsets of a length field and a
35740 segment field.
35741 (blocklist_default_start): Allocate 64-bit space.
35742
35743 * boot/i386/pc/boot.S (force_lba): Removed.
35744 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 35745 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 35746 space.
35747 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
35748 is useless.
35749 (lba_mode): Refactored to support a 64-bit address. More size
35750 optimization.
35751 (setup_sectors): Likewise.
35752
53af98ad 357532006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
35754
35755 * DISTLIST: Added include/grub/i386/linux.h. Removed
35756 include/grub/i386/pc/linux.h
35757
35758 * configure.ac (AC_INIT): Bumped to 1.94.
35759
35760 * config.guess: Updated from gnulib.
35761 * config.sub: Likewise.
35762 * install-sh: Likewise.
35763 * mkinstalldirs: Likewise.
35764
b4c1940a 357652006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35766
35767 * conf/common.rmk (grub_modules_init.lst): Depended on
35768 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
35769 MODSRCFILES.
35770
35771 * genmk.rb (PModule::rule): Reverted the previous change.
35772
cfca1cfd 357732006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35774
35775 * conf/common.rmk (grub_modules_init.lst): Depends on
35776 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
35777 that the target does not exist before producing.
35778 (grub_modules_init.h): Remove the target before generating.
35779 (grub_emu_init.c): Likewise.
35780
35781 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
35782
aa6d7826 357832006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
35784
35785 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
35786 for the target-specific tests. Make sure that we also have the
35787 up-to-date target variables for those tests.
35788
26c607b9 357892006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35790
35791 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
35792 (PModule::rule): Likewise.
35793
0162321a 357942006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35795
35796 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
35797 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
35798 target-specific flags should be prefixed.
35799 (PModule::rule): Likewise.
35800
6c826348 358012006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
35802
35803 * configure.ac (CMP): Check if cmp is available explicitly.
35804
b977bf01 358052006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
35806
35807 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
35808 (target_cpu): New variable.
35809 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 35810
b977bf01 35811 * util/i386/pc/grub-install.in (host_cpu): Removed.
35812 (target_cpu): New variable.
35813 (pkglibdir): Use target_cpu instead of host_cpu.
35814
35815 * util/genmoddep.c: Removed.
f19dbdb7 35816
b977bf01 35817 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
35818 instead of GRUB_HOST_SIZEOF_VOID_P.
35819 * kern/dl.c: Likewise.
35820
35821 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
35822 ...
35823 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35824 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35825 (GRUB_TARGET_SIZEOF_LONG): ... this.
35826 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35827 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35828 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35829 to ...
35830 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35831 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35832 (GRUB_TARGET_SIZEOF_LONG): ... this.
35833 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35834 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35835 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35836 to ...
35837 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35838 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35839 (GRUB_TARGET_SIZEOF_LONG): ... this.
35840 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35841 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35842
35843 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
35844 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
35845 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
35846 instead of GRUB_HOST_SIZEOF_LONG.
35847 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
35848 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
35849 GRUB_CPU_WORDS_BIGENDIAN.
35850 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
35851 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
35852 grub_host_ssize_t.
35853
35854 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
35855 (genmoddep_SOURCES): Likewise.
35856 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
35857 (genmoddep_SOURCES): Likewise.
35858 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
35859 (genmoddep_SOURCES): Likewise.
35860 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
35861 Likewise.
35862 (genmoddep_SOURCES): Likewise.
35863
35864 * genmoddep.awk: New file.
35865
35866 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
35867 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
35868 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
35869 (PModule::rule): Likewise.
35870 (Program::rule): Likewise.
35871 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
35872 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
35873 respectively.
35874
35875 * configure.ac: Rewritten intensively to use host and target
35876 instead of build and host, respectively.
35877
35878 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
35879 (host_cpu): Removed.
35880 (target_cpu): New variable.
35881 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
35882 (BUILD_CC): Removed.
35883 (BUILD_CFLAGS): Likewise.
35884 (BUILD_CPPFLAGS): Likewise.
35885 (TARGET_CC): New variable.
35886 (TARGET_CFLAGS): Likewise.
35887 (TARGET_CPPFLAGS): Likewise.
35888 (TARGET_LDFLAGS): Likewise.
35889 (AWK): Likewise.
35890 (include): Use target_cpu instead of host_cpu.
35891 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 35892
b977bf01 35893 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
35894
f09771a1 358952006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
35896
35897 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
35898 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
35899 field 'false' to 'exec_on_false'.
35900 (grub_script_create_cmdif): Renamed argument names to reflect above
35901 changes.
35902
35903 * normal/execute.c (grub_script_execute_cmdif): Likewise.
35904
35905 * normal/script.c (grub_script_create_cmdif): Likewise.
35906
118f4fb3 359072006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
35908
35909 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
35910 top.
35911 (grub_hfsplus_btree_recptr): Likewise.
35912 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
35913 FILEBLOCK both to pass a block number and store next block
35914 number.
35915 (grub_hfsplus_read_block): Rewritten heavily to support an extent
35916 overflow file correctly. Specify errors appropriately, because
35917 fshelp expects that GRUB_ERRNO is set when fails. Reuse
35918 grub_hfsplus_btree_recptr to get the pointer to a found key.
35919 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
35920 is found.
35921
35922 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
35923 linux.mod.
35924 (_linux_mod_SOURCES): New variable.
35925 (_linux_mod_CFLAGS): Likewise.
35926 (_linux_mod_LDFLAGS): Likewise.
35927 (linux_mod_SOURCES): Likewise.
35928 (linux_mod_CFLAGS): Likewise.
35929 (linux_mod_LDFLAGS): Likewise.
35930
35931 * DISTLIST: Added loader/i386/efi/linux.c,
35932 loader/i386/efi/linux_normal.c and
35933 include/grub/i386/efi/loader.h.
35934
35935 * loader/i386/efi/linux.c: New file.
35936 * loader/i386/efi/linux_normal.c: Likewise.
35937 * include/grub/i386/efi/loader.h: Likewise.
35938
89a7d726 359392006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
35940
35941 * commands/blocklist.c: New file.
35942
35943 * DISTLIST: Added commands/blocklist.c.
35944
35945 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 35946 color for the background, and a darker color for the foreground.
89a7d726 35947 (grub_console_checkkey): Return READ_KEY.
35948 (grub_console_cls): Set the background to
35949 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
35950
35951 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
35952
35953 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
35954 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
35955
35956 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
35957 prototype.
35958
35959 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
35960 BG. The spec is wrong again.
35961
35962 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
35963 prototype.
35964 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
35965
35966 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35967 commands/blocklist.c.
35968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 35969
89a7d726 35970 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
35971 (blocklist_mod_SOURCES): New variable.
35972 (blocklist_mod_CFLAGS): Likewise.
35973 (blocklist_mod_LDFLAGS): Likewise.
35974
75c8f258 359752006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
35976
35977 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
35978 duplication.
35979 (lba_mode): Use %eax more intensively to reduce the code size.
35980
da2eb181 359812006-05-20 Marco Gerards <marco@gnu.org>
35982
35983 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
35984
35985 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
35986 for `menuentry'.
35987 (script): Accept leading newlines.
35988 (newlines): New rule to describe 0 or more newlines.
35989 (commands): Accept `command' with trailing newline. Fixed the
35990 order in which arguments were passed to `grub_script_add_cmd'.
35991 Accept commands separated by newlines.
35992 (function): Changed to accept newlines.
35993 (menuentry) Rewritten.
35994
35995 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
35996 front of the list, instead of to the end.
35997
577b4050 359982006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
35999
36000 * util/i386/pc/grub-install.in (bindir): New variable.
36001 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
36002 Shaver <lbgwjl@gmail.com>.
36003
0d6e1189 360042006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
36005
36006 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
36007 grub/machine/linux.h
36008 * loader/i386/pc/linux.c: Likewise.
36009
36010 * include/grub/i386/pc/linux.h: Moved to ...
36011 * include/grub/i386/linux.h: ... here.
36012
36013 * include/grub/i386/linux.h (struct linux_kernel_params): New
36014 struct.
f19dbdb7 36015
31b86e9f 360162006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
36017
36018 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
36019 checking.
36020 (grub_video_vbe_blit_glyph): Likewise.
36021 (grub_video_vbe_blit_bitmap): Likewise.
36022 (grub_video_vbe_blit_render_target): Likewise.
36023
83b984de 360242006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
36025
36026 * configure.ac (--with-platform): Properly quote the square
36027 brackets.
36028
5f0413bd 360292006-05-08 Marco Gerards <marco@gnu.org>
36030
36031 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
36032 this...
36033 (kernel_elf_HEADERS): ...to this. Updated all users.
36034 (grubof_symlist.c): Renamed from this...
36035 (kernel_elf_symlist.c): ...to this. Updated all users.
36036 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36037 (grubof_SOURCES): Renamed from this...
36038 (kernel_elf_SOURCES): ...to this.
36039 (grubof_HEADERS): Renamed from this...
36040 (kernel_elf_HEADERS): ...to this.
36041 (grubof_CFLAGS): Renamed from this...
36042 (kernel_elf_CFLAGS): ...to this.
36043 (grubof_ASFLAGS): Renamed from this...
36044 (kernel_elf_ASFLAGS): ...to this.
36045 (grubof_LDFLAGS): Renamed from this...
36046 (kernel_elf_LDFLAGS): ...to this.
36047
36048 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
36049 this...
36050 (kernel_elf_HEADERS): ...to this. Updated all users.
36051 (grubof_symlist.c): Renamed from this...
36052 (kernel_elf_symlist.c): ...to this. Updated all users.
36053 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36054 (grubof_SOURCES): Renamed from this...
36055 (kernel_elf_SOURCES): ...to this.
36056 (grubof_HEADERS): Renamed from this...
36057 (kernel_elf_HEADERS): ...to this.
36058 (grubof_CFLAGS): Renamed from this...
36059 (kernel_elf_CFLAGS): ...to this.
36060 (grubof_ASFLAGS): Renamed from this...
36061 (kernel_elf_ASFLAGS): ...to this.
36062 (grubof_LDFLAGS): Renamed from this...
36063 (kernel_elf_LDFLAGS): ...to this.
36064
36065 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
36066 `kernel.elf' instead of `grubof'.
36067
05568c2e 360682006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
36069
36070 Add --with-platform to configure. Use pkglibdir instead of
36071 pkgdatadir. This is reported by Roger Leigh.
36072
36073 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
36074 (host_vendor): Likewise.
36075 (host_os): Likewise.
36076 (pkgdatadir): Likewise.
36077 (platform): New variable.
36078 (pkglibdir): Likewise.
36079 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 36080
05568c2e 36081 * util/i386/pc/grub-install.in (datadir): Removed.
36082 (host_vendor): Likewise.
36083 (host_os): Likewise.
36084 (pkgdatadir): Likewise.
36085 (platform): New variable.
36086 (pkglibdir): Likewise.
36087 Use PKGLIBDIR instead of PKGDATADIR.
36088
36089 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
36090 instead of GRUB_DATADIR.
36091 (main): Likewise.
36092 * util/i386/pc/grub-mkimage.c (usage): Likewise.
36093 (main): Likewise.
36094 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36095 (main): Likewise.
36096
36097 * configure.ac (--with-platform): New option.
36098 Use PLATFORM instead of HOST_VENDOR to specify a platform.
36099
36100 * Makefile.in: Include a makefile based on PLATFORM instead of
36101 HOST_VENDOR.
36102 (pkgdatadir): Not appended by the machine type.
36103 (pkglibdir): Appended by the machine type.
36104 (host_vendor): Removed.
36105 (platform): New variable.
36106 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
36107 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
36108 (uninstall): Likewise.
36109
4e93851c 361102006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
36111
36112 Use the environment context in the menu. Remove the commands
36113 "default" and "timeout", and use variables instead.
f19dbdb7 36114
4e93851c 36115 * normal/menu.c: Include grub/env.h.
36116 (print_entry): Cast TITLE to silence gcc.
36117 (get_timeout): New function.
36118 (set_timeout): Likewise.
36119 (get_entry_number): Likewise.
36120 (run_menu): Use a default entry, a fallback entry and a timeout
36121 in the environment variables "default", "fallback" and
36122 "timeout". Also, tweak the default entry if it is not within the
36123 current menu entries.
36124 (grub_menu_run): Use a fallback entry in the environment variable
36125 "fallback".
36126
36127 * normal/main.c (read_config_file): Do not initialize
36128 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
36129 NEWMENU->TIMEOUT.
36130 (grub_normal_execute): Use a data slot to store the menu.
36131
36132 * include/grub/normal.h (struct grub_menu): Removed default_entry,
36133 fallback_entry and timeout.
36134 (struct grub_menu_list): Removed.
36135 (grub_menu_list_t): Likewise.
36136 (struct grub_context): Likewise.
36137 (grub_context_t): Likewise.
36138 (grub_context_get): Likewise.
36139 (grub_context_get_current_menu): Likewise.
36140 (grub_context_push_menu): Likewise.
36141 (grub_context_pop_menu): Likewise.
36142 (grub_default_init): Likewise.
36143 (grub_default_fini): Likewise.
36144 (grub_timeout_init): Likewise.
36145 (grub_timeout_fini): Likewise.
36146
36147 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
36148 and timeout.mod.
36149 (normal_mod_SOURCES): Removed normal/context.c.
36150
36151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
36152 commands/default.c, commands/timeout.c and normal/context.c.
36153 (normal_mod_SOURCES): Removed normal/context.c.
36154
36155 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
36156 commands/timeout.c and normal/context.c.
36157 (normal_mod_SOURCES): Removed normal/context.c.
36158
36159 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
36160 commands/default.c, commands/timeout.c and normal/context.c.
36161 (normal_mod_SOURCES): Removed normal/context.c.
36162
36163 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
36164 timeout.mod.
36165 (default_mod_SOURCES): Removed.
36166 (default_mod_CFLAGS): Likewise.
36167 (default_mod_LDFLAGS): Likewise.
36168 (timeout_mod_SOURCES): Removed.
36169 (timeout_mod_CFLAGS): Likewise.
36170 (timeout_mod_LDFLAGS): Likewise.
36171
36172 * DISTLIST: Removed commands/default.c, commands/timeout.c and
36173 normal/context.c.
36174
36175 * commands/default.c: Removed.
36176 * commands/timeout.c: Likewise.
36177 * normal/context.c: Likewise.
36178
1eb9cc1d 361792006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
36180
36181 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
36182
385bd9c1 361832006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
36184
36185 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
36186 "next" to "prev" for readability.
36187 (struct grub_env_sorted_var): New struct.
36188 (grub_env_context): Renamed to ...
36189 (initial_context): ... this.
36190 (grub_env_var_context): Renamed to ...
36191 (current_context): ... this.
36192 (grub_env_find): Look only at CURRENT_CONTEXT.
36193 (grub_env_context_open): Rewritten to copy exported variables from
36194 previous context.
36195 (grub_env_context_close): Rewritten according to the new
36196 scheme. Also, add an assertion to prevent the initial context from
36197 removed.
36198 (grub_env_insert): Removed the code for the sorted list.
36199 (grub_env_remove): Likewise.
36200 (grub_env_export): Simply mark the variable with
36201 GRUB_ENV_VAR_GLOBAL.
36202 (grub_env_set): A cosmetic change for naming consistency.
36203 (grub_env_get): Likewise.
36204 (grub_env_unset): Likewise.
36205 (grub_env_iterate): Rewritten to sort variables within this
36206 function.
36207 (grub_register_variable_hook): Fixed for naming consistency. Call
36208 grub_env_find again, only if NAME is not found at the first time.
36209 (mangle_data_slot_name): New function.
36210 (grub_env_set_data_slot): Likewise.
36211 (grub_env_get_data_slot): Likewise.
36212 (grub_env_unset_data_slot): Likewise.
36213
36214 * include/grub/env.h (grub_env_var_type): New enum.
36215 (GRUB_ENV_VAR_LOCAL): New constant.
36216 (GRUB_ENV_VAR_GLOBAL): Likewise.
36217 (GRUB_ENV_VAR_DATA): Likewise.
36218 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
36219 "type".
36220 (grub_env_set): Replace VAR with NAME for consistency.
36221 (grub_register_variable_hook): Likewise.
36222 (grub_env_export): Specify the name of the argument.
36223 (grub_env_set_data_slot): New prototype.
36224 (grub_env_get_data_slot): Likewise.
36225 (grub_env_unset_data_slot): Likewise.
36226
7f362539 362272006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36228
36229 Extend the loader so that GRUB can accept a loader which comes
36230 back to GRUB when a loaded image exits. Also, this change adds
36231 support for a chainloader on EFI.
f19dbdb7 36232
7f362539 36233 * term/efi/console.c: Include grub/misc.h.
36234 (grub_console_checkkey): Display a scan code on the top for
36235 debugging. This will be removed once the EFI port gets stable.
36236 Correct the scan code mapping.
36237
36238 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
36239 allocate memory from larger regions, in order to reduce the number
36240 of allocated regions. Otherwise, the MacOSX loader panics.
36241 (filter_memory_map): Avoid less than 1MB for compatibility with
36242 other loaders.
36243 (add_memory_regions): Allocate from the tail of a region, if
36244 possible, to avoid allocating a region near to 1MB, for the MacOSX
36245 loader.
36246
36247 * kern/efi/init.c (grub_efi_set_prefix): Specify
36248 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
36249
36250 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
36251 argument IMAGE_HANDLE and specify it to get a loaded image.
36252 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
36253 grub_efi_get_loaded_image.
fe6b695a 36254 (grub_efi_get_filename): Divide the length by the size of
7f362539 36255 grub_efi_char16_t.
36256 (grub_efi_get_device_path): New function.
36257 (grub_efi_print_device_path): Print End Device Path nodes. Divide
36258 the length by the size of grub_efi_char16_t for a file path device
36259 path node.
36260
36261 * kern/loader.c (grub_loader_noreturn): New variable.
36262 (grub_loader_set): Accept a new argument NORETURN. Set
36263 GRUB_LOADER_NORETURN to NORETURN.
36264 All callers changed.
36265 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
36266 grub_machine_fini.
36267
36268 * include/grub/efi/efi.h (grub_efi_get_device_path): New
36269 prototype.
36270 (grub_efi_get_loaded_image): Take an argument to specify an image
36271 handle.
36272
36273 * include/grub/loader.h (grub_loader_set): Added one more argument
36274 NORETURN.
36275
36276 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
36277 instead of grub_efi_open_protocol.
36278 (grub_efidisk_get_device_name): Likewise.
36279 (grub_efidisk_close): Print a newline.
36280 (grub_efidisk_get_device_handle): Fixed to use
36281 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
36282 GRUB_EFI_DEVICE_PATH_TYPE.
36283
36284 * disk/efi/efidisk.c (device_path_guid): Moved to ...
36285 * kern/efi/efi.c (device_path_guid): ... here.
36286
36287 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
36288 chain.mod.
36289 (kernel_mod_HEADERS): Added efi/disk.h.
36290 (_chain_mod_SOURCES): New variable.
36291 (_chain_mod_CFLAGS): Likewise.
36292 (_chain_mod_LDFLAGS): Likewise.
36293 (chain_mod_SOURCES): Likewise.
36294 (chain_mod_CFLAGS): Likewise.
36295 (chain_mod_LDFLAGS): Likewise.
36296
36297 * DISTLIST: Added include/grub/efi/chainloader.h,
36298 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
36299
36300 * include/grub/efi/chainloader.h: New file.
36301 * loader/efi/chainloader.c: Likewise.
36302 * loader/efi/chainloader_normal.c: Likewise.
36303
c0111d6e 363042006-04-30 Marco Gerards <marco@gnu.org>
36305
36306 * commands/configfile.c (grub_cmd_source): New function.
36307 (GRUB_MOD_INIT): Register the commands `source' and `.'.
36308 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
36309
df5341da 363102006-04-30 Marco Gerards <marco@gnu.org>
36311
36312 * normal/execute.c (grub_script_execute_cmd): Change the return
36313 type to `grub_err_t'. Correctly return the error.
36314 (grub_script_execute_cmdline): In case a command line is not a
36315 command or a function, try to interpret it as an assignment.
36316
f85934bd 363172006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36318
36319 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
36320 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
36321 skip a node whose name is obviously invalid as UTF-16,
36322 i.e. contains a NUL character. Stop the iteration when the last
36323 directory entry is found. Instead of using the return value of
36324 grub_hfsplus_btree_iterate_node, store the value in RET and use
36325 it, because the iterator can be stopped by the last directory
36326 entry.
36327
8f8a2cf8 363282006-04-30 Marco Gerards <marco@gnu.org>
36329
36330 * include/grub/env.h (grub_env_export): New prototype. Reported
36331 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
36332
a27e84ce 363332006-04-30 Marco Gerards <marco@gnu.org>
36334
36335 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
36336 size of the extents in a catalog file record.
36337
eaef0553 363382006-04-29 Marco Gerards <marco@gnu.org>
36339
36340 * commands/configfile.c (grub_cmd_configfile): Execute the
36341 configfile within its own context.
36342
36343 * include/grub/env.h (grub_env_context_open): New prototype.
36344 (grub_env_context_close): Likewise.
36345
36346 * kern/env.c (grub_env): Removed.
36347 (grub_env_sorted): Likewise.
36348 (grub_env_context): New variable.
36349 (grub_env_var_context): Likewise.
36350 (grub_env_find): Search both the active context and the global
36351 context.
36352 (grub_env_context_open): New function.
36353 (grub_env_context_close): Likewise.
36354 (grub_env_insert): Likewise.
36355 (grub_env_remove): Likewise.
36356 (grub_env_export): Likewise.
36357 (grub_env_set): Changed to use helper functions to avoid code
36358 duplication.
36359 (grub_env_iterate): Rewritten so both the current context and the
36360 global context are being used.
36361
36362 * normal/command.c (export_command): New function.
36363 (grub_command_init): Register the `export' function.
36364
7b455f4d 363652006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
36366
36367 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
36368 explicitly to suppress gcc's warnings.
36369 * fs/fat.c (grub_fat_find_dir): Likewise.
36370 (grub_fat_label): Likewise.
36371 * fs/xfs.c (grub_xfs_read_inode): Likewise.
36372 (grub_xfs_mount): Likewise.
36373 (grub_xfs_label): Likewise.
36374 * fs/affs.c (grub_affs_mount): Likewise.
36375 (grub_affs_label): Likewise.
36376 (grub_affs_iterate_dir): Likewise.
36377 * fs/sfs.c (grub_sfs_mount): Likewise.
36378 (grub_sfs_iterate_dir): Likewise.
36379 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
36380 * fs/hfs.c (grub_hfs_mount): Likewise.
36381 (grub_hfs_cmp_catkeys): Likewise.
36382 (grub_hfs_find_dir): Likewise.
36383 (grub_hfs_dir): Likewise.
36384 (grub_hfs_label): Likewise.
36385 * fs/jfs.c (grub_jfs_mount): Likewise.
36386 (grub_jfs_opendir): Likewise.
36387 (grub_jfs_getent): Likewise.
36388 (grub_jfs_lookup_symlink): Likewise.
36389 (grub_jfs_label): Likewise.
36390 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
36391 (grub_hfsplus_iterate_dir): Likewise.
36392 (grub_hfsplus_btree_iterate_node): Made static.
36393
36394 * util/grub-emu.c (prefix): New variable.
36395 (grub_machine_set_prefix): New function.
36396 (main): Do not set the environment variable "prefix" here. Only
36397 set PREFIX, which is used later by grub_machine_set_prefix.
36398
36399 * include/grub/video.h: Do not include grub/symbol.h.
36400 (grub_video_register): Not exported. This symbol is not defined in
36401 the kernel.
36402 (grub_video_unregister): Likewise.
36403 (grub_video_iterate): Likewise.
36404 (grub_video_setup): Likewise.
36405 (grub_video_restore): Likewise.
36406 (grub_video_get_info): Likewise.
36407 (grub_video_get_blit_format): Likewise.
36408 (grub_video_set_palette): Likewise.
36409 (grub_video_get_palette): Likewise.
36410 (grub_video_set_viewport): Likewise.
36411 (grub_video_get_viewport): Likewise.
36412 (grub_video_map_color): Likewise.
36413 (grub_video_map_rgb): Likewise.
36414 (grub_video_map_rgba): Likewise.
36415 (grub_video_fill_rect): Likewise.
36416 (grub_video_blit_glyph): Likewise.
36417 (grub_video_blit_bitmap): Likewise.
36418 (grub_video_blit_render_target): Likewise.
36419 (grub_video_scroll): Likewise.
36420 (grub_video_swap_buffers): Likewise.
36421 (grub_video_create_render_target): Likewise.
36422 (grub_video_delete_render_target): Likewise.
36423 (grub_video_set_active_render_target): Likewise.
36424
36425 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
36426 Undefined.
36427 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
36428
36429 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
36430 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36431 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36432 instead of $(srcdir)/genkernsyms.sh.
36433
36434 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
36435 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36436 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36437 instead of $(srcdir)/genkernsyms.sh.
36438
36439 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
36440 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36441 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36442 instead of $(srcdir)/genkernsyms.sh.
36443
36444 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
36445 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36446 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36447 instead of $(srcdir)/genkernsyms.sh.
36448
36449 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
36450 genkernsyms.sh.
36451
36452 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
36453 genkernsyms.sh.
36454 (gensymlist.sh): New target.
36455 (genkernsyms.sh): Likewise.
36456
36457 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
36458 genkernsyms.sh.in and gensymlist.sh.in.
36459
36460 * genkernsyms.sh: Removed.
36461 * gensymlist.sh: Likewise.
f19dbdb7 36462
7b455f4d 36463 * genkernsyms.sh.in: New file.
36464 * gensymlist.sh.in: Likewise.
36465
1885bb27 364662006-04-25 Hollis Blanchard <hollis@penguinppc.org>
36467
36468 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
36469 clobber "prefix", since we may have already set it manually.
36470
71538dff 364712006-04-25 Hollis Blanchard <hollis@penguinppc.org>
36472
36473 * kern/misc.c (abort): New alias for grub_abort.
36474
2965c7cc 364752006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
36476
36477 A new machine-specific function "grub_machine_set_prefix" is
36478 defined. This is called after loading modules, so that a prefix
36479 initialization can use modules. Also, this change adds an
36480 intensive debugging feature for the memory manager via the
36481 configure option "--enable-mm-debug".
f19dbdb7 36482
2965c7cc 36483 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
36484 PART.LEN.
36485
36486 * kern/sparc64/ieee1275/init.c (abort): Removed.
36487 (grub_stop): Likewise.
36488 (grub_exit): New function.
36489 (grub_set_prefix): Renamed to ...
36490 (grub_machine_set_prefix): ... this.
36491 (grub_machine_init): Do not call grub_set_prefix.
36492
36493 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
36494 (grub_machine_set_prefix): ... this.
36495 (grub_machine_init): Do not call grub_set_prefix.
36496
36497 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
36498 (grub_machine_init): Do not set the prefix here.
36499
36500 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
36501
36502 * kern/efi/init.c: Include grub/mm.h.
36503 (grub_efi_set_prefix): New function.
36504
36505 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
36506 (grub_efi_get_filename): New function.
36507 (grub_print_device_path): Renamed to ...
36508 (grub_efi_print_device_path): ... this.
36509
36510 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
36511 [MM_DEBUG] (grub_realloc): Likewise.
36512 [MM_DEBUG] (grub_free): Likewise.
36513 [MM_DEBUG] (grub_memalign): Likewise.
36514 [MM_DEBUG] (grub_mm_debug): New variable.
36515 [MM_DEBUG] (grub_debug_malloc): New function.
36516 [MM_DEBUG] (grub_debug_free): New function.
36517 [MM_DEBUG] (grub_debug_realloc): New function.
36518 [MM_DEBUG] (grub_debug_memalign): New function.
36519
36520 * kern/misc.c (grub_abort): Print a newline to distinguish
36521 the message.
36522
36523 * kern/main.c (grub_main): Call grub_machine_set_prefix and
36524 grub_set_root_dev after loading modules. This is necessary when
36525 setting a prefix depends on modules.
36526
36527 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
36528 (grub_efi_print_device_path): ... this.
36529 (grub_efi_get_filename): New prototype.
36530 (grub_efi_set_prefix): Likewise.
36531
36532 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
36533 and grub/disk.h.
36534 (grub_efidisk_get_device_handle): New prototype.
36535 (grub_efidisk_get_device_name): Likewise.
36536
36537 * include/grub/mm.h: Include config.h.
36538 (MM_DEBUG): Removed.
36539 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
36540 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
36541 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
36542 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
36543 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
36544 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
36545 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
36546 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
36547 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
36548
36549 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
36550
36551 * disk/efi/efidisk.c: Include grub/partition.h.
36552 (iterate_child_devices): New function.
36553 (add_device): First, compare only last device path nodes, so that
36554 devices are sorted by the types.
36555 (grub_efidisk_get_device_handle): New function.
36556 (grub_efidisk_get_device_name): Likewise.
36557
36558 * configure.ac (--enable-mm-debug): New option to enable the
36559 memory manager debugging feature. This makes the binary much
36560 bigger, so is disabled by default.
36561
9cacaa17 365622006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
36563
36564 Use grub_abort instead of grub_stop, and grub_exit must be
36565 define in each architecture now. Also, this change adds support
36566 for EFI disks.
f19dbdb7 36567
9cacaa17 36568 * util/i386/pc/grub-probefs.c: Include grub/term.h.
36569 (grub_getkey): New function.
36570 (grub_term_get_current): Likewise.
36571
36572 * util/i386/pc/grub-setup.c: Include grub/term.h.
36573 (grub_getkey): New function.
36574 (grub_term_get_current): Likewise.
36575
36576 * util/misc.c (grub_stop): Renamed to ...
36577 (grub_exit): ... this.
36578
36579 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
36580 (grub_exit): ... this.
36581 (grub_machine_init): Use grub_abort instead of abort.
36582 (grub_stop): Removed.
36583
36584 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
36585 abort.
36586
36587 * kern/i386/pc/startup.S (grub_exit): New function.
36588 (cold_reboot): New label.
36589
36590 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
36591 (grub_efi_init): Call grub_efidisk_init.
36592 (grub_efi_fini): Call grub_efidisk_fini.
36593
36594 * kern/efi/efi.c: Include grub/mm.h.
36595 (grub_efi_console_control_guid): Renamed to ...
36596 (console_control_guid): ... this.
36597 (grub_efi_loaded_image_guid): Renamed to ...
36598 (loaded_image_guid): ... this.
36599 (grub_efi_locate_handle): New function.
36600 (grub_efi_open_protocol): Likewise.
36601 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
36602 GRUB_EFI_CONSOLE_CONTROL_GUID.
36603 (grub_efi_exit): Removed.
36604 (grub_stop): Likewise.
36605 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
36606 (grub_exit): New function.
36607 (grub_print_device_path): Likewise.
36608
36609 * kern/rescue.c (grub_rescue_cmd_exit): New function.
36610 (grub_enter_rescue_mode): Register "exit".
36611
36612 * kern/misc.c (grub_real_dprintf): A cosmetic change.
36613 (grub_abort): New function.
36614
36615 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
36616
36617 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
36618
36619 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
36620
36621 * include/grub/efi/efi.h (grub_efi_exit): Removed.
36622 (grub_print_device_path): New prototype.
36623 (grub_efi_locate_handle): Likewise.
36624 (grub_efi_open_protocol): Likewise.
36625
36626 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
36627 * disk/efi/efidisk.c: Likewise.
36628
36629 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
36630
36631 * include/grub/efi/console_control.h
36632 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
36633
36634 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
36635 last 8 bytes as an array.
36636 (GRUB_EFI_DISK_IO_GUID): New macro.
36637 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
36638 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
36639 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
36640 grub_uint8_t.
36641 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
36642 (struct grub_efi_device_path): Rename the member "sub_type" to
36643 "subtype".
36644 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
36645 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
36646 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
36647 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
36648 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
36649 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
36650 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
36651 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
36652 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
36653 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
36654 (struct grub_efi_pci_device_path): New structure.
36655 (grub_efi_pci_device_path_t): New type.
36656 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
36657 (struct grub_efi_pccard_device_path): New structure.
36658 (grub_efi_pccard_device_path_t): New type.
36659 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
36660 (struct grub_efi_memory_mapped_device_path): New structure.
36661 (grub_efi_memory_mapped_device_path_t): New type.
36662 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
36663 (struct grub_efi_vendor_device_path): New structure.
36664 (grub_efi_vendor_device_path_t): New type.
36665 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
36666 (struct grub_efi_controller_device_path): New structure.
36667 (grub_efi_controller_device_path_t): New type.
36668 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
36669 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
36670 (struct grub_efi_acpi_device_path): New structure.
36671 (grub_efi_acpi_device_path_t): New type.
36672 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
36673 (struct grub_efi_expanded_acpi_device_path): New structure.
36674 (grub_efi_expanded_acpi_device_path_t): New type.
36675 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
36676 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
36677 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
36678 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
36679 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
36680 (struct grub_efi_atapi_device_path): New structure.
36681 (grub_efi_atapi_device_path_t): New type.
36682 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
36683 (struct grub_efi_fibre_channel_device_path): New structure.
36684 (grub_efi_fibre_channel_device_path_t): New type.
36685 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
36686 (struct grub_efi_1394_device_path): New structure.
36687 (grub_efi_1394_device_path_t): New type.
36688 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
36689 (struct grub_efi_usb_device_path): New structure.
36690 (grub_efi_usb_device_path_t): New type.
36691 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
36692 (struct grub_efi_usb_class_device_path): New structure.
36693 (grub_efi_usb_class_device_path_t): New type.
36694 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
36695 (struct grub_efi_i2o_device_path): New structure.
36696 (grub_efi_i2o_device_path_t): New type.
36697 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
36698 (struct grub_efi_mac_address_device_path): New structure.
36699 (grub_efi_mac_address_device_path_t): New type.
36700 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
36701 (struct grub_efi_ipv4_device_path): New structure.
36702 (grub_efi_ipv4_device_path_t): New type.
36703 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
36704 (struct grub_efi_ipv6_device_path): New structure.
36705 (grub_efi_ipv6_device_path_t): New type.
36706 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
36707 (struct grub_efi_infiniband_device_path): New structure.
36708 (grub_efi_infiniband_device_path_t): New type.
36709 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
36710 (struct grub_efi_uart_device_path): New structure.
36711 (grub_efi_uart_device_path_t): New type.
36712 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
36713 (struct grub_efi_vendor_messaging_device_path): New structure.
36714 (grub_efi_vendor_messaging_device_path_t): New type.
36715 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
36716 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
36717 (struct grub_efi_hard_drive_device_path): New structure.
36718 (grub_efi_hard_drive_device_path_t): New type.
36719 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
36720 (struct grub_efi_cdrom_device_path): New structure.
36721 (grub_efi_cdrom_device_path_t): New type.
36722 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
36723 (struct grub_efi_vendor_media_device_path): New structure.
36724 (grub_efi_vendor_media_device_path_t): New type.
36725 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
36726 (struct grub_efi_file_path_device_path): New structure.
36727 (grub_efi_file_path_device_path_t): New type.
36728 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
36729 (struct grub_efi_protocol_device_path): New structure.
36730 (grub_efi_protocol_device_path_t): New type.
36731 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
36732 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
36733 (struct grub_efi_bios_device_path): New structure.
36734 (grub_efi_bios_device_path_t): New type.
36735 (struct grub_efi_disk_io): New structure.
36736 (grub_efi_disk_io_t): New type.
36737 (struct grub_efi_block_io_media): New structure.
36738 (grub_efi_block_io_media_t): New type.
36739 (struct grub_efi_block_io): New structure.
36740 (grub_efi_block_io_t): New type.
36741
36742 * include/grub/misc.h (grub_stop): Removed.
36743 (grub_exit): New prototype.
36744 (grub_abort): Likewise.
36745
36746 * include/grub/disk.h (enum grub_disk_dev_id): Added
36747 GRUB_DISK_DEVICE_EFIDISK_ID.
36748
36749 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
36750 disk/efi/efidisk.c.
36751 (kernel_syms.lst): Remove the target if an error occurs.
36752
49986a9f 367532006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
36754
36755 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
36756 as it was simply too buggy.
36757
970d3b8a 367582006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
36759
36760 * kern/misc.c (grub_lltoa): New function.
36761 (grub_vsprintf): Added support for the long long suffix,
36762 i.e. "ll".
36763
ff04ec24 367642006-04-20 Hollis Blanchard <hollis@penguinppc.org>
36765
36766 * Makefile.in (LDFLAGS): Add variable.
36767 (LD): Remove variable.
36768 * configure.ac: Add -m32 to LDFLAGS.
36769 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
36770 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
36771 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
36772 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
36773 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
36774 variables.
36775 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
36776 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
36777 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
36778
37e5e1a4 367792006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
36780
36781 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
36782 length for unknown glyph.
36783
c352d8dd 367842006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
36785
2eab1c0d 36786 Add support for pre-loaded modules into the EFI port.
f19dbdb7 36787
2eab1c0d 36788 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
36789 completely. Accept one more argument DIR. The caller has changed.
36790
36791 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
36792
36793 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
36794 (grub_efi_loaded_image_guid): New variable.
36795 (grub_efi_get_loaded_image): New function.
36796 (grub_arch_modules_addr): Likewise.
36797
36798 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
36799 prototype.
36800
36801 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
36802 (struct grub_efi_loaded_image): New structure.
36803 (grub_efi_loaded_image_t): New type.
36804
368052006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36806
c352d8dd 36807 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
36808 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
36809 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
36810
6d01d6b4 368112006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
36812
36813 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
36814
976a4ea0 368152006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
36816
36817 * DISTLIST: Added include/grub/efi/console.h,
36818 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
36819 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36820
36821 * include/grub/efi/console.h: New file.
36822 * include/grub/efi/time.h: Likewise.
36823 * include/grub/i386/efi/kernel.h: Likewise.
36824 * kern/efi/init.c: Likewise.
36825 * kern/efi/mm.c: Likewise.
36826 * term/efi/console.c: Likewise.
f19dbdb7 36827
976a4ea0 36828 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
36829 (grub_stop): Removed.
36830 (grub_get_rtc): Likewise.
36831 (grub_machine_init): Simply call grub_efi_init.
36832 (grub_machine_fini): Call grub_efi_fini.
36833
36834 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
36835 (grub_efi_output_string): Removed.
36836 (grub_efi_stall): New function.
36837 (grub_stop): Likewise.
36838 (grub_get_rtc): Likewise.
36839
36840 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
36841 (grub_efi_stall): New prototype.
36842 (grub_efi_allocate_pages): Likewise.
36843 (grub_efi_free_pages): Likewise.
36844 (grub_efi_get_memory_map): Likewise.
36845 (grub_efi_mm_init): Likewise.
36846 (grub_efi_mm_fini): Likewise.
36847 (grub_efi_init): Likewise.
36848 (grub_efi_fini): Likewise.
36849
36850 * include/grub/i386/efi/time.h: Do not include
36851 grub/symbol.h. Include grub/efi/time.h.
36852 (GRUB_TICKS_PER_SECOND): Removed.
36853 (grub_get_rtc): Likewise.
36854
36855 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
36856 Added padding. The EFI spec is buggy.
36857 (GRUB_EFI_BLACK): New macro.
36858 (GRUB_EFI_BLUE): Likewise.
36859 (GRUB_EFI_GREEN): Likewise.
36860 (GRUB_EFI_CYAN): Likewise.
36861 (GRUB_EFI_RED): Likewise.
36862 (GRUB_EFI_MAGENTA): Likewise.
36863 (GRUB_EFI_BROWN): Likewise.
36864 (GRUB_EFI_LIGHTGRAY): Likewise.
36865 (GRUB_EFI_BRIGHT): Likewise.
36866 (GRUB_EFI_DARKGRAY): Likewise.
36867 (GRUB_EFI_LIGHTBLUE): Likewise.
36868 (GRUB_EFI_LIGHTGREEN): Likewise.
36869 (GRUB_EFI_LIGHTCYAN): Likewise.
36870 (GRUB_EFI_LIGHTRED): Likewise.
36871 (GRUB_EFI_LIGHTMAGENTA): Likewise.
36872 (GRUB_EFI_YELLOW): Likewise.
36873 (GRUB_EFI_WHITE): Likewise.
36874 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
36875 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
36876 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
36877 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
36878 (GRUB_EFI_BACKGROUND_RED): Likewise.
36879 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
36880 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
36881 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
36882 (GRUB_EFI_TEXT_ATTR): Likewise.
36883
36884 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
36885 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36886 (kernel_mod_HEADERS): Added efi/time.h.
36887
83709125 368882006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
36889
36890 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
36891 include/grub/efi/api.h, include/grub/efi/console_control.h,
36892 include/grub/efi/efi.h, include/grub/efi/pe32.h,
36893 include/grub/i386/efi/time.h, kern/efi/efi.c,
36894 kern/i386/efi/init.c, kern/i386/efi/startup.S,
36895 and util/i386/efi/grub-mkimage.c.
36896
36897 * Makefile.in (RMKFILES): Added i386-efi.rmk.
36898
36899 * genmk.rb (PModule#rule): Do not export symbols if
36900 #{prefix}_EXPORTS is set to "no".
36901
36902 * conf/i386-efi.mk: New file.
36903 * conf/i386-efi.rmk: Likewise.
36904 * include/grub/efi/api.h: Likewise.
36905 * include/grub/efi/console_control.h: Likewise.
36906 * include/grub/efi/efi.h: Likewise.
36907 * include/grub/efi/pe32.h: Likewise.
36908 * include/grub/i386/efi/time.h: Likewise.
36909 * kern/efi/efi.c: Likewise.
36910 * kern/i386/efi/init.c: Likewise.
36911 * kern/i386/efi/startup.S: Likewise.
36912 * util/i386/efi/grub-mkimage.c: Likewise.
36913
369142006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 36915
36916 * include/grub/script.h: Include <grub/parser.h> and
36917 "grub_script.tab.h".
36918 (struct grub_lexer_param): New struct.
36919 (struct grub_parser_param): Likewise.
36920 (grub_script_create_arglist): Pass the state in an argument.
36921 (grub_script_add_arglist): Likewise.
36922 (grub_script_create_cmdline): Likewise.
36923 (grub_script_create_cmdblock): Likewise.
36924 (grub_script_create_cmdif): Likewise.
36925 (grub_script_create_cmdmenu): Likewise.
36926 (grub_script_add_cmd): Likewise.
36927 (grub_script_arg_add): Likewise.
36928 (grub_script_lexer_ref): Likewise.
36929 (grub_script_lexer_deref): Likewise.
36930 (grub_script_lexer_record_start): Likewise.
36931 (grub_script_lexer_record_stop): Likewise.
36932 (grub_script_mem_record): Likewise.
36933 (grub_script_mem_record_stop): Likewise.
36934 (grub_script_malloc): Likewise.
36935 (grub_script_yylex): Likewise.
36936 (grub_script_yyparse): Likewise.
36937 (grub_script_yyerror): Likewise.
36938 (grub_script_yylex): Likewise.
36939 (grub_script_lexer_init): Return the state.
36940
36941 * normal/lexer.c (grub_script_lexer_state): Removed variable.
36942 (grub_script_lexer_done): Likewise.
36943 (grub_script_lexer_getline): Likewise.
36944 (grub_script_lexer_refs): Likewise.
36945 (script): Likewise.
36946 (newscript): Likewise.
36947 (record): Likewise.
36948 (recording): Likewise.
36949 (recordpos): Likewise.
36950 (recordlen): Likewise.
36951 (grub_script_lexer_init): Return the state instead of setting
36952 global variables.
36953 (grub_script_lexer_ref): Use the newly added argument for state
36954 instead of globals.
36955 (grub_script_lexer_deref): Likewise.
36956 (grub_script_lexer_record_start): Likewise.
36957 (grub_script_lexer_record_stop): Likewise.
36958 (recordchar): Likewise.
36959 (nextchar): Likewise.
36960 (grub_script_yylex2): Likewise.
36961 (grub_script_yylex): Likewise.
36962 (grub_script_yyerror): Likewise.
36963
36964 * normal/parser.y (func_mem): Removed variable.
36965 (menu_entry): Likewise.
36966 (err): Likewise.
36967 (%lex-param): New parser option.
36968 (%parse-param): Likewise.
36969 (script): Always return the AST.
36970 (argument): Pass the state around.
36971 (arguments): Likewise.
36972 (grubcmd): Likewise.
36973 (commands): Likewise.
36974 (function): Likewise.
36975 (menuentry): Likewise.
36976 (if_statement): Likewise.
36977 (if): Likewise.
36978
36979 * normal/script.c (grub_script_memused): Removed variable.
36980 (grub_script_parsed): Likewise.
36981 (grub_script_malloc): Added a state argument. Use that instead of
36982 global variables.
36983 (grub_script_mem_record): Likewise.
36984 (grub_script_mem_record_stop): Likewise.
36985 (grub_script_arg_add): Likewise.
36986 (grub_script_add_arglist): Likewise.
36987 (grub_script_create_cmdline): Likewise.
36988 (grub_script_create_cmdif): Likewise.
36989 (grub_script_create_cmdmenu): Likewise.
36990 (grub_script_add_cmd): Likewise.
36991 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 36992
e2a8c904 369932006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 36994
36995 * normal/command.c (grub_command_init): Remove the title command.
36996
36997 * normal/lexer.c (grub_script_yylex): Renamed from this...
36998 (grub_script_yylex2): ... to this.
36999 (grub_script_yylex): New function. Temporary
37000 introduced to filter some tokens.
37001 (grub_script_yyerror): Print a newline.
37002
37003 * normal/main.c (read_config_file): Output information about the
37004 lines that contain errors. Wait for a key after all lines have
37005 been processed. Don't return an empty menu.
37006
37007 * normal/parser.y (func_mem): Don't initialize.
37008 (menu_entry): Likewise.
37009 (err): New variable.
37010 (script): Don't return anything when an error was encountered.
37011 (ws, returns): Removed rules.
37012 (argument): Disabled concatenated variable support.
37013 (arguments): Remove explicit separators.
37014 (grubcmd): Likewise.
37015 (function): Likewise.
37016 (menuentry): Likewise.
37017 (if): Likewise.
37018 (commands): Likewise. Add error handling.
37019
37020 * normal/script.c (grub_script_create_cmdline): If
37021 `grub_script_parsed' is 0, assume the parser encountered an error.
37022
c9a86192 370232006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
37024
37025 * configure.ac: Add support for EFI. Fix the typo
37026 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
37027
70f3b243 370282006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37029
37030 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
37031 foreign multibyte characters should be shown correctly.
37032
65f201ad 370332006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37034
37035 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
37036 calculation.
37037 (read_config_file): Made it to close file before returning.
37038
b4b93674 370392006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
37040
37041 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
37042 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
37043 video/i386/pc/vbefill.c.
37044
37045 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
37046 video/i386/pc/vbefill.c.
37047
37048 * include/grub/video.h (grub_video_blit_format): New enum.
37049 (grub_video_mode_info): Added new member blit_format.
37050 (grub_video_get_blit_format): New function prototype.
37051
37052 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
37053 function prototype.
37054 (grub_video_vbe_map_rgb): Likewise.
37055 (grub_video_vbe_unmap_color): Likewise.
37056
37057 * include/grub/i386/pc/vbeblit.h: New file.
37058
37059 * include/grub/i386/pc/vbefill.h: New file.
37060
37061 * video/video.c (grub_video_get_blit_format): New function.
37062 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
37063 (grub_video_vbe_map_rgb): Likewise.
37064 (grub_video_vbe_unmap_color): Likewise.
37065
37066 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
37067 optimized fills.
37068 (grub_video_vbe_blit_render_target): Changed to use more optimized
37069 blits.
37070 (grub_video_vbe_setup): Added detection for optimized settings.
37071 (grub_video_vbe_create_render_target): Likewise.
37072
37073 * video/i386/pc/vbeblit.c: New file.
37074
37075 * video/i386/pc/vbefill.c: New file.
37076
c2379b9c 370772006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
37078
37079 * font/manager.c (grub_font_get_glyph): Removed font fixup from
37080 here...
37081
37082 * util/unifont2pff.rb: ... and moved it to here. Improved argument
37083 parsing to support both hex and dec ranges. If filename was missing
37084 show usage information.
37085
bd0d7896 370862006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
37087
37088 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
37089 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
37090
37091 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
37092 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
37093 (video_mod_SOURCES): Added.
37094 (video_mod_CFLAGS): Likewise.
37095 (video_mod_LDFLAGS): Likewise.
37096 (gfxterm_mod_SOURCES): Likewise.
37097 (gfxterm_mod_CFLAGS): Likewise.
37098 (gfxterm_mod_LDFLAGS): Likewise.
37099 (videotest_mod_SOURCES): Likewise.
37100 (videotest_mod_CFLAGS): Likewise.
37101 (videotest_mod_LDFLAGS): Likewise.
37102 (vesafb_mod_SOURCES): Removed.
37103 (vesafb_mod_CFLAGS): Likewise.
37104 (vesafb_mod_LDFLAGS): Likewise.
37105 (vga_mod_SOURCES): Likewise.
37106 (vga_mod_CFLAGS): Likewise.
37107 (vga_mod_LDFLAGS): Likewise.
37108
37109 * commands/videotest.c: New file.
37110
37111 * font/manager.c (fill_with_default_glyph): Modified to use
37112 grub_font_glyph.
37113 (grub_font_get_glyph): Likewise.
37114 (fontmanager): Renamed from this...
37115 (font_manager): ... to this.
37116
37117 * include/grub/font.h (grub_font_glyph): Added new structure.
37118 (grub_font_get_glyph): Modified to use grub_font_glyph.
37119
37120 * include/grub/misc.h (grub_abs): Added as inline function.
37121
37122 * include/grub/video.h: New file.
37123
37124 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
37125 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
37126 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
37127 (grub_vbe_get_controller_info): Renamed from this...
37128 (grub_vbe_bios_get_controller_info): ... to this.
37129 (grub_vbe_get_mode_info): Renamed from this...
37130 (grub_vbe_bios_get_mode_info): ... to this.
37131 (grub_vbe_set_mode): Renamed from this...
37132 (grub_vbe_bios_set_mode): ... to this.
37133 (grub_vbe_get_mode): Renamed from this...
37134 (grub_vbe_bios_get_mode): ... to this.
37135 (grub_vbe_set_memory_window): Renamed from this...
37136 (grub_vbe_bios_set_memory_window): ... to this.
37137 (grub_vbe_get_memory_window): Renamed from this...
37138 (grub_vbe_bios_get_memory_window): ... to this.
37139 (grub_vbe_set_scanline_length): Renamed from this...
37140 (grub_vbe_set_scanline_length): ... to this.
37141 (grub_vbe_get_scanline_length): Renamed from this...
37142 (grub_vbe_bios_get_scanline_length): ... to this.
37143 (grub_vbe_set_display_start): Renamed from this...
37144 (grub_vbe_bios_set_display_start): ... to this.
37145 (grub_vbe_get_display_start): Renamed from this...
37146 (grub_vbe_bios_get_display_start): ... to this.
37147 (grub_vbe_set_palette_data): Renamed from this...
37148 (grub_vbe_bios_set_palette_data): ... to this.
37149 (grub_vbe_set_pixel_rgb): Removed.
37150 (grub_vbe_set_pixel_index): Likewise.
37151
37152 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
37153 from this...
37154 (grub_vbe_bios_get_controller_info): ... to this.
37155 (grub_vbe_get_mode_info): Renamed from this...
37156 (grub_vbe_bios_get_mode_info): ... to this.
37157 (grub_vbe_set_mode): Renamed from this...
37158 (grub_vbe_bios_set_mode): ... to this.
37159 (grub_vbe_get_mode): Renamed from this...
37160 (grub_vbe_bios_get_mode): ... to this.
37161 (grub_vbe_set_memory_window): Renamed from this...
37162 (grub_vbe_bios_set_memory_window): ... to this.
37163 (grub_vbe_get_memory_window): Renamed from this...
37164 (grub_vbe_bios_get_memory_window): ... to this.
37165 (grub_vbe_set_scanline_length): Renamed from this...
37166 (grub_vbe_set_scanline_length): ... to this.
37167 (grub_vbe_get_scanline_length): Renamed from this...
37168 (grub_vbe_bios_get_scanline_length): ... to this.
37169 (grub_vbe_set_display_start): Renamed from this...
37170 (grub_vbe_bios_set_display_start): ... to this.
37171 (grub_vbe_get_display_start): Renamed from this...
37172 (grub_vbe_bios_get_display_start): ... to this.
37173 (grub_vbe_set_palette_data): Renamed from this...
37174 (grub_vbe_bios_set_palette_data): ... to this.
37175 (grub_vbe_bios_get_controller_info): Fixed problem with registers
37176 getting corrupted after calling it. Added more pushes and pops.
37177 (grub_vbe_bios_set_mode): Likewise.
37178 (grub_vbe_bios_get_mode): Likewise.
37179 (grub_vbe_bios_get_memory_window): Likewise.
37180 (grub_vbe_bios_set_scanline_length): Likewise.
37181 (grub_vbe_bios_get_scanline_length): Likewise.
37182 (grub_vbe_bios_get_display_start): Likewise.
37183 (grub_vbe_bios_set_palette_data): Likewise.
37184
37185 * normal/cmdline.c (cl_set_pos): Refresh the screen.
37186 (cl_insert): Likewise.
37187 (cl_delete): Likewise.
37188
37189 * term/gfxterm.c: New file.
37190
37191 * term/i386/pc/vesafb.c: Removed file.
37192
37193 * video/video.c: New file.
37194
37195 * video/i386/pc/vbe.c (real2pm): Added new function.
37196 (grub_video_vbe_draw_pixel): Likewise.
37197 (grub_video_vbe_get_video_ptr): Likewise.
37198 (grub_video_vbe_get_pixel): Likewise
37199 (grub_video_vbe_init): Likewise.
37200 (grub_video_vbe_fini): Likewise.
37201 (grub_video_vbe_setup): Likewise.
37202 (grub_video_vbe_get_info): Likewise.
37203 (grub_video_vbe_set_palette): Likewise.
37204 (grub_video_vbe_get_palette): Likewise.
37205 (grub_video_vbe_set_viewport): Likewise.
37206 (grub_video_vbe_get_viewport): Likewise.
37207 (grub_video_vbe_map_color): Likewise.
37208 (grub_video_vbe_map_rgb): Likewise.
37209 (grub_video_vbe_map_rgba): Likewise.
37210 (grub_video_vbe_unmap_color): Likewise.
37211 (grub_video_vbe_fill_rect): Likewise.
37212 (grub_video_vbe_blit_glyph): Likewise.
37213 (grub_video_vbe_blit_bitmap): Likewise.
37214 (grub_video_vbe_blit_render_target): Likewise.
37215 (grub_video_vbe_scroll): Likewise.
37216 (grub_video_vbe_swap_buffers): Likewise.
37217 (grub_video_vbe_create_render_target): Likewise.
37218 (grub_video_vbe_delete_render_target): Likewise.
37219 (grub_video_vbe_set_active_render_target): Likewise.
37220 (grub_vbe_set_pixel_rgb): Remove function.
37221 (grub_vbe_set_pixel_index): Likewise.
37222 (index_color_mode): Remove static variable.
37223 (active_mode): Likewise.
37224 (framebuffer): Likewise.
37225 (bytes_per_scan_line): Likewise.
37226 (grub_video_vbe_adapter): Added new static variable.
37227 (framebuffer): Likewise.
37228 (render_target): Likewise.
37229 (initial_mode): Likewise.
37230 (mode_in_use): Likewise.
37231 (mode_list): Likewise.
37232
5f97350b 372332006-03-10 Marco Gerards <marco@gnu.org>
37234
37235 * configure.ac (AC_INIT): Bumped to 1.93.
37236
37237 * DISTLIST: Added `include/grub/hfs.h'.
37238
a3c5c6f8 372392006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
37240
37241 * boot/i386/pc/boot.S (general_error): Before looping, try INT
37242 18H, which might help the BIOS falling back to next boot media.
37243
6de53d26 372442006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
37245
37246 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
37247 Poe Chen <poe.poechen@gmail.com>.
37248
77c4a393 372492006-01-17 Marco Gerards <marco@gnu.org>
37250
37251 * include/grub/normal.h: Include <grub/script.h>.
37252 (grub_command_list): Removed struct.
37253 (grub_command_list_t): Removed type.
37254 (grub_menu_entry): Remove members `num' and `command_list'. Add
37255 members `commands' and `sourcecode'.
37256 * include/grub/script.h: Add inclusion guards.
37257 (grub_script_cmd_menuentry): New struct.
37258 (grub_script_execute_menuentry): New prototype.
37259 (grub_script_lexer_record_start): Likewise.
37260 (grub_script_lexer_record_stop): Likewise.
37261 * normal/execute.c (grub_script_execute_menuentry): New function.
37262 * normal/lexer.c (record, recording, recordpos, recordlen): New
37263 variables.
37264 (grub_script_lexer_record_start): New function.
37265 (grub_script_lexer_record_stop): Likewise.
37266 (recordchar): Likewise.
37267 (nextchar): Likewise.
37268 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
37269 2048 as the buffer size. Add the tokens `menuentry' and `@'.
37270 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
37271 (current_menu): New variable.
37272 (free_menu): Mainly rewritten.
37273 (grub_normal_menu_addentry): New function.
37274 (read_config_file): Rewritten.
37275 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 37276 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 37277 the menu entry.
37278 (run): Mainly rewritten.
37279 * normal/parser.y (menu_entry): New variable.
37280 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
37281 (menuentry): New rule.
37282 (command): Add `menuentry'.
37283 (if_statement): Allow additional returns before `fi'.
37284 * normal/script.c (grub_script_create_cmdmenu): New function.
37285
144f1f98 372862006-01-03 Marco Gerards <marco@gnu.org>
37287
37288 * INSTALL: GNU Bison is required.
37289 * configure.ac: Rewritten the test to detect Bison.
37290 * Makefile.in (YACC): New variable. Reported by Xun Sun
37291 <xun.sun.cn@gmail.com>.
37292
af4b2d89 372932006-01-03 Marco Gerards <marco@gnu.org>
37294
37295 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
37296 the HFS+ filesystem to filesystem blocks.
37297 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
37298 GCC warning is silenced.
37299
15643b71 373002006-01-03 Marco Gerards <marco@gnu.org>
37301
37302 * partmap/apple.c (apple_partition_map_iterate): Convert the data
37303 read from disk from big endian to host byte order.
37304
00905879 373052006-01-03 Hollis Blanchard <hollis@penguinppc.org>
37306
37307 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
37308 documentation.
37309 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
37310 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
37311 embedded HFS+ filesystem.
37312 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
37313 (grub_hfs_sblock): Move from here...
37314 * include/grub/hfs.h: To here... New file.
37315 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
37316 documentation.
37317 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
37318 New macros.
37319 (grub_hfsplus_volheader): Change type of member `magic' to
37320 `grub_uint16_t'.
37321 (grub_hfsplus_data): Add new member `embedded_offset'.
37322 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
37323 returned block.
37324 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
37325 Calculate the offset.
37326
8899bc3e 373272005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37328
37329 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
37330 Removed.
37331 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
37332
ae8c0277 373332005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37334
37335 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
37336 ENV->NAME is NULL after allocating ENV->VALUE.
37337
07084456 373382005-12-25 Marco Gerards <marco@gnu.org>
37339
37340 * kern/env.c (grub_env_set): Rewritten the error handling code.
37341
4750f5f1 373422005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37343
37344 * geninit.sh: Made more robust, and more portable.
37345
50214199 373462005-12-25 Marco Gerards <marco@gnu.org>
37347
37348 Add support for Apple HFS+ filesystems.
f19dbdb7 37349
50214199 37350 * fs/hfsplus.c: New file.
37351
37352 * DISTLIST: Added `fs/hfsplus.c'.
37353
37354 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
37355 (hfsplus_mod_SOURCES): New variable.
37356 (hfsplus_mod_CFLAGS): Likewise.
37357 (hfsplus_mod_LDFLAGS): Likewise.
37358 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
37359 (grub_setup_SOURCES): Likewise.
37360 (grub_mkdevicemap_SOURCES): Likewise.
37361 (grub_emu_SOURCES): Likewise.
37362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37363
37364 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
37365
37366 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
37367
befaed6c 373682005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37369
37370 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
37371 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
37372 include/grub/parser.h, include/grub/script.h, kern/parser.c,
37373 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
37374 normal/lexer.c, normal/parser.y, normal/script.c, and
37375 partmap/gpt.c.
37376 Removed kern/sparc64/cache.c.
37377
37378 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
37379 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
37380 grub_emu_init.c.
37381
37382 * configure.ac (AC_INIT): Bumped to 1.92.
37383
6a124103 373842005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
37385
37386 * kern/err.c (grub_error_push): Added new function to support error
37387 stacks.
37388 (grub_error_pop): Likewise.
37389 (grub_error_stack_items): New local variable to support error stacks.
37390 (grub_error_stack_pos): Likewise.
37391 (grub_error_stack_assert): Likewise.
37392 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
37393 stack depth.
37394 (grub_print_error): Added support to print errors from error stack.
37395
37396 * include/grub/err.h (grub_error_push): Added function prototype.
37397 (grub_error_pop): Likewise.
37398
be973c1b 373992005-12-09 Hollis Blanchard <hollis@penguinppc.org>
37400
37401 * configure.ac: Accept `powerpc64' as host_cpu.
37402 (amd64): Rename to `biarch32'.
37403
37404 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
37405 non-cacheline-aligned addresses.
37406
37407 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
37408 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
37409 if `size' is non-zero.
37410
b04216ab 374112005-12-03 Marco Gerards <mgerards@xs4all.nl>
37412
37413 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
37414 and `cd' to make sure the filename is not prefixed with a
37415 directory name.
37416 (pkgdata_MODULES): Add `gpt.mod'.
37417 (gpt_mod_SOURCES): New variable.
37418 (gpt_mod_CFLAGS): Likewise.
37419 (gpt_mod_LDFLAGS): Likewise.
37420
37421 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
37422
37423 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
37424 New macro.
37425
37426 * partmap/gpt.c: New file.
37427
37428 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
37429 GPT partition map is detected.
37430
41730ed9 374312005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
37432
37433 * commands/i386/pc/play.c: New file.
37434 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
37435 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
37436 macros.
f19dbdb7 37437
95dc3643 374382005-11-27 Marco Gerards <mgerards@xs4all.nl>
37439
37440 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
37441 ((unused))' to silence gcc warning.
37442
1569ec51 374432005-11-26 Hollis Blanchard <hollis@penguinppc.org>
37444
37445 * configure.ac: Correct `AC_PROG_YACC' test.
37446
9abde152 374472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37448
37449 * util/powerpc/ieee1275/grub-install.in: Run the mount point
37450 check before installing files.
37451
44b83271 374522005-11-22 Mike Small <smallm@panix.com>
37453
37454 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
37455 number regex so multidigit numbers are recognized correctly.
37456
374572005-11-22 Mike Small <smallm@panix.com>
37458
37459 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
37460 debugging message before attempting to claim memory.
37461 (grub_rescue_cmd_initrd): Add a claim debugging message and try
37462 multiple addresses in case of failure.
37463
9c12956b 374642005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37465
37466 * term/tparm.c (get_space): Remove empty `if' statement.
37467
37468 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
37469
37470 * kern/parser.c (check_varstate): Rename `state' to 's'.
37471
aeaf81d9 374722005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37473
37474 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
37475 variable definitions to the beginning of each function. Sort stack
37476 variables by size.
37477 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
37478 `buf' argument to `char *'.
37479
79bbb63f 374802005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37481
37482 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
37483 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 37484 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 37485 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
37486 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
37487 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
37488 configfile.mod, search.mod, gzio.mod and test.mod.
37489 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
37490 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
37491 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
37492 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
37493 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
37494 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
37495 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
37496 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
37497 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
37498 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
37499 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37500 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37501 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
37502 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
37503 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
37504 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
37505 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37506 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
37507 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
37508 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
37509 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
37510 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
37511 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
37512
37513 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
37514 `grep --include'.
37515 (pkgdata_MODULES): Add test.mod.
37516
233b1628 375172005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37518
37519 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
37520 appending to variables with "+=".
37521 (PModule): Use full pathname to generate *.lst filenames.
37522
37523 * Makefile.in: Fixed list rules moved from genmk.rb.
37524 (.DELETE_ON_ERROR): New special target.
37525 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
37526
37527 * conf/i386-pc.rmk: Include conf/common.mk.
37528 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 37529 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 37530 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
37531 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
37532 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
37533 configfile.mod, search.mod, gzio.mod and test.mod.
37534 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
37535 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
37536 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
37537 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
37538 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
37539 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
37540 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
37541 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
37542 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
37543 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
37544 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37545 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37546 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
37547 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
37548 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
37549 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
37550 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37551 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
37552 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
37553 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
37554 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
37555 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
37556 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
37557 here...
37558 * conf/common.rmk: ... to here. New file.
37559
37560 * conf/common.mk: New file.
37561
16f820c8 375622005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
37563
37564 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
37565 (grub_script.tab.c): ... here.
37566
37567 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
37568 (grub_script.tab.c): ... here.
37569
37570 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
37571 (grub_script.tab.c): ... here.
37572
37573 * normal/command.c (grub_command_find): Fixed a memory leak of
37574 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
37575
63ba1554 375762005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37577
37578 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
37579 "@" which marks the start of a comment on ARM.
37580 (VARIABLE): Likewise.
37581
7f67dc13 375822005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37583
79bbb63f 37584 Add support for Linux/ADFS partition tables.
7f67dc13 37585
37586 * partmap/acorn.c: New file.
37587
37588 * include/grub/acorn_filecore.h: Likewise.
37589
37590 * DISTLIST: Added `partmap/acorn.c' and
37591 `include/grub/acorn_filecore.h'.
f19dbdb7 37592
7f67dc13 37593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37594 `partmap/acorn.c'.
37595 (pkgdata_MODULES): Add `acorn.mod'.
37596 (acorn_mod_SOURCES): New variable.
37597 (acorn_mod_CFLAGS): Likewise.
37598
37599 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37600 `partmap/acorn.c'.
37601 (pkgdata_MODULES): Add `acorn.mod'.
37602 (acorn_mod_SOURCES): New variable.
37603 (acorn_mod_CFLAGS): Likewise.
37604
37605 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
37606 (pkgdata_MODULES): Add `acorn.mod'.
37607 (acorn_mod_SOURCES): New variable.
37608 (acorn_mod_CFLAGS): Likewise.
37609 (acorn_mod_LDFLAGS): Likewise.
37610
37611 * include/types.h (grub_disk_addr_t): New typedef.
37612
6d099807 376132005-11-13 Marco Gerards <mgerards@xs4all.nl>
37614
37615 * geninit.sh: New file.
37616
37617 * geninitheader.sh: Likewise.
37618
37619 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
37620 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
37621 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
37622 * commands/configfile.c (grub_configfile_init)
37623 (grub_configfile_fini): Likewise.
37624 * commands/default.c (grub_default_init, grub_default_fini):
37625 Likewise.
37626 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
37627 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
37628 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
37629 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
37630 Likewise.
37631 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
37632 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
37633 Likewise.
37634 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 37635 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 37636 Likewise.
37637 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
37638 Likewise.
fe6b695a 37639 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 37640 Likewise.
37641 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
37642 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
37643 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
37644 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
37645 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
37646 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
37647 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
37648 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
37649 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
37650 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
37651 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
37652 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
37653 * partmap/amiga.c (grub_amiga_partition_map_init)
37654 (grub_amiga_partition_map_fini): Likewise.
37655 * partmap/apple.c (grub_apple_partition_map_init)
37656 (grub_apple_partition_map_fini): Likewise.
37657 * partmap/pc.c (grub_pc_partition_map_init)
37658 (grub_pc_partition_map_fini): Likewise.
37659 * partmap/sun.c (grub_sun_partition_map_init,
37660 grub_sun_partition_map_fini): Likewise.
37661 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
37662 Likewise.
37663
37664 * util/grub-emu.c: Include <grub_modules_init.h>.
37665 (main): Don't initialize and de-initialize any modules directly,
37666 use `grub_init_all' and `grub_fini_all' instead.
37667
37668 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
37669 `grub_vesafb_mod_init'.
37670 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
37671 all users.
37672 * term/i386/pc/vga.c (grub_vga_init): Renamed to
37673 `grub_vga_mod_init'. Updated all users.
37674 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 37675
6d099807 37676 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
37677 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
37678 rules.
37679
37680 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
37681 Generate a function to initialize the module in utilities.
37682 Updated all callers.
37683 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
37684 initialize the module in utilities. Updated all callers.
37685
9046bcf0 376862005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37687
37688 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
37689 escape sequence and a literal ^L to clear the screen.
37690
37691 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
37692 when returning from Open Firmware.
37693
d13ea639 376942005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37695
37696 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
37697 (grub_ofconsole_height): Likewise.
37698 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
37699 manually insert a '\n'.
37700 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
37701 `grub_ofconsole_height'. Return early if these are already set.
37702
a8fcf206 377032005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
37704
37705 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37706 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
37707 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
37708 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
37709 and `normal/script.c'.
37710 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37711 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37712 (test_mod_SOURCES): New variable.
37713 (test_mod_CFLAGS): Likewise.
37714 (test_mod_LDFLAGS): Likewise.
37715 (pkgdata_MODULES): Add `test.mod'.
37716 (grub_script.tab.c): New rule.
37717 (grub_script.tab.h): Likewise.
37718
b6b32745 377192005-11-07 Marco Gerards <mgerards@xs4all.nl>
37720
37721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37722 `commands/test.c', `normal/execute.c', `normal/lexer.c',
37723 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37724 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37725 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37726 (test_mod_SOURCES): New variable.
37727 (test_mod_CFLAGS): Likewise.
37728 (pkgdata_MODULES): Add `test.mod'.
37729 (grub_script.tab.c): New rule.
37730 (grub_script.tab.h): Likewise.
37731
daac212a 377322005-11-06 Marco Gerards <mgerards@xs4all.nl>
37733
37734 Add initial scripting support.
37735
37736 * commands/test.c: New file.
37737 * include/grub/script.h: Likewise.
37738 * normal/execute.c: Likewise.
37739 * normal/function.c: Likewise.
37740 * normal/lexer.c: Likewise.
37741 * normal/parser.y: Likewise.
37742 * normal/script.c: Likewise.
37743
37744 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 37745
daac212a 37746 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
37747 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
37748 `normal/function.c' and `normal/script.c'.
37749 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37750 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 37751 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
37752 variables.
daac212a 37753 (pkgdata_MODULES): Add `test.mod'.
37754 (grub_script.tab.c): New rule.
37755 (grub_script.tab.h): Likewise.
37756
37757 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
37758
37759 * include/grub/normal.h (grub_test_init): New prototype.
37760 (grub_test_fini): Likewise.
f19dbdb7 37761
daac212a 37762 * normal/command.c: Include <grub/script.h>.
37763 (grub_command_execute): Rewritten.
f19dbdb7 37764
daac212a 37765 * util/grub-emu.c (main): Call `grub_test_init' and
37766 `grub_test_fini'.
37767
77500b2b 377682005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37769
37770 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
37771 to 0.
37772 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
37773 there are no pending characters.
37774
e45deb9e 377752005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37776
37777 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
37778 `grub_strndup' to drop device arguments. Replace unnecessary
37779 `grub_strndup' with `grub_strdup'.
37780
4ce32619 377812005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37782
37783 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
37784 `debug' environment variable has been set.
37785
377862005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37787
4ce32619 37788 * Makefile.in (install-local): Use $(DATA).
37789 (uninstall): Likewise.
37790 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
37791 (sbin_UTILITIES): ... to here.
37792 (sbin_SCRIPTS): New variable.
37793 (grub_install_SOURCES): New variable.
37794 * util/powerpc/ieee1275/grub-install.in: New file.
37795 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
37796 variable.
37797 (add_segments): Call `grub_util_get_path'.
37798
25fe6f03 377992005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37800
37801 From Timothy Baldwin:
37802 * commands/ls.c (grub_ls_list_files): Close FILE with
37803 grub_file_close.
37804 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
37805
04ccf3ec 378062005-10-24 Marco Gerards <mgerards@xs4all.nl>
37807
37808 * include/grub/parser.h: New file.
37809
37810 * kern/parser.c: Likewise.
37811
37812 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
37813 (grub_setup_SOURCES): Likewise.
37814 (grub_probefs_SOURCES): Likewise.
37815 (grub_emu_SOURCES): Likewise.
37816 (kernel_img_HEADERS): Add `parser.h'.
37817
37818 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37819 (grub_emu_SOURCES): Add `kern/parser.c'.
37820 (grubof_SOURCES): Likewise.
37821
37822 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37823 (grubof_SOURCES): Add `kern/parser.c'.
37824
37825 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
37826
37827 * kern/misc.c (grub_split_cmdline): Removed function.
37828
37829 * kern/rescue.c: Include <grub/parser.h>.
37830 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
37831 of `grub_split_cmdline'.
37832
37833 * normal/command.c: Include <grub/parser.h>.
37834 (grub_command_execute): Use `grub_parser_split_cmdline' instead
37835 of `grub_split_cmdline'.
37836
37837 * normal/completion.c: Include <grub/parser.h>.
37838 (cmdline_state): New variable.
37839 (iterate_dir): End the filename with a quote depending on the
37840 command line state.
37841 (get_state): new function.
37842 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
37843 split the arguments and determine the current argument. When the
37844 argument string is not quoted, escape all spaces.
37845
6d8f4b0e 378462005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37847
37848 * normal/sparc64/setjmp.S: New file.
37849
15cf03ed 378502005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37851
37852 * include/grub/sparc64/libgcc.h: New file.
37853 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
37854 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
37855 normal/sparc64/setjmp.c.
37856
03e8661a 378572005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37858
37859 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
37860 * kern/sparc64/cache.S: New file.
37861 * kern/sparc64/cache.c: Removed.
37862 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
37863 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
37864 -mtune=ultrasparc.
37865 (COMMON_LDFLAGS): Add -melf64_sparc.
37866 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
37867 (grubof_SOURCES): Use cache.S instead of cache.c.
37868 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
37869 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
37870 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
37871 commented though.
37872 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
37873 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
37874 (linux_mod_CFLAGS): Commented out.
37875 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
37876 out because module isn't built.
37877 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
37878 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
37879 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
37880 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
37881 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
37882 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37883 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37884 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
37885 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
37886 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
37887 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37888 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37889 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
37890 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
37891
34eeec8a 378922005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
37893
37894 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
37895 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
37896 longer, because HFS should not be used on PC.
37897
708367a3 378982005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37899
37900 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
37901 consistently within the loop.
37902
6fa1251a 379032005-10-15 Marco Gerards <mgerards@xs4all.nl>
37904
37905 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
37906 directory can not be read.
37907
4801580b 379082005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37909
37910 * configure.ac (AC_INIT): Increase the version number to 1.91.
37911
37912 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
37913 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
37914 term/i386/pc/serial.c.
37915
219ad426 379162005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37917
37918 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
37919 file size must be permitted.
37920
37921 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
37922 between %ah and %al.
37923
688e5699 379242005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37925
37926 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
37927 grub_uint64_t.
37928 Call the hook with a NUL-terminated filename.
37929 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
37930 grub_cpu_to_be32.
37931
37932 * kern/term.c (cursor_state): New variable.
37933 (grub_term_set_current): Reset the cursor state on a new
37934 terminal.
37935 (grub_setcursor): Rewritten to use CURSOR_STATE.
37936 (grub_getcursor): New function.
37937
37938 * include/grub/term.h (grub_getcursor): New prototype.
37939
37940 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
37941 integers on ARM. Reported by Timothy Baldwin
37942 <T.E.Baldwin99@members.leeds.ac.uk>.
37943
bb34586c 379442005-10-11 Marco Gerards <mgerards@xs4all.nl>
37945
37946 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
37947 allocated.
37948 (grub_sfs_dir): Likewise.
37949
9a909877 379502005-10-09 Marco Gerards <mgerards@xs4all.nl>
37951
37952 Add support for the SFS filesystem.
37953
37954 * fs/sfs.c: New file.
37955
37956 * DISTLIST: Added `fs/sfs.c'.
37957
37958 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
37959 (grub_probefs_SOURCES): Likewise.
37960 (grub_emu_SOURCES): Likewise.
37961 (pkgdata_MODULES): Add `sfs.mod'.
37962 (sfs_mod_SOURCES): New variable.
37963 (sfs_mod_CFLAGS): Likewise.
37964 (sfs_mod_LDFLAGS): Likewise.
37965
37966 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
37967 (pkgdata_MODULES): Add `sfs.mod'.
37968 (sfs_mod_SOURCES): New variable.
37969 (sfs_mod_CFLAGS): Likewise.
37970
37971 * util/grub-emu.c (main): Call `grub_sfs_init' and
37972 `grub_sfs_fini'.
37973
37974 * include/grub/fs.h (grub_sfs_init): New prototype.
37975 (grub_sfs_fini): Likewise.
37976
57bdbde3 379772005-10-07 Marco Gerards <mgerards@xs4all.nl>
37978
37979 Add support for the AFFS filesystem.
37980
37981 * fs/affs.c: New file.
37982
37983 * DISTLIST: Added `fs/affs.c'.
37984
37985 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
37986 (grub_probefs_SOURCES): Likewise.
37987 (grub_emu_SOURCES): Likewise.
37988 (pkgdata_MODULES): Add `affs.mod'.
37989 (affs_mod_SOURCES): New variable.
37990 (affs_mod_CFLAGS): Likewise.
37991 (affs_mod_LDFLAGS): Likewise.
37992
37993 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
37994 (pkgdata_MODULES): Add `affs.mod'.
37995 (affs_mod_SOURCES): New variable.
37996 (affs_mod_CFLAGS): Likewise.
37997
37998 * util/grub-emu.c (main): Call `grub_affs_init' and
37999 `grub_affs_fini'.
38000
38001 * include/grub/fs.h (grub_affs_init): New prototype.
38002 (grub_affs_fini): Likewise.
38003
047b67e0 380042005-10-01 Marco Gerards <mgerards@xs4all.nl>
38005
38006 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
38007
59b8208a 380082005-10-01 Marco Gerards <mgerards@xs4all.nl>
38009
38010 * configure.ac: Accept `x86_64' as host_cpu. In that case add
38011 `-m32' to CFLAGS.
38012
38013 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
38014 linking.
f19dbdb7 38015
59b8208a 38016 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
38017 (COMMON_LDFLAGS): New variable.
38018 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
38019 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
38020 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
38021 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
38022 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
38023 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
38024 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
38025 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
38026 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
38027 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
38028 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38029 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38030 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
38031 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
38032 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
38033 variables.
38034 (normal_mod_ASFLAGS): Add `-m32'.
38035
38036 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
38037 (grub_host_size_t, grub_host_ssize_t): New types.
38038 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 38039 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 38040 `GRUB_HOST_SIZEOF_VOID_P'.
38041
38042 * include/grub/kernel.h (struct grub_module_header): Type of
38043 member offset changed to `grub_host_off_t'. Type of member size
38044 changed to `grub_host_size_t'.
38045 (struct grub_module_info): Type of member offset changed to
38046 `grub_host_off_t'. Type of member size changed to
38047 `grub_host_size_t'.
38048
b4093103 380492005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
38050
38051 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 38052
b4093103 38053 * kern/i386/pc/startup.S (multiboot_header): New label.
38054 (multiboot_entry): Likewise.
38055 (multiboot_trampoline): Likewise.
38056
38057 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38058 Increased to 0x4A0.
38059
38060 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
38061 put parentheses after a question mark.
38062 [!GRUB_UTIL] (my_mod): New variable.
38063
38064 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
38065
b2499b29 380662005-09-28 Marco Gerards <mgerards@xs4all.nl>
38067
38068 Adds support for the XFS filesystem. Btrees are not supported
38069 yet.
38070
38071 * fs/xfs.c: New file.
38072
38073 * DISTLIST: Added `fs/xfs.c'.
38074
38075 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
38076 (grub_probefs_SOURCES): Likewise.
38077 (grub_emu_SOURCES): Likewise.
38078 (pkgdata_MODULES): Add `xfs.mod'.
38079 (xfs_mod_SOURCES): New variable.
38080 (xfs_mod_CFLAGS): Likewise.
38081
38082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
38083 (pkgdata_MODULES): Add `xfs.mod'.
38084 (xfs_mod_SOURCES): New variable.
38085 (xfs_mod_CFLAGS): Likewise.
38086
38087 * util/grub-emu.c (main): Call `grub_xfs_init' and
38088 `grub_xfs_fini'.
38089
38090 * include/grub/fs.h (grub_xfs_init): New prototype.
38091 (grub_xfs_fini): Likewise.
38092
f19dbdb7 38093
83d37a62 380942005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
38095
38096 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
38097 color modes, allow greater than 16 colors to be configured as
38098 a default palette.
38099
47d2d65e 381002005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38101
38102 * normal/completion.c (complete_arguments): Add the qualifier
38103 const into OPTIONS.
38104
38105 From Omniflux <omniflux+lists@omniflux.com>:
38106 * include/grub/terminfo.h: New file.
38107 * include/grub/tparm.h: Likewise.
38108 * include/grub/i386/pc/serial.h: Likewise.
38109 * term/terminfo.c: Likewise.
38110 * term/tparm.c: Likewise.
38111 * term/i386/pc/serial.c: Likewise.
38112 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
38113 serial.mod.
38114 (terminfo_mod_SOURCES): New variable.
38115 (terminfo_mod_CFLAGS): Likewise.
38116 (serial_mod_SOURCES): Likewise.
38117 (serial_mod_CFLAGS): Likewise.
38118
48b671ff 381192005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
38120
38121 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
38122 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
38123 and kern/powerpc/ieee1275/cmain.c, respectively.
38124
38125 * boot/powerpc/ieee1275/crt0.S: Moved to ...
38126 * kern/powerpc/ieee1275/crt0.S: ... here.
38127
38128 * boot/powerpc/ieee1275/cmain.c: Moved to ...
38129 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 38130
48b671ff 38131 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
38132 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
38133 instead of boot/powerpc/ieee1275/crt0.S and
38134 boot/powerpc/ieee1275/cmain.c, respectively.
38135
38136 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
38137 sectors. It was not used anyway.
38138
09fc77a7 381392005-08-30 Hollis Blanchard <hollis@penguinppc.org>
38140
38141 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
38142 `unused parameter' warning.
38143
003789c7 381442005-08-30 Hollis Blanchard <hollis@penguinppc.org>
38145
38146 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
38147 function.
38148 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
38149 getcharwidth.
38150
67f44c86 381512005-08-28 Marco Gerards <metgerards@student.han.nl>
38152
38153 * include/grub/normal.h (enum grub_completion_type): Added
38154 `GRUB_COMPLETION_TYPE_ARGUMENT'.
38155
38156 * normal/cmdline.c (print_completion): Handle
38157 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
38158 * normal/menu_entry.c (store_completion): Likewise.
38159
38160 * normal/completion.c (complete_arguments): New function.
38161 (grub_normal_do_completion): Call `complete_arguments' when the
38162 current words start with a dash.
38163
0b5abe02 381642005-08-27 Marco Gerards <metgerards@student.han.nl>
38165
38166 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
38167 `gzio.mod' instead of `io.mod').
38168
d9864ee1 381692005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
38170
38171 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
38172 (DISTDIRS): Added io and video.
38173 Rewrite the search routine to make an output consistently.
38174
38175 * DISTLIST: Added conf/sparc64-ieee1275.mk,
38176 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
38177 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
38178 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
38179 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
38180 util/powerpc/ieee1275/misc.c.
f19dbdb7 38181
d9864ee1 38182 * include/grub/gzio.h: New file.
38183 * io/gzio.c: Likewise.
f19dbdb7 38184
d9864ee1 38185 * kern/file.c (grub_file_close): Call grub_device_close only if
38186 FILE->DEVICE is not NULL.
38187
38188 * include/grub/mm.h [!NULL] (NULL): New macro.
38189
38190 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
38191
38192 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
38193 (pkgdata_MODULES): Added gzio.mod.
38194 (gzio_mod_SOURCES): New variable.
38195 (gzio_mod_CFLAGS): Likewise.
38196
38197 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
38198 (pkgdata_MODULES): Added gzio.mod.
38199 (gzio_mod_SOURCES): New variable.
38200 (gzio_mod_CFLAGS): Likewise.
38201
38202 * commands/cat.c: Include grub/gzio.h.
38203 (grub_cmd_cat): Use grub_gzfile_open instead of
38204 grub_file_open.
f19dbdb7 38205
d9864ee1 38206 * commands/cmp.c: Include grub/gzio.h.
38207 (grub_cmd_cmp): Use grub_gzfile_open instead of
38208 grub_file_open.
38209
38210 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
38211 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
38212 grub_file_open.
38213 (grub_rescue_cmd_module): Likewise.
38214
fa46f4b5 382152005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
38216
38217 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
38218 kern/sparc64/ieee1275/init.c because it contains _start.
38219 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
38220
e9211b5d 382212005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
38222
38223 * configure.ac: Add support for sparc64 host with ieee1275
38224 firmware.
38225 * configure: Generated from configure.ac.
38226 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
38227 instead of int.
38228 (grub_ofdisk_read): Likewise.
38229 (grub_ofdisk_open): Use %p to print pointer values, and cast the
38230 pointers as (void *) to remove a warning.
38231 (grub_ofdisk_close): Likewise.
38232 (grub_ofdisk_read): Likewise.
38233 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
38234 returns, so make it return void to remove a warning.
38235 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
38236 Corresponding prototype change.
38237 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
38238 values, and cast the pointers as (void *) to remove a warning.
38239 (grub_mm_dump): Likewise.
38240 * conf/sparc64-ieee1275.mk: New file.
38241 * conf/sparc64-ieee1275.rmk: Likewise.
38242 * include/grub/sparc64/setjmp.h: Likewise.
38243 * include/grub/sparc64/types.h: Likewise.
38244 * include/grub/sparc64/ieee1275/console.h: Likewise.
38245 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38246 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38247 * include/grub/sparc64/ieee1275/time.h: Likewise.
38248 * kern/sparc64/cache.c: Likewise.
38249 * kern/sparc64/dl.c: Likewise.
38250 * kern/sparc64/ieee1275/init.c: Likewise.
38251 * kern/sparc64/ieee1275/openfw.c: Likewise.
38252
385c6a92 382532005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
38254
38255 * util/console.c (grub_ncurses_putchar): If C is greater than
38256 0x7f, set C to a question mark.
38257 (grub_ncurses_getcharwidth): New function.
38258 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
38259 getcharwidth.
38260
38261 * normal/menu.c (print_entry): Made aware of Unicode. First,
38262 convert TITLE to UCS-4, and predict the cursor position by
38263 grub_getcharwidth.
38264
38265 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
38266 const to SRC.
38267 * kern/misc.c (grub_utf16_to_utf8): Likewise.
38268
16ccb8b1 382692005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38270
38271 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
38272 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38273 grub_strcat.
38274
38275 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
38276 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38277 grub_strcpy and grub_strlen. Take it into account that a space
38278 character is inserted as a delimiter.
38279
6a85ce79 382802005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38281
38282 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 38283 invalid magic in the error.
6a85ce79 38284
38285 * commands/search.c: New file.
f19dbdb7 38286
6a85ce79 38287 * util/grub-emu.c (main): Call grub_search_init and
38288 grub_search_fini.
38289
38290 * kern/rescue.c (grub_rescue_print_disks): Removed.
38291 (grub_rescue_print_devices): New function.
38292 (grub_rescue_cmd_ls): Use grub_device_iterate with
38293 grub_rescue_print_devices instead of grub_disk_dev_iterate with
38294 grub_rescue_print_disks.
38295
38296 * kern/partition.c (grub_partition_iterate): Return the result of
38297 PARTMAP->ITERATE instead of GRUB_ERRNO.
38298
38299 * kern/device.c: Include grub/partition.h.
38300 (grub_device_iterate): New function.
38301
38302 * include/grub/partition.h (grub_partition_iterate): Return int
38303 instead of grub_err_t.
38304
38305 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
38306 prototype.
38307 [GRUB_UTIL] (grub_search_fini): Likewise.
38308
38309 * include/grub/device.h (grub_device_iterate): New prototype.
38310
38311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38312 commands/search.c.
38313 (pkgdata_MODULES): Added search.mod.
38314 (search_mod_SOURCES): New variable.
38315 (search_mod_CFLAGS): Likewise.
38316
38317 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
38318 (pkgdata_MODULES): Added search.mod.
38319 (search_mod_SOURCES): New variable.
38320 (search_mod_CFLAGS): Likewise.
38321
38322 * commands/ls.c (grub_ls_list_disks): Renamed to ...
38323 (grub_ls_list_devices): ... this, and use grub_device_iterate.
38324 All callers changed.
38325
38326 * DISTLIST: Added commands/search.c.
38327
ef095434 383282005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38329
38330 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
38331 conversion.
38332 (grub_getcharwidth): New function.
38333
38334 * kern/misc.c (grub_utf8_to_ucs4): New function.
38335
38336 * include/grub/term.h (struct grub_term): Added a new member
38337 "getcharwidth".
38338 (grub_getcharwidth): New prototype.
38339
38340 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
38341
38342 * term/i386/pc/console.c (map_char): New function. Segregated from
38343 grub_console_putchar.
38344 (grub_console_putchar): Use map_char.
38345 (grub_console_getcharwidth): New function.
38346 (grub_console_term): Specified grub_console_getcharwidth as
38347 getcharwidth.
38348
38349 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
38350 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
38351
38352 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
38353 GRUB_ERRNO.
38354 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
38355 on grub_strtoul completely.
38356 (write_char): Declare local variables in the beginning of the
38357 function.
38358 (grub_vesafb_getcharwidth): New function.
38359 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
38360 getcharwidth.
38361
1f0a95e4 383622005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
38363
38364 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
38365 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
38366 commands/i386/pc/vbetest.c.
38367
38368 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
38369 call grub_vbe_get_controller_info again, because the returned
38370 information is volatile.
38371 (grub_vbe_set_video_mode): Mostly rewritten.
38372 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
38373 grub_vbe_status_t correctly.
38374 (grub_vbe_get_video_mode_info): Likewise.
38375 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
38376 several if statements.
38377
38378 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
38379 * commands/i386/pc/vbeinfo.c: ... this.
38380
38381 * commands/i386/pc/vbe_test.c: Renamed to ...
38382 * commands/i386/pc/vbetest.c: ... this.
38383
38384 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
38385 ...
38386 (grub_cmd_vbeinfo): ... this. Save video modes before
38387 iterating. Skip a video mode, if it is not available, not enough
38388 information is given or it is monochrome. Show the memory
38389 model. Leave the interpretation of MODEVAR to grub_strtoul
38390 completely.
38391 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
38392 (GRUB_MOD_FINI): Likewise.
38393
38394 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
38395 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
38396 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
38397 duplicated grub_env_get. Leave the interpretation of MODEVAR to
38398 grub_strtoul completely.
38399 (real2pm): Removed.
38400 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
38401 (GRUB_MOD_FINI): Likewise.
38402
38403 * normal/misc.c: Include grub/mm.h.
38404
38405 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
38406 vbe_list_modes with vbetest.mod and vbeinfo.mod.
38407 (vbe_list_modes_mod_SOURCES): Removed.
38408 (vbe_list_modes_mod_CFLAGS): Likewise.
38409 (vbe_test_mod_SOURCES): Likewise.
38410 (vbe_test_mod_CFLAGS): Likewise.
38411 (vbeinfo_mod_SOURCES): New variable.
38412 (vbeinfo_mod_CFLAGS): Likewise.
38413 (vbetest_mod_SOURCES): Likewise.
38414 (vbetest_mod_CFLAGS): Likewise.
38415
992ffbbe 384162005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
38417
38418 * normal/misc.c: New file.
38419
38420 * DISTLIST: Added normal/misc.c.
f19dbdb7 38421
992ffbbe 38422 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
38423 DISK to HOOK. Call HOOK with DISK.
38424 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38425 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38426 * partmap/sun.c (sun_partition_map_iterate): Likewise.
38427
38428 * normal/menu_entry.c (struct screen): Added a new member
38429 "completion_shown".
38430 (completion_buffer): New global variable.
38431 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
38432 (store_completion): New function.
38433 (complete): Likewise.
38434 (clear_completions): Likewise.
38435 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
38436 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
38437 a tab, call complete.
38438
38439 * normal/completion.c (disk_dev): Removed.
38440 (print_simple_completion): Likewise.
38441 (print_partition_completion): Likewise.
38442 (print_func): New global variable.
38443 (add_completion): Do not take the arguments WHAT or PRINT any
38444 longer. Added a new argument TYPE. Instead of printing directly,
38445 call PRINT_FUNC if not NULL.
38446 All callers changed.
38447 (complete_device): Use a local variable DEV instead of
38448 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
38449 (grub_normal_do_completion): Take a new argument HOOK. Do not
38450 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
38451 empty string, return NULL instead.
38452 All callers changed.
38453
38454 * normal/cmdline.c (print_completion): New function.
38455
38456 * kern/partition.c (grub_partition_iterate): Add an argument DISK
38457 to HOOK.
38458 All callers changed.
38459
38460 * kern/disk.c (grub_print_partinfo): Removed.
38461
38462 * include/grub/partition.h (struct grub_partition_map): Add a new
38463 argument DISK into HOOK of ITERATE.
38464 (grub_partition_iterate): Add a new argument DISK to HOOK.
38465
38466 * include/grub/normal.h (enum grub_completion_type): New enum.
38467 (grub_completion_type_t): New type.
38468 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
38469 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
38470 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
38471 (GRUB_COMPLETION_TYPE_FILE): Likewise.
38472 (grub_normal_do_completion): Added a new argument HOOK.
38473 (grub_normal_print_device_info): New prototype.
38474
38475 * include/grub/disk.h (grub_print_partinfo): Removed.
38476
38477 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
38478 (normal_mod_SOURCES): Likewise.
38479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38480 (normal_mod_SOURCES): Likewise.
38481
38482 * commands/ls.c (grub_ls_list_disks): Use
38483 grub_normal_print_device_info instead of grub_print_partinfo. Free
38484 PNAME.
38485 (grub_ls_list_files): Use grub_normal_print_device_info instead of
38486 duplicating the code.
38487
0bd41162 384882005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
38489
38490 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 38491 follow GCS more precisely.
38492 * commands/i386/pc/vbe_test.c: Likewise.
38493 * include/grub/i386/pc/vbe.h: Likewise.
38494 * term/i386/pc/vesafb.c: Likewise.
38495 * video/i386/pc/vbe.c: Likewise.
0bd41162 38496
6323696a 384972005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
38498
38499 * DISTLIST: Added term/i386/pc/vesafb.c
38500 DISTLIST: Added video/i386/pc/vbe.c
38501 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
38502 DISTLIST: Added commands/i386/pc/vbe_test.c.
38503 * commands/i386/pc/vbe_list_modes.c: New file.
38504 * commands/i386/pc/vbe_test.c: Likewise.
38505 * term/i386/pc/vesafb.c: Likewise.
38506 * video/i386/pc/vbe.c: Likewise.
38507 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
38508 (grub_vbe_probe) Added prototype.
38509 (grub_vbe_set_video_mode) Likewise.
38510 (grub_vbe_get_video_mode) Likewise.
38511 (grub_vbe_get_video_mode_info) Likewise.
38512 (grub_vbe_set_pixel_rgb) Likewise.
38513 (grub_vbe_set_pixel_index) Likewise.
38514 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
38515 (pkgdata_MODULES): Added vesafb.mod.
38516 (pkgdata_MODULES): Added vbe_list_modes.mod.
38517 (pkgdata_MODULES): Added vbe_test.mod.
38518 (vbe_mod_SOURCES): Added.
38519 (vbe_mod_CFLAGS): Likewise.
38520 (vesafb_mod_SOURCES): Likewise.
38521 (vesafb_mod_CFLAGS): Likewise.
38522 (vbe_list_modes_mod_SOURCES): Likewise.
38523 (vbe_list_modes_mod_CFLAGS): Likewise.
38524 (vbe_test_mod_SOURCES): Likewise.
38525 (vbe_test_mod_CFLAGS): Likewise.
38526
0a74e62f 385272005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
38528
0a74e62f 38529 * normal/command.c (grub_command_execute): If INTERACTIVE is
38530 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
38531 CMDLINE. Disable the pager if INTERACTIVE is true.
38532 All callers are changed.
38533
38534 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
38535 before reading a config file.
38536 * normal/main.c (read_config_file): Even if a command is not
38537 found, register it if it is within an entry.
38538
38539 * util/grub-emu.c: Include sys/types.h and unistd.h.
38540 (options): Added --hold.
38541 (struct arguments): Added a new member "hold".
38542 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
38543 missing.
38544 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
38545 cleared by a debugger, if it is not zero.
38546
38547 * include/grub/normal.h (grub_command_execute): Add an argument
38548 INTERACTIVE.
38549
e51f85ae 385502005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
38551
38552 * DISTLIST: Added include/grub/i386/pc/vbe.h.
38553
e9c6f39b 385542005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
38555
38556 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
38557 program with another one, because the old one didn't detect a bug
38558 in gcc-3.4. Always use regparm 2, because the new test is still
38559 not enough for gcc-4.0. Someone must investigate a simple test
38560 case which detects a bug in gcc-4.0.
38561
8de3495c 385622005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
38563
38564 * DISTLIST: Added normal/completion.c.
38565
38566 * normal/completion.c: New file.
f19dbdb7 38567
8de3495c 38568 * term/i386/pc/console.c (grub_console_getwh): New function.
38569 (grub_console_term): Assign grub_console_getwh to getwh.
38570
38571 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
38572 function is defined in normal/completion.c as
38573 grub_normal_do_completion.
38574 (grub_cmdline_get): Use grub_normal_do_completion instead of
38575 grub_tab_complete.
38576
38577 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
38578 returns non-zero, otherwise return 0.
38579 (grub_partition_iterate): First, probe the partition map. Then,
38580 call ITERATE only for this partition map.
38581
38582 * kern/misc.c (grub_strncmp): Rewritten.
38583
38584 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
38585 returns non-zero. Otherwise return 0.
38586
38587 * include/grub/partition.h (grub_partition_map_iterate): Return
38588 int instead of void.
38589
38590 * include/grub/normal.h (grub_normal_do_completion): New prototype.
38591
38592 * include/grub/misc.h (grub_strncmp): Change the type of N to
38593 grub_size_t.
38594
38595 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
38596 of void.
38597
38598 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 38599 unsigned explicitly before comparing it with I.
8de3495c 38600
38601 * kern/main.c (grub_env_write_root): Add the attribute unused into
38602 VAR.
38603
38604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38605 normal/completion.c.
38606 (normal_mod_SOURCES): Likewise.
38607 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38608 (normal_mod_SOURCES): Likewise.
38609
38610 * normal/command.c (grub_iterate_commands): If ITERATE returns
38611 non-zero, return one immediately.
38612
e85e144b 386132005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
38614
38615 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
38616 * kern/i386/pc/startup.S: Updated Global Descriptor table's
38617 descriptions.
38618 (grub_vbe_get_controller_info): New function.
38619 (grub_vbe_get_mode_info): Likewise.
38620 (grub_vbe_set_mode): Likewise.
38621 (grub_vbe_get_mode): Likewise.
38622 (grub_vbe_set_memory_window): Likewise.
38623 (grub_vbe_get_memory_window): Likewise.
38624 (grub_vbe_set_scanline_length): Likewise.
38625 (grub_vbe_get_scanline_length): Likewise.
38626 (grub_vbe_set_display_start): Likewise.
38627 (grub_vbe_get_display_start): Likewise.
38628 (grub_vbe_set_palette_data): Likewise.
38629 * include/grub/i386/pc/vbe.h: New file.
38630
c46153d2 386312005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38632
38633 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38634 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
38635 * DISTLIST: Likewise.
38636 * kern/ieee1275/of.c: Moved to ...
38637 * kern/ieee1275/ieee1275.c: ... here.
38638
0cb90c45 386392005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38640
38641 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
38642 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
38643 Pass 0 as `end' parameter to grub_strtoul().
38644
a19fb360 386452005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38646
38647 * include/grub/powerpc/ieee1275/console.h: Do not include
38648 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
38649 ifdef.
38650 (grub_console_cur_color): Remove i386-specific prototype.
38651 (grub_console_real_putchar): Likewise.
38652 (grub_console_checkkey): Likewise.
38653 (grub_console_getkey): Likewise.
38654 (grub_console_getxy): Likewise.
38655 (grub_console_gotoxy): Likewise.
38656 (grub_console_cls): Likewise.
38657 (grub_console_setcursor): Likewise.
38658 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
38659 Include <grub/machine/console.h>.
38660 * term/ieee1275/ofconsole.c: Likewise.
38661
4ac9bd04 386622005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
38663
38664 * Makefile.in (LIBLZO): New variable.
38665
38666 * configure.ac: Check for LZO version 2.
38667
38668 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
38669 lzo/lzo1x.h instead of lzo1x.h.
38670
38671 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
38672 of -llzo.
38673
38674 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
38675 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
38676
38677 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
38678 copying the data from PARTITION to P.
38679
f4917dfd 386802005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38681
38682 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
38683 negative, unload the module.
38684
38685 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
38686 map is "pc_partition_map" but not "pc".
38687 (usage): Fix the description. The options are --boot-image and
38688 --core-image but not --boot-file or --core-file.
38689 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
38690 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
38691 DEFAULT_DIRECTORY.
38692
38693 * util/i386/pc/grub-install.in: Do not specify --boot-file or
38694 --core-file. Specify INSTALL_DEVICE as an argument.
38695
38696 * util/console.c: Include config.h.
38697 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
38698 [HAVE_NCURSES_H]: Include ncurses.h.
38699 [HAVE_CURSES_H]: Include curses.h.
38700 [!A_NORMAL] (A_NORMAL): Defined as zero.
38701 [!A_STANDOUT] (A_STANDOUT): Likewise.
38702
38703 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
38704 -lncurses.
38705 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
38706
38707 * configure.ac: Check for curses libraries and headers.
38708
38709 * Makefile.in (LIBCURSES): New variable.
38710
38711 * genmk.rb (Script::rule): Set the executable bits.
38712
38713 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
38714 name of the PC partition map is "pc_partition_map" but not "pc".
38715
0e143073 387162005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38717
38718 * util/i386/pc/grub-install.in (grub_probefs): New variable.
38719 (modules): Likewise.
38720 (usage): Added descriptions for --modules and --grub-probefs.
38721 Handle --modules and --grub-probefs. Save the arguments in MODULES
38722 and GRUB_PROBEFS, respectively.
38723 Auto-detect a filesystem module against GRUBDIR. If the result is
38724 empty and modules are not specified explicitly, abort the
38725 installation. Add the result to MODULES.
38726
38727 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
38728 disk/powerpc/ieee1275/ofdisk.c,
38729 include/grub/powerpc/ieee1275/init.h and
38730 term/powerpc/ieee1275/ofconsole.c.
38731 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
38732 term/ieee1275/ofconsole.c.
38733
38734 * include/grub/powerpc/ieee1275/console.h: Resurrected.
38735
38736 * COPYING: Upgraded to the latest version. Only the address of the
38737 FSF office has changed.
f19dbdb7 38738
efd6e6d5 387392005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38740
38741 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38742 kern/ieee1275.c with kern/ieee1275/of.c.
38743
38744 * kern/ieee1275.c: Moved to ...
38745 * kern/ieee1275/of.c: ... here.
38746
8ceafda2 387472005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
38748
38749 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 38750 readability.
8ceafda2 38751
38752 * config.guess: Updated to the latest version from gnulib.
38753 * config.sub: Likewise.
38754 * install.sh: Likewise.
38755 * mkinstalldirs: Likewise.
38756
38757 * include/grub/console.h: Removed. This file is arch-specific. Do
38758 not put this in include/grub.
38759
38760 * include/grub/i386/pc/console.h: Resurrected.
38761
38762 * util/console.c: Include grub/machine/console.h instead of
38763 grub/console.h.
38764 * util/grub-emu.c: Likewise.
38765
267f6cd9 387662005-08-04 Marco Gerards <metgerards@student.han.nl>
38767
38768 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
38769 hardcoded value.
f19dbdb7 38770
267f6cd9 38771 From Vincent Pelletier <subdino2004@yahoo.fr>
38772 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
38773 Redefined to use grub_getwh.
38774 (grub_term): New member named getwh.
38775 (grub_getwh): New prototype.
38776 * kern/term.c (grub_getwh): New function.
38777 * term/i386/pc/console.c (grub_console_getwh): New function.
38778 (grub_console_term): New member `getwh'.
38779 * term/i386/pc/vga.c (grub_vga_getwh): New function.
38780 (grub_vga_term): New member `getwh'.
0b5abe02 38781 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 38782 grub_ssize_t.
38783 (grub_ofconsole_getw): New function.
38784 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
38785 (grub_ofconsole_term): New field named getwh and new initial
38786 value.
38787
3be7266d 387882005-08-03 Hollis Blanchard <hollis@penguinppc.org>
38789
38790 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
38791 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
38792 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
38793 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
38794 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
38795 of <grub/machine/ieee1275.h>.
38796 * commands/ieee1275/reboot.c: Likewise.
38797 * boot/powerpc/ieee1275/ieee1275.c: Move ...
38798 * kern/ieee1275.c: ... to here. All users updated. Change all
38799 parameter structs to use new type `grub_ieee1275_cell_t'.
38800 * term/powerpc/ieee1275/ofconsole.c: Move ...
38801 * term/ieee1275/ofconsole.c: ... to here. All users updated.
38802 * disk/powerpc/ieee1275/ofdisk.c: Move ...
38803 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
38804 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
38805 to return int.
38806 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
38807 Remove unused prototypes. All users updated.
38808 * include/grub/powerpc/ieee1275/console.h: Removed.
38809 * include/grub/powerpc/ieee1275/ieee1275.h: Define
38810 `grub_ieee1275_cell_t'.
38811 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
38812 Cast comparisons with -1 to the correct type.
38813 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
38814 type to match `grub_ieee1275_entry_fn'.
38815
8b5f3938 388162005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
38817
38818 * DISTLIST: Added util/i386/pc/grub-probefs.c.
38819
38820 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
38821 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
38822 partmap/sun.c.
38823 (grub_probefs_SOURCES): New variable.
38824
38825 * util/i386/pc/grub-probefs.c: New file.
38826
38827 * util/i386/pc/grub-setup.c (main): Call
38828 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
38829 grub_hfs_init and grub_jfs_init to initialize the system. Call
38830 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
38831 grub_pc_partition_map_fini to finish the system.
38832
ea409713 388332005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
38834
38835 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
38836 function.
38837 (grub_multiboot_load_elf32): Likewise.
38838 (grub_multiboot_is_elf64): Likewise.
38839 (grub_multiboot_load_elf64): Likewise.
38840 (grub_multiboot_load_elf): Likewise.
38841 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
38842 an ELF32 or ELF64 file.
38843 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
38844
38845 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
38846 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
38847 NULL before calling FS->LABEL.
38848 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
38849 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
38850 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
38851 before calling FS->LABEL.
38852
141a288b 388532005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
38854
38855 * util/i386/pc/grub-install.in (datadir): New variable.
38856 (libdir): Removed.
38857 (pkgdatadir): New variable.
38858 (pkglibdir): Removed.
38859
0d5f8a54 388602005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
38861
38862 * DISTLIST: Added util/i386/pc/grub-install.in.
38863
38864 * util/i386/pc/grub-install.in: New file.
38865
38866 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
38867 (grub_install_SOURCES): Likewise.
38868
38869 * genmk.rb: Added support for scripts.
38870 (Script): New class.
38871 (scripts): New variable.
38872
38873 * Makefile.in (install-local): Install sbin_SCRIPTS by
38874 INSTALL_SCRIPT.
38875 (uninstall): Remove sbin_SCRIPTS.
38876
38877 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
38878 device, try to get a GRUB device by
38879 grub_util_biosdisk_get_grub_dev.
38880 Free DEST_DEV.
38881
38882 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
38883 description for --device-map.
38884
5f968e1e 388852005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38886
38887 Change the semantics of variable hooks. They now return strings
38888 instead of error values.
f19dbdb7 38889
5f968e1e 38890 * util/i386/pc/grub-setup.c: Include grub/env.h.
38891 (setup): Use grub_device_set_root instead of grub_env_set.
38892
38893 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
38894 grub_env_get instead of grub_device_set_root and
38895 grub_device_get_root, respectively.
38896
38897 * kern/main.c (grub_env_write_root): New function.
38898 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
38899 grub_env_set instead of grub_device_set_root.
38900
38901 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
38902 many variables.
38903 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
38904 rather than calling ENV->WRITE_HOOK afterwards.
38905 (grub_env_get): Return the result of ENV->READ_HOOK rather than
38906 passing a pointer of a pointer.
38907 (grub_register_variable_hook): Change the types of "read_hook" and
38908 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
38909 respectively.
38910 Allocate the default empty string on the heap, because this string
38911 may be freed later.
38912
38913 * kern/device.c: Include grub/env.h.
38914 (grub_device_set_root): Removed.
38915 (grub_device_get_root): Likewise.
38916 (grub_device_open): Use grub_env_get instead of
38917 grub_device_get_root.
38918
38919 * include/grub/env.h (grub_env_read_hook_t): New type.
38920 (grub_env_write_hook_t): Likewise.
38921 (grub_env_var): Change the types of "read_hook" and "write_hook"
38922 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
38923 (grub_register_variable_hook): Likewise.
38924
38925 * include/grub/device.h (grub_device_set_root): Removed.
38926 (grub_device_set_root): Likewise.
38927
38928 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
38929 make sure that DIRNAME terminates with '/', so that
38930 grub_fat_find_dir will fail if PATH is not a directory.
38931
38932 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
38933 from DIRNAME.
38934 Use the qualifier auto for print_files and print_files_long.
38935 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
38936 as a regular file.
38937 Put a newline only if there is no error.
38938 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
38939 used.
38940
896f0afd 389412005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38942
38943 * kern/partition.c (grub_partition_probe): Initialize PART to
38944 NULL. Otherwise, when no partition map is registered, this returns
38945 a garbage.
38946
b28b81b2 389472005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
38948
38949 * partmap/apple.c (apple_partition_map_iterate): Check if POS
38950 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
38951 valid.
38952
5f3607e0 389532005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
38954
38955 * commands/ls.c (grub_ls_list_disks): Print the filesystem
38956 information on each device, if it does not have partitions. Print
38957 "Device" instead of "Disk", because this function is not specific
38958 to disk devices.
38959
38960 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
38961 static to ensure that it is put on the memory rather than a
38962 register.
38963
502c87e8 389642005-07-17 Yoshinori Okuji <okuji@enbug.org>
38965
38966 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
38967 (grub_cat_init): Likewise.
38968 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
38969 (options): Likewise.
38970 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
38971 (grub_configfile_init): Likewise.
38972 * font/manager.c (GRUB_MOD_INIT): Likewise.
38973 * commands/help.c (GRUB_MOD_INIT): Likewise.
38974 (grub_help_init): Likewise.
38975 * normal/command.c (grub_command_init): Likewise.
38976 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
38977 * disk/loopback.c (grub_loop_init): Likewise.
38978 (GRUB_MOD_INIT): Likewise.
38979 * commands/ls.c (grub_ls_init): Likewise.
38980 (GRUB_MOD_INIT): Likewise.
38981 (options): Likewise.
38982 * commands/boot.c (grub_boot_init): Likewise.
38983 (GRUB_MOD_INIT): Likewise.
38984 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
38985 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
38986 (GRUB_MOD_INIT): Likewise.
38987 * commands/cmp.c (grub_cmp_init): Likewise.
38988 (GRUB_MOD_INIT): Likewise.
38989
38990 * normal/arg.c: Use <> instead of "" to include header files.
38991 (SHORT_ARG_HELP): New macro.
38992 (SHORT_ARG_USAGE): Likewise.
38993 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
38994 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
38995 descriptions.
38996 (find_short): Check if C is 'h' or 'u' explicitly.
38997 (grub_arg_show_help): Use space characters instead of tabs. Treat
38998 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
38999 are shown with --help and --usage only if they are not used for
39000 the command itself.
39001 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
39002 'h' and 'u'.
39003
39004 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
39005 const into "longarg". Change the type of "shortarg" to int.
39006
f806d18e 390072005-07-17 Yoshinori Okuji <okuji@enbug.org>
39008
39009 * boot/i386/pc/boot.S (boot_drive_check): New label.
39010
39011 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
39012 macro.
39013
39014 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
39015 which do not pass a boot drive correctly. Copied from GRUB Legacy.
39016
e293232b 390172005-07-17 Yoshinori Okuji <okuji@enbug.org>
39018
39019 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
39020 When turning off Gate A20, skip the check and return immediately,
39021 because this is not fatal usually.
39022
ebedfd00 390232005-07-17 Yoshinori Okuji <okuji@enbug.org>
39024
39025 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
39026 be 0x7C00 instead of 0x8000.
39027
39028 * boot/i386/pc/pxeboot.S: Rewritten.
39029
39030 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
39031 EXT_C.
39032 (gate_a20_check_state): Read a byte from 0x108000. Invert the
39033 result.
39034
654fc59f 390352005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
39036
39037 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
39038 robustness. This routine now supports a BIOS call and System
39039 Control Port A to modify the gate A20.
39040
39041 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39042 Increased to 0x440.
39043
09f9923f 390442005-07-12 Hollis Blanchard <hollis@penguinppc.org>
39045
39046 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
39047 device path and resulting ihandle.
39048 (grub_ofdisk_close): dprintf the ihandle being closed.
39049 (grub_ofdisk_read): dprintf function parameters.
39050 * kern/mm.c (grub_mm_init_region): Likewise.
39051 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
39052 (grub_linux_boot): dprintf the Linux entry point, initrd address and
39053 size, and boot arguments.
39054 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
39055 before loading into memory.
39056 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
39057 before loading into memory.
39058
7ef504d8 390592005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
39060
39061 * kern/mm.c: Added much documentation.
39062 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
39063 8, set to 5 instead of 8.
39064
e0f050c2 390652005-07-10 Yoshinori Okuji <okuji@enbug.org>
39066
39067 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
39068
39069 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
39070 (grub_mkdevicemap_SOURCES): New variable.
39071
39072 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
39073 lib/device.c of GRUB Legacy.
39074
7224189a 390752005-07-10 Yoshinori Okuji <okuji@enbug.org>
39076
39077 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
39078 instead of PATH is NULL.
39079
68c864eb 390802005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
39081
39082 * commands/cmp.c (BUFFER_SIZE): New macro.
39083 (grub_cmd_cmp): Close the right file at the right time. Compare
39084 only data just read. Don't report files of different size as
39085 identical. Dynamically allocate buffers. Move variable
39086 declarations at the beginning of function.
39087
e6f3e614 390882005-07-09 Yoshinori Okuji <okuji@enbug.org>
39089
39090 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
39091 reverse.
39092
f8f1559a 390932004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
39094
39095 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
39096 when backspace is pressed at beginning of line.
39097
39c9d41d 390982005-07-03 Yoshinori Okuji <okuji@enbug.org>
39099
39100 * DISTLIST: Added genfslist.sh.
39101
39102 * normal/main.c (fs_module_list): New variable.
39103 (autoload_fs_module): New function.
39104 (read_fs_list): Likewise.
39105 (grub_normal_execute): Call read_fs_list.
39106
39107 * kern/fs.c (grub_fs_autoload_hook): New variable.
39108 (grub_fs_probe): Added support for auto-loading.
39109
39110 * include/grub/normal.h (struct grub_fs_module_list): New struct.
39111 (grub_fs_module_list_t): New type.
39112
39113 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
39114 (grub_fs_autoload_hook): New prototype.
39115
39116 * genfslist.sh: New file.
f19dbdb7 39117
39c9d41d 39118 * genmk.rb: Added a rule to generate a filesystem list.
39119
121c1d83 391202005-06-30 Marco Gerards <metgerards@student.han.nl>
39121
39122 * configure.ac: Fix the test for cross-compiling.
39123
39124 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
39125 define GRUB_UTIL anymore.
39126
39127 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
39128 so this function works on other systems than just big endian.
39129 (load_modules): Likewise.
39130 (add_segments): Likewise.
39131
e75d76e1 391322005-06-23 Hollis Blanchard <hollis@penguinppc.org>
39133
39134 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
39135 contains `l' modifier, get a long from va_arg().
39136
50b5a0a7 391372005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
39138
39139 * kern/mm.c (grub_free): If the next free block which is being
39140 merged is the first free block, set the first block to the block
39141 being freed.
39142 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
39143
89371b20 391442005-05-08 Hollis Blanchard <hollis@penguinppc.org>
39145
39146 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
39147 `grub_ieee1275_chosen'.
39148
168d6e58 391492005-05-08 Hollis Blanchard <hollis@penguinppc.org>
39150
39151 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
39152 (grub_ieee1275_chosen): New variable.
39153 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
39154 `chosen'.
39155 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
39156 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39157 Rename first argument to `phandle' for consistency.
39158 (grub_ieee1275_get_property_length): Likewise.
39159 (grub_ieee1275_next_property): Likewise. Change type of first argument
39160 to grub_ieee1275_phandle_t.
39161 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
39162 Move export next to declaration.
39163 (grub_ieee1275_chosen): New variable.
39164 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
39165 Correct cosmetic typo.
39166 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
39167 `grub_ieee1275_chosen'.
39168 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
39169 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
39170 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
39171 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
39172 `grub_ieee1275_chosen'.
39173
ca5baa3f 391742005-05-10 Hollis Blanchard <hollis@penguinppc.org>
39175
39176 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
39177 /chosen/bootargs.
39178 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
39179 /chosen/bootargs as "variable=value" pairs.
39180
708b345f 391812005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
39182
39183 * include/grub/misc.h (grub_dprintf): New macro.
39184 (grub_real_dprintf): New prototype.
39185 (grub_strword): Likewise.
39186 (grub_iswordseparator): Likewise.
39187 * kern/misc.c (grub_real_dprintf): New function.
39188 (grub_strword): Likewise.
39189 (grub_iswordseparator): Likewise.
39190
f4c5e67c 391912005-04-30 Hollis Blanchard <hollis@penguinppc.org>
39192
39193 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
39194 (roundup): Remove macro.
39195 (grub_ieee1275_flags): Make static.
39196 (grub_ieee1275_realmode): Remove.
39197 (grub_ieee1275_test_flag): New function.
39198 (grub_ieee1275_set_flag): Likewise.
39199 (find_options): Rename to `grub_ieee1275_find_options'; update
39200 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
39201 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
39202 (cmain): New prototype.
39203 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
39204 `grub_ieee1275_flags' directly.
39205 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
39206 machine/biosdisk.h.
39207 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
39208 Don't include grub/machine/init.h.
39209 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
39210 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39211 Remove prototype.
39212 (grub_ieee1275_realmode): Likewise.
39213 (grub_ieee1275_flag): New enum.
39214 (grub_ieee1275_test_flag): New prototype.
39215 (grub_ieee1275_set_flag): New prototype.
39216 * include/grub/powerpc/ieee1275/init.h: Remove file.
39217 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
39218 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
39219 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
39220 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
39221 comment.
39222 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
39223 `grub_ieee1275_test_flag'.
39224 (grub_ieee1275_encode_devname): Likewise.
39225
ed16607e 392262005-04-21 Hollis Blanchard <hollis@penguinppc.org>
39227
39228 * include/grub/powerpc/ieee1275/ieee1275.h
39229 (grub_ieee1275_encode_devname): New prototype.
39230 (grub_ieee1275_get_filename): Likewise.
39231 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
39232 function.
39233 (grub_set_prefix): Likewise.
39234 (grub_machine_init): Call grub_set_prefix.
39235 * kern/powerpc/ieee1275/openfw.c: Fix typos.
39236 (grub_parse_type): New enum.
39237 (grub_ieee1275_get_devargs): New function.
39238 (grub_ieee1275_get_devname): Likewise.
39239 (grub_ieee1275_parse_args): Likewise.
39240 (grub_ieee1275_get_filename): Likewise.
39241 (grub_ieee1275_encode_devname): Likewise.
39242
be369920 392432005-03-30 Marco Gerards <metgerards@student.han.nl>
39244
39245 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
39246 `grub_loader_unset'.
39247
a5ce3a4a 392482005-03-26 Hollis Blanchard <hollis@penguinppc.org>
39249
39250 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
39251 instead of grub_ieee1275_interpret.
39252 (grub_halt_init): New function.
39253 (grub_halt_fini): Likewise.
39254 (GRUB_MOD_INIT): Correct message grammar.
39255 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
39256 instead of grub_ieee1275_interpret.
39257 (grub_reboot_init): New function.
39258 (grub_reboot_fini): Likewise.
39259 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
39260 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
39261 util/i386/pc/misc.c with commands/ieee1275/halt.c,
39262 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
39263 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
39264 function.
39265 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
39266 Add prototype.
39267 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
39268 prototype.
39269 (grub_halt): Likewise.
39270 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
39271 (cmain): Remove __attribute__((unused)).
39272 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
39273 (grub_heap_len): Likewise.
39274 (grub_machine_fini): New function.
39275 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
39276 (grub_halt): Likewise.
39277 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
39278 function.
39279 * util/powerpc/ieee1275/misc.c: New file.
39280
0058f771 392812005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39282
39283 * DISTLIST: New file.
39284 * gendistlist.sh: Likewise.
f19dbdb7 39285
0058f771 39286 * Makefile.in (COMMON_DISTFILES): Removed.
39287 (BOOT_DISTFILES): Likewise.
39288 (CONF_DISTFILES): Likewise.
39289 (DISK_DISTFILES): Likewise.
39290 (FS_DISTFILES): Likewise.
39291 (INCLUDE_DISTFILES): Likewise.
39292 (KERN_DISTFILES): Likewise.
39293 (LOADER_DISTFILES): Likewise.
39294 (TERM_DISTFILES): Likewise.
39295 (UTIL_DISTFILES): Likewise.
39296 (DISTFILES): Likewise.
39297 (uninstall): Uninstall files in $(pkgdata_DATA).
39298 (DISTLIST): New target.
39299 (distdir): Use the contents of the file DISTLIST to get a list of
39300 distributed files.
39301
46b3b8a5 393022005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39303
39304 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
39305 descriptor. This is ported from GRUB Legacy.
39306
39307 * gencmdlist.sh: Added an extra semicolon to make it work with
39308 old sed versions. Reported by Robert Bihlmeyer
39309 <robbe@orcus.priv.at>.
39310
5822ff87 393112005-03-08 Yoshinori Okuji <okuji@enbug.org>
39312
39313 Automatic loading of commands is supported.
f19dbdb7 39314
5822ff87 39315 * normal/main.c (read_command_list): New function.
39316 (grub_normal_execute): Call read_command_list.
39317
39318 * normal/command.c (grub_register_command): Return zero or CMD.
39319 Allocate CMD->NAME from the heap.
39320 Initialize CMD->MODULE_NAME to zero.
39321 Find the same name as well. If the same command is found and it is
39322 a dummy command, overwrite members. If it is not a dummy command,
39323 return zero.
39324 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
39325 (grub_command_find): If a dummy command is found, load a module
39326 and retry to find a command only once.
39327
39328 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
39329 make sure that each command is loaded.
39330
39331 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
39332 macro.
39333 (struct grub_command): Remove const from the member `name'.
39334 Add a new member `module_name'.
39335 (grub_register_command): Return grub_command_t.
39336
39337 * commands/help.c (grub_cmd_help): Call grub_command_find to make
39338 sure that each command is loaded.
39339
39340 * genmk.rb (PModule::rule): Specify a module name without the
39341 suffix ".mod" to gencmdlist.sh.
39342
7b1f4b57 393432005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39344
39345 * gencmdlist.sh: New file.
f19dbdb7 39346
7b1f4b57 39347 * genmk.rb (PModule::rule): Generate a rule for a command list.
39348 Clean command.lst.
39349 Generate command.lst from $(COMMANDFILES).
39350
39351 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
39352 (DATA): Added $(pkgdata_DATA).
39353 (install-local): Install files in $(pkgdata_DATA).
39354
062aaf39 393552005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39356
39357 * term/i386/pc/vga.c (debug_command): Removed.
39358 (GRUB_MOD_INIT): Do not register the command "debug".
39359
39360 From Hollis Blanchard:
39361 * commands/configfile.c: New file.
39362 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39363 commands/configfile.c.
39364 (pkgdata_MODULES): Added configfile.mod.
39365 (configfile_mod_SOURCES): New variable.
39366 (configfile_mod_CFLAGS): Likewise.
39367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39368 commands/configfile.c.
39369 (pkgdata_MODULES): Added configfile.mod.
39370 (configfile_mod_SOURCES): New variable.
39371 (configfile_mod_CFLAGS): Likewise.
39372 * util/grub-emu.c (main): Call grub_configfile_init and
39373 grub_configfile_fini.
39374 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
39375 prototype.
39376 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 39377
cee01aa6 393782005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
39379
39380 * normal/arg.c (grub_arg_show_help): Do not show the bug report
39381 address.
39382
39383 * commands/help.c (grub_cmd_help): Do not print newlines after
39384 the last command in print_command_help.
39385
93f3a1d8 393862005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
39387
39388 * commands/default.h: New file.
39389 * commands/timeout.h: Likewise.
39390 * normal/context.c: Likewise.
f19dbdb7 39391
93f3a1d8 39392 * util/misc.c: Do not include sys/times.h.
39393 Include sys/time.h and grub/machine/time.h.
39394 (grub_get_rtc): Rewritten with gettimeofday.
39395
39396 * util/grub-emu.c (main): Call grub_default_init and
39397 grub_timeout_init before grub_normal_init, and call
39398 grub_timeout_fini and grub_default_fini after grub_main.
39399
39400 * util/console.c (grub_ncurses_checkkey): Return the read
39401 character or -1.
39402
39403 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
39404 timeouts.
39405
39406 * normal/main.c (read_config_file): Push MENU. If this fails,
39407 print an error and wait for a user input.
39408 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
39409 If a menu is empty or an error occurs, pop MENU.
39410 (grub_normal_execute): Pop and free MENU after grub_menu_run
39411 returns.
39412
39413 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
39414
39415 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
39416 include time.h.
39417 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
39418 without GRUB_UTIL.
39419 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
39420 time.h.
39421 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
39422 without GRUB_UTIL.
39423
39424 * include/grub/normal.h (struct grub_menu_list): New struct.
39425 (grub_menu_list_t): New type.
39426 (struct grub_context): New struct.
39427 (grub_context_t): New type.
39428 (grub_register_command): Got rid of EXPORT_FUNC.
39429 (grub_unregister_command): Likewise.
39430 (grub_context_get): New prototype.
39431 (grub_context_get_current_menu): Likewise.
39432 (grub_context_push_menu): Likewise.
39433 (grub_context_pop_menu): Likewise.
39434 [GRUB_UTIL] (grub_default_init): Likewise.
39435 [GRUB_UTIL] (grub_default_fini): Likewise.
39436 [GRUB_UTIL] (grub_timeout_init): Likewise.
39437 [GRUB_UTIL] (grub_timeout_fini): Likewise.
39438
39439 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
39440 commands/timeout.c and normal/context.c.
39441 (pkgdata_MODULES): Added default.mod and timeout.mod.
39442 (normal_mod_SOURCES): Added normal/context.c.
39443 (default_mod_SOURCES): New variable.
39444 (default_mod_CFLAGS): Likewise.
39445 (timeout_mod_SOURCES): Likewise.
39446 (timeout_mod_CFLAGS): Likewise.
39447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
39448 conf/i386-pc.rmk.
39449 (pkgdata_MODULES): Added default.mod and timeout.mod.
39450 (normal_mod_SOURCES): Added normal/context.c.
39451 (default_mod_SOURCES): New variable.
39452 (default_mod_CFLAGS): Likewise.
39453 (timeout_mod_SOURCES): Likewise.
39454 (timeout_mod_CFLAGS): Likewise.
39455
39456 * Makefile.in (all-local): Added $(MKFILES).
39457
4ed2e1dd 394582005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
39459
39460 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
39461 (grub_emu_SOURCES): Likewise.
39462 (pkgdata_MODULES): Add `sun.mod'.
39463 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
39464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39465 `partmap/sun.c'.
39466 (pkgdata_MODULES): Add `sun.mod'.
39467 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
39468 * include/grub/partition.h (grub_sun_partition_map_init): New
39469 prototype.
39470 (grub_sun_partition_map_fini): Likewise.
39471 * partmap/sun.c: New file.
39472 * util/grub-emu.c (main): Initialize and de-initialize the sun
39473 partitionmap support.
39474
4d4e372e 394752005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
39476
39477 This implements an Emacs-like menu entry editor.
f19dbdb7 39478
4d4e372e 39479 * normal/menu_entry.c: New file.
f19dbdb7 39480
4d4e372e 39481 * util/console.c (grub_ncurses_putchar): Translate some Unicode
39482 characters to ASCII.
39483 (saved_char): New variable.
39484 (grub_ncurses_checkkey): Rewritten completely.
39485 (grub_ncurses_getkey): Likewise.
39486 (grub_ncurses_init): Call raw instead of cbreak.
39487
39488 * normal/menu.c (print_entry): Do not put a space.
39489 (init_page): Renamed to ...
39490 (grub_menu_init_page): ... this. All callers changed.
39491 (edit_menu_entry): Removed.
39492 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
39493
39494 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
39495
39496 * kern/misc.c (grub_vprintf): Call grub_refresh.
39497
39498 * normal/menu.c (DISP_LEFT): Renamed to ...
39499 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
39500 * normal/menu.c (DISP_UP): Renamed to ...
39501 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
39502 * normal/menu.c (DISP_RIGHT): Renamed to ...
39503 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
39504 * normal/menu.c (DISP_DOWN): Renamed to ...
39505 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
39506 * normal/menu.c (DISP_HLINE): Renamed to ...
39507 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
39508 * normal/menu.c (DISP_VLINE): Renamed to ...
39509 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
39510 * normal/menu.c (DISP_UL): Renamed to ...
39511 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
39512 * normal/menu.c (DISP_UR): Renamed to ...
39513 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
39514 * normal/menu.c (DISP_LL): Renamed to ...
39515 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
39516 * normal/menu.c (DISP_LR): Renamed to ...
39517 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
39518 * normal/menu.c (TERM_WIDTH): Renamed to ...
39519 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
39520 * normal/menu.c (TERM_HEIGHT): Renamed to ...
39521 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
39522 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
39523 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
39524 * normal/menu.c (TERM_MARGIN): Renamed to ...
39525 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
39526 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
39527 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
39528 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
39529 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
39530 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
39531 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
39532 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
39533 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
39534 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
39535 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
39536 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
39537 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
39538 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
39539 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
39540 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
39541 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
39542 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
39543 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
39544 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
39545 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
39546 All callers changed.
39547
39548 * include/grub/normal.h: New prototype.
39549
39550 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39551 normal/menu_entry.c.
39552 (normal_mod_SOURCES): Likewise.
39553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39554 (normal_mod_SOURCES): Likewise.
39555
e6b92c8a 395562005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
39557
39558 * include/grub/normal.h (grub_halt_init): New prototype.
39559 (grub_halt_fini): Likewise.
39560 (grub_reboot_init): Likewise.
39561 (grub_reboot_fini): Likewise.
39562
39563 * util/grub-emu.c: Include signal.h.
39564 (main_env): New global variable.
39565 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
39566 catch C-c.
39567 (grub_machine_fini): New function.
39568 (main): Call grub_halt_init and grub_reboot_init before
39569 grub_main, and grub_reboot_fini and grub_halt_fini after it.
39570 Call setjmp with MAIN_ENV to go back afterwards.
39571 Call grub_machine_fini right before return.
39572
39573 * include/grub/util/misc.h: Include setjmp.h.
39574 (main_env): New prototype.
39575
39576 * include/grub/kernel.h (grub_machine_fini): New prototype.
39577 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
39578 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
39579
39580 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
39581 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
39582 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 39583
e6b92c8a 39584 * util/i386/pc/misc.c: New file.
f19dbdb7 39585
e6b92c8a 39586 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39587 util/i386/pc/misc.c, commands/i386/pc/halt.c and
39588 commands/i386/pc/reboot.c.
39589
c642636f 395902005-02-14 Guillem Jover <guillem@hadrons.org>
39591
39592 * include/grub/dl.h (grub_dl_check_header): New prototype.
39593 (grub_arch_dl_check_header): Change return type to grub_err_t,
39594 remove size parameter and export function. Update all callers.
39595 * kern/dl.c (grub_dl_check_header): New function.
39596 (grub_dl_load_core): Use `grub_dl_check_header' instead of
39597 `grub_arch_dl_check_header'. Check ELF type. Check if sections
39598 are inside the core.
39599 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
39600 independent ELF header checks.
39601 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39602 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
39603 `grub_dl_check_header' instead of explicit checks. Check for the
39604 ELF type.
39605 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
39606 `grub_dl_check_header' instead of explicit checks. Remove arch
39607 specific ELF header checks.
39608
e6b92c8a 39609 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
39610 argument SIZE.
39611
5eabe94b 396122005-02-13 Hollis Blanchard <hollis@penguinppc.org>
39613
39614 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
39615 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
39616
1b14a681 396172005-02-12 Hollis Blanchard <hollis@penguinppc.org>
39618
39619 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 39620 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 39621 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 39622 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 39623 * partmap/amiga.c (amiga_partition_map_iterate): Return
39624 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
39625 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39626
aca108aa 396272005-02-01 Guillem Jover <guillem@hadrons.org>
39628
39629 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
39630 help info.
39631
c9f9c556 396322005-01-31 Marco Gerards <metgerards@student.han.nl>
39633
39634 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
39635 Removed prototype.
39636 (grub_rescue_cmd_linux): New prototype.
39637 (grub_rescue_cmd_initrd): Likewise.
39638 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
39639 `bi_rec'.
39640 (grub_linux_release_mem): Release the memory for the initrd.
39641 (grub_load_linux): Renamed from this...
39642 (grub_rescue_cmd_linux): ...To this. Changed all callers.
39643 Changed `entry' not to be static. Loop over memory regions to
39644 find another one when the default fails.
39645 (grub_rescue_cmd_initrd): New function.
39646 (grub_linux_init): Remove function.
39647 (grub_linux_fini): Likewise.
39648 (GRUB_MOD_INIT): Register `initrd'.
39649 (GRUB_MOD_FINI): Unregister `initrd'.
39650 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
39651 Function removed.
39652 (grub_linux_normal_fini): Likewise.
39653 (GRUB_MOD_INIT): Register `initrd'.
39654 (GRUB_MOD_FINI): Unregister `initrd'.
39655
990cf3aa 396562005-01-31 Marco Gerards <metgerards@student.han.nl>
39657
39658 * commands/help.c: New file.
39659 * normal/arg.c (show_help): Renamed to...
39660 (grub_arg_show_help): ... this.
39661 * commands/i386/pc/halt.c: New file.
39662 * commands/i386/pc/reboot.c: Likewise.
39663 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
39664 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
39665 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
39666 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
39667 variables.
39668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39669 `commands/help.c'.
39670 (pkgdata_MODULES): Add `help.mod'.
39671 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
39672 * grub/i386/pc/init.h (grub_reboot): New prototype.
39673 (grub_halt): Likewise.
39674 * include/grub/normal.h (grub_arg_show_help): New prototype.
39675 (grub_help_init): Likewise.
39676 (grub_help_fini): Likewise.
39677 * util/grub-emu.c (main): Initialize and deinitialize the help
39678 command.
39679
39680 * normal/cmdline.c (grub_cmdline_get): Doc fix.
39681
39682 * normal/command.c (grub_command_init): Fixed the description of
39683 the `set' and `unset' commands.
39684
396852005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 39686
39687 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
39688 function.
39689 * commands/ieee1275/halt.c: New file.
39690 * commands/ieee1275/reboot.c: Likewise.
39691 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
39692 `__attribute__ ((unused))'. Some GCS related fixed.
39693 (grub_suspend_init) [GRUB_UTIL]: Function removed.
39694 (grub_suspend_fini): Likewise.
39695 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
39696 and `halt.mod'.
39697 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
39698 (halt_mod_CFLAGS): New variables.
39699 * include/grub/powerpc/ieee1275/ieee1275.h
39700 (grub_ieee1275_interpret): New prototype.
39701
1ab09cc7 397022005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
39703
39704 * include/grub/misc.h (memmove): New prototype.
39705 (memcpy): Likewise.
39706
8b8cbdb2 397072005-01-22 Hollis Blanchard <hollis@penguinppc.org>
39708
39709 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
39710 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
39711
e3741a27 397122005-01-22 Marco Gerards <metgerards@student.han.nl>
39713
39714 * kern/misc.c (grub_strndup): Function rewritten.
39715
776bd780 397162005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
39717
39718 * normal/menu.c (TERM_WIDTH): Macro redefined.
39719 (TERM_TOP_BORDER_Y): Likewise.
39720 (draw_border): Replaced while-loop by a for-loop. Make the number
39721 of lines consistent with the number of lines displayed in
39722 print_entries. Added a margin below the rectangle.
39723 (print_entry): Make the entry fit in the rectangle.
39724 (print_entries): Display the scroll arrows next to the right
39725 border.
39726
78026bce 397272005-01-21 Marco Gerards <metgerards@student.han.nl>
39728
39729 * fs/minix.c (grub_minix_find_file): Reserve more space for
39730 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
39731 `grub_strncpy' to copy `path' into it.
39732
67bbaf0f 397332005-01-21 Marco Gerards <metgerards@student.han.nl>
39734
39735 Add the loopback device, a device via which files can be accessed
39736 as devices.
f19dbdb7 39737
67bbaf0f 39738 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
39739 (pkgdata_MODULES): Add loopback.mod.
39740 (loopback_mod_SOURCES): New variable.
39741 (loopback_mod_CFLAGS): Likewise.
39742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39743 `disk/loopback.c'.
39744 (pkgdata_MODULES): Add loopback.mod.
39745 (loopback_mod_SOURCES): New variable.
39746 (loopback_mod_CFLAGS): Likewise.
39747 * disk/loopback.c: new file.
39748 * include/grub/normal.h (grub_loop_init): New prototype.
39749 (grub_loop_fini): New prototype.
39750 * util/grub-emu.c (main): Initialize and de-initialize loopback
39751 support.
39752 * include/grub/disk.h (grub_disk_dev_id): Add
39753 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
39754
6f1c18bd 397552005-01-20 Hollis Blanchard <hollis@penguinppc.org>
39756
39757 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
39758 function.
39759 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
39760 (suspend_mod_SOURCES): New variable.
39761 (suspend_mod_CFLAGS): Likewise.
39762 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
39763 New prototype.
39764 * commands/ieee1275/suspend.c: New file.
39765
b38551da 397662005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39767
39768 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 39769 ((unused))' to `__attribute__ ((used))'.
b38551da 39770 (GRUB_MOD_FINI): Likewise.
39771 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
39772 * genmk.rb (PModule): Assign space to common symbols when linking
39773 modules.
39774
777aff39 397752005-01-20 Marco Gerards <metgerards@student.han.nl>
39776
39777 * include/grub/mm.h (grub_mm_init_region): Change the type of the
39778 `unsigned' arguments to `grub_size_t'.
39779 (grub_malloc): Likewise.
39780 (grub_realloc): Likewise.
39781 (grub_memalign): Likewise.
39782 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
39783 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39784 * util/misc.c (grub_malloc): Likewise.
39785 (grub_realloc): Likewise.
39786 * kern/mm.c (get_header_from_pointer): Change the casts to
39787 `unsigned' into a cast to `grub_size_t'.
39788
39789 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
39790 point to `currnode' when `currnode' is changed.
39791
39792 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
39793 Schottelius <nico-linux@schottelius.org>.
39794
d0ff18e1 397952005-01-09 Hollis Blanchard <hollis@penguinppc.org>
39796
39797 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
39798 (note_path): Remove variable.
39799 (GRUB_IEEE1275_NOTE_NAME): New macro.
39800 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
39801 (grub_ieee1275_note_hdr): New structure.
39802 (grub_ieee1275_note_desc): Likewise.
39803 (grub_ieee1275_note): Likewise.
39804 (load_note): Remove `dir' argument. All callers updated. Remove
39805 `note_img' and `path'. Do not load a file from `note_path'.
39806 Initialize a struct grub_ieee1275_note and write that to `out'.
39807 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
39808
4ca7004c 398092005-01-05 Marco Gerards <metgerards@student.han.nl>
39810
39811 * util/misc.c (grub_util_read_image): Revert last change. It
39812 called `grub_util_read_at', which seeks from the beginning of the
39813 file.
39814
0b412211 398152005-01-04 Hollis Blanchard <hollis@penguinppc.org>
39816
39817 * TODO: Add note about endianness in grub-mkimage.
39818 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
39819 section.
39820 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
39821 (grub_mkimage_SOURCES): New target.
39822 * include/grub/kernel.h (grub_start_addr): Remove variable.
39823 (grub_end_addr): Likewise.
39824 (grub_total_module_size): Likewise.
39825 (grub_kernel_image_size): Likewise.
39826 (GRUB_MODULE_MAGIC): New constant.
39827 (grub_module_info): New structure.
39828 (grub_arch_modules_addr): New prototype.
39829 (grub_get_end_addr): Remove prototype.
39830 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
39831 * include/grub/powerpc/ieee1275/kernel.h: New file.
39832 * include/grub/util/misc.h (grub_util_get_fp_size): New
39833 prototype.
39834 (grub_util_read_at): Likewise.
39835 (grub_util_write_image_at): Likewise.
39836 * kern/main.c (grub_get_end_addr): Remove function.
39837 (grub_load_modules): Call grub_arch_modules_addr instead of using
39838 grub_end_addr. Look for a grub_module_info struct in memory. Use
39839 the grub_module_info fields instead of calling grub_get_end_addr
39840 as loop conditions. Move grub_add_unused_region code here.
39841 (grub_add_unused_region): Remove function.
39842 * kern/i386/pc/init.c: Include grub/cache.h.
39843 (grub_machine_init): Remove call to grub_get_end_addr. Remove
39844 one call to add_mem_region.
39845 (grub_arch_modules_addr): New function.
39846 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
39847 (grub_total_module_size): Likewise.
39848 Include grub/machine/kernel.h.
39849 (grub_arch_modules_addr): New function.
39850 * util/grub-emu.c (grub_end_addr): Remove variable.
39851 (grub_total_module_size): Likewise.
39852 (grub_arch_modules_addr): New function.
39853 * util/misc.c: Include unistd.h.
39854 (grub_util_get_fp_size): New function.
39855 (grub_util_read_at): Likewise.
39856 (grub_util_write_image_at): Likewise.
39857 (grub_util_read_image): Call grub_util_read_at.
39858 (grub_util_write_image): Call grub_util_write_image_at.
39859 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
39860 additional memory in kernel_img for a struct grub_module_info.
39861 Fill in that grub_module_info.
39862 * util/powerpc/ieee1275/grub-mkimage.c: New file.
39863
458786f8 398642005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39865
39866 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
39867 New function.
39868 * include/grub/powerpc/ieee1275/ieee1275.h
39869 (grub_ieee1275_milliseconds): New prototype.
39870 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
39871 Change to 1000.
39872 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
39873 grub_ieee1275_milliseconds.
39874
ac507d1b 398752005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39876
39877 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
39878 variable.
39879 (find_options): New function.
39880 (cmain): Call find_options.
39881 * include/grub/powerpc/ieee1275/ieee1275.h
39882 (grub_ieee1275_realmode): New extern variable.
39883 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
39884 grub_map if grub_ieee1275_realmode is false.
39885
6b8fd1c4 398862004-12-29 Marco Gerards <metgerards@student.han.nl>
39887
39888 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
39889 lines are inserted and make it work like readline. Reported by
39890 Vincent Pelletier <subdino2004@yahoo.fr>.
39891
8514a1e0 398922004-12-28 Marco Gerards <metgerards@student.han.nl>
39893
39894 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
39895
39896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
39897 `kern/powerpc/cache.S'.
39898
924b6140 398992004-12-27 Marco Gerards <metgerards@student.han.nl>
39900
39901 * genmk.rb: Handle the `Program' class in the main loop. Written
39902 by Johan Rydberg <jrydberg@gnu.org>.
39903 (Program): New class.
39904 (programs): New variable.
39905 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
39906 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
39907 instead of "grub/kernel.h". Include <grub/machine/init.h>.
39908 (help_arch): Function removed.
39909 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
39910 `powerpc/libgcc.h' and `loader.h'.
39911 (pkgdata_PROGRAMS): New variable.
39912 (sbin_UTILITIES): Variable removed.
39913 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
39914 (grubof_SOURCES): Variable re-defined so it only includes the
39915 core functionality.
39916 (grubof_CFLAGS): Remove `-DGRUBOF'.
39917 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
39918 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
39919 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
39920 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
39921 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
39922 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
39923 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
39924 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
39925 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
39926 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
39927 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39928 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
39929 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
39930 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
39931 (pc_mod_CFLAGS): New variables.
39932 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
39933 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
39934 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
39935 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
39936 Moved from here...
39937 * include/grub/i386/pc/init.h (grub_os_area_addr)
39938 (rub_os_area_size): ... to here.
39939 * include/grub/powerpc/ieee1275/ieee1275.h
39940 (grub_ieee1275_entry_fn): Export symbol.
39941 * include/grub/powerpc/ieee1275/init.h: New file.
39942 * include/grub/powerpc/libgcc.h: Likewise.
39943 * include/grub/cache.h: Likewise.
39944 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
39945 <hollis@penguinppc.org>.
39946 * kern/dl.c: Include <grub/cache.h>.
39947 (grub_dl_flush_cache): New function.
39948 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
39949 for this module.
39950 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
39951 (grub_console_init): Removed prototypes.
39952 (grub_machine_init): Don't initialize the modules anymore.
39953 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
39954 static.
39955 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
39956 Macro undef removed.
39957 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
39958 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
39959 relocation `R_PPC_REL32'. Return an error when the relocation is
39960 unknown.
39961 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
39962 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
39963 * util/misc.c (grub_arch_sync_caches): Likewise.
39964
e4b47e0c 399652004-12-19 Marco Gerards <metgerards@student.han.nl>
39966
39967 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
39968 `symlist.c', add `grubof_symlist.c'.
39969 (symlist.c): Variable removed.
39970 (grubof_HEADERS): Variable added.
39971 (grubof_symlist.c): New target.
39972 (kernel_syms.lst): Use `grubof_HEADERS' instead of
39973 `kernel_img_HEADERS'.
39974 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
39975 * kern/powerpc/dl.c: New file.
39976 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
39977 Function removed.
39978 (grub_arch_dl_relocate_symbols): Likewise.
39979 (grub_register_exported_symbols): Likewise.
39980
4ceb3636 399812004-12-13 Marco Gerards <metgerards@student.han.nl>
39982
39983 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
39984 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
39985 to fail instead. Reported by Vincent Pelletier
39986 <subdino2004@yahoo.fr>.
39987
39988 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
39989 it is not allocated. Reported by Vincent Pelletier
39990 <subdino2004@yahoo.fr>.
39991
39992 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
39993 output so the output looks better.
f19dbdb7 39994
3f1578fe 399952004-12-04 Marco Gerards <metgerards@student.han.nl>
39996
39997 Modulize the partition map support and add support for the amiga
39998 partition map.
f19dbdb7 39999
3f1578fe 40000 * commands/ls.c: Include <grub/partition.h> instead of
40001 <grub/machine/partition.h>.
40002 * kern/disk.c: Likewise.
40003 * kern/rescue.c: Likewise.
40004 * loader/i386/pc/chainloader.c: Likewise.
40005 * normal/cmdline.c: Likewise.
40006 * kern/powerpc/ieee1275/init.c: Likewise.
40007 (grub_machine_init): Call `grub_pc_partition_map_init',
40008 `grub_amiga_partition_map_init' and
40009 `grub_apple_partition_map_init'.
40010 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
40011 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
40012 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
40013 `partition.h' and `pc_partition.h'.
40014 (grub_setup_SOURCES): Remove
40015 `disk/i386/pc/partition.c'. Add `kern/partition.c',
40016 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40017 (grub_emu_SOURCES): Likewise.
40018 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
40019 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
40020 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
40021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
40022 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
40023 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40024 (grubof_SOURCES): Likewise.
40025 * disk/i386/pc/partition.c: File removed.
40026 * disk/powerpc/ieee1275/partition.c: Likewise.
40027 * include/grub/powerpc/ieee1275/partition.h: Likewise.
40028 * include/grub/i386/pc/partition.h: Likewise.
40029 * kern/partition.c: New file.
40030 * partmap/amiga.c: Likewise.
40031 * partmap/apple.c: Likewise.
40032 * partmap/pc.c: Likewise.
40033 * include/grub/partition.h: Likewise..
40034 * include/grub/pc_partition.h: Likewise.
40035 * util/grub-emu.c: Include <grub/partition.h> instead of
40036 <grub/machine/partition.h>.
40037 (main): Call `grub_pc_partition_map_init',
40038 `grub_amiga_partition_map_init' and
40039 `grub_apple_partition_map_init' and deinitialize afterwards.
40040 * util/i386/pc/biosdisk.c: Include `#include
40041 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40042 `<grub/machine/partition.h>'.
40043 * util/i386/pc/grub-setup.c: Likewise.
40044 * util/i386/pc/biosdisk.c: Likewise.
40045 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
40046 partition information in case of a PC partition.
40047 * util/i386/pc/grub-setup.c: Include `#include
40048 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40049 `<grub/machine/partition.h>'.
40050 (setup): Only access the PC specific partition information in case
40051 of a PC partition.
40052
0ef4ced9 400532004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40054
0ef4ced9 40055 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
40056 (grub_longjmp): Likewise.
40057 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
40058 20.
40059 * normal/powerpc/setjmp.S: New file.
40060 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
40061 `normal/powerpc/setjmp.S'.
40062 (grubof_CFLAGS): Add `-DGRUBOF'.
40063 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
40064 [GRUB_UTIL && !GRUBOF].
f19dbdb7 40065
19950e29 400662004-11-16 Marco Gerards <metgerards@student.han.nl>
40067
40068 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
40069 property named `name'. Correctly handle the error returned by
40070 `grub_ieee1275_finddevice' if a device can not be opened.
40071
a2fea427 400722004-11-02 Hollis Blanchard <hollis@penguinppc.org>
40073
40074 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
40075 `actual' for negativity.
40076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
40077 kern/fshelp.c.
40078
41ea0ea3 400792004-11-01 Marco Gerards <metgerards@student.han.nl>
40080
40081 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
40082 (PAGE_OFFSET): New macro.
40083 (CRTC_ADDR_PORT): Likewise.
40084 (CRTC_DATA_PORT): Likewise.
40085 (START_ADDR_HIGH_REGISTER): Likewise.
40086 (START_ADDR_LOW_REGISTER): Likewise.
40087 (GRAPHICS_ADDR_PORT): Likewise.
40088 (GRAPHICS_DATA_PORT): Likewise.
40089 (READ_MAP_REGISTER): Likewise.
40090 (INPUT_STATUS1_REGISTER): Likewise.
40091 (INPUT_STATUS1_VERTR_BIT): Likewise.
40092 (page): New variable.
40093 (wait_vretrace): New function.
40094 (set_read_map): Likewise.
40095 (set_start_address): Likewise.
40096 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
40097 the right page.
40098 (check_vga_mem): Take the page into account.
40099 (write_char): Likewise.
40100 (write_cursor): Likewise.
40101 (scroll_up): Likewise. Copy the page to the page that is not
40102 shown and switch between both pages.
40103 (grub_vga_putchar): Fix off by one error.
40104 (grub_vga_cls): Wait for the vertical retrace. Take the page into
40105 account.
40106
ad0bd20b 401072004-11-01 Marco Gerards <metgerards@student.han.nl>
40108
40109 Add support for iso9660 (including rockridge).
f19dbdb7 40110
ad0bd20b 40111 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
40112 (iso9660_mod_SOURCES): New variable.
40113 (iso9660_mod_CFLAGS): Likewise.
40114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
40115 * include/grub/fs.h (grub_iso9660_init): New prototype.
40116 * util/grub-emu.c (main): Call `grub_iso9660_init'.
40117 * fs/iso9660.c: New file.
40118
40119 * include/grub/misc.h (grub_strncat): New prototype.
40120 * kern/misc.c (grub_strncat): New function.
f19dbdb7 40121
ad0bd20b 40122 * fs/hfs.c (grub_hfs_mount): Translate the error
40123 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
40124 * fs/jfs.c (grub_jfs_mount): Likewise.
40125 * fs/ufs.c (grub_ufs_mount): Likewise.
40126
a5477a59 401272004-10-28 Hollis Blanchard <hollis@penguinppc.org>
40128
40129 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
40130 which initialized BAT registers.
40131 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
40132 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
40133 Move from here...
40134 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
40135 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
40136 ... to here.
40137 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
40138 (grub_mapclaim): Likewise.
40139 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
40140 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
40141 hand.
40142
9304c1f8 401432004-10-19 Hollis Blanchard <hollis@penguinppc.org>
40144
40145 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
40146 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
40147 -ffreestanding and -msoft-float.
40148
86f4ae25 401492004-10-15 Hollis Blanchard <hollis@penguinppc.org>
40150
40151 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
40152 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
40153 set in grub_ieee1275_flags.
40154
38912228 401552004-10-14 Hollis Blanchard <hollis@penguinppc.org>
40156
40157 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
40158 prototype.
40159 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
40160 grub_console_init first.
40161 Change the memory range used for grub_ieee1275_claim and
40162 grub_mm_init_region.
40163 Print an error message if the claim fails.
40164 Include <grub/misc.h>.
40165
d1923dc8 401662004-10-13 Hollis Blanchard <hollis@penguinppc.org>
40167
40168 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
40169 Call grub_children_iterate for device nodes of type `scsi',
40170 `ide', or `ata'.
40171 (grub_ofdisk_open): Remove manual device alias resolution.
40172 Fix memory leak when device cannot be opened.
f19dbdb7 40173 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 40174 (grub_children_iterate): New prototype.
40175 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
40176 New function.
40177 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40178 Return -1 if args.size was -1.
40179
4512e4f3 401802004-10-11 Hollis Blanchard <hollis@penguinppc.org>
40181
40182 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
40183 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
40184 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
40185 Open Firmware's memory for it; claim memory from _start to _end.
40186 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
40187 (_end): New extern.
40188 (_start): Zero BSS from __bss_start to _end.
40189 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40190 New extern.
40191 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
40192
4d61feb0 401932004-10-11 Hollis Blanchard <hollis@penguinppc.org>
40194
ad0bd20b 40195 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
40196 -1 if args.base was -1.
4d61feb0 40197
026fa2f9 401982004-10-08 Hollis Blanchard <hollis@penguinppc.org>
40199
40200 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
40201 escape sequence instead of a literal ^L. Also call
40202 grub_ofconsole_gotoxy.
40203
9f2220ef 402042004-10-03 Hollis Blanchard <hollis@penguinppc.org>
40205
40206 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
40207 void * arguments to grub_addr_t. All callers updated. Also make
40208 the `result' argument optional.
40209 (grub_ieee1275_release): change void * arguments to grub_addr_t.
40210 All callers updated.
40211
8a572cd7 402122004-09-22 Hollis Blanchard <hollis@penguinppc.org>
40213
40214 * commands/ls.c (grub_ls_list_files): Use the string following the
40215 initial ')', if present, as the filesystem path.
40216 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
40217
40218 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
40219
18aa81f2 402202004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
40221
40222 Make the source code of the menu interface more readable.
f19dbdb7 40223
18aa81f2 40224 * normal/menu.c: Include grub/mm.h.
40225 (TERM_WIDTH): New macro.
40226 (TERM_HEIGHT): Likewise.
40227 (TERM_INFO_HEIGHT): Likewise.
40228 (TERM_MARGIN): Likewise.
40229 (TERM_SCROLL_WIDTH): Likewise.
40230 (TERM_TOP_BORDER_Y): Likewise.
40231 (TERM_LEFT_BORDER_X): Likewise.
40232 (TERM_BORDER_WIDTH): Likewise.
40233 (TERM_MESSAGE_HEIGHT): Likewise.
40234 (TERM_BORDER_HEIGHT): Likewise.
40235 (TERM_NUM_ENTRIES): Likewise.
40236 (TERM_FIRST_ENTRY_Y): Likewise.
40237 (TERM_ENTRY_WIDTH): Likewise.
40238 (TERM_CURSOR_X): Likewise.
40239 (draw_border): Use macros instead of magic numbers.
40240 (print_entry): Likewise.
40241 (print_entries): Likewise.
40242 (run_menu): Likewise. Also, handle the key 'e'.
40243 (run_menu_entry): Ignore empty command lines.
40244 (print_message): Added a new argument EDIT. If EDIT is true,
40245 print a different message.
40246 (init_page): Likewise.
40247 (edit_menu_entry): New function. Not implemented yet.
40248
b47efe30 402492004-09-17 Marco Gerards <metgerards@student.han.nl>
40250
40251 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
40252 can be loaded from normal mode.
f19dbdb7 40253
b47efe30 40254 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
40255 `multiboot.mod'.
40256 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
40257 (multiboot_mod_CFLAGS): New variables.
40258 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 40259 * loader/i386/pc/multiboot_normal.c: Likewise.
40260
b47efe30 40261 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
40262 attribute `unused'.
f19dbdb7 40263
b47efe30 40264 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
40265 `fdiro' to read the mode information from instead of `diro'.
40266
40267 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
40268 looking up a symlink.
40269
40270 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
40271 macro.
40272 * normal/command.c (grub_command_execute): Don't parse the
40273 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
40274 flags of the command.
40275
40276 * normal/menu.c (grub_menu_run): Fix typo.
40277
da75ac71 402782004-09-14 Hollis Blanchard <hollis@penguinppc.org>
40279
40280 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
40281
40282 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
40283 `y + 1' instead of `y - 1'.
40284
40285 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 40286
062b24c2 402872004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
40288
40289 From Hollis Blanchard <hollis@penguinppc.org>:
40290 * kern/misc.c (memmove): New alias for grub_memmove.
40291 (memcmp): New alias for grub_memcmp.
40292 (memset): New alias for grub_memset.
f19dbdb7 40293 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 40294 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 40295 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 40296 (grub_ieee1275_get_property): Likewise.
f19dbdb7 40297
8ddad845 402982004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
40299
40300 Added normal mode command `chainloader' as module chain.mod, which
40301 depends on normal.mod and _chain.mod.
f19dbdb7 40302
8ddad845 40303 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
40304 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
40305 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
40306 Deleted prototype.
40307 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
40308 but arguments parsing moved to ...
40309 (grub_chainloader_cmd): ... here. New function.
40310 * include/grub/i386/pc/chainloader.h: New file.
40311 * loader/i386/pc/chainloader_normal.c: Likewise.
40312
2c1f4ce3 403132004-09-11 Marco Gerards <metgerards@student.han.nl>
40314
40315 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
40316 (grub_mkimage_LDFLAGS): Likewise.
40317 (grub_emu_SOURCES): Likewise.
40318 (kernel_img_HEADERS): Added fshelp.h.
40319 * fs/ext2.c: Include <grub/fshelp.h>.
40320 (FILETYPE_REG): New macro.
40321 (FILETYPE_INO_REG): Likewise.
40322 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
40323 Changed all users.
40324 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
40325 all users.
40326 (grub_fshelp_node): New struct.
40327 (grub_ext2_data): Added member `diropen'. Changed member `inode'
40328 to a pointer.
40329 (grub_ext2_get_file_block): Removed function.
40330 (grub_ext2_read_block): New function.
40331 (grub_ext2_read_file): Replaced parameter `data' by `node'.
40332 This function was written.
40333 (grub_ext2_mount): Read the root inode. Create a diropen struct.
40334 (grub_ext2_find_file): Removed function.
40335 (grub_ext2_read_symlink): New function.
40336 (grub_ext2_iterate_dir): Likewise.
40337 (grub_ext2_open): Rewritten.
40338 (grub_ext2_dir): Rewritten.
40339 * include/grub/fshelp.h: New file.
40340 * fs/fshelp.c: Likewise.
40341
3c52136a 403422004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
40343
40344 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
40345 (print_message): Add a missing newline.
40346 (run_menu): Added timeout support.
40347 (run_menu_entry): New local function.
40348 (grub_menu_run): Added support for booting.
40349
40350 * kern/loader.c (grub_loader_is_loaded): New function.
40351
40352 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
40353 (grub_get_rtc): Exported.
40354
40355 * include/grub/i386/pc/time.h: Include grub/symbol.h.
40356 (grub_get_rtc): Exported.
40357
40358 * include/grub/normal.h (struct grub_command_list): Remove
40359 constant from the member `command'.
40360
40361 * include/grub/loader.h (grub_loader_is_loaded): Declared.
40362
40363 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
40364
40365 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
40366
aa033560 403672004-08-28 Marco Gerards <metgerards@student.han.nl>
40368
40369 Add support for the JFS filesystem.
40370
40371 * fs/jfs.c: New file.
40372 * include/grub/fs.h (grub_jfs_init): New prototype.
40373 (grub_jfs_fini): New prototype.
40374 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
40375 (grub_emu_SOURCES): Likewise.
40376 (pkgdata_MODULES): Add jfs.mod.
40377 (jfs_mod_SOURCES): New variable.
40378 (jfs_mod_CFLAGS): Likewise.
40379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
40380 (grubof_SOURCES): Likewise.
40381 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
40382
40383 * fs/fat.c (grub_fat_find_dir): Convert the filename little
40384 endian to the host endian.
40385 (grub_fat_utf16_to_utf8): Move function from there...
40386 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 40387 the endianness of the source string anymore.
aa033560 40388 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
40389
94bc45af 403902004-08-24 Marco Gerards <metgerards@student.han.nl>
40391
40392 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
40393 (grub_boot_fini) [GRUB_UTIL]: Likewise.
40394 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
40395 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 40396
94bc45af 40397 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
40398 (grub_hfs_iterate_dir): Make the function static. Add prototypes
40399 for `node_found' and `it_dir'.
40400 (grub_hfs_dir): Add prototype for `dir_hook'.
40401
40402 * fs/minix.c (grub_minix_get_file_block): Add prototype for
40403 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
40404 and `indir32' to silence a gcc warning.
40405
40406 * include/grub/fs.h (grub_hfs_init): New prototype.
40407 (grub_hfs_fini): Likewise.
f19dbdb7 40408
40409
97543f08 404102004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40411
40412 Each disk device has its own id now. This is useful to make use
40413 of multiple disk devices.
f19dbdb7 40414
97543f08 40415 * include/grub/disk.h (grub_disk_dev_id): New enum.
40416 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
40417 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
40418
40419 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
40420 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
40421
40422 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
40423 GRUB_DISK_DEVICE_OFDISK_ID as an id.
40424
40425 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
40426 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
40427
40428 * include/grub/disk.h (struct grub_disk_dev): Added a new member
40429 "id" which is used by the cache manager.
40430
40431 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
40432 of just "GRUB".
40433
64372eb4 404342004-08-18 Marco Gerards <metgerards@student.han.nl>
40435
40436 * fs/hfs.c: New file.
40437 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
40438 (grub_emu_SOURCES): Likewise.
40439 (pkgdata_MODULES): Add hfs.mod.
40440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
40441 (grubof_SOURCES): Likewise.
40442 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
40443
40444 * include/grub/misc.h (grub_strncasecmp): Add prototype.
40445 * kern/misc.c (grub_strncasecmp): Add function.
40446
cc61b58f 404472004-08-14 Marco Gerards <metgerards@student.han.nl>
40448
40449 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
40450 with parentheses.
40451
40452 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
40453 (grub_ext2_dir): In case the directory entry type is unknown, read
40454 it from the inode.
40455
0ef123f6 404562004-08-02 Peter Bruin <pjbruin@dds.nl>
40457
40458 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
40459 grub_load_linux instead of grub_rescue_cmd_linux as second
40460 argument of grub_rescue_register_command.
40461
40462 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
40463
a447c5df 404642004-07-27 Marco Gerards <metgerards@student.han.nl>
40465
40466 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
40467 function.
40468 * commands/boot.c: Remove the check for `GRUB_UTIL'.
40469 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
40470 `loader/powerpc/ieee1275/linux.c',
40471 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
40472 * include/grub/powerpc/ieee1275/ieee1275.h
40473 (grub_ieee1275_release): New prototype.
40474 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
40475 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
40476 normal, boot, linux and linux_normal.
40477 * loader/powerpc/ieee1275/linux.c: New file.
40478 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40479
5a9e3546 404802004-07-12 Marco Gerards <metgerards@student.han.nl>
40481
40482 * normal/arg.c (grub_arg_parse): Correct error handling after
40483 reallocating the argumentlist (check if `argl' is not null instead
40484 of checking if `args' is not null).
40485 * kern/mm.c (grub_realloc): Return the same pointer when using the
40486 same region, instead of returning the header address.
40487
e15199cb 404882004-07-11 Marco Gerards <metgerards@student.han.nl>
40489
40490 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
40491 one block instead of two when looking for the initial partition.
40492 (grub_partition_probe): Initialize the local variable `p' with 0.
40493 Use base 10 for the grub_strtoul call.
40494 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
40495 need for one local variable.
40496 (grub_strtoul): Don't add the new value to `num', instead of that
40497 just assign it.
40498
020616c2 404992004-07-11 Marco Gerards <metgerards@student.han.nl>
40500
40501 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
40502 (pxeboot_img_SOURCES): New variable.
40503 (pxeboot_img_ASFLAGS): Likewise.
40504 (pxeboot_img_LDFLAGS): Likewise.
40505 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
40506 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
40507 <lode_leroy@hotmail.com>.
40508
6c51eb64 405092004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
40510
40511 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
40512 there was no input.
40513
cfb12aff 405142004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
40515
40516 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
40517 the history buffer logic.
40518
6eabba74 405192004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
40520
40521 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
40522 (FILETYPE_INO_SYMLINK): New macros.
40523 (grub_ext2_find_file): Check if the node is a directory using the
40524 inode stat information instead of using the filetype in the
40525 dirent. Exclude the first character of an absolute symlink.
40526 (grub_ext2_dir): Mask out the filetype part of the mode member of
40527 the inode.
40528
66e19ef8 405292004-05-24 Marco Gerards <metgerards@student.han.nl>
40530
40531 Add support for UFS version 1 and 2. Add support for the minix
40532 filesystem version 1 and 2, both the variants with 14 and 30 long
40533 filenames.
f19dbdb7 40534
66e19ef8 40535 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
40536 fs/minix.c.
40537 (grub_emu_SOURCES): Likewise.
40538 (pkgdata_MODULES): Add ufs.mod and minix.mod.
40539 (ufs_mod_SOURCES): New variable.
40540 (ufs_mod_CFLAGS): Likewise.
40541 (minix_mod_SOURCES): Likewise.
40542 (minix_mod_CFLAGS): Likewise.
40543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
40544 fs/minix.c.
40545 (grubof_SOURCES): Likewise.
40546 * fs/ufs.c: New file.
40547 * fs/minix.c: New file.
40548 * include/grub/fs.h (grub_ufs_init): New prototype.
40549 (grub_ufs_fini): Likewise.
40550 (grub_minix_init): Likewise.
40551 (grub_minix_fini): Likewise.
40552 * util/grub-emu.c (main): Initialize and deinitialize UFS and
40553 minix fs.
40554
cc2e748a 405552004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
40556
40557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
40558 commands/ls.c, commands/terminal.c, commands/boot.c,
40559 commands/cmp.c and commands/cat.c.
40560 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
40561
40562 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
40563 "env.h"
40564
4b13b216 405652004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40566
40567 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
40568 and grub_, respectively. Because the conversion is trivial and
40569 mechanical, I omit the details here. Please refer to the CVS
40570 if you need more information.
40571
6a142551 405722004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40573
40574 * include/pupa: Renamed to ...
40575 * include/grub: ... this.
40576 * util/i386/pc/pupa-mkimage.c: Renamed to ...
40577 * util/i386/pc/grub-mkimage.c: ... this.
40578 * util/i386/pc/pupa-setup.c: Renamed to ...
40579 * util/i386/pc/grub-setup.c: ... this.
40580 * util/pupa-emu.c: Renamed to ...
40581 * util/grub-emu.c: ... this.
40582
e56cdf21 405832004-03-29 Marco Gerards <metgerards@student.han.nl>
40584
40585 Add support for the newworld apple macintosh (PPC). This has been
40586 tested on the powerbook 2000 only. It only adds support for
40587 generic ieee1275 functions, console and disk support. This should
40588 be easy to port to other architectures with support for Open
40589 Firmware.
f19dbdb7 40590
e56cdf21 40591 * configure.ac: Accept the powerpc as host_cpu. In the case of
40592 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
40593 specific tests are only executed while building for the i386.
40594 Inverse test for crosscompile.
40595 * genmk.rb (Utility): Allow assembler files.
40596 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
40597 * conf/powerpc-ieee1275.rmk: New file.
40598 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
40599 * disk/powerpc/ieee1275/partition.c: Likewise.
40600 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
40601 * include/pupa/powerpc/ieee1275/console.h: Likewise.
40602 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
40603 * include/pupa/powerpc/ieee1275/time.h: Likewise.
40604 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
40605 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
40606 * include/pupa/powerpc/ieee1275/loader.h
40607 * include/pupa/powerpc/setjmp.h: Likewise.
40608 * include/pupa/powerpc/types.h: Likewise.
40609 * kern/powerpc/ieee1275/init.c: Likewise.
40610 * kern/powerpc/ieee1275/openfw.c: Likewise.
40611 * term/powerpc/ieee1275/ofconsole.c: Likewise.
40612
40613 These files were written by Johan Rydberg
40614 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 40615
e56cdf21 40616 * boot/powerpc/ieee1275/cmain.c: New file.
40617 * boot/powerpc/ieee1275/crt0.S: Likewise.
40618 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
40619 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
40620
8c8cc205 406212004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
40622
40623 * Makefile.in: Update copyright.
40624 * genmodsrc.sh: Likewise.
40625 * gensymlist.sh: Likewise.
40626 * term/i386/pc/vga.c: Indent correctly.
40627
40628 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
40629 bugreporting address.
40630 * util/i386/pc/pupa-setup.c (usage): Likewise,
40631 (main): Call pupa_ext2_init and pupa_ext2_fini.
40632
f19dbdb7 40633 * fs/fat.c (log2): Renamed to ...
8c8cc205 40634 (fat_log2): ... this.
40635 All callers changed.
40636 * kern/misc.c (memcpy): Alias to pupa_memmove.
40637 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
40638 lvalue cast.
40639 * util/console.c (pupa_ncurses_fini): Return 0.
40640
40641 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
40642 Move fail label here.
40643 [__GNU__]: Don't warn when using stat.
40644 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
40645 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
40646 long int. Use strtol instead of strtoul.
f19dbdb7 40647
db1771cf 406482004-03-14 Marco Gerards <metgerards@student.han.nl>
40649
40650 * commands/boot.c: New file.
40651 * commands/cat.c: Likewise.
40652 * commands/cmp.c: Likewise.
40653 * commands/ls.c: Likewise.
40654 * commands/terminal.c: Likewise.
40655 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
40656 (pupa_register_command): Changed interface to match the new
40657 argument parser.
40658 (pupa_command_execute): Changed (almost rewritten) so it uses
40659 pupa_split_command. Added support for setting variables using the
40660 syntax `foo=bar'.
40661 (rescue_command): Changed to work with the new argument parser.
40662 (terminal_command): Moved from here to commands/terminal.c.
40663 (set_command): New function.
40664 (unset_command): New function.
40665 (insmod_command): New function.
40666 (rmmod_command): New function.
40667 (lsmod_command): New function.
40668 (pupa_command_init): Don't initialize the command terminal
40669 anymore. Initialize the commands set, unset, insmod, rmmod and
40670 lsmod.
40671 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
40672 (kernel_img_HEADERS): Add arg.h and env.h.
40673 (pupa_mkimage_LDFLAGS): Add kern/env.c.
40674 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
40675 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
40676 normal/arg.c.
40677 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
40678 terminal.mod.
40679 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
40680 (boot_mod_SOURCES): New variable.
40681 (terminal_mod_SOURCES): Likewise.
40682 (ls_mod_SOURCES): Likewise.
40683 (cmp_mod_SOURCES): Likewise.
40684 (cat_mod_SOURCES): Likewise.
40685
40686 * normal/arg.c: New file.
40687 * kern/env.c: Likewise.
40688 * include/pupa/arg.h: Likewise.
40689 * include/pupa/env.h: Likewise.
40690 * font/manager.c (font_command): Changed to match argument parsing
40691 interface changes.
40692 (PUPA_MOD_INIT): Likewise.
40693 * hello/hello.c (pupa_cmd_hello): Likewise.
40694 (PUPA_MOD_INIT): Likewise.
40695 * include/pupa/disk.h: Include <pupa/device.h>.
40696 (pupa_print_partinfo): New prototype.
40697 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
40698 (pupa_dl_get_prefix): Likewise.
40699 * include/pupa/misc.h: Include <pupa/err.h>.
40700 (pupa_isgraph): New prototype.
40701 (pupa_isdigit): Likewise.
40702 (pupa_split_cmdline): Likewise.
40703 * include/pupa/normal.h: Include <pupa/arg.h>.
40704 (pupa_command): Changed the prototype of the member `func' to
40705 match the argument parsing interface. Added member `options'.
40706 (pupa_register_command): Updated to match function.
40707 (pupa_arg_parse): New prototype.
40708 (pupa_hello_init) [PUPA_UTIL]: New prototype.
40709 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
40710 (pupa_ls_init) [PUPA_UTIL]: Likewise.
40711 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
40712 (pupa_cat_init) [PUPA_UTIL]: Likewise.
40713 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
40714 (pupa_boot_init) [PUPA_UTIL]: Likewise.
40715 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
40716 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
40717 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
40718 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
40719 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
40720 * kern/disk.c: Include <pupa/file.h>.
40721 (pupa_print_partinfo): New function.
40722 * kern/dl.c: Include <pupa/env.h>.
40723 (pupa_dl_dir): Variable removed.
40724 (pupa_dl_load): Use the environment variable `prefix' instead of
40725 the variable pupa_dl_dir.
40726 (pupa_dl_set_prefix): Function removed.
40727 (pupa_dl_get_prefix): Likewise.
40728 * kern/i386/pc/init.c: Include <pupa/env.h>.
40729 (pupa_machine_init): Use the environment variable `prefix' instead of
40730 using pupa_dl_set_prefix to set the prefix.
40731 * kern/main.c: Include <pupa/env.h>.
40732 (pupa_set_root_dev): Use the environment variable `prefix' instead of
40733 using pupa_dl_get_prefix to get the prefix.
40734 * kern/misc.c: Include <pupa/env.h>.
40735 (pupa_isdigit): New function.
40736 (pupa_isgraph): Likewise.
40737 (pupa_ftoa): Likewise.
40738 (pupa_vsprintf): Added support for printing values of the type
40739 `double'. Make it possible to format variable output when using
40740 formatting like `%1.2%f'.
40741 (pupa_split_cmdline): New function.
40742 * kern/rescue.c: Include <pupa/env.h>.
40743 (next_word): Removed function.
40744 (pupa_rescue_cmd_prefix): Likewise.
40745 (pupa_rescue_cmd_set): New function.
40746 (pupa_rescue_cmd_unset): New function.
40747 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
40748 split the command line instead of splitting it here. Added
40749 support for setting variables using the syntax `foo=bar'. Don't
40750 initialize the prefix command anymore. Initialized the set and
40751 unset commands.
40752 * normal/cmdline.c: Include <pupa/env.h>.
40753 (pupa_tab_complete): Added prototypes for print_simple_completion,
40754 print_partition_completion, add_completion, iterate_commands,
40755 iterate_dev, iterate_part and iterate_dir. Moved code to print
40756 partition information from here to kern/disk.c.
fe6b695a 40757 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 40758 * normal/main.c: Include <pupa/env.h>.
40759 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
40760 instead of using pupa_dl_get_prefix to get the prefix.
40761 * term/i386/pc/vga.c: Include <pupa/arg.h>.
40762 (check_vga_mem): Cast pointers to `void *' to silence a gcc
40763 warning.
40764 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
40765 (pupa_vga_setcolor): Declare unused variables with `__attribute__
40766 ((unused))' to silence a gcc warning.
40767 (pupa_vga_setcolor): Likewise.
40768 (debug_command): Changed to match argument parsing
40769 interface changes.
40770 * util/pupa-emu.c: Include <pupa/env.h>.
40771 (options): Added 0's for unused fields to silence a gcc warning.
40772 (argp): Likewise.
40773 (main): Use the environment variable `prefix' instead of using
40774 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
40775 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
40776 and terminal.
40777
40778 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
40779 * util/misc.c: Include <malloc.h>.
40780 (pupa_malloc): Rewritten so errors are correctly reported.
40781 (pupa_realloc): Likewise.
40782 (pupa_memalign): Likewise.
40783 (pupa_mm_init_region): Declare unused variables with
40784 `__attribute__ ((unused))' to silence a gcc warning.
40785 * normal/i386/setjmp.S: Remove tab at the end of the file to
40786 silence a gcc warning.
40787 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
40788 variables with `__attribute__ ((unused))' to silence a gcc
40789 warning.
40790 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
40791 local variable i unsigned to silence a gcc warning.
40792
40793 * kern/term.c: Include <pupa/misc.h>.
40794 (pupa_more_lines): New variable.
40795 (pupa_more): Likewise.
40796 (pupa_putcode): When the pager is active pause at the end of every
40797 screen.
40798 (pupa_set_more): New function.
40799 * include/pupa/term.h (pupa_set_more): New prototype.
40800
40801
3b1139cb 408022004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
40803
40804 Now this project is GRUB 2 rather than PUPA. The location of
40805 the CVS repository was moved to GRUB's.
f19dbdb7 40806
3b1139cb 40807 * configure.ac: Use bug-grub as the reporting address.
40808 Use GRUB instead of PUPA.
40809 Change the version number to 1.90.
40810
8367695c 408112004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
40812
40813 * genkernsyms.sh: Updated copyright information.
40814 * genmk.rb: Likewise.
40815 * genmodsrc.sh: Likewise.
40816 * gensymlist.sh: Likewise.
40817 * boot/i386/pc/boot.S: Likewise.
40818 * boot/i386/pc/diskboot.S: Likewise.
40819 * disk/i386/pc/biosdisk.c: Likewise.
40820 * disk/i386/pc/partition.c: Likewise.
40821 * font/manager.c: Likewise.
40822 * fs/ext2.c: Likewise.
40823 * fs/fat.c: Likewise.
40824 * include/pupa/boot.h: Likewise.
40825 * include/pupa/device.h: Likewise.
40826 * include/pupa/disk.h: Likewise.
40827 * include/pupa/dl.h: Likewise.
40828 * include/pupa/elf.h: Likewise.
40829 * include/pupa/err.h: Likewise.
40830 * include/pupa/file.h: Likewise.
40831 * include/pupa/font.h: Likewise.
40832 * include/pupa/fs.h: Likewise.
40833 * include/pupa/kernel.h: Likewise.
40834 * include/pupa/loader.h: Likewise.
40835 * include/pupa/misc.h: Likewise.
40836 * include/pupa/mm.h: Likewise.
40837 * include/pupa/net.h: Likewise.
40838 * include/pupa/normal.h: Likewise.
40839 * include/pupa/rescue.h: Likewise.
40840 * include/pupa/setjmp.h: Likewise.
40841 * include/pupa/symbol.h: Likewise.
40842 * include/pupa/term.h: Likewise.
40843 * include/pupa/types.h: Likewise.
40844 * include/pupa/i386/setjmp.h: Likewise.
40845 * include/pupa/i386/types.h: Likewise.
40846 * include/pupa/i386/pc/biosdisk.h: Likewise.
40847 * include/pupa/i386/pc/boot.h: Likewise.
40848 * include/pupa/i386/pc/console.h: Likewise.
40849 * include/pupa/i386/pc/init.h: Likewise.
40850 * include/pupa/i386/pc/kernel.h: Likewise.
40851 * include/pupa/i386/pc/linux.h: Likewise.
40852 * include/pupa/i386/pc/loader.h: Likewise.
40853 * include/pupa/i386/pc/memory.h: Likewise.
40854 * include/pupa/i386/pc/multiboot.h: Likewise.
40855 * include/pupa/i386/pc/partition.h: Likewise.
40856 * include/pupa/i386/pc/time.h: Likewise.
40857 * include/pupa/i386/pc/vga.h: Likewise.
40858 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
40859 * include/pupa/util/getroot.h: Likewise.
40860 * include/pupa/util/misc.h: Likewise.
40861 * include/pupa/util/resolve.h: Likewise.
40862 * kern/device.c: Likewise.
40863 * kern/disk.c: Likewise.
40864 * kern/dl.c: Likewise.
40865 * kern/err.c: Likewise.
40866 * kern/file.c: Likewise.
40867 * kern/fs.c: Likewise.
40868 * kern/loader.c: Likewise.
40869 * kern/main.c: Likewise.
40870 * kern/misc.c: Likewise.
40871 * kern/mm.c: Likewise.
40872 * kern/rescue.c: Likewise.
40873 * kern/term.c: Likewise.
40874 * kern/i386/dl.c: Likewise.
40875 * kern/i386/pc/init.c: Likewise.
40876 * kern/i386/pc/lzo1x.S: Likewise.
40877 * kern/i386/pc/startup.S: Likewise.
40878 * loader/i386/pc/chainloader.c: Likewise.
40879 * loader/i386/pc/linux.c: Likewise.
40880 * loader/i386/pc/multiboot.c: Likewise.
40881 * normal/cmdline.c: Likewise.
40882 * normal/command.c: Likewise.
40883 * normal/main.c: Likewise.
40884 * normal/menu.c: Likewise.
40885 * normal/i386/setjmp.S: Likewise.
40886 * term/i386/pc/console.c: Likewise.
40887 * term/i386/pc/vga.c: Likewise.
40888 * util/console.c: Likewise.
40889 * util/genmoddep.c: Likewise.
40890 * util/misc.c: Likewise.
40891 * util/pupa-emu.c: Likewise.
40892 * util/resolve.c: Likewise.
40893 * util/unifont2pff.rb: Likewise.
40894 * util/i386/pc/biosdisk.c: Likewise.
40895 * util/i386/pc/getroot.c: Likewise.
40896 * util/i386/pc/pupa-mkimage.c: Likewise.
40897 * util/i386/pc/pupa-setup.c: Likewise.
40898
e6eced71 408992004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
40900
40901 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
40902 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
40903 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
40904 reading and reset it after reading.
40905 (pupa_ext2_close): Return PUPA_ERR_NONE.
40906
40907 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
40908 Correct value.
40909 (struct linux_kernel_header): Add kernel_version and
40910 initrd_addr_max.
40911 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
40912 pupa_file_read succeeds.
40913 (pupa_rescue_cmd_initrd): Implement.
40914
5aded270 409152003-12-03 Marco Gerards <metgerards@student.han.nl>
40916
40917 * fs/ext2.c (pupa_ext2_label): New function.
40918 (pupa_ext2_fs): Added label.
40919 * fs/fat.c (pupa_fat_label): New function.
40920 (pupa_fat_fs): Added label.
40921 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
40922
40923 * kern/misc.c (pupa_strndup): New function.
40924 * include/pupa/misc.h (pupa_strndup): New prototype.
40925
40926 * include/pupa/normal.h: Include <pupa/err.h>.
40927 (pupa_set_history): New prototype.
40928 (pupa_iterate_commands): New prototype.
40929 * normal/cmdline.c: Include <pupa/machine/partition.h>,
40930 <pupa/disk.h>, <pupa/file.h>.
40931 (hist_size): New variable.
40932 (hist_lines): Likewise.
40933 (hist_end): Likewise.
40934 (hist_used): Likewise.
40935 (pupa_set_history): New function.
40936 (pupa_history_get): Likewise.
40937 (pupa_history_add): Likewise.
40938 (pupa_history_replace): Likewise.
40939 (pupa_tab_complete): Likewise.
40940 (pupa_cmdline_run): Added tab completion and history buffer. Tab
40941 completion shows partitionnames while completing partitions, this
40942 feature was suggested by Jeff Bailey.
40943 * normal/command.c (pupa_iterate_commands): New function.
40944 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
40945 (pupa_normal_init): Initialize history buffer.
40946 (PUPA_MOD_INIT): Likewise.
40947 (pupa_normal_fini): Free the history buffer.
40948 (PUPA_MOD_FINI): Likewise.
40949
40950 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
40951 key.
40952
40953 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
40954 * configure.ac [i386]: Check for regparam bug.
40955 (NESTED_FUNC_ATTR) [! i386]: Defined.
40956
1f7315a3 409572003-11-17 Marco Gerards <metgerards@student.han.nl>
40958
40959 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
40960 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
40961 (pupa_emu_SOURCES): New variable.
40962 (pupa_emu_LDFLAGS): Likewise.
40963 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
40964 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
40965 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
40966 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40967 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
40968 (pupa_jmp_buf): New typedef.
40969 (pupa_setjmp) [PUPA_UTIL]: New macro.
40970 (pupa_longjmp) [PUPA_UTIL]: Likewise.
40971 * include/pupa/term.h (struct pupa_term): New member `refresh'.
40972 (pupa_refresh): New prototype.
40973 * include/pupa/util/getroot.h: New file.
40974 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
40975 it.
40976 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
40977 (pupa_rescue_cmd_cat): Likewise.
40978 (pupa_rescue_cmd_ls): Likewise.
40979 (pupa_rescue_cmd_testload): Likewise.
40980 (pupa_rescue_cmd_lsmod): Likewise.
40981 * normal/cmdline.c (pupa_cmdline_get): Likewise.
40982 * normal/menu.c (run_menu): Likewise.
40983 * kern/term.c (pupa_cls): Likewise.
40984 (pupa_refresh): New function.
40985 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
40986 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40987 * util/console.c: New file.
f19dbdb7 40988
1f7315a3 40989 * util/i386/pc/getroot.c: New file.
40990 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
40991 (pupa_putchar): New function.
40992 (pupa_refresh): Likewise.
40993 (xgetcwd): Function moved to ...
40994 (strip_extra_slashes): Likewise.
40995 (get_prefix): Likewise.
f19dbdb7 40996 * util/i386/pc/getroot.c: ... here.
1f7315a3 40997 (find_root_device): Function moved and renamed to...
40998 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
40999 Changed all callers.
41000 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
41001 and renamed to...
41002 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
41003 Changed all callers.
41004 * util/misc.c (pupa_memalign): New function.
41005 (pupa_mm_init_region): Likewise.
41006 (pupa_register_exported_symbols): Likewise.
41007 (pupa_putchar): Function removed.
41008 * util/pupa-emu.c: New file.
41009
9a5c1ade 410102003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
41011
41012 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
41013 (_multiboot_mod_SOURCES): New variable.
41014 (_multiboot_mod_CFLAGS): Likewise.
41015 * loader/i386/pc/multiboot.c: New file.
41016 * include/pupa/i386/pc/multiboot.h: Likewise.
41017 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
41018 (pupa_multiboot_real_boot): New function.
41019 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
41020 (pupa_multiboot_real_boot): New prototype.
41021 (pupa_rescue_cmd_multiboot): Likewise
41022 (pupa_rescue_cmd_module): Likewise.
41023
41024 * kern/loader.c (pupa_loader_set): Continue when
41025 pupa_loader_unload_func() fails.
41026 (pupa_loader_unset): New function.
41027 * include/pupa/loader.h (pupa_loader_unset): New prototype.
41028
41029 * kern/misc.c (pupa_stpcpy): New function.
41030 * include/pupa/misc.h (pupa_stpcpy): New prototype.
41031
8e72a9c0 410322003-11-12 Marco Gerards <metgerards@student.han.nl>
41033
41034 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
41035 for available extensions.
41036
41037 * include/pupa/i386/pc/time.h: New file.
41038 * kern/disk.c: Include <pupa/machine/time.h>.
41039 (PUPA_CACHE_TIMEOUT): New macro.
41040 (pupa_last_time): New variable.
41041 (pupa_disk_open): Flush the cache when there was a timeout.
41042 (pupa_disk_close): Reset the timer.
41043 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
41044 pupa_currticks.
41045 * util/misc.c: Include <sys/times.h>
41046 (pupa_get_rtc): New function.
41047
c4adbd32 410482003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
41049
41050 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
41051 as blocks.
41052 (pupa_ext2_get_file_block): Use blocks member.
41053
41054 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
41055 first block. Return -1 instead of pupa_errno on error.
41056
bfd30f06 410572003-10-27 Marco Gerards <metgerards@student.han.nl>
41058
41059 * README: In the pupa-mkimage example use _chain instead of chain
41060 and ext2 instead of fat.
41061 * TODO: Replace ext2fs with jfs as an example. Add an item for
41062 adding journal playback for ext2fs.
41063 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
41064 (pkgdata_MODULES): Added ext2.mod.
41065 (ext2_mod_SOURCES): New variable.
41066 (ext2_mod_CFLAGS): Likewise.
41067 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
41068 * include/pupa/misc.h (pupa_strncpy): New prototype.
41069 (pupa_strcat): Likewise.
41070 (pupa_strncmp): Likewise.
41071 * kern/misc.c (pupa_strcat): Enable function.
41072 (pupa_strncpy): New function.
41073 (pupa_strncmp): Likewise.
41074 * fs/ext2.c: New file.
f19dbdb7 41075
bfd30f06 41076 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
41077 when the read failed before retrying.
41078 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
41079 (_FILE_OFFSET_BITS): Likewise.
41080 * configure.ac: Added AC_SYS_LARGEFILE.
41081
98d15063 410822003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
41083
41084 * genmk.rb (PModule#rule): Make sure to get only symbol names
41085 from the output of nm.
59cad637 41086 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 41087
18d9c7cd 410882003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
41089
41090 I forgot to check in these changes for a long time. This adds
41091 incomplete support for VGA console, and this is still very
41092 buggy. Also, a lot of consideration is required for I18N,
41093 UNICODE, and VGA font issues. Therefore, assume that this is
41094 such that "better than nothing".
f19dbdb7 41095
18d9c7cd 41096 * font/manager.c: New file.
41097 * include/pupa/font.h: Likewise.
41098 * include/pupa/i386/pc/vga.h: Likewise.
41099 * term/i386/pc/vga.c: Likewise.
41100 * util/unifont2pff.rb: Likewise.
41101
41102 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
41103 (pkgdata_MODULES): Added vga.mod and font.mod.
41104 (vga_mod_SOURCES): New variables.
41105 (vga_mod_CFLAGS): Likewise.
41106 (font_mod_SOURCES): Likewise.
41107 (font_mod_CFLAGS): Likewise.
41108
41109 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
41110
41111 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 41112 (struct pupa_term): Added init and fini.
18d9c7cd 41113 Changed the argument of putchar to pupa_uint32_t.
41114
41115 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
41116 (pupa_console_real_putchar): New prototype.
41117 (pupa_console_putchar): Removed.
41118 (pupa_console_checkkey): Exported.
41119 (pupa_console_getkey): Likewise.
41120
41121 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
41122 characters.
41123
41124 * kern/term.c (pupa_term_set_current): Rewritten.
41125 (pupa_putchar): Likewise.
41126 (pupa_putcode): New function.
41127
41128 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
41129 (pupa_console_real_putchar): ... this.
41130 (pupa_vga_set_mode): New function.
41131 (pupa_vga_get_font): Likewise.
41132
41133 * normal/command.c: Include pupa/term.h.
41134 (terminal_command): New function.
41135 (pupa_command_init): Register the command "terminal".
41136
41137 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
41138 (DISP_UP): Likewise.
41139 (DISP_RIGHT): Likewise.
41140 (DISP_DOWN): Likewise.
41141 (DISP_HLINE): Likewise.
41142 (DISP_VLINE): Likewise.
41143 (DISP_UL): Likewise.
41144 (DISP_UR): Likewise.
41145 (DISP_LL): Likewise.
41146 (DISP_LR): Likewise.
41147
41148 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 41149
977329f5 411502003-02-08 NIIBE Yutaka <gniibe@m17n.org>
41151
41152 * util/resolve.c (pupa_util_resolve_dependencies): BUG
41153 FIX. Reverse the path_list.
41154
41155 * include/pupa/normal.h: Export pupa_register_command and
41156 pupa_unregister_command.
41157
41158 * hello/hello.c (pupa_cmd_hello): New module.
41159 * conf/i386-pc.rmk: Added hello.mod.
41160
1f5ab428 411612003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
41162
41163 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 41164
1f5ab428 41165 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
41166 (compress_kernel): New variable.
41167 (generate_image): Heavily modified to support compressing a
41168 large part of the core image.
41169
41170 * util/misc.c (pupa_util_read_image): Fix a file descriptor
41171 leak.
41172 (pupa_util_load_image): New function.
41173
41174 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
41175 (pupa_compressed_size): New variable.
41176 (codestart): Enable Gate A20 here.
41177 Decompress the compressed part of the core image.
41178 Rearrange the code to put functions and variables which are
41179 required for initialization in the non-compressed part.
41180 Include lzo1x.S.
41181
41182 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
41183 here.
41184
41185 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
41186
f19dbdb7 41187 * include/pupa/i386/pc/kernel.h
1f5ab428 41188 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
41189 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
41190 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
41191 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
41192 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
41193
41194 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
41195
41196 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
41197 (Utility#rule): Likewise.
41198
41199 * configure.ac: Check if LZO is available.
41200
ce5bf700 412012003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
41202
41203 * include/pupa/normal.h: New file.
41204 * include/pupa/setjmp.h: Likewise.
41205 * include/pupa/i386/setjmp.h: Likewise.
41206 * normal/cmdline.c: Likewise.
41207 * normal/command.c: Likewise.
41208 * normal/main.c: Likewise.
41209 * normal/menu.c: Likewise.
41210 * normal/i386/setjmp.S: Likewise.
f19dbdb7 41211
ce5bf700 41212 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
41213 (pupa_rescue_cmd_initrd): Likewise.
41214
41215 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
41216 Likewise.
41217
41218 * kern/i386/pc/startup.S (translation_table): New variable.
41219 (translate_keycode): New function.
41220 (pupa_console_getkey): Call translate_keycode.
41221
41222 * kern/rescue.c (attempt_normal_mode): New function.
41223 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
41224 it failed, print a message.
41225
41226 * kern/mm.c (pupa_real_malloc): Print more information when a
41227 free magic is broken.
41228 (pupa_free): If the first free header is not free actually, set
41229 it to P.
41230
41231 * kern/main.c (pupa_load_normal_mode): Just load the module
41232 "normal".
41233 (pupa_main): Don't print the message
41234 "Entering into rescue mode..." here.
41235
41236 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
41237 Declared.
41238 (pupa_rescue_cmd_initrd): Likewise.
41239 (pupa_rescue_cmd_initrd): Likewise.
41240
41241 * include/pupa/symbol.h (FUNCTION): Specify the type.
41242 (VARIABLE): Likewise.
41243
41244 * include/pupa/err.h (pupa_err_t): Added
41245 PUPA_ERR_UNKNOWN_COMMAND.
41246
41247 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
41248 (pupa_dl_get_prefix): Likewise.
41249
41250 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
41251 Added _chain.mod and _linux.mod instead of chain.mod and
41252 linux.mod.
41253 (chain_mod_SOURCES): Renamed to ...
41254 (_chain_mod_SOURCES): ... this.
41255 (chain_mod_CFLAGS): Renamed to ...
41256 (_chain_mod_CFLAGS): ... this.
41257 (linux_mod_SOURCES): Renamed to ...
41258 (_linux_mod_SOURCES): ... this.
41259 (linux_mod_CFLAGS): Renamed to ...
41260 (_linux_mod_CFLAGS): ... this.
41261 (normal_mod_SOURCES): New variable.
41262 (normal_mod_CFLAGS): Likewise.
41263 (normal_mod_ASFLAGS): Likewise.
41264
412652003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
41266
41267 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
41268 possible.
41269
fe6b695a 41270 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 41271 recursively.
41272 (pupa_dl_unref): Unrefer depending modules recursively.
41273 Don't call pupa_dl_unload implicitly, because PUPA can crash if
41274 a module is unloaded before one depending on that module is
41275 unloaded.
41276 (pupa_dl_unload): Unload depending modules explicitly,
41277 if possible.
41278
c04da074 412792003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
41280
41281 * include/pupa/i386/pc/linux.h: New file.
41282 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 41283
c04da074 41284 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
41285 Removed.
41286 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
41287 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
41288 of PUPA_CHAINLOADER_BOOT_SECTOR.
41289
41290 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
41291 (pupa_linux_prot_size): New variable.
41292 (pupa_linux_tmp_addr): Likewise.
41293 (pupa_linux_real_addr): Likewise.
41294 (pupa_linux_boot_zimage): New function.
41295 (pupa_linux_boot_bzimage): Likewise.
41296
41297 * kern/i386/pc/init.c (struct mem_region): New structure.
41298 (MAX_REGIONS): New macro.
41299 (mem_regions): New variable.
41300 (num_regions): Likewise.
41301 (pupa_os_area_addr): Likewise.
41302 (pupa_os_area_size): Likewise.
41303 (pupa_lower_mem): Likewise.
41304 (pupa_upper_mem): Likewise.
41305 (add_mem_region): New function.
41306 (compact_mem_regions): Likewise.
41307 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
41308 the size of the conventional memory and that of so-called upper
41309 memory (before the first memory hole).
41310 Instead of adding each found region to free memory, use
41311 add_mem_region and add them after removing overlaps.
41312 Also, add only 1/4 of the upper memory to free memory. The rest
41313 is used for loading OS images. Maybe this is ad hoc, but this
41314 makes it much easier to relocate OS images when booting.
41315
41316 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
41317 (pupa_enter_rescue_mode): Don't register initrd and module.
41318
41319 * kern/mm.c: Include pupa/dl.h.
41320
41321 * kern/main.c: Include pupa/file.h and pupa/device.h.
41322
41323 * kern/loader.c (pupa_loader_load_module_func): Removed.
41324 (pupa_loader_load_module): Likewise.
41325
41326 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
41327 ``.o''.
41328
41329 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
41330 (pupa_linux_tmp_addr): Likewise.
41331 (pupa_linux_real_addr): Likewise.
41332 (pupa_linux_boot_zimage): Likewise.
41333 (pupa_linux_boot_bzimage): Likewise.
41334
41335 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
41336 (pupa_upper_mem): Likewise.
41337 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
41338 module is too dangerous.
41339
41340 * include/pupa/loader.h (pupa_os_area_addr): Declared.
41341 (pupa_os_area_size): Likewise.
41342 (pupa_loader_set): Remove the first argument. Loader doesn't
41343 manage modules or initrd any longer.
41344 (pupa_loader_load_module): Removed.
41345
41346 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
41347 (linux_mod_SOURCES): New variable.
41348 (linux_mod_CFLAGS): Likewise.
41349
a13f9237 413502003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
41351
41352 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
41353 the length of a blocklist correctly.
41354
41355 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
41356 Use ioctl only if the OS file is a block device.
41357 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
41358 not very useful for normal files.
41359
41360 * kern/main.c (pupa_set_root_dev): New function.
41361 (pupa_load_normal_mode): Likewise.
41362 (pupa_main): Call those above.
41363
41364 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
41365 pupa_uint16_t.
41366
41367 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
41368
a5ffe966 413692003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41370
41371 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
41372 (setup): Configure the installed partition information and the
41373 dl prefix.
41374
41375 * loader/i386/pc/chainloader.c (my_mod): New variable.
41376 (pupa_chainloader_unload): New function.
41377 (pupa_rescue_cmd_chainloader): Refer itself.
41378 (PUPA_MOD_INIT): Save its own module in MY_MOD.
41379
41380 * kern/i386/pc/startup.S (install_partition): Removed.
41381 (version_string): Likewise.
41382 (config_file): Likewise.
41383 (pupa_install_dos_part): New variable.
41384 (pupa_install_bsd_part): Likewise.
41385 (pupa_prefix): Likewise.
41386 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
41387
41388 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
41389 and pupa/misc.h.
41390 (make_install_device): New function.
41391 (pupa_machine_init): Set the dl prefix.
41392
41393 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
41394 (buf): Renamed to ...
41395 (linebuf): ... this.
41396 (pupa_rescue_cmd_prefix): New function.
41397 (pupa_rescue_cmd_insmod): Likewise.
41398 (pupa_rescue_cmd_rmmod): Likewise.
41399 (pupa_rescue_cmd_lsmod): Likewise.
41400 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
41401 rmmod and lsmod.
41402
41403 * kern/mm.c (pupa_memalign): If failed even after invalidating
41404 disk caches, unload unneeded modules and retry.
41405
41406 * kern/misc.c (pupa_memmove): New function.
41407 (pupa_memcpy): Removed.
41408 (pupa_strcpy): New function.
41409 (pupa_itoa): Made static.
41410
41411 * kern/dl.c (pupa_dl_iterate): New function.
41412 (pupa_dl_ref): Likewise.
41413 (pupa_dl_unref): Likewise.
41414 (pupa_dl_unload): Return if succeeded or not.
41415 (pupa_dl_unload_unneeded): New function.
41416 (pupa_dl_unload_all): Likewise.
41417 (pupa_dl_init): Renamed to ...
41418 (pupa_dl_set_prefix): ... this.
41419 (pupa_dl_get_prefix): New function.
41420
41421 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
41422 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
41423 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
41424 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
41425 (pupa_install_dos_part): Declared.
41426 (pupa_install_bsd_part): Likewise.
41427 (pupa_prefix): Likewise.
41428 (pupa_boot_drive): Likewise.
41429
41430 * include/pupa/types.h: Fix a typo.
41431
41432 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
41433 pupa_memmove.
41434 (pupa_memmove): Declared.
41435 (pupa_strcpy): Likewise.
41436
41437 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
41438 pupa_mod_init takes one argument, its own module.
41439 (pupa_dl_unload_unneeded): Declared.
41440 (pupa_dl_unload_all): Likewise.
41441 (pupa_dl_ref): Likewise.
41442 (pupa_dl_unref): Likewise.
41443 (pupa_dl_iterate): Likewise.
41444 (pupa_dl_init): Renamed to ...
41445 (pupa_dl_set_prefix): ... this.
41446 (pupa_dl_get_prefix): Declared.
41447
41448 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 41449 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 41450 unloaded.
41451 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
41452 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
41453
41454 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
41455 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
41456
012d7999 414572003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
41458
41459 * util/i386/pc/pupa-setup.c (setup): Define the internal
41460 function find_first_partition_start at the top level, because GCC
41461 3.0.x cannot compile internal functions in deeper scopes
41462 correctly.
41463 (find_root_device): Use lstat instead of stat.
41464 Don't follow symbolic links.
41465 Fix the path-constructing code.
41466
41467 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
41468 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
41469 by a BLKGETSIZE ioctl first, because block devices don't fill
41470 the member st_mode of the structure stat on Linux.
41471 [__linux__] (linux_find_partition): Use a temporary buffer
41472 REAL_DEV for the working space. Copy it to DEV before returning.
41473 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
41474 buffer cache consistent.
41475 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
41476 strncmp. The previous value was merely wrong.
41477 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
41478
41479 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
41480 FAT size is 12. The previous value was merely wrong.
41481
41482 * kern/main.c (pupa_main): Don't split the starting message from
41483 newlines.
41484
41485 * kern/term.c (pupa_putchar): Put CR after LF instead of before
41486 LF, because BIOS goes crazy about character attributes in this
41487 case.
41488
1cc73a62 414892003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
41490
41491 * include/i386/pc/util/biosdisk.h: New file.
41492 * util/i386/pc/biosdisk.c: Likewise.
41493 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 41494
1cc73a62 41495 * Makefile.in (INCLUDE_DISTFILES): Added
41496 include/pupa/i386/pc/util/biosdisk.h.
41497 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
41498 directory util/i386/pc.
41499 (install-local): Added a rule for sbin_UTILITIES.
41500 (uninstall): Likewise.
41501
41502 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
41503
41504 * util/misc.c (xrealloc): New function.
41505 (pupa_malloc): Likewise.
41506 (pupa_free): Likewise.
41507 (pupa_realloc): Likewise.
41508 (pupa_stop): Likewise.
41509 (pupa_putchar): Likewise.
41510
41511 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
41512
41513 * include/pupa/util/misc.h (xrealloc): Declared.
41514
41515 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
41516 macro.
41517 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
41518 (PUPA_BOOT_MACHINE_BPB_END): ... this.
41519
41520 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
41521 [PUPA_UTIL] (pupa_fat_fini): Likewise.
41522
41523 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
41524 way should be implemented.
41525 [PUPA_UTIL] (pupa_fat_fini): Likewise.
41526
41527 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
41528 the size of NAME for safety.
41529 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
41530 0x88.
41531
41532 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
41533 (pupa_setup_SOURCES): Likewise.
41534
41535 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
41536
08b70fe8 415372002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
41538
41539 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
41540 bunch of pushl's from pusha, because this destroys the return
41541 value.
41542
62ddcc8f 415432002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
41544
41545 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
41546 This means that any missing prototypes could be fatal. Also, you
41547 must take care when writing assembly code. See the comments at
41548 the beginning of startup.S, for more details.
f19dbdb7 41549
62ddcc8f 41550 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
41551 compilation mechanism.
41552 (pupa_chainloader_real_boot): Likewise.
41553 (pupa_biosdisk_rw_int13_extensions): Likewise.
41554 (pupa_biosdisk_rw_standard): Likewise.
41555 (pupa_biosdisk_check_int13_extensions): Likewise.
41556 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
41557 (pupa_biosdisk_get_diskinfo_standard): Likewise.
41558 (pupa_get_memsize): Likewise.
41559 (pupa_get_mmap_entry): Likewise.
41560 (pupa_console_putchar): Likewise.
41561 (pupa_console_setcursor): Likewise.
41562 (pupa_getrtsecs): Use pushl instead of push.
41563
41564 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
41565 memory instead of the stack for a mmap entry, because some
41566 BIOSes may ignore the maximum size and overflow.
41567
41568 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
41569
41570 * genmk.rb (PModule#rule): Compile automatically generated
41571 sources with module-specific CFLAGS as well as other sources.
41572
9962ed99 415732002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41574
41575 * configure.ac: Check ld.
41576 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
41577 respectively, before checking endianness and sizes.
41578
41579 * Makefile.in (LD): New variable.
f19dbdb7 41580
abdfc3c5 415812002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41582
41583 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
41584
6a161fa9 415852002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41586
41587 * Changelog: New file.
41588