]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
[grub2.git] / ChangeLog
CommitLineData
18534ad9
VS
12012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
4 options with generic grub-mkrescue.in with the goal of future
5 merge.
6
c84ba308
VS
72012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * grub-core/kern/mm.c: Add missing include of i18n.h
10 * grub-core/lib/relocator.c: Likewise.
11
347998c2
VS
122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
15 error.
16 (allocate_pages): Check return value.
17 Replace fatal with error.
18 (grub_linux_boot): Replace printf with dprintf.
19 Check find_mmap_size return value.
20 Replace fatal with error.
21 Don't call grub_machine_fini.
22 (grub_load_elf64): Replace printf with dprintf.
23 (grub_cmd_linux): Likewise.
24 (grub_cmd_initrd): Likewise.
25 (grub_cmd_payload): Likewise.
26
c779226e
VS
272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
30 message.
31 * grub-core/video/radeon_fuloong2e.c
32 (grub_video_radeon_fuloong2e_setup): Likewise.
33 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
34 * grub-core/video/video.c (grub_video_set_mode): Don't override
35 standard out of memory message.
36
dc87d45a
GS
372012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
38
39 NetBSD disk wedge support.
40
41 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
42 [__NetBSD__]: Handle NetBSD disk wedges.
43 * util/getroot.c (convert_system_partition_to_system_disk)
44 [__NetBSD__]: Likewise.
45
055f856f
MW
462012-02-03 Mark Wooding <mdw@distorted.org.uk>
47
48 * util/grub-mkconfig.in: Use umask rather than chmod to create
49 grub.cfg.new to avoid insecure grub.cfg.
50
4a9f8346
VS
512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * grub-core/commands/ls.c: Gettextize.
54 * grub-core/commands/setpci.c: Likewise.
55 * grub-core/commands/videotest.c: Likewise.
56 * grub-core/disk/geli.c: Likewise.
57 * grub-core/kern/mm.c: Likewise.
58 * grub-core/lib/relocator.c: Likewise.
59 * grub-core/loader/efi/appleloader.c: Likewise.
60 * grub-core/loader/i386/xnu.c: Likewise.
61 * grub-core/loader/ia64/efi/linux.c: Likewise.
62 * grub-core/loader/xnu.c: Likewise.
63 * grub-core/net/dns.c: Likewise.
64 * grub-core/net/net.c: Likewise.
65 * grub-core/script/lexer.c: Likewise.
66 * grub-core/script/parser.y: Likewise.
67 * grub-core/script/yylex.l: Likewise.
68 * util/getroot.c: Likewise.
69 * util/grub-setup.c: Likewise.
70
a646a366
VS
712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
74 number.
75
54e2be26
VS
762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
79
f7c71e68
VS
802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
83 macro.
84 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
85 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
86
a32d5c71
VS
872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
90 * util/grub-install.in: Gettextize.
91 * util/grub-mkconfig.in: Likewise.
92 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
93 if not available.
94 (grub_warn): Gettextize.
95 * util/grub-mknetdir.in: Gettextize.
96 * util/grub-mkrescue.in: Likewise.
97 * util/grub-mkstandalone.in: Likewise.
98 * util/grub-reboot.in: Likewise.
99 * util/grub-set-default.in: Likewise.
100 * util/grub.d/00_header.in: Likewise.
101 * util/grub.d/10_hurd.in: Likewise.
102 * util/grub.d/10_kfreebsd.in: Likewise.
103 * util/grub.d/10_linux.in: Likewise.
104 * util/grub.d/10_netbsd.in: Likewise.
105 * util/grub.d/10_windows.in: Likewise.
106 * util/grub.d/20_linux_xen.in: Likewise.
107 * util/grub.d/30_os-prober.in: Likewise.
108 * po/POTFILES-shell.in: Regenerate.
109
69edd81a
RL
1102012-02-03 Richard Laager <rlaager@wiktel.com>
111
112 * util/grub-mkimage.c (main): Fix format-security warning.
113 * util/grub-mkrelpath.c (main): Likewise.
114 * util/grub-probe.c (main): Likewise.
115
65f08dbf
RL
1162012-02-03 Richard Laager <rlaager@wiktel.com>
117
118 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
119 failure.
120 Put back lost PRINT_DRIVE.
121
e9084abe
RL
1222012-02-03 Richard Laager <rlaager@wiktel.com>
123
124 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
125 (grub_guess_root_devices): Replace strlen with sizeof.
126 Avoid crash.
127 (find_root_devices_from_poolname): Remove unused variable.
128 Handle raidzN.
129
cf5f7ee7
VS
1302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
131
132 Support install on multi-device filesystems.
133
134 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
135 (grub_guess_root_devices): ...this. Return char **. All users updated.
136 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
137 Removed.
138 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
139 (find_root_devices_from_poolname): ... here.
140 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
141 Support zfs-fuse.
142 (grub_guess_root_device): Rename to ...
143 (grub_guess_root_devices): ... this. Return char **. All users updated.
144 * util/grub-install.in: Handle multi-device filesystems.
145 * util/grub-probe.c (probe). Make device_names a char **. Add delim
146 argument. All users updated.
147 Handle multi-device filesystems.
148 Use 'delim' as separator.
149 Remove device check to allow filesystems on file.
150 (main): Support -0 argument. Handle multi-device.
151 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
152 Fix a cross-device check while on it.
153 (arguments): Remove root_dev.
154 (argp_parser): Remove -r.
155 (main): Remove root_dev.
156
2f53a9ed
VS
1572012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
160
17e1d934
VS
1612012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
164 symbol.
165 Reported by: NODA, Kai <nodakai>.
166
d3e3fab5
VS
1672012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
168
169 Fix ehci on amd64.
170
171 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
172 pointers.
173 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
174 (grub_ehci_setup_qh): Likewise.
175 (grub_ehci_find_qh): Likewise.
176 (grub_ehci_transaction): Likewise.
177 (grub_ehci_setup_transfer): Likewise.
178 (grub_ehci_check_transfer): Likewise.
179 (grub_ehci_portstatus): Likewise.
180 (grub_ehci_detect_dev): Likewise.
181 (grub_ehci_transfer_controller_data): New field td_last_phys.
182 (grub_ehci_setup_transfer): Fill td_last_phys.
183 (grub_ehci_check_transfer): Use td_last_phys.
184
3008675b
SG
1852012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
186
187 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
188 if no submenu is present.
189
fc9b5652
AN
1902012-02-01 Aleš Nesrsta <starous@volny.cz>
191
192 CBI support.
193
194 * include/grub/usb.h (grub_usbms_protocol_t): New values
195 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
196 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
197 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
198 (grub_usbms_dev): Add subclass, protocol and intrpt.
199 Remove in_maxsz and out_maxsz.
200 (grub_usbms_reset): Rename to ...
201 (grub_usbms_bo_reset): .. this.
202 (grub_usbms_cbi_cmd): New function.
203 (grub_usbms_cbi_reset): Likewise.
204 (grub_usbms_reset): Likewise.
205 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
206 (grub_usbms_transfer): Rename to ...
207 (grub_usbms_transfer_bo): ... this.
208 (grub_usbms_transfer_cbi): Likewise.
209 (grub_usbms_transfer): Likewise.
210
a2b81d53
AN
2112012-02-01 Aleš Nesrsta <starous@volny.cz>
2122012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
213
214 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
215 the support for the CS5536 modification thereos and few bugfixes.
216
217 * grub-core/Makefile.core.def (ehci): New module.
218 * grub-core/bus/usb/ehci.c: New file.
219 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
220 port and hubaddr. All users updated.
221 Save port and hubaddr into dev structure.
222 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
223 define.
224 * include/grub/pci.h (grub_dma_phys2virt): New function.
225 (grub_dma_virt2phys): Likewise.
226 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
227
b1d51f02
VS
2282012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
231 check as some mkfs implementations omit it.
232
fc694106
VS
2332012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * docs/grub.texi (Unicode): Mention identifier and space limitations.
236
6c0920e3
VS
2372012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
240 Add new member volname2.
241 (grub_jfs_label): Use volname2 if available.
242
d1a46f9a
VS
2432012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
246 over last_mounted as seen in image generated by mkfs.nilfs2.
247 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
248
dec8ed14
VS
2492012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
252 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
253 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
254
7397c69b
VS
2552012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
258 over the sector.
259
b3fe42ad
VS
2602012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
263 subvolume name (by removing a bogus and useless check).
264
10476bb0
VS
2652012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
268 sizeof while on it.
269
9c08ad87
VS
2702012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
273 (grub_scsi_read_capacity10): ... this.
274 (grub_scsi_read_capacity16): New function.
275 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
276 0xffffffff.
277 Fix off-by-one error.
278 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
279 64-bit unsigned.
280 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
281 (grub_scsi_read_capacity10): ... this.
282 (grub_scsi_read_capacity_data): Rename to ...
283 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
284 (grub_scsi_read_capacity16): New struct.
285 (grub_scsi_read_capacity16_data): Likewise.
286 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
287 grub_scsi_cmd_read_capacity10.
288 New command grub_scsi_cmd_read_capacity16.
289
bc8d0f45
VS
2902012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
291
292 SCSI >2TiB support.
293
294 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
295 (grub_scsi_write16): Likewise.
296 (grub_scsi_read): Use read16 when necessary.
297 (grub_scsi_write): Likewise.
298 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
299 (grub_scsi_write16): Likewise.
300 (grub_scsi_cmd_t): Add READ16 and WRITE16.
301
cc774926
VS
3022012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
303
304 SCSI write support (for usbms mainly).
305
306 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
307 a const pointer.
308 (grub_scsi_write): Implement.
309 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
310
67639fd7
VS
3112012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
314 variable.
315
9079d3ed
VS
3162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/lib/posix_wrap/string.h (memchr): New function.
319
c6a6f204
VS
3202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * po/POTFILES.in: Regenerate.
323
ecbf8cd1
VS
3242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
327 with grub_printf to avoid unnecessary fatal failure.
328
0b3b3b38
VS
3292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
332 (INT_MAX): Likewise.
333 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
334 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
335 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
336 (strcpy): Likewise.
337 (strstr): Likewise.
338 (strchr): Likewise.
339 (strncpy): Likewise.
340 (strcat): Likewise.
341 (strncat): Likewise.
342 (strcoll): Likewise.
343 * include/grub/types.h (GRUB_SHRT_MAX): New define.
344 (GRUB_INT_MAX): Likewise.
345
db7337a3
VS
3462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
349 unexpected error.
350 (optimize_utf8): Likewise.
351 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
352
f37c87e1
VS
3532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/boot/i386/pc/lnxboot.S: Use
356 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
357 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
358 location.
359 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
360 definition.
361 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
362
63fe43f3
VS
3632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
366 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
367 now to avoid double free.
368 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
369 hostdisk.
370 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
371 * util/grub-probe.c (escape_of_path): Always return a new copy.
372 (print_full_name): Escape path.
373 (probe): Don't call grub_util_devname_to_ofpath on NULL.
374 Fix hints on abstractions.
375
ebe2c961
VS
3762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
379 Don't add "root" line if no compatibility hont is available.
380 Suggested by: Seth Goldberg.
381
2b5336a2
VS
3822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
385 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
386 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
387 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
388
74310bd8
VS
3892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
392
c30582ba
VS
3932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * util/grub-pe2elf.c (ehdr): Make static.
396 (shdr): Likewise.
397 (num_sections): Likewise.
398 (offset): Likewise.
399
5f47782c
VS
4002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
401
402 Eliminate ofpath limits and possible overflows.
403
404 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
405 (OF_PATH_MAX): Removed.
406 (MAX_DISK_CAT): New const.
407 (find_obppath): Use allocated rather than preallocated buffer.
408 Return result. Argument of_path removed. All users updated.
409 Add missing fdstat.
410 (xrealpath): New function.
411 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
412 Allocate rather than use preallocated buffer. All users updated.
413 (__of_path_common): Use allocated rather than preallocatecd buffer.
414 Return result. Argument of_path removed. All users updated.
415 (vendor_is_ATA): Read only needed part form the file.
416 (check_sas): Allocate depending on contents rather than fixed.
417 (main) [STANDALONE]: Handle NULL result.
418
f990cbf9
VS
4192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/normal/completion.c (iterate_dev): Close the disk.
422
9c6e84b8
VS
4232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
424
425 Cryptodisk write support.
426
427 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
428 (grub_cryptodisk_decrypt): Moved logic to ...
429 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
430 (grub_cryptodisk_write): Implement.
431 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
432 (grub_util_fd_write): ... this. Make global.
433 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
434
87cf9744
VS
4352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * include/grub/list.h (grub_list_remove): Don't crash if element is
438 removed twice.
439
ca8c0baf
VS
4402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
441
442 Rename ofconsole to console.
443
444 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
445 as sysnonym to console.
446 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
447 * grub-core/term/ieee1275/console.c: ... this. All users updated.
448 Rename grub_ofconsole_ to grub_console_. All users updated
449 (grub_console_term_output): Rename "ofconsole" to "console".
450 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
451 as "console".
452
64c8b8f6
VS
4532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
456 handling.
457 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
458 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
459 GRUB_DISK_DEVICE_FILE_ID.
460
f6c434d5
VS
4612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
464 and improve performance.
465
5858b42d
VS
4662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
469 missing ieee1275/ prefix on whole disk.
470
4ed3c26b
VS
4712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
474 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
475
df71143e
VS
4762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
479
076e7c0f
VS
4802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
481
482 Merge common RAID and LVM logic to an abstract diskfilter.
483 Add LDM support using the same framework.
484
485 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
486 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
487 (libgrubmods): Remove grub-core/disk/raid.c and
488 grub-core/partmap/gpt.c.
489 * grub-core/Makefile.core.def (ldm): New module.
490 (raid): Renamed to diskfilter. All users updated.
491 * grub-core/disk/raid.c: Moved to ...
492 * grub-core/disk/diskfilter.c: ... here.
493 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
494 (lv_num): New var.
495 (find_array): Renamed to ...
496 (find_lv): ... this. Support multi-LV. Skip nameless LVs
497 (grub_is_array_readable): Renamed to ...
498 (grub_is_lv_readable): ... this. Support multinode hierarchy.
499 (insert_array): New argument id.
500 (is_node_readable): New function.
501 (scan_device): Rename to ...
502 (scan_disk): .. this. Restrict to one disk.
503 (scan_devices): New function.
504 (grub_diskfilter_iterate): Support multi-LV.
505 Skip invisible and nameless LVs.
506 (grub_diskfilter_memberlist): Support multi-LV.
507 (grub_diskfilter_read_node): New function.
508 (grub_raid_read): Most of logic moved to ...
509 (read_segment): ... here
510 (read_lv): New function.
511 (grub_diskfilter_get_vg_by_uuid): New function.
512 (grub_diskfilter_make_raid): Likewise.
513 * grub-core/disk/ldm.c: New file.
514 * grub-core/disk/lvm.c (vg_list): Removed.
515 (lv_count): Likewise.
516 (scan_depth): Likewise.
517 (is_lv_readable): Likewise.
518 (grub_lvm_getvalue): Advance pointer past the number.
519 (find_lv): Removed.
520 (do_lvm_scan): Refactored into ...
521 (grub_lvm_detect): ... this. Support raid.
522 (grub_lvm_iterate): Removed.
523 (grub_lvm_memberlist): Likewise.
524 (grub_lvm_open): Likewise.
525 (grub_lvm_close): Likewise.
526 (read_lv): Likewise.
527 (read_node): Likewise.
528 (is_node_readable): Likewise.
529 (is_lv_readable): Likewise.
530 (grub_lvm_read): Likewise.
531 (grub_lvm_write): Likewise.
532 (grub_lvm_dev): Use diskfilter
533 (GRUB_MOD_INIT): Likewise.
534 (GRUB_MOD_FINI): Likewise.
535 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
536 new interface.
537 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
538 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
539 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
540 grub_diskfilter_read_node.
541 Fix a bug with xor.
542 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
543 grub_diskfilter_read_node.
544 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
545 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
546 (grub_disk_dev_iterate): Move from here...
547 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
548 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
549 Make global.
550 (grub_hostdisk_find_partition_start): Likewise.
551 (grub_hostdisk_os_dev_to_grub_drive): New function.
552 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
553 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
554 * util/getroot.c (make_device_name): ... here.
555 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
556 Move to ...
557 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
558 * grub-core/kern/emu/hostdisk.c
559 (convert_system_partition_to_system_disk): Move to ...
560 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
561 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
562 * util/getroot.c (device_is_wholedisk): ... here.
563 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
564 * util/getroot.c (find_system_device): ... here.
565 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
566 Move to ...
567 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
568 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
569 Move to ...
570 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
571 Handle LDM.
572 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
573 Move to ...
574 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
575 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
576 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
577 DISKFILTER.
578 * include/grub/raid.h: Renamed to ...
579 * include/grub/diskfilter.h: ... this.
580 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
581 (GRUB_RAID_LAYOUT_*): Make into array.
582 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
583 (grub_diskfilter_vg): New struct.
584 (grub_diskfilter_pv_id): Likewise.
585 (grub_raid_member): Removed.
586 (grub_raid_array): Likewise.
587 (grub_diskfilter_pv): New struct.
588 (grub_diskfilter_lv): Likewise.
589 (grub_diskfilter_segment): Likewise.
590 (grub_diskfilter_node): Likewise.
591 (grub_diskfilter_get_vg_by_uuid): New proto.
592 (grub_raid_register): Inline.
593 (grub_diskfilter_unregister): Likewise.
594 (grub_diskfilter_make_raid): New proto.
595 (grub_diskfilter_vg_register): Likewise.
596 (grub_diskfilter_read_node): Likewise.
597 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
598 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
599 (grub_util_is_ldm): Likewise.
600 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
601 (grub_hostdisk_find_partition_start): Likewise.
602 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
603 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
604 New definition.
605 (grub_gpt_partition_map_iterate): New proto.
606 * include/grub/lvm.h (grub_lvm_vg): Removed.
607 (grub_lvm_pv): Likewise.
608 (grub_lvm_lv): Likewise.
609 (grub_lvm_segment): Likewise.
610 (grub_lvm_node): Likewise.
611 * util/getroot.c [...]
612 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
613 (probe_abstraction): Likewise.
614 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
615 (main): Remove dead logic.
616
8a7f9b9c
VS
6172012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
618
619 Simplify root device discover and don't fail when trying to open
620 incorrect devices.
621
622 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
623 function.
624 (get_diskname_from_path): Likewise.
625 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
626 of iterating.
627
30545b85
VS
6282012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
631
28ea58cf
VS
6322012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
635 pastthe end.
636
692dabca
VS
6372012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * util/grub-install.in: Add missing \.
640 Reported by: gentoofan
641
f6e4ea70
VS
6422012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
645 (direct_read): Use correct compressed size.
646 (grub_squash_read_data): Likewise.
647
6482012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
649
650 * docs/grub.texi (Platform limitations): New section.
651 (Platform-specific operations): Likewise.
652 * docs/grub-dev.texi (Porting): Likewise.
653
76261110
VS
6542012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
655
656 IEEE1275 disk write support.
657
658 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
659 const void *.
660 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
661 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
662 and seek loginc to ...
663 (grub_ofdisk_prepare): ... here.
664 (grub_ofdisk_write): Implement.
665
fc36d603
VS
6662012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
667
668 ARC disk write support.
669
670 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
671 (reopen): New argument writable. All users updated.
672 Handle required access mode.
673 (grub_arcdisk_write): Implement.
674 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
675 (grub_arc_firmware_vector): Make buffer to write a const buffer.
676
e06c2e7a
VS
6772012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
680 (read_sblock): Don't attempt to read superblocks outside the disk size.
681
ff447958
VS
6822012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
685 first superblock to find the second one when possible.
686
9e88df39
VS
6872012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * util/grub-install.in: Fix an ARC bug.
690 Print a warning if no platform-specific setup is available.
691
bb26e4ff
VS
6922012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
693
694 Use static allocation rather than scratch pointer in reed_solomon.
695 It decreases its size significantly and avoids a variable in .text.
696
697 * grub-core/lib/reed_solomon.c (scratch): Removed.
698 (chosenstat): New const or static array.
699 (sigma): Likewise.
700 (errpot): Likewise.
701 (errpos): Likewise.
702 (sy): Likewise.
703 (mstat): Likewise.
704 (errvals): Likewise.
705 (eqstat): Likewise.
706 (pol_evaluate): Replace x with log_x argument. All users updated.
707 (syndroms): Removed.
708 (gauss_solve): Use statically allocated arrays.
709 (rs_recover): Likewise.
710 Calculate syndroms directly.
711 (decode_block): Use statically allocated arrays.
712 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
713 (main) [TEST]: Allow -DTEST -DSTANDALONE.
714
2e13ede5
VS
7152012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
716
717 Eliminate fixed limit on reed solomon decoder length.
718
719 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
720 rather than hardcoding the address.
721 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
722 no_reed_solomon_length.
723 Move gate_a20 to no-reed-solomon part.
724 Don't force a particular size of no reed-solomon part.
725 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
726 Removed.
727 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
728 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
729
f8a9ab12
VS
7302012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/commands/wildcard.c (match_files): Handle filenames
733 without explicit device.
734 (wildcard_expand): Don't add explicit device if not already present.
735 * tests/grub_script_echo1.in: Add a new expansion test.
736
87edb894
VS
7372012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
738
739 Replace single-linked with double-linked lists. It results in more
740 compact and more efficient code.
741
742 * grub-core/kern/list.c (grub_list_push): Moved from here ...
743 * include/grub/list.h (grub_list_push): ... to here. Set prev.
744 (grub_list_remove): Moved from here ...
745 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
746 (grub_prio_list_insert): Set prev.
747 * include/grub/list.h (grub_list): Add prev. All users updated.
748
48b391e9
VS
7492012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
750
751 Handle newer autotools. Add some missing quotes while on it.
752
753 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
754 (pkglib_DATA): Move grub-mkconfig_lib from here ...
755 (pkgdata_DATA): ... here.
756 * Makefile.util.def (update-grub_lib): Removed.
757 * conf/Makefile.common (pkglib_DATA): Removed.
758 (pkglib_SCRIPTS): Likewise.
759 (pkgdata_DATA): New variable.
760 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
761 needed.
762 Add missing quotes.
763 Remove unused variable while on it.
764 * tests/util/grub-shell.in: Likewise.
765 * util/grub-install.in: Likewise.
766 * util/grub-mkconfig.in: Likewise.
767 * util/grub-mknetdir.in: Likewise.
768 * util/grub-mkrescue.in: Likewise.
769 * util/grub-mkstandalone.in: Likewise.
770 * util/grub.d/00_header.in: Likewise.
771 * util/grub.d/10_hurd.in: Likewise.
772 * util/grub.d/10_illumos.in: Likewise.
773 * util/grub.d/10_kfreebsd.in: Likewise.
774 * util/grub.d/10_linux.in: Likewise.
775 * util/grub.d/10_netbsd.in: Likewise.
776 * util/grub.d/10_windows.in: Likewise.
777 * util/grub.d/20_linux_xen.in: Likewise.
778 * util/grub.d/30_os-prober.in: Likewise.
779 * util/update-grub_lib.in: Removed.
780
7812012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
782
783 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
784 a workaround for intel problem.
785
66832792
PRP
7862012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
7872012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
7882012-01-23 pfsmorigo
789
790 * util/grub-install.in: Support dd'in into PreP partition.
791 * util/grub-probe.c (probe): Support discovering partition type.
792 (main): Support -t msdos_parttype.
793
7816a17e
VS
7942012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
797 infinite recursion using counter.
798 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
799 init to skip it if the magic check fails.
800 (dec_stream_header): Init s->crc32.
801
8f9d3a8c
ZB
8022012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8032012-01-22 Zachary Bedell <pendorbound@gmail.com>
8042012-01-22 Richard Laager <rlaager@wiktel.com>
805
806 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
807 All users updated.
808 (find_bestub): Determine correct size.
809 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
810 (scan_disk): Align the size down.
811 Call check pool before find_bestub to have ashift.
812
b055dd32
VS
8132012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
816 dprintf in no-malloc zone.
817
d779e9bd
ML
8182012-01-22 Mario Limonciello <mario_limonciello@dell.com>
819
820 * configure.ac: Add back in test for limits.h.
821
b508af69
VS
8222012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
823
824 Support 4K-sector NTFS.
825
826 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
827 (grub_ntfs_data): Remove blocksize.
828 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
829 Remove data argument. All users updated.
830
dad9c8b5
VS
8312012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
834 being in .text to avoid dprel references.
835 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
836 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
837 (grub_arch_highmemsize): Likewise.
838 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
839 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
840 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
841
d43a777e
VS
8422012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
843
844 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
845
846 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
847 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
848
34e4208f
VS
8492012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
852 GRUB_UTIL.
853 (grub_set_datetime_cmos): Likewise.
854
3ec0fc1c
VS
8552012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
856
857 Make XZ compression parameters dependent on target and not host CPU.
858
859 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
860 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
861
22489834
VS
8622012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
865 set but not used variable.
866
8502fbca
VS
8672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
870 created when no uuid support is compiled into mkfs.reiser.
871
76df2068
VS
8722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
875 (utf8_to_macroman): Do the opposite.
876 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
877
64e3f8f6
VS
8782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * configure.ac: Refise build qemu_mips w/o unifont.
881
9c271078
VS
8822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
883
884 Eliminate grub_min/grub_max prone to overflow usage.
885
886 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
887 (poll_nonroot_hub): Likewise.
888 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
889 (grub_affs_label): Likewise.
890 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
891 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
892 (grub_hfs_label): Likewise.
893 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
894 * grub-core/fs/zfs/zfs.c (MIN): Remove.
895 (zap_leaf_array_equal): Use grub_size. Remove MIN.
896 (zap_leaf_array_get): Likewise.
897 (dnode_get_path): Likewise.
898 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
899 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
900 * grub-core/script/execute.c (grub_script_break): Likewise.
901 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
902 grub_max.
903 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
904 * include/grub/misc.h (grub_min): Removed.
905 (grub_max): Likewise.
906
80662dbc
VS
9072012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
908
909 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
910 direct.inode = 0.
911
e6da1467
VS
9122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
915
b1ac4cb1
VS
9162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
919
b4bf7c3b
VS
9202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
923 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
924
8ee1101a
VS
9252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
928 rather than a hack for grub_strncasemap.
929
9302012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
931
932 Support multiple initrds
933 Note: part of this was accidently committed in r3739.
934
935 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
936 initrd.
937 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
938 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
939 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
940 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
941 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
942
4d1e2bc9
VS
9432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
946 disks with unknown size.
947 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
948
75b49ebe
VS
9492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
950
951 Remove defines pertaining to arbitrary limits not affecting GRUB
952 anymore.
953
954 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
955 (EXT2_MAX_SYMLINKCNT): Likewise.
956 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
957 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
958 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
959 (GRUB_PXE_MAX_BLKSIZE): Likewise.
960 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
961 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
962 (DN_MAX_OBJECT_SHIFT): Likewise.
963 (DN_MAX_OFFSET_SHIFT): Likewise.
964 (DN_MAX_OBJECT): Likewise.
965 (DNODES_PER_LEVEL_SHIFT): Likewise.
966 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
967 (SPA_MAXBLOCKSIZE): Likewise.
968 (SPA_BLOCKSIZES): Likewise.
969 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
970 (MZAP_MAX_BLKSZ): Likewise.
971
74a1dce7
VS
9722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
975 handle NULL appropriately.
976 Remove MIN.
977
30c7d3ce
VS
9782012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
979
980 Fix efiemu.
981
982 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
983 cpu/types.h.
984 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
985 * configure.ac: Fix efiemu check.
986
3c76ea0c
VS
9872012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
990 grub_probe.
991 Reported by: adamwill
992
7e532280
SG
9932012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
994
995 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
996
30492374
VS
9972012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
998
999 Fix handling of wide characters in gfxterm.
1000
1001 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
1002 (clear_char): Likewise.
1003 (paint_char): Skip code == NULL chars.
1004 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
1005
e70cb72f
VS
10062012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/normal/charset.c: Move comment to right place.
1009
5c827cf9
VS
10102012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
1013 (GRUB_AFFS_FLAG_FFS): Put back where it was.
1014 (grub_affs_mount): Revert the correct version checking.
1015
53603892
VS
10162012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * docs/grub.texi (Unicode): Mention several other unsupported features.
1019
ff094b9b
VS
10202011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
1023 case statements as compile-time one.
1024 (direct_read): Prevent spurious warnings.
1025 (grub_squash_read_data): Likewise.
1026
c029da8a
VS
10272011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 Various squash4 fixes and LZO and XZ support.
1030
1031 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
1032 Add xzembed source files.
1033 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
1034 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
1035 (grub_squash_inode): New subtype long_dir.
1036 (SQUASH_TYPE_LONG_DIR): New inode type.
1037 (COMPRESSION): New enum.
1038 (XZBUFSIZ): New const.
1039 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
1040 (read_chunk): Use data->decompress.
1041 (zlib_decompress): New function.
1042 (lzo_decompress): Likewise.
1043 (xz_decompress): Likewise.
1044 (squash_mount): Set new data fields.
1045 (grub_squash_iterate_dir): Handle long dir.
1046 (squash_unmount): Free xzdec and xzbuf.
1047 (grub_squash_open): Check ino type.
1048 (direct_read): Stylistic fixes. Use data->decompress.
1049 (grub_squash_read_data): Likewise.
1050 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
1051 (get_byte): Likewise.
1052 (grub_zlib_disk_read): Removed.
1053 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
1054 (GRUB_POSIX_BOOL_DEFINED): New define.
1055 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
1056 * grub-core/lib/xzembed/xz.h: Addmissing includes.
1057 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
1058 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
1059
7a45a539
VS
10602011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 Don't override more informative errors.
1063
1064 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
1065 * grub-core/font/font.c (open_section): Likewise.
1066 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
1067 filename. Don't override errors.
1068 (grub_cmd_openbsd_ramdisk): Don't override errors.
1069 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
1070 (grub_cmd_initrd): Likewise.
1071 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1072 (grub_cmd_initrd): Likewise.
1073 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
1074 (grub_cmd_linux): Likewise.
1075 (grub_cmd_initrd): Likewise.
1076 (grub_cmd_payload): Likewise.
1077 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1078 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
1079 (grub_cmd_module): Likewise.
1080 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1081 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1082 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
1083 (grub_cmd_xnu_mkext): Likewise.
1084 (grub_cmd_xnu_ramdisk): Likewise.
1085 (grub_xnu_check_os_bundle_required): Likewise.
1086 (grub_xnu_load_kext_from_dir): Likewise.
1087 (grub_cmd_xnu_kextdir): Likewise.
1088 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
1089
b2d004db
VS
10902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
1093 as 1024 in block size field. Found on one of my test images.
1094 Small optimisation while on it.
1095
ec000eac
VS
10962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
1099 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
1100 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
1101 performance fixes while on it.
1102 (grub_sfs_close): Fix memory leak while on it.
1103 (grub_sfs_label): Convert Latin1 to UTF-8.
1104
f50e1165
VS
11052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
1108 space to avoid overflows.
1109 (grub_hfs_label): Convert from macroman to UTF-8.
1110
2ae254de
VS
11112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
1114
0108f491
VS
11152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
1118
f45f5f89
VS
11192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * unicode: Import Unicode 6.0 data.
1122
4d8c4765
VS
11232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1124
63fa8ef9
VS
1125 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
1126 outside of range.
1127
11282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
1131
1132 * include/grub/charset.h (grub_getend): New function.
1133 * grub-core/script/function.c (grub_script_function_find): Use
1134 grub_getend.
1135 * grub-core/normal/completion.c (add_completion): Likewise.
1136
f3cb4a4e
VS
11372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
1140 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
1141 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
1142 (GRUB_UNICODE_TAG_END): Likewise.
1143 (GRUB_UNICODE_LAST_VALID): Likewise.
1144
5da8dbc5
VS
11452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
1148 len and make it smaller. All users updated.
1149 * util/import_unicode.py: Put length and not end character.
1150 Check length.
1151
8569f13d
VS
11522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 Make better Unicode-compliant and unify some UTF-8 code pathes.
1155
1156 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
1157 valid character.
1158 (grub_is_valid_utf8): Use grub_utf8_process.
1159 Check resulting code range.
1160 (grub_utf8_to_ucs4): Use grub_utf8_process.
1161 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
1162 valid character.
1163
cc4fddf5
VS
11642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
1167
bbc47747
VS
11682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * docs/grub.texi (Filesystems): Mention AFS.
1171
f63d6bf4
VS
11722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * docs/grub.texi (Filesystems): Clarify restrictions.
1175 (Regexp): Mention non-Unicode regexp behaviour.
1176 (Other): Mention non-Unicode matching behaviour.
1177
74bbf0db
VS
11782011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1179
f63d6bf4 1180 Make HFS implementation use MacRoman.
74bbf0db
VS
1181
1182 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
1183 (macroman): New const array.
1184 (macroman_to_utf8): New function.
1185 (utf8_to_macroman): Likewise.
1186 (grub_hfs_find_dir): Use utf8_to_macroman.
1187 (grub_hfs_dir): Use macroman_to_utf8.
1188 Set case_insensitive.
1189
4ea0316e
VS
11902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
1193
d3c13cbd
VS
11942011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 Integrate hints into autogeneration scripts.
1197
1198 * docs/grub.texi (Filesystems): Add a hostdisk example.
1199 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
1200 (grub-probe): Add ofpath.
1201 * gentpl.py: Remove group nosparc64.
1202 * grub-core/commands/search.c (cache_entry): New struct.
1203 (cache): New var.
1204 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
1205 * grub-core/commands/search_wrap.c (options): Add platform-specific
1206 hint options.
1207 (grub_cmd_search): Handle platform-specific hints.
1208 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
1209 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
1210 (grub_util_biosdisk_data): Likewise.
1211 (grub_util_biosdisk_open): Set device_map.
1212 (read_device_map): Handle "" as indication of no map.
1213 Set device_map.
1214 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
1215 (grub_util_biosdisk_get_compatibility_hint): New function.
1216 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
1217 * include/grub/emu/hostdisk.h
1218 (grub_util_biosdisk_get_compatibility_hint): New proto.
1219 * util/grub-install.in: Don't call grub-mkdevicemap.
1220 Add platform-specific hint to load.cfg.
1221 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
1222 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1223 hints. Set root preliminary to compatibility hint, not to OS name.
1224 * util/grub-probe.c (PRINT_*): Add hints.
1225 (print): Make static.
1226 (escape_of_path): New function.
1227 (guess_bios_drive): Likewise.
1228 (guess_efi_drive): Likewise.
1229 (guess_baremetal_drive): Likewise.
1230 (print_full_name): Likewise.
1231 (probe): Handle hints.
1232 (main): Likewise.
1233 * util/ieee1275/devicemap.c: Removed.
1234 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
1235 updated.
1236 (grub_util_devname_to_ofpath): Return NULL on failure.
1237
1238 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
1239 resource leak.
1240 * util/getroot.c (grub_util_pull_device): Fix memory leak.
1241
1242 * po/POTFILES.in: Regenerated.
1243
1244 Allow purely long options
1245
1246 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
1247 (SHORT_ARG_USAGE): Likewise.
1248 (grub_arg_show_help): Compare opt with help_options.
1249 (parse_option): Receive opt as argument. If makes big simplificatons.
1250 All users updated
1251
00ce2df3
VS
12522011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
1255 Restructure to avoid warning.
1256
e77e325f
VS
12572011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * util/grub-install.in: Account for possible escaped comma in device
1260 name.
1261
165099ea
VS
12622011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
1265 channel.
1266
ce4a999d
VS
12672011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
1270 allocation and zero-setting.
1271 (grub_ieee1275_get_devname): Check that alias is complete.
1272
379586ad
VS
12732011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
1276 unaligned segments.
1277
9197b0ad
VS
12782011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
1281 prefix.
1282 (grub_ofdisk_open): Check and discard ieee1275 prefix.
1283 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1284 Add ieee1275 prefix.
1285
edddb7f9
VS
12862011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * docs/grub.texi (Filesystems): Update.
1289
a1a8b1b9
VS
12902011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 Support odc, newc and bigendian cpio formats.
1293
1294 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
1295 * grub-core/Makefile.core.def (newc): New module.
1296 (odc): Likewise.
1297 (cpio_be): Likewise.
1298 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
1299 (MAGIC): Likewise.
1300 (MAGIC2): Likewise.
1301 (head) [MODE_ODC]: Adapt for the format.
1302 (head) [MODE_NEWC]: Likewise.
1303 (head) [!MODE_*]: Write fields of interest as arrays.
1304 (MAGIC_USTAR): Removed.
1305 (read_number) [MODE_NEWC]: Change to hex.
1306 (read_number) [!MODE_*]: Parse binary arrays.
1307 (grub_cpio_find_file): Factor out the code for better structure and
1308 always use read_number.
1309 (grub_cpio_mount): Use MAGIC and MAGIC2.
1310 (grub_cpio_dir): Exit on first hook non-0 return.
1311 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
1312 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
1313 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
1314 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
1315 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
1316 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
1317 * grub-core/fs/newc.c: New file.
1318 * grub-core/fs/odc.c: Likewise.
1319 * grub-core/fs/cpio_be.c: Likewise.
1320
58eba9ee
VS
13212011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 Fix handling of tar numbers occupying the whole field.
1324
1325 * grub-core/fs/cpio.c (read_number): New function.
1326 (grub_cpio_find_file): Use read_number instead of strtoull.
1327
a54a0e12
VS
13282011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
1331 occupying the whole field size.
1332
a6120aca
LA
13332011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
1334
1335 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
1336
a93964ce
VS
13372011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
1340
3ea1ca46
SG
13412011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
1342
1343 * grub-core/Makefile.core.def (lzma_decompress): Add missing
1344 TARGET_IMG_LDFLAGS.
1345
b87f7ef2
VS
13462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * util/getroot.c (ESCAPED_PATH_MAX): New define.
1349 (mountinfo_entry): Increase the field size to take escaping into
1350 account.
1351 (find_root_device_from_libzfs): Add one byte to size of strings for
1352 security.
1353
62092395
VS
13542011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
1357 an assert.
1358 * util/grub-setup.c (setup): Likewise.
1359
1f0b1a77
VS
13602011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
1363 _LzmaDecodeA.
1364
8eba9997
VS
13652011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * docs/grub.texi (Internationalisation): New section.
1368
dd0c91e9
VS
13692011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * docs/grub.texi (Loopback booting): New section.
1372
13732011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
1374
1375 * util/grub-mkstandalone.in: Fix minor typo errors.
1376
198e150a
VS
13772011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
1380
1381 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
1382 net/icmp.c and net/icmp6.c.
1383 (http): New module.
1384 (priority_queue): Likewise.
1385 * grub-core/io/bufio.c: Rewritten.
1386 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
1387 TYPE_WITH_CONFIGFILE_OPTION.
1388 (legacy_commands): Add bootp and dhcp.
1389 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
1390 (grub_legacy_parse): Likewise.
1391 * grub-core/lib/priority_queue.c: New file.
1392 * grub-core/net/arp.c: Add missing license header.
1393 (arp_find_entry): Removed.
1394 (arp_find_entry): Likewise.
1395 (grub_net_arp_resolve): Rename to ...
1396 (grub_net_arp_send_request): ...this.
1397 (grub_net_arp_receive): New card argument.
1398 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
1399 Set router and DNS server.
1400 (grub_net_configure_by_dhcp_ack): Handle routing information.
1401 (grub_cmd_bootp): Set checksum.
1402 (grub_bootp_init): Remove net_dhcp.
1403 * grub-core/net/dns.c: New file.
1404 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
1405 completion.
1406 (get_card_packet): Handle allocation.
1407 (grub_efinet_findcards): Set mtu.
1408 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
1409 (get_card_packet): Handle allocation.
1410 (emucard): Set mtu.
1411 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
1412 (GRUB_MOD_INIT): Set mtu.
1413 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
1414 mtu.
1415 (get_card_packet): Handle allocation.
1416 (grub_ofnet_findcards): Set mtu.
1417 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
1418 assert.
1419 (grub_net_recv_ethernet_packet): Handle IPv6.
1420 * grub-core/net/http.c: New file.
1421 * grub-core/net/icmp.c: Likewise.
1422 * grub-core/net/icmp6.c: Likewise.
1423 * grub-core/net/ip.c (ip6addr): New type.
1424 (ip6hdr): Likewise.
1425 (reassemble): Likewise.
1426 (cmp): New function.
1427 (reassembles): New variable.
1428 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
1429 (id): New variable.
1430 (send_fragmented): New function.
1431 (grub_net_send_ip_packet): Rename to ...
1432 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
1433 Handle non-UDP.
1434 (grub_net_recv_ip_packets): Rename to ...
1435 (handle_dgram): ... this. Check checksum. Handle non-UDP.
1436 (free_rsm): New function.
1437 (free_old_fragments): Likewise.
1438 (grub_net_recv_ip4_packets): New function.
1439 (grub_net_send_ip6_packet): Likewise.
1440 (grub_net_send_ip_packet): Likewise.
1441 (grub_net_recv_ip6_packets): Likewise.
1442 (grub_net_recv_ip_packets): Likewise.
1443 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
1444 (LINK_LAYER_CACHE_SIZE): New const.
1445 (link_layer_find_entry): New function.
1446 (grub_net_link_layer_add_address): Likewise.
1447 (grub_net_link_layer_resolve_check): Likewise.
1448 (grub_net_link_layer_resolve): Likewise.
1449 (grub_net_ipv6_get_slaac): Likewise.
1450 (grub_net_ipv6_get_link_local): Likewise.
1451 (grub_cmd_ipv6_autoconf): Likewise.
1452 (parse_ip): Handle one number representation.
1453 (parse_ip6): New functoion.
1454 (match_net): Handle IPv6.
1455 (grub_net_resolve_address): Handle IPv6 and DNS.
1456 (grub_net_resolve_net_address): Handle IPv6.
1457 (route_cmp): New function.
1458 (grub_net_route_address): Find best route.
1459 (grub_net_addr_to_str): Handle IPv6.
1460 (grub_net_addr_cmp): New function.
1461 (grub_net_add_addr): Register local route.
1462 (print_net_address): Handle net address.
1463 (grub_net_poll_cards): Retransmit TCP.
1464 (grub_net_poll_cards_idle_real): Likewise.
1465 (have_ahead): New function.
1466 (grub_net_seek_real): Use underlying seek.
1467 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
1468 * grub-core/net/tcp.c: New file.
1469 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
1470 (cmp): New function.
1471 (ack): Likewise.
1472 (tftp_receive): Handle unordered input.
1473 (destroy_pq): New function.
1474 (tftp_close): Close pq.
1475 * grub-core/net/udp.c: Put missing license header.
1476 (grub_net_udp_socket): New function.
1477 (udp_socket_register): Likewise.
1478 (grub_net_udp_close): Likewise.
1479 (grub_net_recv_udp_packet): Check checksum.
1480 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
1481 * include/grub/misc.h (grub_memchr): New function.
1482 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
1483 (grub_net_card_driver): Return buf in recv.
1484 (grub_net_slaac_mac_list): New struct.
1485 (grub_network_level_protocol_id): Add ipv6.
1486 (grub_net_network_level_addr): Likewise.
1487 (grub_net_network_level_net_addr): Likewise.
1488 (grub_net_app_protocol): Add seek.
1489 (grub_net_socket): Removed.
1490 (grub_net_sockets): Likewise.
1491 (grub_net_socket_register): Likewise.
1492 (grub_net_socket_unregister): Likewise.
1493 (FOR_NET_SOCKETS): Likewise.
1494 (grub_net_add_addr): Add const.
1495 (GRUB_NET_BOOTP_*): New enum.
1496 (grub_net_addr_cmp): New proto.
1497 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
1498 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
1499 (grub_net_hwaddr_to_str): NEw proto.
1500 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
1501 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
1502 (grub_dns_init): New proto.
1503 (grub_dns_fini): Likewise.
1504 (grub_net_tcp_retransmit): Likewise.
1505 (grub_net_link_layer_add_address): Likewise.
1506 (grub_net_link_layer_resolve_check): Likewise.
1507 (grub_net_link_layer_resolve): Likewise.
1508 (grub_net_dns_lookup): Likewise.
1509 (grub_net_add_dns_server): Likewise.
1510 (grub_net_remove_dns_server): Likewise.
1511 (GRUB_NET_TRIES): New const.
1512 (GRUB_NET_INTERVAL): Likewise.
1513 * include/grub/net/arp.h: Mostly rewritten.
1514 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
1515 * include/grub/net/ip.h: Mostly rewritten.
1516 * include/grub/net/netbuff.h: Indent.
1517 * include/grub/net/tcp.h: New file.
1518 * include/grub/net/udp.h: Mostly rewritten.
1519 * include/grub/priority_queue.h: New file.
1520 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
1521 (grub_swap_bytes64_compile_time): Likewise.
1522 (grub_cpu_to_be16_compile_time): Likewise.
1523 (grub_cpu_to_be32_compile_time): Likewise.
1524 (grub_cpu_to_be64_compile_time): Likewise.
1525 (grub_be_to_cpu64_compile_time): Likewise.
1526
215c1800
VS
15272011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
1530 UINT_TO_PTR with cast.
1531
c17e546c
VS
15322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
1535 don't use them.
1536
ff6b18b6
VS
15372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
1540 already there.
1541
70ffcc93
VS
15422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
1545 confusing ipxe.
1546
e5f4d260
VS
15472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
1550 Add missing const attribute.
1551 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
1552 Likewise.
1553 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
1554 Likewise.
1555
8e54b4b7
VS
15562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
1559 misaligned access.
1560 (serpent_setkey): Likewise.
1561 (serpent_encrypt_internal): Likewise.
1562 (serpent_decrypt_internal): Likewise.
1563 (serpent_encrypt): Don't put an alignment-increasing cast.
1564 (serpent_decrypt): Likewise.
1565 (serpent_test): Likewise.
1566
813c0a2b
VS
15672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
1570
f2b60fbd
VS
15712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
1574
1575 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
1576 grub_addr_t casts.
1577 (PTR_TO_UINT64): Likewise.
1578 (PTR_TO_UINT32): Likewise.
1579
5ef5c511
VS
15802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * util/grub-mkimage.c (generate_image): Decrease the higher limit
1583 because of stack.
1584 * util/grub-setup.c (setup): Don't add redundancy past the higher load
1585 limit.
1586
c476e6df
VS
15872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
1590 text_width > available width a bit more gracefully.
1591
384ad7cc
VS
15922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
1595 current address calculation.
1596
96f8caf8
VS
15972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
1600 stack.
1601 (encode_block): Likewise.
1602
276b7a8b
VS
16032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
1606 certainety.
1607
e3fd394a
VS
16082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
1611 non-RS part to avoid RS messing with GDT.
1612 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1613 Increase to suit in realmode routines.
1614
16152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * grub-core/kern/i386/realmode.S: Increase alignment.
1618 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
1619
ee9c2e7a
VS
16202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
1623 be deterministic.
1624 (syndroms): Compute 0 syndrom.
1625 (rs_recover): Use 0 syndrom.
1626
7a7f7cc9
VS
16272011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
1630
a14b16d1
VS
16312011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
1634 brackets.
1635
9f59e9fc
VS
16362011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1637
ca1b552c
VS
1638 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
1639 account.
1640 (get_top_pad): Likewise.
1641 (get_right_pad): Likewise.
1642 (get_bottom_pad): Likewise.
1643
16442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 1647
e739d698
VS
16482011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
1651 attribute as the structure isn't guaranteed to be properly aligned.
1652 (grub_efi_pci_device_path): Likewise.
1653 (grub_efi_pccard_device_path): Likewise.
1654 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
1655 specify the size of `memory_type'.
1656 (grub_efi_vendor_device_path): Likewise.
1657 (grub_efi_controller_device_path): Likewise.
1658 (grub_efi_acpi_device_path): Likewise.
1659 (grub_efi_expanded_acpi_device_path): Likewise.
1660 (grub_efi_atapi_device_path): Likewise.
1661 (grub_efi_scsi_device_path): Likewise.
1662 (grub_efi_fibre_channel_device_path): Likewise.
1663 (grub_efi_1394_device_path): Likewise.
1664 (grub_efi_usb_device_path): Likewise.
1665 (grub_efi_usb_class_device_path): Likewise.
1666 (grub_efi_i2o_device_path): Likewise.
1667 (grub_efi_mac_address_device_path): Likewise.
1668 (grub_efi_ipv4_device_path): Likewise.
1669 (grub_efi_ipv6_device_path): Likewise.
1670 (grub_efi_infiniband_device_path): Likewise.
1671 (grub_efi_uart_device_path): Likewise.
1672 (grub_efi_vendor_messaging_device_path): Likewise.
1673 (grub_efi_hard_drive_device_path): Likewise.
1674 (grub_efi_cdrom_device_path): Likewise.
1675 (grub_efi_vendor_media_device_path): Likewise.
1676 (grub_efi_file_path_device_path): Likewise.
1677 (grub_efi_protocol_device_path): Likewise.
1678 (grub_efi_piwg_device_path): Likewise.
1679 (grub_efi_bios_device_path): Likewise.
1680
cb8f88ea
VS
16812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
1684 (grub_ucs4_to_utf8_alloc): Likewise.
1685 (grub_ucs4_to_utf8): Likewise.
1686 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
1687 (grub_ucs4_to_utf8_alloc): Likewise.
1688
309e5352
VS
16892011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 AFFS never uses unicode.
1692
1693 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
1694 (grub_latin1_to_utf8): New inline function.
1695 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
1696
e7987e1b
VS
16972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
1700 overflow.
1701
efc2616e
VS
17022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
1705 (grub_squash_dirent_header): Likewise.
1706 (read_chunk): Don't double swap.
1707 (grub_squash_iterate_dir): Fix swap sizes.
1708
3c349f5a
VS
17092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
1712
b453412d
VS
17132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
1716 (grub_hfs_iterate_dir): Likewise.
1717
12e9d4d1
VS
17182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 Fix video on platforms where unaligned access is forbidden.
1721 Make several optimisations while on it.
1722
1723 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
1724 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1725 (grub_video_fbblit_replace_32bit_1bit): Likewise.
1726 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1727 Disable.
1728 (grub_video_fbblit_replace_16bit_1bit):
1729 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1730 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1731 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
1732 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
1733 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1734 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1735 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
1736 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
1737 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
1738 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
1739 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
1740 (grub_video_fbblit_replace_index_RGB888): Likewise.
1741 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
1742 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
1743 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
1744 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1745 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
1746 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1747 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1748 Disable.
1749 (grub_video_fbblit_blend_XXX565_1bit):
1750 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1751 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
1752 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
1753 void *.
1754 * grub-core/video/fb/video_fb.c (common_blitter)
1755 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
1756 (grub_video_fb_create_render_target_from_pointer)
1757 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1758 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
1759 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
1760 definition.
1761 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
1762
ace96609
VS
17632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
1766 HH22 and HM10 relocations.
1767
fd261d73
VS
17682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
1771
e59b7857
VS
17722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
1775 allocation succeeded.
1776
9b4baaa4
VS
17772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
1780 argument a u8 pointer. All users updated.
1781 Handle unaligned buffers.
1782
dc713193
VS
17832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
1786 add_part to workaround compiler bug.
1787
30dd48c2
VS
17882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
1791
0c6087a8
VS
17922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1795 Reserve alignment invariants.
1796 (grub_multiboot_load): Likewise.
1797 (retrieve_video_parameters): Likewise.
1798 (grub_multiboot_make_mbi): Likewise.
1799
c2e77777
VS
18002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1803 incorrect pointer.
1804
b70b6d11
VS
18052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1808 (grub_pata_pio_write): Likewise.
1809
02a2bf83
VS
18102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 Add noreturn attributes and remove unreachable code.
1813
1814 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1815 code.
1816 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1817 code. Mark as noreturn.
1818 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1819 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1820 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1821 unreachable code.
1822 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1823 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1824 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1825 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1826 * include/grub/kernel.h (grub_main): Mark as noreturn.
1827 * include/grub/reader.h (grub_rescue_run): Likewise.
1828
2019d09e
VS
18292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1832 redundant declaration.
1833
d1c501ee
VS
18342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1837 redundant declaration.
1838 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1839
61664420
VS
18402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1843 to ensure alignment.
1844 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1845 alignment. Ensure tmp alignment.
1846 (grub_cmd_hdparm): Ensure buf alignment.
1847 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1848 to ensure alignment.
1849 (grub_ata_dumpinfo): Ensure text alignment.
1850 (grub_atapi_identify): Preserve alignment invariant.
1851 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1852
0d51ee20
VS
18532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1856 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1857 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1858 * include/grub/misc.h (grub_reboot)
1859 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1860 (grub_halt) [__mips__]: Likewise.
1861
753ef8c1
VS
18622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1865 Remove redundant declaration.
1866 (grub_mmap_get_post64): Likewise.
1867 (grub_mmap_get_upper): Likewise.
1868 (grub_mmap_get_lower): Likewise.
1869
85c85365
VS
18702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1873 uint32_t * to ensure alignment.
1874 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1875
a23f2cc4
VS
18762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1877
93018f64
VS
1878 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1879 uint16_t * to ensure alignment.
1880 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1881 alignment.
1882
18832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
1886 to ensure alignment.
1887 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1888
58acccd6
VS
18892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1892 Handle unaligned pointers.
1893 (u32at): Likewise.
1894 (u64at): Likewise.
1895 (fixup): Use byte access instead of v16at.
1896 (find_attr): Fix imporper usage of v32at.
1897 (read_data): Likewise.
1898 (list_file): Handle byte-swapping and unaligned strings.
1899 (grub_ntfs_label): Likewise.
1900
9b05cad7
VS
19012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1904 as it's not necessarily aligned.
1905
b3950b84
VS
19062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1909 redundant declaration.
1910 (grub_serial_init): Likewise.
1911 (grub_terminfo_init): Likewise.
1912
fcd232b7
VS
19132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1916 function.
1917 (ZAP_HASH_IDX): Likewise.
1918 (ZAP_LEAF_HASH_SHIFT): Likewise.
1919 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1920 (LEAF_HASH): Likewise.
1921 (ZAP_LEAF_NUMCHUNKS): Likewise.
1922 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1923 alignment invariants. Return pointer. All users updated.
1924 (ZAP_LEAF_ENTRY): Make into inline function.
1925 (NBBY): Removed.
1926 (xor): LIkewise.
1927 (xor_out): Use grub_crypto_xor.
1928 (dnode_get_path): Use grub_get_unaligned.
1929 (nvlist_find_value): Likewise.
1930 (grub_zfs_nvlist_lookup_uint64): Likewise.
1931 (grub_zfs_nvlist_lookup_string): Likewise.
1932 (get_nvlist_size): Likewise.
1933 (grub_zfs_open): Likewise.
1934 (fill_fs_info): Likewise.
1935 (grub_zfs_dir): Likewise.
1936 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1937 alignment invariants.
1938 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1939 necessarily aligned.
1940
f138623a
VS
19412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1944
564840dc
VS
19452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1948 arithmetic to conserve alignment invariants.
1949
9b40df20
VS
19502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1953 redundant declaration.
1954 (grub_efiemu_mm_obtain_request): Likewise.
1955 (grub_efiemu_prepare): Likewise.
1956
d1c930f9
VS
19572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1960 to match types.
1961
4c5f3056
VS
19622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1965 case of aunaligned recptr.
1966 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1967 alignment.
1968 (grub_hfsplus_btree_search): Handle unaligned index.
1969
728cba91
VS
19702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1973 to get freetag and skip.
1974
eb561f31
VS
19752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1978 array.
1979 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1980 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1981
20993fbb
VS
19822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1985 name for checksum and fix allocation algorithm.
1986
1f313b94
VS
19872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * include/grub/types.h (grub_properly_aligned_t): New type.
1990 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1991 (grub_get_unaligned16): Add explicit casts.
1992 (grub_get_unaligned32): Likewise.
1993 (grub_get_unaligned64): Likewise.
1994 (grub_set_unaligned16): New function.
1995 (grub_set_unaligned32): Likewise.
1996
47ae27ec
VS
19972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2000
78c2cd1c
VS
20012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
2004 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
2005 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
2006
53072f9b
VS
20072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
2010 conditionals.
2011
055dc239
VS
20122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
2015 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
2016
496bd074
VS
20172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 Unify and improve RAID and crypto xor.
2020
2021 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
2022 changed to grub_crypto_xor
2023 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
2024 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
2025 Use bigger types when possible.
2026
ef6e4335
VS
20272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/disk/raid.c (scan_devices): Fix condition.
2030
5d048bf2
VS
20312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
2034 Make name a const ptr.
2035
ee533335
VS
20362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
2039 first argument a const pointer.
2040 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
2041 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
2042 proto.
2043 (grub_children_iterate): Likewise.
2044 (grub_machine_mmap_iterate): Remove redundant declaration.
2045
cc8f3668
VS
20462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
2049 (grub_cmd_acpi) [!x86]: Disable EBDA.
2050
c5fc563a
VS
20512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 Enable UTF8 in gnulib regexp.
2054
2055 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
2056 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
2057 (isupper): Use grub_isupper.
2058 (isascii): New inline function.
2059 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
2060 * grub-core/lib/posix_wrap/wctype.h: Likewise.
2061 * grub-core/normal/charset.c (grub_utf8_process): New function.
2062 (grub_utf8_to_utf16): Use grub_utf8_process.
2063 (grub_encode_utf8_character): New function.
2064 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
2065 * include/grub/charset.h (grub_utf8_process): New declaration.
2066 (grub_encode_utf8_character): Likewise.
2067 * include/grub/misc.h (grub_islower): New inline function.
2068 (grub_isupper): Likewise.
2069 (grub_strchrsub): Moved down to fix the definitions.
2070
0af2346f
VS
20712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
2074 specification.
2075
74dbd244
VS
20762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * include/grub/loader.h (grub_loader_register_preboot_hook):
2079 Use struct preboot * and not void * for handle. All users updated.
2080 (grub_loader_unregister_preboot_hook): Likewise.
2081
1bc8f60d
VS
20822011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
2085 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
2086 UTF-16-BE. All users updated.
2087 (grub_hfsplus_cmp_catkey): Fix unicode handling.
2088 (grub_hfsplus_iterate_dir): Likewise.
2089 (grub_hfsplus_label): Likewise.
2090
48d6e456
VS
20912011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
2094
bf3a3857
VS
20952011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 Add missing const qualifiers.
2098
2099 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
2100 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
2101 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
2102 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
2103 (grub_lvm_check_flag): Likewise.
2104 * grub-core/efiemu/i386/coredetect.c
2105 (grub_efiemu_get_default_core_name): Likewise
2106 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2107 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
2108 * grub-core/fs/ntfs.c (fixup): Likewise.
2109 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
2110 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
2111 (fzap_lookup): Likewise.
2112 (zap_lookup): Likewise.
2113 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
2114 * grub-core/lib/legacy_parse.c (check_option): Likewise.
2115 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
2116 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
2117 (grub_freebsd_add_meta_module): Likewise.
2118 (grub_cmd_freebsd_module): Likewise.
2119 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
2120 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
2121 (grub_xnu_writetree_get_size): Likewise.
2122 (grub_xnu_writetree_toheap_real): Likewise.
2123 (grub_xnu_find_key): Likewise.
2124 (grub_xnu_create_key): Likewise.
2125 (grub_xnu_create_value): Likewise.
2126 (grub_xnu_register_memory): Likewise.
2127 (grub_xnu_check_os_bundle_required): Likewise.
2128 (grub_xnu_scan_dir_for_kexts): Likewise.
2129 (grub_xnu_load_kext_from_dir): Likewise.
2130 * grub-core/normal/color.c (color_list): Likewise.
2131 * grub-core/normal/completion.c (current_word): Likewise.
2132 * grub-core/normal/menu_entry.c (insert_string): Likewise.
2133 * grub-core/term/serial.c (grub_serial_find): Likewise.
2134 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
2135 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
2136 Likewise.
2137 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
2138 (grub_freebsd_add_meta_module): Likewise.
2139 * include/grub/lib/arg.h (grub_arg_option): Likewise.
2140 * include/grub/net.h (grub_net_card_driver): Likewise.
2141 (grub_net_card): Likewise.
2142 (grub_net_app_protocol): Likewise.
2143 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
2144 * include/grub/serial.h (grub_serial_find): Likewise.
2145 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
2146 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
2147 (grub_xnu_create_value): Likewise.
2148 (grub_xnu_find_key): Likewise.
2149 (grub_xnu_scan_dir_for_kexts): Likewise.
2150 (grub_xnu_load_kext_from_dir): Likewise.
2151
2152 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
2153 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
2154 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
2155 Moved from here ...
2156 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
2157
112b4837
CW
21582011-11-28 Colin Watson <cjwatson@ubuntu.com>
2159
2160 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
2161
49e891ac
VS
21622011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
2165 (read_device): Fix size calculation.
2166
fd258e5c
RM
21672011-11-25 Robert Millan <rmh@gnu.org>
2168
2169 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
2170 (find_root_device_from_libzfs): Add zpool output parser to be used
2171 as fallback when libzfs isn't available.
2172
78845dc2
SG
21732011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
2174
2175 * po/Makefile.in.in: Add missing escape-continuation.
2176
adac5211
VS
21772011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
2180
10b64f1c
VS
21812011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
2184
bb416954
VS
21852011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
2188
bdfe9eeb
VS
21892011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
2192
581ffa8a
VS
21932011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/lib/adler32.c: Add missing license specification.
2196 * grub-core/lib/crc64.c: Likewise.
2197 * grub-core/loader/i386/pc/plan9.c: Likewise.
2198 * grub-core/partmap/plan.c: Likewise.
2199
2536cf64
LK
22002011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
2201
2202 Add facility to debug GRUB with gdb under qemu.
2203
2204 * grub-core/gdb_grub.in: New file.
2205 * grub-core/gmodule.pl.in: Likewise.
2206 * grub-core/Makefile.core.def (gmodule.pl): New script.
2207 (gdb_grub): Likewise.
2208
bc108a4a
VS
22092011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * util/grub-mount.c (argp_parser): Accept relative pathes.
2212 * util/grub-fstest.c (argp_parser): Likewise.
2213
111c1778
VS
22142011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 Plan9 support.
2217
2218 * Makefile.util.def (libgrubmods): Add
2219 grub-core/partmap/plan.c.
2220 * docs/grub.texi: Notice Plan9 support.
2221 * grub-core/Makefile.core.def (plan9): New module.
2222 (part_plan): Likewise.
2223 * grub-core/loader/i386/pc/plan9.c: New file.
2224 * grub-core/partmap/plan.c: Likewise.
2225 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
2226 define.
2227 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
2228 * include/grub/mm.h (grub_extend_alloc): New inline function.
2229
c30be3b6
VS
22302011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 Make Reed-Solomon faster by using power of generator representation of
2233 GF(256)*.
2234
2235 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
2236 (gf_double_t): Likewise.
2237 (gf_invert): Removed.
2238 (gf_powx): New array.
2239 (gf_powx_inv): Likewise.
2240 (scratch): Move higher.
2241 (gf_reduce): Removed.
2242 (gf_mul): Use powx.
2243 (gf_invert): Likewise.
2244 (init_inverts): Replaced with ...
2245 (init_powx): ...this. All users updated.
2246 (pol_evaluate): Replace multiplications with additions.
2247 (rs_encode): Likewise.
2248 (gauss_eliminate): Call gf_invert.
2249 (grub_reed_solomon_add_redundancy): Call init_powx.
2250 (grub_reed_solomon_recover): Call init_powx unconditionally.
2251
fa5aeffc
VS
22522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
2255
a346b81c
VS
22562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
2259 disk->partiton for safety.
2260
d89ee414
VS
22612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
2264 Fix a memory leak.
2265 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
2266
91ee7b6d
VS
22672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
2270
91e5a33d
VS
22712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
2274
9edd7be2
VS
22752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 Fix spaces handling in proc/self/mountinfo.
2278
2279 * util/getroot.c (unescape): New function.
2280 (grub_find_root_device_from_mountinfo): Use unescape.
2281
ba102053
VS
22822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 Support ZFS embedding.
2285
2286 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
2287 (grub_zfs_fs): Register grub_zfs_embed.
2288
aa94b870
VS
22892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 Fix MIPS compilation.
2292
2293 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
2294 * include/grub/offsets.h: Rename decompressor fields from
2295 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
2296 * util/grub-mkimage.c (image_targets): Use new names.
2297
5fbdac14
VS
22982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 Defer multiboot device parsing until we're in compressed part.
2301
2302 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
2303 bsd_part. setdevice has fallen into disuse.
2304 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
2305 (bsd_part): Likewise.
2306 (boot_dev): New variable.
2307 (multiboot_trampoline): Don't parse multiboot device.
2308 Pass multiboot device in %edx.
2309 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
2310 grub_boot_device.
2311 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
2312 Likewise.
2313 * grub-core/kern/i386/pc/startup.S: Save edx.
2314 (grub_boot_drive): Removed.
2315 (grub_install_dos_part): Likewise.
2316 (grub_install_bsd_part): Likewise.
2317 (grub_boot_device): New variable.
2318 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
2319 (grub_install_bsd_part): Likewise.
2320 (grub_boot_drive): Likewise.
2321 (grub_boot_device): New variable.
2322 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
2323 Removed.
2324 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2325 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
2326 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
2327 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
2328 * util/grub-install.in: Remove redundant condition.
2329
691cbb58
VS
23302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 Fix bug introduced by previous commit.
2333
2334 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
2335
60240b8b
VS
23362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 Use decompressors framework on i386-pc. It increases core size
2339 by 46 bytes but improves compatibility and maintainability.
2340
2341 * grub-core/Makefile.core.def (lzma_decompress): New image.
2342 (kernel): Add i386_pc_ldflags.
2343 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
2344 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
2345 to real_to_prot, prot_to_real and device info.
2346 * include/grub/offsets.h: Renamed decompressor offsets.
2347 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
2348 (image_target_desc): Remove raw_size and rename decompressor fields.
2349 (compress_kernel): Handle lzma.
2350 (generate_image): Handle decompressors on i386-pc.
2351
e9d3421c
VS
23522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * configure.ac: Add -fno-asynchronous-unwind-tables.
2355
2b23074a
VS
23562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 Move assembly code to C by using intwrap. It increases core size
2359 by 88 bytes but improves compatibility and maintainability.
2360
2361 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
2362 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
2363 ... here. Translated to C.
2364 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
2365 * grub-core/term/i386/pc/console.c (grub_console_getkey):
2366 ... here. Translated to C.
2367 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
2368 * grub-core/term/i386/pc/console.c (grub_console_getxy):
2369 ... here. Translated to C.
2370 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
2371 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
2372 ... here. Translated to C.
2373 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
2374 * grub-core/term/i386/pc/console.c (grub_console_cls):
2375 ... here. Translated to C.
2376 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
2377 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
2378 ... here. Translated to C.
2379 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
2380 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
2381 Translated to C.
2382 * grub-core/term/i386/pc/console.c (int10_9): New function.
2383 (grub_console_putchar): Likewise.
2384 * include/grub/i386/pc/console.h: Removed the not anymore shared
2385 functions.
2386
678f4b67
VS
23872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 Move grub_chainloader_real_boot out of the kernel.
2390
2391 * grub-core/Makefile.am: Remove machine/loader.h.
2392 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2393 Removed.
2394 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
2395 variable.
2396 (grub_relocator16_keep_a20_enabled): Likewise.
2397 (grub_relocator16_boot): Fill new variables.
2398 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
2399 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
2400 relocator.
2401 (grub_chainloader_unload): Likewise.
2402 (grub_chainloader_cmd): Likewise.
2403 * include/grub/i386/pc/loader.h: Removed.
2404 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
2405 and esi. All initialisers updated.
2406
4626edf6
VS
24072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
24082011-11-12 Colin Watson <cjwatson@ubuntu.com>
2409
2410 * Makefile.util.def (grub-mount): New util.
2411 * .bzrignore: Add grub-mount.
2412 * configure.ac: Check for fuse and enable grub-mount if available.
2413 * docs/man/grub-mount.h2m: New file.
2414 * util/grub-mount.c: Likewise.
2415
10f0117b
VS
24162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * grub-core/commands/efi/fixvideo.c: Gettextize.
2419 * grub-core/commands/hashsum.c: Likewise.
2420 * grub-core/commands/i386/cmostest.c: Likewise.
2421 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2422 * grub-core/commands/i386/pc/lsapm.c: Likewise.
2423 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2424 * grub-core/commands/lsmmap.c: Likewise.
2425 * grub-core/commands/menuentry.c: Likewise.
2426 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2427 * grub-core/commands/setpci.c: Likewise.
2428 * grub-core/loader/i386/bsd.c: Likewise.
2429 * grub-core/loader/i386/linux.c: Likewise.
2430 * util/getroot.c: Likewise.
2431 * util/grub-editenv.c: Likewise.
2432 * util/grub-fstest.c: Likewise.
2433 * util/grub-mkfont.c: Likewise.
2434 * util/grub-mkimage.c: Likewise.
2435 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2436 * util/grub-pe2elf.c: Likewise.
2437 * util/grub-probe.c: Likewise.
2438 * util/grub-setup.c: Likewise.
2439 * util/ieee1275/ofpath.c: Likewise.
2440 * util/misc.c: Likewise.
2441 * util/raid.c: Likewise.
2442
566f779b
RM
24432011-11-11 Robert Millan <rmh@gnu.org>
2444
2445 * util/getroot.c (grub_util_get_geom_abstraction): Remove
2446 __attribute__((unused)) from `os_dev', which *is* being used.
2447
b50787de
VS
24482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
2451 forgotten define.
2452 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
2453 GRUB_IA64_DL_GOT_ALIGN.
2454 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
2455 GRUB_IA64_DL_TRAMP_ALIGN.
2456
119d11c8
VS
24572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 Replace grub_fatal with normal errors in i386 linux loader.
2460
2461 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
2462 (allocate_pages): Check find_efi_mmap_size return value.
2463 (grub_e820_add_region): Return error.
2464 (grub_linux_boot): Check mmap return value.
2465
6e0632e2
VS
24662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/commands/acpihalt.c: Gettextized.
2469 * grub-core/commands/cacheinfo.c: Likewise.
2470 * grub-core/commands/cmp.c: Likewise.
2471 * grub-core/commands/efi/loadbios.c: Likewise.
2472 * grub-core/commands/gptsync.c: Likewise.
2473 * grub-core/commands/ieee1275/suspend.c: Likewise.
2474 * grub-core/commands/legacycfg.c: Likewise.
2475 * grub-core/commands/memrw.c: Likewise.
2476 * grub-core/commands/minicmd.c: Likewise.
2477 * grub-core/commands/parttool.c: Likewise.
2478 * grub-core/commands/time.c: Likewise.
2479 * grub-core/commands/videoinfo.c: Likewise.
2480 * grub-core/disk/geli.c: Likewise.
2481 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
2482 * grub-core/disk/luks.c: Likewise.
2483 * grub-core/disk/lvm.c: Likewise.
2484 * grub-core/font/font_cmd.c: Likewise.
2485 * grub-core/fs/zfs/zfscrypt.c: Likewise.
2486 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2487 * grub-core/gfxmenu/view.c: Likewise.
2488 * grub-core/kern/emu/hostdisk.c: Likewise.
2489 * grub-core/kern/emu/main.c: Likewise.
2490 * grub-core/kern/emu/misc.c: Likewise.
2491 * grub-core/kern/emu/mm.c: Likewise.
2492 * grub-core/kern/mips/arc/init.c: Likewise.
2493 * grub-core/kern/mips/loongson/init.c: Likewise.
2494 * grub-core/kern/partition.c: Likewise.
2495 * grub-core/lib/i386/halt.c: Likewise.
2496 * grub-core/lib/mips/arc/reboot.c: Likewise.
2497 * grub-core/lib/mips/loongson/reboot.c: Likewise.
2498 * grub-core/loader/i386/pc/chainloader.c: Likewise.
2499 * grub-core/loader/i386/xnu.c: Likewise.
2500 * grub-core/loader/multiboot.c: Likewise.
2501 * grub-core/net/bootp.c: Likewise.
2502 * grub-core/net/net.c: Likewise.
2503 * grub-core/normal/term.c: Likewise.
2504 * grub-core/partmap/bsdlabel.c: Likewise.
2505 * grub-core/parttool/msdospart.c: Likewise.
2506 * grub-core/term/gfxterm.c: Likewise.
2507 * grub-core/term/terminfo.c: Likewise.
2508 * grub-core/video/i386/pc/vbe.c: Likewise.
2509 * util/grub-menulst2cfg.c: Likewise.
2510 * util/grub-mkdevicemap.c: Likewise.
2511 * util/grub-mklayout.c: Likewise.
2512 * util/grub-mkrelpath.c: Likewise.
2513 * util/grub-script-check.c: Likewise.
2514 * util/ieee1275/grub-ofpathname.c: Likewise.
2515 * util/resolve.c: Likewise.
2516
073aa7a9
VS
25172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 Support %1$d syntax.
2520
2521 * tests/printf_unit_test.c: New file.
2522 * Makefile.util.def (printf_test): New test.
2523 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
2524
c76b5417
VS
25252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
2528 fix.
2529
df067ad1
VS
25302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
2533 dprintf.
2534 * grub-core/font/font.c (grub_font_load): Likewise.
2535
5b289bc5
VS
25362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * util/grub-macho2img.c: Add comment concerning gettext.
2539 * grub-core/lib/legacy_parse.c: Likewise.
2540
c1860f87
VS
25412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
2544 (grub_xvasprintf): Likewise.
2545
d35d0d37
VS
25462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Add const keyword to grub_env_get and gettextize week days.
2549
2550 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
2551 (grub_read_hook_datetime): Return const char *.
2552 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
2553 updated.
2554 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2555 Mark for gettext.
2556 (grub_get_weekday_name): Return const char *. Call gettext.
2557 * grub-core/script/argv.c (grub_script_argv_append): Receive const
2558 char * and len as the argument. All users updated.
2559 (grub_script_argv_split_append): Receive const char *.
2560 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
2561 * include/grub/env.h (grub_env_get): Likewise.
2562 (grub_env_read_hook_t): Return const char *.
2563 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
2564 (grub_script_argv_split_append): Likewise.
2565
9aed8a71
VS
25662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
2569
067fdf00
VS
25702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
2573 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
2574
a8bd9d39
VS
25752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
2578 Fix prototype.
2579
f7ce5baf
VS
25802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 Fix mips compilation.
2583
2584 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
2585 normal decoder.
2586 (hashes): Use in embed decoder as well (for sizes).
2587 (dec_stream_header): Fix embed decompressor logic.
2588 (dec_stream_footer): Likewise.
2589
9bb182f3
VS
25902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
2593 an error and not a fatal on unrecognised relocation types.
2594
63a9e6f6
VS
25952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2598 Issue error rather than printf on unknown arguments.
2599
4c458569
VS
26002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
2603 Make buf a const.
2604
e2d22baf
VS
26052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
2608 Fix module name.
2609
53dc8590
VS
26102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
2613 leftover debug printf.
2614
6c189294
VS
26152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
2618
f7688369
VS
26192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
2622 A stylistic fix.
2623
11a775a3
VS
26242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
2627
33f784e8
SL
26282011-11-10 Shea Levy <slevy@tieronedesign.com>
2629
2630 Allow all modules to perform serial IO
2631
2632 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
2633 * include/grub/serial.h (grub_serial_port_configure): New inline
2634 function.
2635 (grub_serial_port_fetch): Likewise.
2636 (grub_serial_port_put): Likewise.
2637 (grub_serial_port_fini): Likewise.
2638 (grub_serial_find): New proto.
2639
f6276525
VS
26402011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 Put symlink at the end of the node and fix a potential
2643 memory corruption.
2644
2645 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
2646 Make symlink into an array.
2647 (set_rockridge): Set have_symlink and alloc_dirents.
2648 (grub_iso9660_read_symlink): Use new layout.
2649 (grub_iso9660_iterate_dir): Fix memory corruption.
2650 Use new layout.
2651 (grub_iso9660_dir): Set have_symlink.
2652 (grub_iso9660_open): Likewise.
2653
c3591189
VS
26542011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 Remove local keyword.
2657
2658 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
2659 (version_test_gt): Likewise.
2660 (version_find_latest): Likewise.
2661 (gettext_printf): Likewise.
2662 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
2663
cb544caa
VS
26642011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2667
45bd824d
VS
26682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 Fix ZFS memory and resource leaks.
2671
2672 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
2673 All users updated.
2674 Free type on exit.
2675 (fill_vdev_info): New parameter inserted. All users updated.
2676 (check_pool_label): Likewise.
2677 (scan_disk): Likewise.
2678 (scan_devices): Close non-inserted disks.
2679 (fzap_iterate): Free l.
2680 (unmount_device): Free children descripto memory.
2681
ad9a2f44
VS
26822011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
2685 argument (access out of bounds).
2686
6b68db81
VS
26872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
2690 >= 6 drives.
2691
28840fda
VS
26922011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
2695 Fix declaration.
2696
8a5a3a5b
VS
26972011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 Fix several memory leaks.
2700
2701 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
2702 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
2703 (grub_cpio_dir): Likewise.
2704 * grub-core/fs/fat.c (grub_fat_label): Likewise.
2705 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
2706 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
2707 (grub_romfs_label): Likewise.
2708 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
2709 (squash_unmount): New function.
2710 (grub_squash_dir): Fix memory leak.
2711 (grub_squash_open): Likewise.
2712 (grub_squash_read): Likewise.
2713 (grub_squash_mtime): Likewise.
2714 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
2715 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
2716 * util/grub-fstest.c (fstest): Likewise.
2717
57b01250
VS
27182011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
2721 avoid accessing beyond the array.
2722
19e81ba7
VS
27232011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2726
52b656c0
VS
27272011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 Several AFFS fixes.
2730
2731 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
2732 (GRUB_AFFS_FLAG_FFS): Removed.
2733 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
2734 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
2735 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
2736 (grub_fshelp_node): Make block 32-bit.
2737 Add block_cache and last_block_cache.
2738 (grub_affs_read_block): Fill and use block cache.
2739 (grub_affs_read_file): Removed.
2740 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
2741 boot block.
2742 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
2743 safety.
2744 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
2745 space.
2746 (grub_affs_close): Free block cache.
2747 (grub_affs_read): Use grub_fshelp_read_file directly.
2748
438a746a
VS
27492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
2752 with no error set.
2753
49a45021
VS
27542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
2757 used variable.
2758 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2759 Likewise.
2760
3ae17eb8
VS
27612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
2764
2765 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
2766 byteswap when needed.
2767
27610c38
VS
27682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 Fix FreeBSD compilation.
2771
2772 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
2773 to avoid circular dependency.
2774 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
2775 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
2776 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
2777
4a19b601
VS
27782011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 Fix ZFS crypto error types.
2781
2782 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
2783 (grub_gcm_decrypt): Likewise.
2784 (grub_zfs_load_key_real): Fix error code type. Handle possible error
2785 from PBKDF2.
2786
958ee221
VS
27872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 Illumos support.
2790
2791 * Makefile.util.def (10_illumos): New script.
2792 * configure.ac: Set COND_HOST_ILLUMOS.
2793 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2794 Support Illumos calls.
2795 (find_partition_start) [__sun__]: Likewise.
2796 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2797 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2798 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2799 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2800 device.
2801 * util/grub-probe.c (probe) [__sun__]: Do character check.
2802 * util/grub.d/10_illumos.in: New file.
2803
cac14fb6
VS
28042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 Support escaped commas in hostdisk.
2807
2808 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2809 (find_grub_drive): Use unescape_cmp.
2810 (make_device_name): Escape commas.
2811
78e08dc3
VS
28122011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2815
9f421dd1
VS
28162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2819 variable.
2820
ed64e9e2
VS
28212011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 Support trampoline jumps on powerpc.
2824
2825 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2826 __ia64__ path.
2827 (grub_dl_load_segments): Set mod->sz.
2828 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2829 segments.
2830 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2831 (jump): Likewise.
2832 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2833 function.
2834 (trampoline): New struct.
2835 (trampoline_template): New const.
2836 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2837 * include/grub/dl.h (grub_dl): Add sz element.
2838 [__powerpc__]: Follow __ia64__.
2839 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2840 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2841 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2842 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2843
3084ede4
VS
28442011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 ZFS crypto support.
2847
2848 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2849 * grub-core/Makefile.core.def (zfscrypt): New module.
2850 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2851 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2852 it. All users updated.
2853 (grub_zfs_decrypt): New var.
2854 (grub_zfs_load_key): Likewise.
2855 (zio_checksum_functions): Add SHA256+MAC.
2856 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2857 (zio_read): Handle encrypted blocks.
2858 (zap_verify): Remove incorrect check.
2859 (fzap_iterate): Handle non-standard fzap.
2860 (zap_iterate): Likewise.
2861 (zap_iterate_u64): New function.
2862 (dnode_get_fullpath): Load keys.
2863 * grub-core/fs/zfs/zfscrypt.c: New file.
2864 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2865 (grub_crypto_ecb_encrypt): Make input const.
2866 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2867 (grub_crypto_ecb_encrypt): Make input const.
2868 (GRUB_CIPHER_AES): New macro.
2869 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2870 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2871 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2872 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2873 prefix. All users updated.
2874 (grub_zfs_add_key): New proto.
2875 (grub_zfs_decrypt): Likewise.
2876 (grub_zfs_load_key): Likewise.
2877 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2878 * util/grub-fstest.c (options): Add -K option.
2879 (argp_parser): Likewise.
2880
b632b404
VS
28812011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 Support zle compression on ZFS.
2884
2885 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2886 (decomp_table): Add zle.
2887 * include/grub/zfs/zio.h (zio_compress): Add zle.
2888
c7ba4f69
VS
28892011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 Support BtrFS embedding.
2892
2893 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2894 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2895 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2896 * util/grub-setup.c (setup): Use fs embedding if available.
2897 Add additional sanity check.
2898
455377d9
VS
28992011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * util/grub-install.in: Fix condition for config_opt.
2902
c2fd16ca
VS
29032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 Support third redundancy strip on raidz3.
2906
2907 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2908 Return error on singularity. All users updated.
2909 (read_device): Don't stop on 3rd failure on raidz3.
2910
8622923b
VS
29112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 Support case-insensitive ZFS subvolumes.
2914
2915 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2916 All users updated.
2917 (zap_hash): Likewise.
2918 (name_cmp): New function.
2919 (zap_leaf_array_equal): New parameter case_insensitive.
2920 All users updated.
2921 (zap_leaf_lookup): Likewise.
2922 (fzap_lookup): Likewise.
2923 (zap_lookup): Likewise.
2924 (dnode_get_path): New parameter case_insensitive. Retrieve case
2925 sensitiviness of a volume. All users updated.
2926 (dnode_get_fullpath): New parameter case_insensitive.
2927 All users updated.
2928 (grub_zfs_dir): Set info.case_insensitiveness.
2929
95f2e860
VS
29302011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 Support second redundancy strip on raidz(2,3).
2933
2934 * grub-core/fs/zfs/zfs.c (powx): New array.
2935 (powx_inv): Likewise.
2936 (poly): New const.
2937 (xor_out): New function.
2938 (gf_mul): Likewise.
2939 (recovery): Likewise.
2940 (read_device): Use second redundancy strip.
2941
11ee4389
VS
29422011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 Use a power of generator representation of GF(256) multiplication group
2945 to save space time and complexity.
2946
2947 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2948 (raid6_table2): Likewise.
2949 (powx): New array.
2950 (powx_inv): Likewise.
2951 (poly): New const.
2952 (grub_raid_block_mul): Replace with ...
2953 (grub_raid_block_mulx): ...this.
2954 (grub_raid6_init_table): Rewritten.
2955 (grub_raid6_recover): Use power of generator representation.
2956
09e2763f
VS
29572011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2960 for the right device.
2961
8bec9a28
VS
29622011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2965 expected by grub-mkimage and it's more clear since there is no implicit
2966 padding.
2967
dbd3a32e
VS
29682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2971 disk.
2972 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2973
182c872a
PMH
29742011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2975
2976 * util/grub-mkrescue.in: Fix handling xorriso option.
2977
1e51cabd
VS
29782011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2981 NULL.
2982
9cc3581d 29832011-11-03 crocket <crockabiscuit@gmail.com>
2984
2985 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2986
158dc1ea
VS
29872011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 XZ CRC64 and SHA256 support.
2990
2991 * Makefile.util.def (libgrubmods): Add crc64.c.
2992 * grub-core/Makefile.core.def (crc64): New module.
2993 * grub-core/lib/crc64.c: New file.
2994 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2995 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2996 Fix the type.
2997 (MAX_HASH_SIZE): New define.
2998 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2999 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
3000 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3001 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3002 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
3003 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
3004 Handle non-crc32 hashes.
3005 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
3006 (dec_stream_header): Handle non-crc32 hashes.
3007 (dec_stream_footer): Likewise.
3008 (dec_block_header): Likewise.
3009 (dec_main): Likewise.
3010 (xz_dec_init): Likewise.
3011 (xz_dec_reset): Likewise.
3012 (xz_dec_end): Likewise.
3013 * util/import_gcry.py: Add CRC64 line.
3014
9d9b3d2f
VS
30152011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
3018 as well.
3019
7d0ac931
VS
30202011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 Make reiserfs label retrieval similar to other *_label functions.
3023
3024 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
3025 (REISERFS_MAX_LABEL_LENGTH): Removed.
3026 (REISERFS_LABEL_OFFSET): Likewise.
3027 (grub_reiserfs_label): Rewritten.
3028
30292011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
3032 field.
3033
cf5ba824
VS
30342011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
3037
17744004
VS
30382011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
3041 drive failure on both raidz and raidz2.
3042
aca5aefc
VS
30432011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 Fix RAIDZ(2) for >= 5 devices.
3046
3047 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
3048 asize argument. All users updated.
3049
ce8ca56e
VS
30502011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 Fix RAIDZ(2).
3053
3054 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
3055 (fill_vdev_info_real): Set ashift.
3056 (read_device): Rewrite RAIDZ part based on reverse engineering.
3057
7c01e783
VS
30582011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
3061 don't report potentially unavialiable fields in debug output.
3062 (find_path): Fix double-free and memory leak.
3063
ce109e84
VS
30642011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 Read label on UFS1.
3067
3068 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
3069 (grub_ufs_fs): Always set .label.
3070
87661123
VS
30712011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 Use shifts in UFS.
3074
3075 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
3076 (grub_ufs_data): New field log2_blksz.
3077 (grub_ufs_read_file): Use shifts.
3078 (grub_ufs_mount): Check block size and logarithm it.
3079
46bc1dc2
VS
30802011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
3083 long symlinks.
3084
19ee2987
VS
30852011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 Handle symlinks and long names on tar and cpio.
3088
3089 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
3090 (ATTR_FILE): Likewise.
3091 (ATTR_DIR): Likewise.
3092 (ATTR_LNK): Likewise.
3093 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
3094 (grub_cpio_find_file): Fill mode, handle linkname field as well as
3095 L and K entries.
3096 (grub_cpio_mount): Zero-fill data.
3097 (handle_symlink): New function.
46bc1dc2
VS
3098 (grub_cpio_dir): Handle symlinks.
3099 (grub_cpio_open): Likewise.
3100 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 3101
c83a08d8
VS
31022011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 Fix iso9660 filename limitations and fix memory leaks.
3105
3106 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
3107 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
3108
45cdd3ea
VS
31092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 Fix JFS file name length limitations.
3112
3113 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
3114 (grub_jfs_diropen): Fix maximum filename length.
3115 (grub_jfs_getent): Fix filename length.
3116 (grub_jfs_lookup_symlink): Fix size checks.
3117
94ef05c2
VS
31182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
3121 string.
3122
785ab8c7
VS
31232011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3124
eb0b6b45
VS
3125 Leverage BFS implementation to read AFS.
3126
3127 * Makefile.util.def (libgrubmods): Add afs.c.
3128 * grub-core/Makefile.core.def (afs): New module
3129 * grub-core/fs/afs.c: New file.
3130 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
3131
31322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 3135
c4a1628f
VS
31362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/fs/bfs.c: Run indent.
3139
5825b379
VS
31402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 BFS implementation based on the specification.
3143
3144 * grub-core/fs/bfs.c: New file.
3145 * Makefile.util.def (libgrubmods): Add bfs.c.
3146 * grub-core/Makefile.core.def (bfs): New module.
3147
42b2a706
VS
31482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * util/grub-fstest.c (cmd_cp): Clarify error message.
3151 (cmd_cmp): Likewise.
3152
61b99bfc
YB
31532011-10-30 Yves Blusseau <blusseau@zetam.org>
3154
3155 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
3156 and befs_be.
3157
faba3d16
VS
31582011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 Remove afs and befs because of copyright problem.
3161
3162 * grub-core/fs/afs.c: Removed.
3163 * grub-core/fs/afs_be.c: Removed.
3164 * grub-core/fs/befs.c: Removed.
3165 * grub-core/fs/befs_be.c: Removed.
3166 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
3167 * grub-core/Makefile.core.def (afs): Removed.
3168 (afs_be): Likewise.
3169 (befs): Likewise.
3170 (befs_be): Likewise.
3171
c39224b0
VS
31722011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 Prefer rockridge over Joliet.
3175
3176 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
3177 to ...
3178 (set_rockridge): ... here.
3179 (grub_iso9660_mount): Check rockridge on the primary label when
3180 discovering. Ignore Joliet if Rockridge is present.
3181
e551115a
VS
31822011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 Use shifts in nilfs2.
3185
3186 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
3187 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
3188 (grub_nilfs2_palloc_entries_per_group): Replace with ...
3189 (grub_nilfs2_log_palloc_entries_per_group): ... this.
3190 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
3191 (grub_nilfs2_entries_per_block): Replaced with ...
3192 (grub_nilfs2_log_entries_per_block_log): ... this.
3193 (grub_nilfs2_blocks_per_group): Replaced with ...
3194 (grub_nilfs2_blocks_per_group_log): ... this.
3195 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
3196 (grub_nilfs2_blocks_per_desc_block_log): ... this.
3197 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
3198 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
3199 (grub_nilfs2_palloc_entry_offset): Replaced ...
3200 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
3201 (grub_nilfs2_dat_translate): Use shifts.
3202 (grub_nilfs2_read_inode): Likewise.
3203 (GRUB_MOD_INIT): Ensure that logs are correct.
3204
564dd58c
VS
32052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 Use shifts in minix filesystem.
3208
3209 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
3210 (GRUB_MINIX_ZONE2SECT): Likewise.
3211 (grub_minix_data): Replace block_size with log_block_size.
3212 (grub_minix_read_file): Use shifts.
3213 (grub_minix_mount): Check block size and take a logarithm.
3214
ed9ba06d
VS
32152011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 Use shifts in squash4.
3218
3219 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
3220 (squash_mount): Check block size and take logarithm.
3221 (direct_read): Use shifts.
3222
ad03fe76
VS
32232011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 Correct befs block counting logic.
3226
3227 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
3228 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
3229 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
3230 (grub_afs_read_inode): Use block_shift.
3231 (RANGE_SHIFT): New definition.
3232 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
3233 unexpected conditions, use shifts and appropriate types.
3234 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
3235
6563f63d
VS
32362011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/disk/raid.c (scan_devices): Check partition.
3239 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
3240
5b1ae25f
VS
32412011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 Support BFS (befs) UUID.
3244
3245 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
3246 (grub_afs_small_data_element_header): New struct.
3247 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
3248 (grub_afs_read_attribute) [MODE_BFS]: New function.
3249 (grub_afs_iterate_dir): Allocate for complete inode.
3250 (grub_afs_mount): Likewise.
3251 (grub_afs_uuid) [MODE_BFS]: New function.
3252 (grub_afs_fs) [MODE_BFS]: Add .uuid.
3253
f8d82408
VS
32542011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
3257 (zfs_unmount): Fix memory leak.
3258
5773fb64
VS
32592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 Support NTFS reparse points.
3262
3263 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
3264 (symlink_descriptor): New struct.
3265 (grub_ntfs_read_symlink): New function.
3266 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
3267 (grub_ntfs_open): Likewise.
3268
91c3fdde
VS
32692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
3272
3be82e10
VS
32732011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 fstest xnu_uuid subcommand.
3276
3277 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
3278 grub-core/commands/xnu_uuid.c.
3279 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
3280 (fstest): Handle xnu_uuid.
3281 (options): Document xnu_uuid.
3282 (argp_parser): Parse xnu_uuid.
3283
8e32442e
VS
32842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
3287 -l argument. Add newline at the end if printing.
3288 (GRUB_MOD_INIT): Document -l.
3289
52a05075
VS
32902011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
3293
1869edb5
VS
32942011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 ZFS multi-device and version 33 support.
3297
3298 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
3299 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
3300 (grub_zfs_data): Add multidev-ice-related fields.
3301 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
3302 (dva_get_offset): Make dva const.
3303 (zfs_fetch_nvlist): New function.
3304 (fill_vdev_info_real): Likewise.
3305 (fill_vdev_info): Likewise.
3306 (check_pool_label): Likewise.
3307 (scan_disk): Likewise.
3308 (scan_devices): Likewise.
3309 (read_device): Likewise.
3310 (read_dva): Likewise.
3311 (zio_read_gang): Use read_dva.
3312 (zio_read_data): Likewise.
3313 (zap_leaf_lookup): Add missing endian conversion.
3314 (zap_verify): Add missing endian conversion. All users updated.
3315 (fzap_lookup): Likewise.
3316 (fzap_iterate): Likewise.
3317 (dnode_get_path): Handle SA bonus.
3318 (nvlist_find_value): Make input const. All users updated.
3319 (unmount_device): New function.
3320 (zfs_unmount): Use unmount_device.
3321 (zfs_mount): Use scan_disk.
3322 (zfs_mtime): New function.
3323 (grub_zfs_open): Handle system attributes.
3324 (fill_fs_info): Likewise.
3325 (grub_zfs_dir): Likewise.
3326 (grub_zfs_fs): Add mtime.
3327 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
3328 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
3329 (SA_MTIME_OFFSET): Likewise.
3330 (SA_SYMLINK_OFFSET): Likewise.
3331 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
3332 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
3333 (fstest): Support zfsinfo.
3334 (argp_parser): Likewise.
3335
186b4028
VS
33362011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
3339 error.
3340
33412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
3342
3343 ZFS fixes.
3344
3345 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
3346 sharing the same block. Iterate over correct number of indices.
3347 (dnode_get_path): Handle symlinks correctly.
3348
c0584900
VS
33492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
3352
67e2bd71
VS
33532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 Read label on HFS+.
3356
3357 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
3358 (grub_hfsplus_btree_search): Fix types.
3359 (grub_hfsplus_label): Implement.
3360
e9cc6b7b
VS
33612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
3364
19832ddb
VS
33652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
3368
66b40850
VS
33692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 Fix symlink handling on iso9660.
3372
3373 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
3374 All users updated.
3375 (grub_iso9660_susp_iterate): Accept zero-size iterate.
3376 (grub_iso9660_read_symlink): Moved most of code ...
3377 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
3378
db821363
VS
33792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3382 Use union to avoid breaking strict-aliasing rules.
3383
e1211949
VS
33842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 Support multi-extent iso files.
3387
3388 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
3389 Add node.
3390 (grub_fshelp_node): Revamp. All users updated.
3391 (FLAG_*): New enum.
3392 (read_node): New function.
3393 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
3394 All users updated.
3395 (grub_iso9660_mount): Don't attempt to read sua when there is none.
3396 (get_node_size): New function.
3397 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
3398 entries.
3399 Fix memory leak on . and ..
3400 (grub_iso9660_read): Use read_node.
3401 (grub_iso9660_close): Free node.
3402
d4888031
VS
34032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 Fix tar 4G limit and handle paths containing dot.
3406
3407 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
3408 (canonicalize): New function.
3409 (grub_cpio_find_file): Use canonicalize. Store offs in
3410 grub_disk_addr_t.
3411 (grub_cpio_dir): Use grub_disk_addr_t.
3412 (grub_cpio_open): Likewise.
3413
9f12e664
VS
34142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 Fix handling of uncompressed blocks on squashfs and break 4G limit.
3417
3418 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
3419 unused flags.
3420 (grub_squash_inode): Add long_file and block_size.
3421 (grub_squash_cache_inode): New struct.
3422 (grub_squash_dirent): Make types into enum.
3423 (SQUASH_TYPE_LONG_REGULAR): New type.
3424 (grub_squash_frag_desc): Add field size.
3425 (SQUASH_BLOCK_FLAGS): New enum.
3426 (grub_squash_data): Use grub_squash_cache_inode.
3427 (grub_fshelp_node): Make ino_chunk 64-bit.
3428 (read_chunk): Minor argument change. All users updated.
3429 (squash_mount): Use correct le_to_cpu.
3430 (grub_squash_open): Handle LONG_REGULAR.
3431 (direct_read): New function.
3432 (grub_squash_read_data): Handle blocks correctly.
3433
9f326fba
VS
34342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
3437
f4d9b64b
VS
34382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
3441
5bbd28b8
VS
34422011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 Fix 2G limit on ZFS.
3445
3446 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
3447 types.
3448 (uberblock_verify): Likewise.
3449 (dmu_read): Likewise.
3450 (grub_zfs_read): Likewise. Remove invalid cast.
3451
68c72069
VS
34522011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
3455 (grub_jfs_blkno): Fix incorrect shift.
3456 (grub_jfs_read_file): Use more appropriate types.
3457
6e536dc8
VS
34582011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 Support triple indirect on minix2 and minix3.
3461
3462 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
3463 Declare triple_indir_zone.
3464 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
3465 indirect.
3466
e0864e7a
VS
34672011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Minix FS fixes.
3470
3471 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
3472 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
3473 Rename ctime to mtime. All users updated.
3474 (grub_minix_get_file_block): Fix types and double indirect computations.
3475
89481cab
VS
34762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
3479 if no label is found.
3480 (grub_fat_iterate_dir): Fix file size type.
3481 (grub_fat_iterate_dir): Likewise.
3482
f646e143
VS
34832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
3486 save some space.
3487 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3488 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3489
534d769e
VS
34902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
3493
e084ba18
VS
34942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * util/import_gcry.py: Accept space between # and include.
3497
3471ecdf
VS
34982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
3501
124df5f6
VS
35022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 Fine grainely disable warnings on lexer. Remove Wno-error on it.
3505
3506 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
3507 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
3508 yylex_strncpy.
3509 * grub-core/script/yylex.l: Add fine-grained #pragma.
3510
4defb8d5
VS
35112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
3514 New inline function.
3515 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
3516 Likewise.
3517 (memset) [GRUB_UTIL]: Likewise.
3518 (memcmp) [GRUB_UTIL]: Likewise.
3519
4e94ae65
VS
35202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
3523 inline function rather than a define.
3524
18c575e5
VS
35252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * util/grub-setup.c: Add missing include.
3528
f8bc22a8
VS
35292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 * util/ieee1275/grub-ofpathname.c: Add missing include.
3532
3ce69fc9
VS
35332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
3536 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
3537 Likewise.
3538
d1e293bb
VS
35392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
3542 grub_memcmp usage.
3543
7a5c54a4
VS
35442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * util/grub-install.in: Add datarootdir as per automake manual
3547 suggestion.
3548 * util/grub-mknetdir.in: Likewise.
3549
35502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
3551
3552 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
3553 suggestion.
3554 * util/grub.d/10_kfreebsd.in: Likewise.
3555 * util/grub.d/10_linux.in: Likewise.
3556 * util/grub.d/10_netbsd.in: Likewise.
3557 * util/grub.d/10_windows.in: Likewise.
3558 * util/grub.d/20_linux_xen.in: Likewise.
3559
766f7d08
VS
35602011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 Remove redundant grub_kernel_image_size.
3563
3564 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
3565 _edata and _start.
3566 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
3567 the small code. It moves it only by few bytes but simplifies the code.
3568 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
3569 _start.
3570 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
3571 (grub_kernel_image_size): Removed.
3572 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
3573 (grub_kernel_image_size): Removed.
3574 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
3575 compiled with Apple toolchain.
3576 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
3577 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
3578 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
3579 (grub_total_module_size): Likewise.
3580 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
3581 Removed.
3582 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
3583 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
3584 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3585 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
3586 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
3587 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
3588 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
3589 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
3590 Removed.
3591 (grub_total_module_size): Removed.
3592 * util/grub-mkimage.c (image_target_desc): Remove image_size.
3593 (image_targets): Likewise.
3594 Set .compressed_size to no field on sparc.
3595 (generate_image): Remove kernel_image_size handling.
3596
fcf1d672
SJ
35972011-10-19 Szymon Janc <szymon@janc.net.pl>
3598
3599 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
3600 NULL pointer dereference.
3601
de9c615e
VS
36022011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
3605 done with a dedicated section.
3606
3607 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
3608 Ensure the correct position of boot_path.
3609 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
3610 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
3611 other fields.
3612 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
3613 * include/grub/boot.h: Removed. All references removed.
3614 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
3615 Removed.
3616 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
3617
e55599dc
VS
36182011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
3621 name.
3622
36dd20ad
VS
36232011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
3626
f8f72eb8
VS
36272011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3630 Don't add the bogus brackets.
3631
a374751b
VS
36322011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 ExFAT support.
3635
3636 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
3637 * grub-core/Makefile.core.def (exfat): New module.
3638 * grub-core/fs/exfat.c: New file.
3639 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
3640 (GRUB_FAT_ATTR_*): Make into an enum.
3641 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
3642 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
3643 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
3644 (GRUB_FAT_MAXFILE): Removed.
3645 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
3646 (grub_current_fat_bpb_t): New type.
3647 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
3648 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
3649 (grub_fat_dir_node_t): New type.
3650 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
3651 (fat_log2) [MODE_EXFAT]: Removed.
3652 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
3653 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
3654 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
3655 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
3656 (grub_fat_label) [MODE_EXFAT]: New function.
3657 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
3658 reserved_first_sector to 0.
3659
544c2487
VS
36602011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 Move grub_reboot out of the kernel.
3663
3664 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
3665 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
3666 * grub-core/lib/efi/reboot.c: ... here.
3667 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
3668 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3669 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
3670 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
3671 * grub-core/lib/i386/reboot_trampoline.S: ... here.
3672 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
3673 * grub-core/lib/ieee1275/reboot.c: ... here.
3674 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
3675 * grub-core/lib/mips/arc/reboot.c: ... here.
3676 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
3677 * grub-core/lib/mips/loongson/reboot.c: ...here.
3678 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
3679 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
3680 * include/grub/emu/misc.h (grub_reboot): New function declaration.
3681 * include/grub/i386/reboot.h: New file.
3682 * include/grub/mips/loongson/ec.h: Fix includes.
3683 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
3684 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
3685 * grub-core/lib/i386/reboot.c: New file.
3686
a97501d2
VS
36872011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 Make grub_prefix into module to fix the arbitrary limit and save
3690 some space.
3691
3692 * grub-core/kern/emu/main.c (grub_prefix): Removed.
3693 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
3694 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
3695 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
3696 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
3697 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
3698 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
3699 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
3700 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3701 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
3702 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
3703 * include/grub/ia64/efi/kernel.h: Removed.
3704 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
3705 (grub_prefix): Removed.
3706 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
3707 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
3708 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
3709 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
3710 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
3711 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
3712 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
3713 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
3714 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
3715 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
3716 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3717 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3718 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3719 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3720 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
3721 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
3722 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
3723 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3724 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
3725 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
3726 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
3727 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
3728 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
3729 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
3730 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
3731 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
3732 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
3733 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
3734 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
3735 from module.
3736 * util/grub-mkimage.c (image_target_desc): Removed prefix and
3737 prefix_end.
3738 (image_targets): Likewise.
3739 (generate_image): Put prefix as a module.
3740
39705fad
VS
37412011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 Replace grub_module_iterate with FOR_MODULES.
3744
3745 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
3746 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
3747 (grub_efi_modules_addr): ...this.
3748 * grub-core/kern/efi/init.c (grub_modbase): New variable.
3749 (grub_efi_init): Set grub_modbase.
3750 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
3751 (grub_modbase): New variable.
3752 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
3753 (grub_modbase): New variable.
3754 (grub_machine_init): Set grub_modbase.
3755 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
3756 (grub_modbase): New variable.
3757 (grub_machine_init): Set grub_modbase.
3758 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
3759 (grub_modbase): New variable.
3760 (grub_machine_init): Set grub_modbase.
3761 * grub-core/kern/main.c (grub_module_iterate): Remove.
3762 (grub_modules_get_end): Use grub_modbase.
3763 (grub_load_modules): Use FOR_MODULES.
3764 (grub_load_config): Likewise.
3765 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
3766 (grub_modbase): New variable.
3767 (grub_machine_init): Set grub_modbase.
3768 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
3769 (grub_modbase): New variable.
3770 (grub_machine_init): Set grub_modbase.
3771 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
3772 Removed.
3773 (grub_modbase): New variable.
3774 (grub_machine_init): Set grub_modbase.
3775 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
3776 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
3777 (grub_module_iterate): Likewise.
3778 (grub_modbase): New variable declaration.
3779 (FOR_MODULES): New macro.
3780
2afb7f6c
VS
37812011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * configure.ac: Check for __ctzdi2 and __ctzsi2.
3784 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
3785
366e34fa
VS
37862011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 Fix few obvious type discrepancies.
3789
3790 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
3791 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
3792 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3793 variable.
3794 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3795 and connected types.
3796 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3797 offset.
3798 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3799 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3800 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3801 and connected types.
3802
177b960e
VS
38032011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 Fix python 3.x incompatibilities.
3806
3807 * gentpl.py: Put brackets around print strings.
3808 * util/import_gcry.py: Open explicitly as utf-8.
3809 Use in instead of has_key.
3810
3b619ae1
VS
38112011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3814 (GRUB_XFS_INO_AGBITS): Make into inline function.
3815 (GRUB_XFS_INO_INOINAG): Likewise.
3816 (GRUB_XFS_INO_AG): Likewise.
3817 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3818 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3819 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3820 (GRUB_XFS_EXTENT_SIZE): Likewise.
3821 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3822 (GRUB_XFS_NEXT_DIRENT): Likewise.
3823 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3824 (grub_xfs_read_file): Fix offset type.
3825
8bcebcb8
RM
38262011-10-15 Robert Millan <rmh@gnu.org>
3827
3828 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3829
0017e5ef
RM
38302011-10-15 Robert Millan <rmh@gnu.org>
3831
3832 Fix build problem on FreeBSD and GNU/kFreeBSD.
3833
3834 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3835
d8919552
VS
38362011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3839
3840 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3841 types.
3842 (grub_hfsplus_btree_recoffset): Likewise.
3843 (grub_hfsplus_btree_recptr): Likewise.
3844 (grub_hfsplus_find_block): Likewise.
3845 (grub_hfsplus_btree_search): Likewise.
3846 (grub_hfsplus_read_block): Likewise.
3847 (grub_hfsplus_read_file): Likewise.
3848 (grub_hfsplus_mount): Likewise.
3849 (grub_hfsplus_btree_iterate_node): Likewise.
3850 (grub_hfsplus_btree_search): Likewise.
3851 (grub_hfsplus_iterate_dir): Likewise.
3852 (grub_hfsplus_read): A small code simplification.
3853
c81296b6
VS
38542011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * grub-core/kern/emu/hostdisk.c
3857 (convert_system_partition_to_system_disk): Don't assume that children
3858 of mapper nodes are mapper nodes.
3859
0eb8ffb1
VS
38602011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3863 * include/grub/misc.h (grub_isxdigit): New function.
3864 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3865 switched to grub_isxdigit.
3866 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3867 number starting with a letter.
3868
a98f4a08
RM
38692011-10-09 Robert Millan <rmh@gnu.org>
3870
3871 LVM support for FreeBSD and GNU/kFreeBSD.
3872
3873 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3874 GNU/kFreeBSD.
3875 (LVM_DEV_MAPPER_STRING): Move from here ...
3876 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3877 * util/getroot.c: Include `<grub/util/lvm.h>'.
3878 (grub_util_get_dev_abstraction): Enable
3879 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3880 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3881 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3882 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3883 support it.
3884 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3885 GNU/kFreeBSD.
3886 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3887 when LVM abstraction is required for ${GRUB_DEVICE}.
3888
050e8e90
SJ
38892011-10-06 Szymon Janc <szymon@janc.net.pl>
3890
3891 Add support for LZO compression in GRUB:
3892 - import of minilzo library,
3893 - LZO decompression for btrfs,
3894 - lzop files decompression.
3895
3896 * grub-core/io/lzopio.c: New file.
3897 * grub-core/lib/adler32.c: Likewise.
3898 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3899 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3900 * grub-core/lib/minilzo/minilzo.c: Likewise.
3901 * grub-core/lib/minilzo/minilzo.h: Likewise.
3902 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3903 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3904 grub-core/lib/minilzo/minilzo.c to common.
3905 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3906 cflags in cppflags.
3907 * grub-core/Makefile.core.def (btrfs): Likewise.
3908 * grub-core/Makefile.core.def (lzopio): New module.
3909 (adler32): Likewise.
3910 * grub-core/fs/btrfs.c: Include minilzo.h.
3911 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3912 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3913 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3914 (grub_btrfs_lzo_decompress): New function.
3915 (grub_btrfs_extent_read): Add support for LZO compression type.
3916 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3917 (GRUB_USHRT_MAX): Likewise.
3918 (GRUB_UINT_MAX): Likewise.
3919 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3920 (UINT_MAX): Likewise.
3921 (CHAR_BIT): Likewise.
3922 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3923 grub-core/lib/posix_wrap/limits.h
3924 (UCHAR_MAX): Likewise.
3925 * include/grub/file.h (grub_file_filter_id): New compression filter
3926 GRUB_FILE_FILTER_LZOPIO.
3927 * include/grub/file.h (grub_file_filter_id): Set
3928 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3929 * include/grub/types.h (grub_get_unaligned16): New function.
3930 (grub_get_unaligned32): Likewise.
3931 (grub_get_unaligned64): Likewise.
3932 * util/import_gcry.py (cryptolist): Add adler32.
3933
0eb8ffb1
VS
39342011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3937 in perspective decreases the complexity of build system and fixes
3938 compilation right now.
3939
ce79cc99 39402011-10-01 Ales Nesrsta <starous@volny.cz>
3941
3942 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3943 (fixed problem related to using UHCI with coreboot).
3944
8667a314
BC
39452011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3946
3947 * gentpl.py: Use Autogen macros so that the output template file
3948 (Makefile.tpl) size is reduced.
3949
fc5efcc0
MK
39502011-09-29 Mads Kiilerich <mads@kiilerich.com>
3951
3952 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3953 extra_dist.
3954
d1ab689d
ML
39552011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3956
3957 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3958 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3959
c05de032
ML
39602011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3961
3962 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3963 _fullpath.
3964
cca7ccd8
ML
39652011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3966
3967 Remove extra declaration of sleep for mingw32.
3968
3969 * util/misc.c (sleep) [__MINGW32__]: Removed.
3970 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3971
e0b0dc83
GS
39722011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3973
3974 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3975 type and packname.
3976 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3977 Resurrected.
3978 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3979 (grub_netbsd_btinfo_bootwedge): New struct.
3980 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3981 New function.
3982 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3983
91a1a164
TH
39842011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3985
3986 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3987 loader.
3988
2ded951e
AB
39892011-09-28 Andreas Born <futur.andy@googlemail.com>
3990
3991 Fix incorrect identifiers in bash-completion.
3992
3993 * util/bash-completion.d/grub-completion.bash.in
3994 (_grub_mkpasswd-pbkdf2): Rename to ...
3995 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3996 (_grub_script-check): Rename to ...
3997 (_grub_script_check): ... this. All users updated.
3998
69915030
VS
39992011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4002 Return 0 if disk isn't biosdisk.
4003
20fd15f9
GS
40042011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4005
4006 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
4007 on NetBSD.
4008 * Makefile.util.def (grub-fstest): Likewise.
4009
1a7d7db9
GS
40102011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4011
4012 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
4013 Get sector size from disk label.
4014
2221ab6c
CW
40152011-09-05 Colin Watson <cjwatson@ubuntu.com>
4016
4017 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
4018 */README* as well as README*.
4019 Reported by: Axel Beckert.
4020
ca51c4a0
VS
40212011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
4024 case of less than 256 MiB of RAM.
4025
ab80f326
VS
40262011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/commands/wildcard.c (make_regex): Handle @.
4029
4155e697
VS
40302011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * util/grub-install.in: Move cryptodisk logic to appropriate place.
4033
ab178c08
SJ
40342011-08-21 Szymon Janc <szymon@janc.net.pl>
4035
4036 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
4037 AC_LANG_CONFTEST macros.
4038
7dc3c686
SJ
40392011-08-20 Szymon Janc <szymon@janc.net.pl>
4040
4041 Add grub-fstest option to uncompress data for commands.
4042
4043 * util/grub-fstest.c (uncompress): New var.
4044 (options): New option -u.
4045
fe8d4a7b
SJ
40462011-08-20 Szymon Janc <szymon@janc.net.pl>
4047
4048 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4049 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
4050
a5219af1
SJ
40512011-08-20 Szymon Janc <szymon@janc.net.pl>
4052
4053 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
4054 file type was not recognized correctly (not gzip or corrupted).
4055
f87abff5
VS
40562011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
4059 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
4060
d94497ea
VS
40612011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
4064 loongson.
4065 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4066 video_radeon_fuloong2e.
4067 * grub-core/video/radeon_fuloong2e.c: New file.
4068 * include/grub/video.h (grub_video_id_t): Add new ID
4069 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
4070
0d1fd011
VS
40712011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
4074 define.
4075 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
4076 that PRID matches the detected subplatform and reset the subplatform
4077 if it doesn't.
4078
84beb0ee
VS
40792011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
4082
1227c133
VS
40832011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Fix PCI iterating on functions >= 4.
4086
4087 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
4088 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
4089 Removed.
4090 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
4091 (grub_pci_read): Fix bitmask.
4092 (grub_pci_read_word): Likewise.
4093 (grub_pci_read_byte): Likewise.
4094 (grub_pci_write): Likewise.
4095 (grub_pci_write_word): Likewise.
4096 (grub_pci_write_byte): Likewise.
4097
9594c689
VS
40982011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
4101 can still be specified in TARGET_CFLAGS)
4102
14a2562c
VS
41032011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
4106
4107 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
4108 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
4109 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
4110 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
4111 (FULOONG): Rename to ...
4112 (FULOONG2F): ... this. All users updated.
4113 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
4114 (machtype_fuloong2f_str): ... this.
4115 (machtype_fuloong2e_str): New string.
4116 Check for machtype_fuloong2e_str.
4117 * grub-core/loader/mips/linux.c (loongson_machtypes)
4118 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
4119 * grub-core/term/serial.c (loongson_defserial)
4120 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
4121 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
4122 loongson_defserial.
4123 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
4124 Rename to ...
4125 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
4126 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
4127 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
4128 to IMAGE_FULOONG2F_FLASH. All users updated.
4129 (image_targets): Rename images.
4130 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
4131
b526cbb6
SJ
41322011-08-19 Szymon Janc <szymon@janc.net.pl>
4133
4134 Make enable of disk cache statistics code configurable.
4135
4136 * configure.ac: --enable-cache-stats added.
4137 * config.h.in (DISK_CACHE_STATS): New define.
4138 * grub-core/Makefile.core.def (cacheinfo): New command.
4139 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
4140 * grub-core/commands/cacheinfo.c: New file.
4141 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
4142 moved to cacheinfo.c.
4143 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
4144 debug code.
4145 * include/grub/disk.h: Likewise.
4146
fb739ccd
SJ
41472011-08-19 Szymon Janc <szymon@janc.net.pl>
4148
4149 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
4150 * grub-core/Makefile.am: Likewise.
4151
2bba8cfd
VS
41522011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
4155 non-zero pull.
4156
43526629
VS
41572011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
4160 All users updated.
4161 (grub_jfs_lookup_symlink): Use correct starting inode.
4162
5c144cc8
VS
41632011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * util/grub-setup.c (main): Add missing gcry initialisation.
4166
b1257f65
VS
41672011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 Don't accept text modes on EFI when booting Linux.
4170
4171 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
4172 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
4173
828bc390
ML
41742011-08-15 Mario Limonciello <mario_limonciello@dell.com>
41752011-08-15 Colin Watson <cjwatson@ubuntu.com>
4176
4177 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
4178 use of "/path/.." as in grub-install for EFI as well as handling
4179 symlinks correctly.
4180 Fixes Debian bug #637768.
4181
5f60ccac
CW
41822011-08-15 Colin Watson <cjwatson@ubuntu.com>
4183
4184 * util/grub-probe.c: Remove duplicate #include.
4185
6dc212f9
RM
41862011-08-10 Robert Millan <rmh@gnu.org>
4187
4188 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
4189
4190 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
4191 function.
4192 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
4193 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
4194
66816d85
RM
41952011-08-03 Robert Millan <rmh@gnu.org>
4196
4197 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
4198 la_array as packed.
4199 Reported by: Zachary Bedell
4200
20168fca
CW
42012011-07-26 Colin Watson <cjwatson@ubuntu.com>
4202
4203 * configure.ac: The Loongson port requires grub-mkfont due to its
4204 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
4205 be built.
4206
303b6246
CW
42072011-07-26 Colin Watson <cjwatson@ubuntu.com>
4208
4209 * util/grub-install.in: Don't source grub-mkconfig_lib until after
4210 processing arguments (otherwise help2man fails when GRUB has not yet
4211 been installed).
4212
6795300e
VS
42132011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4214
41aa28ea
VS
4215 New script grub-mkstandalone.
4216
4217 * Makefile.util.def (grub-mkstandalone): New script.
4218 * docs/man/grub-mkstandalone.h2m: New file.
4219 * util/grub-mkstandalone.in: Likewise.
4220
42212011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 Support ATA disks with 4K sectors.
6795300e
VS
4224
4225 * include/grub/ata.h (grub_ata): New member log_sector_size.
4226 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
4227 (grub_ata_identify): Read sector size.
4228 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
4229
92227597
VS
42302011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * util/grub-install.in: Don't use uhci outside of x86.
4233
c77069f5
VS
42342011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * util/grub-mkrescue.in: Add missing quotes.
4237
42382011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
4239
4240 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
4241 dereference.
4242
583168a2
VS
42432011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
4246
6be1c01f
VS
42472011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * include/grub/video.h: add missing EXPORT_FUND on
4250 grub_video_edid_checksum and grub_video_edid_preferred_mode.
4251
a1167439
VS
42522011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * include/grub/mips/kernel.h: Fix define conflict.
4255
bf66054f
VS
42562011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
4259 all four ways.
4260
8fc4fa45
CW
42612011-07-21 Colin Watson <cjwatson@ubuntu.com>
4262
4263 Preferred resolution detection for VBE.
4264
4265 * grub-core/video/video.c (grub_video_edid_checksum): New function.
4266 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
4267 the Flat Panel extension, in line with the X.org VESA driver.
4268 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
4269 New function.
4270 (grub_vbe_bios_get_ddc_capabilities): Likewise.
4271 (grub_vbe_bios_read_edid): Likewise.
4272 (grub_vbe_get_preferred_mode): Likewise.
4273 (grub_video_vbe_setup): When the mode is "auto", try to get the
4274 preferred mode from VBE, and use the largest mode that is no larger
4275 than the preferred mode (some BIOSes expose a preferred mode that is
4276 not in their mode list!). If this fails, fall back to 640x480 as a
4277 safe conservative choice.
4278 (grub_video_vbe_get_edid): New function.
4279 (grub_video_vbe_adapter): Add get_edid.
4280 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
4281 (struct grub_video_adapter): Add get_edid.
4282 (grub_video_edid_checksum): Add prototype.
4283 (grub_video_edid_preferred_mode): Likewise.
4284 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
4285 structure.
4286
4287 * grub-core/commands/videoinfo.c (print_edid): New function.
4288 (grub_cmd_videoinfo): Print EDID if available.
4289
4290 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
4291 is more appropriate on a wider range of platforms than 640x480.
4292 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
4293 documentation.
4294
ca5572a9
VS
42952011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
4298
e4bcf625
VS
42992011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * po/POTFILES.in: Regenerate.
4302
c4edd548
VS
43032011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
4306 incorrect memory usage.
4307
16a2bab0
VS
43082011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * util/grub-install.in: Source grub-mkconfig_lib.
4311
2e418de6
VS
43122011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 Remove getroot.c from core on emu platform.
4315
4316 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
4317 kern/emu/raid.c.
4318 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
4319 useless.
4320 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
4321 * util/getroot.c (get_win32_path): ... here.
4322 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
4323 * util/getroot.c (fini_libzfs): ... here.
4324 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
4325 * util/getroot.c (grub_get_libzfs_handle): ... here.
4326 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
4327 Moved from here...
4328 * util/getroot.c (grub_find_zpool_from_dir): ... here.
4329 * grub-core/kern/emu/misc.c
4330 (grub_make_system_path_relative_to_its_root): Moved from here...
4331 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
4332 * grub-core/kern/emu/getroot.c: Moved from here ...
4333 * util/getroot.c: ... here. All users updated.
4334 * grub-core/kern/emu/raid.c: Moved from here ...
4335 * util/raid.c: ... here. All users updated.
4336
def9832a
VS
43372011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * po/POTFILES.in: Regenerate.
4340
cd8fe79a
VS
43412011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 Fix compilation on GNU/Linux.
4344
4345 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
4346 Disable geli.
4347 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
4348 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
4349 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
4350
a251b719
VS
43512011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
43522011-07-07 Michael Gorven <michael@gorven.za.net>
43532011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
4354
4355 LUKS and GELI support.
4356
4357 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
4358 grub-core/disk/luks.c, grub-core/disk/geli.c,
4359 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
4360 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
4361 grub-core/lib/arg.c.
4362 (libgrubmods.a): Remove gcrypts cflags and cppflags.
4363 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
4364 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
4365 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
4366 (grub-bin2h): Add libgcry.a.
4367 (grub-mkimage): Likewise.
4368 (grub-mkrelpath): Likewise.
4369 (grub-script-check): Likewise.
4370 (grub-editenv): Likewise.
4371 (grub-mkpasswd-pbkdf2): Likewise.
4372 (grub-pe2elf): Likewise.
4373 (grub-fstest): Likewise.
4374 (grub-mkfont): Likewise.
4375 (grub-mkdevicemap): Likewise.
4376 (grub-probe): Likewise.
4377 (grub-ofpath): Likewise.
4378 (grub-mklayout): Likewise.
4379 (example_unit_test): Likewise.
4380 (grub-menulst2cfg): Likewise.
4381 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
4382 * grub-core/Makefile.core.def (cryptodisk): New module.
4383 (luks): Likewise.
4384 (geli): Likewise.
4385 * grub-core/disk/AFSplitter.c: New file.
4386 * grub-core/disk/cryptodisk.c: Likewise.
4387 * grub-core/disk/geli.c: Likewise.
4388 * grub-core/disk/luks.c: Likewise.
4389 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
4390 grub_util_is_lvm.
4391 (grub_util_get_dm_abstraction): New function.
4392 (grub_util_follow_gpart_up): Likewise.
4393 (grub_util_get_geom_abstraction): Likewise.
4394 (grub_util_get_dev_abstraction): Use new functions.
4395 (grub_util_pull_device): Pull GELI and LUKS.
4396 (grub_util_get_grub_dev): Handle LUKS and GELI.
4397 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
4398 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
4399 (follow_geom_up): Removed.
4400 (grub_util_fd_seek): New function.
4401 (open_device): Use grub_util_fd_seek.
4402 (nread): Rename to ..
4403 (grub_util_fd_read): ... this. All users updated.
4404 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
4405 (grub_crypto_cbc_decrypt): Likewise.
4406 (grub_crypto_hmac_write): Likewise.
4407 (grub_crypto_hmac_buffer): Likewise.
4408 (grub_password_get): Extend to util.
4409 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
4410 New member modname.
4411 (gcry_md_spec) [GRUB_UTIL]: Likewise.
4412 * include/grub/cryptodisk.h: New file.
4413 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
4414 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
4415 LUKS and GELI.
4416 (grub_util_follow_gpart_up): New proto.
4417 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
4418 (grub_util_fd_read): Likewise.
4419 (grub_cryptodisk_cheat_mount): Likewise.
4420 (grub_util_cryptodisk_print_uuid): Likewise.
4421 (grub_util_get_fd_sectors): Likewise.
4422 * util/grub-fstest.c (mount_crypt): New var.
4423 (fstest): Mount crypto if requested.
4424 (options): New option -C.
4425 (argp_parser): Parse -C.
4426 (main): Init and fini gcry.
4427 * util/grub-install.in: Support cryptodisk install.
4428 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
4429 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
4430 cryptodisk.
4431 (prepare_grub_to_access_device): Likewise.
4432 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
4433 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
4434 (probe_cryptodisk_uuid): New function.
4435 (probe_abstraction): Likewise.
4436 (probe): Use new functions.
4437 * util/import_gcry.py: Create Makefile.utilgcry.def.
4438 Add modname member.
4439
9bfdcbbc
VS
44402011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 Lazy device scanning.
4443
4444 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
4445 (grub-setup): Remove util/raid.c.
4446 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
4447 * grub-core/disk/lvm.c (scan_depth): New variable.
4448 (grub_lvm_iterate): Rescan if necessary.
4449 (find_lv): New function based on grub_lvm_open.
4450 (grub_lvm_open): Use find_lv. Rescan on error.
4451 (is_node_readable): New function.
4452 (is_lv_readable): Likewise.
4453 (grub_lvm_scan_device): Skip already found disks.
4454 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
4455 Stop if searched device is found and readable.
4456 * grub-core/disk/raid.c (inscnt): New variable.
4457 (scan_depth): Likewise.
4458 (scan_devices): New function based on grub_raid_register. Abort if
4459 looked for device is found.
4460 (grub_raid_iterate): Rescan if needed.
4461 (find_array): NEw function based on -grub_raid_open.
4462 (grub_raid_open): Use find_array and rescan.
4463 (insert_array): Set became_readable_at.
4464 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
4465 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
4466 New function.
4467 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
4468 (grub_util_pull_device): New function.
4469 (grub_util_get_grub_dev): Call grub_util_pull_device.
4470 * util/raid.c: Moved to ..
4471 * grub-core/kern/emu/raid.c: ... here.
4472 (grub_util_raid_getmembers): New parameter "bootable".
4473 All users updated. Support 1.x.
4474 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
4475 All users updated.
4476 * include/grub/disk.h (grub_disk_pull_t): New enum.
4477 (grub_disk_dev): Change iterate prototype.
4478 All users updated.
4479 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
4480 New proto.
4481 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
4482 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
4483 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
4484 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
4485 All users updated.
4486 * include/grub/util/raid.h: Removed.
4487
1c358e59
VS
44882011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * po/POTFILES.in: Regenerate.
4491
abee94ed
VS
44922011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 Unify sparc init with other ieee1275.
4495
4496 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
4497 instead of kern/sparc64/ieee1275/init.c.
4498 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
4499 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
4500 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
4501 grub/machine/kernel.h.
4502 (grub_ieee1275_original_stack) [__sparc__]: New variable.
4503 (grub_claim_heap) [__sparc__]: Use sparc version.
4504 (grub_machine_init): Moved args parsing to
4505 (grub_parse_cmdline): ...this.
4506 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
4507 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
4508 New definition.
4509 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
4510
4511 Move BOOTP to separate file.
4512
4513 * grub-core/Makefile.core.def (net): Add net/bootp.c.
4514 * grub-core/net/net.c: Move all BOOTP functions to
4515 * grub-core/net/bootp.c: ... here.
4516
4517 Use frame interface on PXE.
4518
4519 * grub-core/Makefile.core.def (pxecmd): Removed.
4520 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
4521 * grub-core/commands/i386/pc/pxecmd.c: Removed.
4522 * grub-core/i386/pc/pxe.c: Moved from here ...
4523 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
4524 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
4525 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
4526
4527 EFI network support.
4528
4529 * grub-core/Makefile.core.def (efinet): New module.
4530 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
4531 here...
4532 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
4533 All users updated.
4534 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
4535 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
4536 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
4537 * grub-core/net/drivers/efi/efinet.c: New file.
4538 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
4539 (grub_efi_net_config): New extern var.
4540
4541 Various cleanups and bugfixes.
4542
4543 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
4544 error.
4545 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
4546 disk declared as partition.
4547 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
4548 leak on failure.
4549 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
4550 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
4551 (grub_debug_zalloc): Likewise.
4552 (grub_debug_realloc): Likewise.
4553 (grub_debug_memalign): Likewise.
4554 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
4555 Check that target is IPv4.
4556 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
4557 local-mac-address as fallback.
4558 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
4559 memory leak.
4560 * grub-core/net/ip.c (ipchksum): Rename to ...
4561 (grub_net_ip_chksum): ... this. All users updated.
4562 (grub_net_recv_ip_packets): Special handling for DHCP.
4563 * util/grub-mkimage.c (generate_image): Zero-out aout header.
4564
4565 Unify prefix handling
4566
4567 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
4568 (grub_machine_get_bootlocation): ... this.
4569 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
4570 (grub_machine_get_bootlocation): ... this.
4571 (grub_prefix): New variable.
4572 (prefix): Removed.
4573 (root_dev): New variable.
4574 (dir): Likewise.
4575 (main): Use new variables.
4576 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
4577 Revamped into ...
4578 (grub_machine_get_bootlocation): ... this.
4579 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
4580 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
4581 (grub_machine_get_bootlocation): ... this.
4582 (grub_machine_set_prefix): Removed.
4583 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
4584 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
4585 Revamped into ...
4586 (grub_machine_get_bootlocation): ... this.
4587 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
4588 (grub_set_prefix_and_root): ... this. All users updated.
4589 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
4590 Revamped into ...
4591 (grub_machine_get_bootlocation): ... this.
4592 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
4593 (grub_machine_get_bootlocation): New proto.
4594 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
4595
4596 Less intrusive and more reliable seek on network implementation.
4597
4598 * grub-core/kern/file.c (grub_file_net_seek): Removed.
4599 (grub_file_seek): Don't call grub_file_net_seek.
4600 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
4601 (grub_net_fs_read_real): .. this.
4602 (grub_net_seek_real): Use net->offset.
4603 (grub_net_fs_read): Seek if necessary.
4604
4605 Unify IEEE1275 netwotk config with the other platforms.
4606
4607 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
4608 New variable.
4609 (grub_machine_get_bootlocation): Support network.
4610 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4611 Support type and device parsing.
4612 (grub_ieee1275_get_device_type): New function.
4613 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
4614 into ...
4615 (grub_ieee1275_net_config_real): ... this.
4616 (grub_ofnet_probecards): Removed.
4617 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
4618 * include/grub/ieee1275/ofnet.h: Removed.
4619 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
4620 extern var.
4621 (grub_ieee1275_get_device_type): New function.
4622
4623 Unify network device closing across platforms and make more robust.
4624
4625 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
4626 grub_grubnet_fini.
4627 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
4628 already.
4629 * grub-core/net/net.c (grub_net_network_level_interface_register):
4630 Update num_ifaces.
4631 (grub_net_card_unregister): Close all interfaces.
4632 (receive_packets): Don't poll if no iterfaces are registered.
4633 Open if necessary.
4634 (grub_net_fini_hw): New function.
4635 (grub_net_restore_hw): Likewise.
4636 (fini_hnd): New variable.
4637 (GRUB_MOD_INIT): Register preboot hook.
4638 (GRUB_MOD_FINI): Run and unregister preboot hook.
4639
4640 Poll network cards when idle.
4641
4642 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
4643 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
4644 * grub-core/net/net.c (receive_packets): Save last poll time.
4645 (grub_net_poll_cards_idle_real): New function.
4646 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
4647 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
4648 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
4649
4650 Rename ofnet interfaces.
4651
4652 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
4653 (grub_ofnet_findcards): Use ofnet_%s names.
4654
4655 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
4656
4657 Cleanup socket opening.
4658
4659 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
4660 (grub_net_fs_close): Likewise.
4661 (grub_net_fs_read_real): Use eof member.
4662 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
4663 (+grub_net_udp_close): New inline function.
4664
4665 * include/grub/net/tftp.h: Moved to the top of ...
4666 * grub-core/net/tftp.c: ... here.
4667 * include/grub/net/ip.h: Moved mostly to the top of ...
4668 * grub-core/net/ip.c: ... here.
4669 * include/grub/net/ethernet.h: Moved mostly to the top of ...
4670 * grub-core/net/ethernet.c: ... here.
4671
4672 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
4673
4674 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
4675 FS name.
4676
4677 * include/grub/net/ip.h (ipv4_ini): Removed.
4678 (ipv4_fini): Likewise.
4679
4680 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
4681 (grub_net_send_ip_packets): Likewise.
4682
cf1337aa
VS
46832011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
4686 grub_read_cmos prototype.
4687
93c06ff9
VS
46882011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 VGA text support in qemu-mips
4691
4692 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
4693 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
4694 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
4695 text.
4696 * grub-core/kern/i386/qemu/init.c: Renamed to ...
4697 * grub-core/kern/vga_init.c: ... this.
4698 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
4699 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
4700 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
4701 Adjust.
4702 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
4703 GRUB_MACHINE_PCI_IO_BASE.
4704
748ccabe
VS
47052011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 MIPS qemu flash support.
4708
4709 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
4710 magic.
4711 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
4712 (grub_machine_init): Probe memory if its size isn't known.
4713 * util/grub-mkimage.c (image_targets): Add flash targets.
4714 (generate_image): Handle flash targets.
4715
d7345994
VS
47162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 MIPS qemu at_keyboard support.
4719
4720 * gentpl.py (videoinkernel): Add qemu-mips.
4721 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
4722 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
4723 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
4724 modules.
4725 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
4726 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
4727 * grub-core/term/serial.c (grub_serial_register)
4728 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
4729
a07a81b3
VS
47302011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 CMOS support on sparc.
4733
4734 * gentpl.py (cmos): Add powerpc and sparc.
4735 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
4736 powerpc and sparc.
4737 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
4738 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
4739 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
4740 grub_set_datetime_cmos.
4741 * grub-core/lib/ieee1275/cmos.c: New file.
4742 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
4743 (find_rtc): Set no_ieee1275_rtc on error.
4744 (grub_get_datetime): Call grub_get_datetime_cmos on error.
4745 (grub_set_datetime): Call grub_set_datetime_cmos on error.
4746 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
4747 fail. Move value to argument. All users updated
4748 (grub_cmos_write): Likewise.
4749 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
4750 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
4751 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
4752 grub_get_datetime_cmos and grub_set_datetime_cmos.
4753
77546584
GS
47542011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4755
4756 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
4757 sourcing grub-mkconfig_lib.
4758 * util/update-grub_lib.in: Likewise.
4759 * util/grub.d/00_header.in: Likewise.
4760 * util/grub.d/10_hurd.in: Likewise.
4761 * util/grub.d/10_kfreebsd.in: Likewise.
4762 * util/grub.d/10_linux.in: Likewise.
4763 * util/grub.d/10_netbsd.in: Likewise.
4764 * util/grub.d/10_windows.in: Likewise.
4765 * util/grub.d/20_linux_xen.in: Likewise.
4766 * util/grub.d/30_os-prober.in: Likewise.
4767
54894791
CW
47682011-06-28 Colin Watson <cjwatson@ubuntu.com>
4769
4770 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4771 default_bg_color rather than black.
4772 (grub_gfxterm_fullscreen): Likewise.
4773 (grub_gfxterm_background_color_cmd): Save new background color in
4774 default_bg_color.
4775
8d5d8444
VS
47762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
4779
5afeb5bd
VS
47802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
4783 mismerge.
4784
ba7df45e
VS
47852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 Chainloading on coreboot support.
4788
4789 * grub-core/Makefile.core.def (chain): Add coreboot.
4790 * grub-core/loader/i386/coreboot/chainloader.c: New file.
4791
d0b526b2
VS
47922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4795 if it happens.
4796
5ff1d945
VS
47972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 Implement time command.
4800
4801 * grub-core/Makefile.core.def (time): New module.
4802 * grub-core/commands/time.c: New file.
4803 * grub-core/script/parser.y: Remove "time" keyword.
4804 * grub-core/script/yylex.l: Likewise.
4805
5ebaad7e
VS
48062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4809
bdea3798
VS
48102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4813 when handling leftovers.
4814
b28c5655
VS
48152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4818 so that help2man doesn't fail.
4819
b6f945dc
VS
48202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4823 type in pointers on sparc64.
4824 (get_card_packet): Likewise.
4825
f9b75e8a
CW
48262011-06-27 Colin Watson <cjwatson@ubuntu.com>
4827
4828 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4829 with `*'.
4830 (grub_cmd_videoinfo): Fetch current video mode.
4831
1e3d9b86
VS
48322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4835 because of underlying system restrictions.
4836
efff4b1c
VS
48372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4840 necessary.
4841
9fc9ce37
VS
48422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 Coreboot video support.
4845
4846 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4847 (vbe): Likewise.
4848 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4849 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4850 here ...
4851 * grub-core/kern/i386/int.S: ... here.
4852 * grub-core/video/i386/pc/vbe.c: Updated includes.
4853 * grub-core/video/i386/pc/vga.c: Likewise.
4854 * include/grub/i386/coreboot/memory.h
4855 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4856 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4857 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4858 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4859 Disable interrupts.
4860 * include/grub/i386/pc/vga.h: Removed. All users updated.
4861
41bec7fe
VS
48622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4865 definitions for dprintf.
4866 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4867
ca80309d
VS
48682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4871 prototype.
4872 (get_card_packet): Likewise.
4873
9e322ce8
YB
48742011-06-26 Yves Blusseau <blusseau@zetam.org>
4875
4876 Display the path of the file when file is not found
4877
4878 * grub-core/fs/fat.c: Display the filename when file is not found.
4879 * grub-core/fs/fshelp.c: Likewise.
4880 * grub-core/fs/hfs.c: Likewise.
4881 * grub-core/fs/jfs.c: Likewise.
4882 * grub-core/fs/minix.c: Likewise.
4883 * grub-core/fs/ufs.c: Likewise.
4884 * grub-core/fs/btrfs.c: Likewise.
4885 * grub-core/commands/i386/pc/play.c: Likewise.
4886
cbf597af
SJ
48872011-06-26 Szymon Janc <szymon@janc.net.pl>
4888
4889 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4890 pointer checks before calling grub_free().
4891 * grub-core/commands/wildcard.c (match_devices): Likewise.
4892 * grub-core/commands/wildcard.c (match_files): Likewise.
4893 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4894 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4895 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4896 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4897 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4898 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4899 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4900 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4901 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4902
6295b32f
P
49032011-06-25 Patrick <p55@mailinator.com>
4904
4905 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4906
77c0840b
VS
49072011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4910 (grub_pxe_send): Likewise.
4911 (GRUB_MOD_INIT): Fix types.
4912
40ea05de
SJ
49132011-06-24 Szymon Janc <szymon@janc.net.pl>
4914
4915 * grub-core/io/xzio.c: Fix code style issues
4916
90162423
MRA
49172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
49182011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
4919
4920 Network infrastructure.
4921 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4922
4923 * include/grub/net/arp.h: New file.
90162423
MRA
4924 * include/grub/net/device.h: Likewise.
4925 * include/grub/net/ethernet.h: Likewise.
4926 * include/grub/net/ip.h: Likewise.
4927 * include/grub/net/netbuff.h: Likewise.
4928 * include/grub/net/tftp.h: Likewise.
4929 * include/grub/net/udp.h: Likewise.
4930 * include/grub/ieee1275/ofnet.h: Likewise.
4931 * include/grub/emu/export.h: Likewise.
4932 * include/grub/net.h: Likewise.
4933 * grub-core/net/arp.c: Likewise.
4934 * grub-core/net/ethernet.c: Likewise.
4935 * grub-core/net/ip.c: Likewise.
4936 * grub-core/net/udp.c: Likewise.
4937 * grub-core/net/tftp.c: Likewise.
4938 * grub-core/net/netbuff.c: Likewise.
4939 * grub-core/net/net.c: Likewise.
4940 * grub-core/net/drivers/emu/emunet.c: Likewise.
4941 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4942 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4943 export.h.
4944 * grub-core/Makefile.core.def (net): New module.
4945 (tftp): Likewise.
4946 (ofnet): Likewise.
4947 (emunet): Likewise.
4948 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4949 network protocols.
4950 * grub-core/kern/device.c (grub_net_open) : New variable.
4951 (grub_device_open): Handle network device.
4952 (grub_device_close): Likewise.
4953 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4954 (grub_grubnet_fini): Likewise.
4955 (grub_file_seek): Seek in network device.
4956 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4957 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4958 network root.
4959 (grub_machine_fini): Call grub_grubnet_fini.
4960 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4961 network.
4962 (grub_ieee1275_get_aliasdevname): New function.
4963 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4964 Add unofficial Solaris network info.
4965 (grub_multiboot_make_mbi): Likewise.
4966 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4967 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4968 * include/grub/device.h (grub_fs): Removed.
4969 * include/grub/err.h (grub_err_t): Add network-related values.
4970 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4971 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4972 (grub_ieee1275_get_aliasdevname): New proto.
4973 * include/grub/net.h: Rewritten.
423a1849 4974
031f22a0
VS
49752011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4978 names.
4979
4388ca72
VS
49802011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4983 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4984 it truncates the output.
4985 Reported by: Ximin Luo.
4986
98e2f506
VS
49872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4990
2a5e94d8
VS
49912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4994 partmap before abstraction.
4995
535c1910
AK
49962011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4997
4998 * util/grub-mkconfig_lib.in: Add missing quotes.
4999
bc09e1a2
VS
50002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
5003 old method if mountinfo would return /dev/root and /dev/root doesn't
5004 exist.
5005
290766fb
VS
50062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 ZFS zlib support
5009
5010 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
5011 (decomp_table): Add zlib entries.
5012 (zio_read): USe 8 bits for compression function rather than 3.
5013 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
5014
50152011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * grub-core/disk/ahci.c: Add missing license statements.
5018 * grub-core/fs/romfs.c: Likewise.
5019 * grub-core/lib/ia64/setjmp.S: Likewise.
5020 * grub-core/loader/i386/pc/freedos.c: Likewise.
5021 * grub-core/loader/ia64/efi/linux.c: Likewise.
5022 * grub-core/video/colors.c: Likewise.
5023 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
5024
5ab3f48a
VS
50252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 AHCI support.
5028
5029 * grub-core/Makefile.core.def (ata_pthru): Removed.
5030 (ahci): New module.
5031 (pata): Likewise.
5032 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
5033 on unload.
5034 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
5035 readwrite.
5036 (grub_hdparm_do_check_powermode_cmd): Likewise.
5037 (grub_hdparm_do_smart_cmd): Likewise.
5038 (grub_hdparm_set_val_cmd): Likewise.
5039 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
5040 * grub-core/disk/ahci.c: New file.
5041 * grub-core/disk/ata.c: Factor out the low-level part into ...
5042 * grub-core/disk/pata.c: ... here.
5043 * grub-core/disk/ata_pthru.c: Contents moved to ...
5044 * grub-core/disk/pata.c: ... here.
5045 * grub-core/disk/scsi.c (grub_scsi_names): New array.
5046 (grub_scsi_iterate): Use grub_scsi_names.
5047 (grub_scsi_open): Likewise.
5048 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
5049 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
5050 (grub_ata_regs_t): New struct.
5051 (grub_disk_ata_pass_through_parms): Likewise.
5052 (grub_ata_device): Renamed to ...
5053 (grub_ata): ... this.
5054 (grub_ata_dev): New struct.
5055 Removed all low-level inline functions.
5056 * include/grub/scsi.h: Add PATA and AHCI subsystems.
5057 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
5058 iterate hooks and open. All users updated.
5059 * util/grub-install.in: Handle AHCI disk module.
5060
c31dc5f5
SJ
50612011-06-23 Szymon Janc <szymon@janc.net.pl>
5062
5063 Add support for DRI and RSTn markers in JPEG files.
5064
5065 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
5066 (JPEG_MARKER_RST0): Likewise.
5067 (JPEG_MARKER_RST1): Likewise.
5068 (JPEG_MARKER_RST2): Likewise.
5069 (JPEG_MARKER_RST3): Likewise.
5070 (JPEG_MARKER_RST4): Likewise.
5071 (JPEG_MARKER_RST5): Likewise.
5072 (JPEG_MARKER_RST6): Likewise.
5073 (JPEG_MARKER_RST7): Likewise.
5074 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
5075 (grub_jpeg_decode_dri): New function.
5076 (grub_jpeg_decode_sos): Move image data related part into
5077 grub_jpeg_decode_data function.
5078 (grub_jpeg_decode_data): New function.
5079 (grub_jpeg_reset): New function.
5080 (grub_jpeg_decode_jpeg): Handle new markers.
5081
fe12fd5b
VS
50822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * util/ieee1275/ofpath.c (check_sas): Close fd.
5085 (main): Free of_path.
5086 Reported by: David Volgyes <dvolgyes>.
5087
03147f46
VS
50882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
5091 Reported by: David Volgyes <dvolgyes>.
5092
cad3237f
VS
50932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
5096 file after stat.
5097 Reported by: David Volgyes <dvolgyes>.
5098
13548d26
VS
50992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
5102
5103 Reported by: David Volgyes <dvolgyes>.
5104
e061a1b5
VS
51052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
5108 Prevent memory leak.
5109
1abe47dc
VS
51102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
5113 (main): Close file.
e061a1b5 5114 Reported by: David Volgyes <dvolgyes>.
1abe47dc 5115
fbc62666
VS
51162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
5119 to continue if allocation is failed.
5120
5121 Reported by: David Volgyes <dvolgyes>.
5122
e98c83e9
DV
51232011-06-23 David Volgyes <dvolgyes>
5124
5125 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
5126 dereference.
5127
a199a8cd
VS
51282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 Fix spurious warning.
5131
5132 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
5133 (acorn_partition_map_find): Use .bin member.
5134
e2d1dba0
VS
51352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
5138 /dev/root as a valid device.
5139
8a5d6919
JM
51402011-06-23 Jim Meyering <meyering@redhat.com>
5141
e2d1dba0
VS
5142 Avoid NULL deref in grub_device_open.
5143
8a5d6919
JM
5144 * grub-core/kern/device.c (grub_device_open): Don't dereference
5145 a NULL pointer upon failed grub_env_get.
5146
f7db6f4a
VS
51472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 Support non-512B sectors and agglomerate reads.
5150
5151 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
5152 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
5153 (disk_io_guid): Removed.
5154 (make_devices): Locate solely by BlockIO.
5155 (grub_efidisk_open): Fill log_sector_size and total_sectors.
5156 (grub_efidisk_read): Use read_blocks.
5157 (grub_efidisk_write): Use write_blocks.
5158 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
5159 log_sector_size.
5160 (get_safe_sectors): Handle non-512B sectors.
5161 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
5162 sectors.
5163 (grub_biosdisk_write): Handle non-512B sectors.
5164 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
5165 (grub_scsi_read): Remove special non-512B block handling (now handled
5166 one level up).
5167 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
5168 and do sanity checks.
5169 (grub_disk_adjust_range): Handle non-512B sectors.
5170 (transform_sector): New function.
5171 (grub_disk_read_small): Likewise.
5172 (grub_disk_read): Rewritten.
5173 (grub_disk_write): Handle non-512B sectors.
5174 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
5175 log_sector_size.
5176 (open_device): Use log_sector_size.
5177 (grub_util_biosdisk_read): Likewise.
5178 (grub_util_biosdisk_write): Likewise.
5179 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
5180 non-512B sectors.
5181 (pc_partition_map_embed): Likewise.
5182 * include/grub/disk.h (grub_disk): New field log_sector_size.
5183 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
5184 (GRUB_DISK_CACHE_BITS): Increased to 6.
5185 * util/grub-fstest.c (fstest): New command testload.
5186 (argp_parser): Likewise.
5187
881ac815
RM
51882011-06-16 Robert Millan <rmh@gnu.org>
5189
5190 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
5191 `ata' driver on kernel of FreeBSD 9.
5192
5193 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
5194 (get_ataraid_disk_name): New functions.
5195 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
5196 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
5197 get_ataraid_disk_name() and get_ada_disk_name().
5198
1e9aef7d
CW
51992011-06-13 Colin Watson <cjwatson@ubuntu.com>
5200
5201 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
5202 input format.
5203
351c7c8a
CW
52042011-05-29 Colin Watson <cjwatson@ubuntu.com>
5205
5206 * docs/grub.texi (Obtaining and Building GRUB): Substitute
5207 `ftp.gnu.org' for `alpha.gnu.org'.
5208
6b4e6430
CW
52092011-05-27 Colin Watson <cjwatson@ubuntu.com>
5210
5211 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
5212 partitions under /dev/disk/by-id/.
5213
c64db050
CW
52142011-05-27 Colin Watson <cjwatson@ubuntu.com>
5215
5216 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
5217 after ten consecutive open failures. Scanning all the way up to
5218 10000 is excessive and can cause serious performance problems in
5219 some configurations.
5220 Fixes Ubuntu bug #787461.
5221
245f4aba
VS
52222011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
5225 opening new one.
5226
f767c929
VS
52272011-05-21 Colin Watson <cjwatson@ubuntu.com>
52282011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 Don't stat devices unless we have to.
5231
5232 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
5233 dir == /dev/mapper.
5234 (grub_guess_root_device): Use already known os_dev if possible.
5235 * grub-core/kern/emu/hostdisk.c
5236 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
5237 if device is known to be a dm one.
5238
f35fa3a6
CW
52392011-05-20 Colin Watson <cjwatson@ubuntu.com>
5240
5241 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
5242 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
5243 Reported by: Pawel Tecza.
5244
9a79fcf2
VS
52452011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
5248 (lsefisystab): Likewise.
5249 (lssal): Likewise.
5250 (lsefimmap): Likewise.
5251 (hdparm): Enable on qemu-mips.
5252 (setjmp): Add ia64 nodist.
5253 (serial): Simplify tags.
5254
63e3eea9
CW
52552011-05-18 Colin Watson <cjwatson@ubuntu.com>
5256
5257 * Makefile.util.def (grub-ofpathname): Install manual page.
5258
09728256
CW
52592011-05-18 Colin Watson <cjwatson@ubuntu.com>
5260
5261 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
5262
8b63a142
CW
52632011-05-18 Colin Watson <cjwatson@ubuntu.com>
5264
5265 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
5266
e775d8ed
VS
52672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
5270 into dprintf.
5271
bf947d36
VS
52722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 Use full 64-bit division.
5275
5276 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
5277 (grub_divmod64): ... this.
5278 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
5279 version.
5280
b84f26c5
CW
52812011-05-18 Colin Watson <cjwatson@ubuntu.com>
5282
5283 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
5284 `source'.
5285
5626056f
CW
52862011-05-18 Colin Watson <cjwatson@ubuntu.com>
5287
5288 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
5289 to avoid accidents when debugging with 'sh -x'.
5290 * grub-core/gensyminfo.sh.in: Likewise.
5291 * tests/example_scripted_test.in: Likewise.
5292 * tests/grub_cmd_regexp.in: Likewise.
5293 * tests/grub_script_blanklines.in: Likewise.
5294 * tests/grub_script_dollar.in: Likewise.
5295 * tests/grub_script_expansion.in: Likewise.
5296 * tests/grub_script_final_semicolon.in: Likewise.
5297 * tests/partmap_test.in: Likewise.
5298 * tests/util/grub-shell-tester.in: Likewise.
5299 * tests/util/grub-shell.in: Likewise.
5300
e2965f4a
CW
53012011-05-18 Colin Watson <cjwatson@ubuntu.com>
5302
5303 Move gfxmenu color handling to video, so that gfxterm can use it
5304 too.
5305
5306 * grub-core/gfxmenu/named_colors.c: Move to ...
5307 * grub-core/video/colors.c: ... here. Rename
5308 grub_gui_get_named_color to grub_video_get_named_color.
5309 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
5310 * grub-core/video/colors.c (my_isxdigit): ... here.
5311 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
5312 Move to ...
5313 * grub-core/video/colors.c (parse_hex_color_component): ... here.
5314 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
5315 to ...
5316 * grub-core/video/colors.c (grub_video_parse_color): ... here.
5317
5318 * include/grub/gui.h (grub_gui_color_t): Move to ...
5319 * include/grub/video.h (grub_video_rgba_color_t): ... here.
5320 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
5321 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
5322 * include/grub/gui.h (grub_gui_map_color): Move to ...
5323 * include/grub/video.h (grub_video_map_rgba_color): ... here.
5324 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
5325 to ...
5326 * include/grub/video.h (grub_video_get_named_color): ... here.
5327 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
5328 * include/grub/video.h (grub_video_parse_color): ... here.
5329
5330 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
5331 video/colors.c.
5332 (gfxmenu): Remove gfxmenu/named_colors.c.
5333 (video) [videomodules]: Add video/colors.c.
5334
5335 Add a background_color command.
5336
5337 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
5338 function.
5339 (GRUB_MOD_INIT): Register background_color command.
5340 (GRUB_MOD_FINI): Unregister background_color command.
5341 (redraw_screen_rect): Allow blend/replace of text layer to be
5342 controlled independently from whether there is a background bitmap.
5343 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
5344 changing bitmap.
5345
1e4b4390
VS
53462011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5347
26618ff0
VS
5348 Patch BPB in ntldr and chainloader --bpb.
5349
1e4b4390
VS
5350 * grub-core/fs/fat.c: Include grub/fat.h.
5351 (grub_fat_bpb): Moved to ...
5352 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
5353 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
5354 grub/ntfs.h.
5355 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
5356 Moved from here...
5357 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
5358 here.
5359 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
5360 New function.
5361 (grub_chainloader_cmd): Patch BPB if --bpb is given.
5362 (GRUB_MOD_INIT): Show --bpb.
5363 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
5364 * grub-core/normal/main.c (features): New variable.
5365 (GRUB_MOD_INIT): Set feature_* variables.
5366 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
5367 proto.
5368 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
5369
cf02731e
VS
53702011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
5373 for cleanness.
5374
e3a1073f
VS
53752011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 FreeDOS direct loading support.
5378
5379 * docs/grub.texi (Supported OS): Add FreeDOS.
5380 * grub-core/Makefile.core.def (freedos): New module.
5381 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
5382 variable.
5383 (grub_relocator16_boot): Handle %ebx.
5384 * grub-core/lib/i386/relocator16.S: Likewise.
5385 * grub-core/loader/i386/pc/freedos.c: New file.
5386
05caa461
VS
53872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 Long Linux command line support.
5390
5391 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5392 (maximal_cmdline_size): New variable.
5393 (allocate_pages): Use maximal_cmdline_size.
5394 (grub_cmd_linux): Set and use maximal_cmdline_size.
5395 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5396 (allocate_pages): Use maximal_cmdline_size.
5397 (grub_cmd_linux): Set and use maximal_cmdline_size.
5398 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
5399 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
5400 and cmdline_size.
5401
a2491e23
VS
54022011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
54032011-05-18 Colin Watson <cjwatson@ubuntu.com>
5404
5405 Improve devmapper support
5406
5407 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
5408 (grub_util_is_lvm): New function.
5409 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
5410 than lvm if not dmraid.
5411 Handle mapped md nodes.
5412 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
5413 (grub_util_device_is_mapped): ... this. Make always available. All users
5414 updated.
5415 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
5416 (convert_system_partition_to_system_disk): Handle lvm, mpath and
5417 dmraid nodes.
5418 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
5419
6ad6223e
VS
54202011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
5423
5424 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
5425 * grub-core/modinfo.sh.in: New file.
5426 * grub-core/Makefile.core.def (modinfo.sh): New script.
5427 * util/grub-mknetdir.in: Use modinfo.sh.
5428 * util/grub-mkrescue.in: Likewise.
5429
543a8f6e
VS
54302011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5433 Fix potential usage of Elf32 instead of Elf64 when compiling on
5434 32-bit architecture. Add endianness macros while on it.
5435
4959e111
VS
54362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 Use mipsel- rather than mips- in directories involving mipsel ports to
5439 allow both endiannesses coexist.
5440
5441 * configure.ac: proparate target_cpu=mipsel rather than resetting to
5442 mips. All conditions adjusted.
5443 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
5444 variable.
5445 * util/grub-install.in: Adjust conditions to take renaming into account.
5446 * util/grub-mkimage.c (image_targets): Likewise. New target
5447 mips-qemu_mips-elf for bigendian mips.
5448
35341bbc
VS
54492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 Avoid unnecessary copying on MIPS.
5452
5453 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
5454 early if src == dest.
5455 * util/grub-mkimage.c (generate_image): Arange for src == dest if
5456 compression is none.
5457
b772baed
VS
54582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 Reduce memory footprint on SGI by putting modules before the kernel
5461 as opposed to after.
5462
5463 * grub-core/Makefile.core.def (kernel): Increase linking address.
5464 (none_decompress): Likewise.
5465 (xz_decompress): Likewise.
5466 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
5467 address.
5468 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
5469 layout change.
5470 (grub_arch_modules_addr): New function.
5471 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
5472 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
5473 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
5474 here.
5475 * grub-core/kern/mips/startup.S (total_size): Rename to ...
5476 (grub_total_modules_size): ... this. Make global.
5477 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
5478 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
5479 New definition.
5480 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
5481 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
5482 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
5483 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
5484 * util/grub-mkimage.c (image_target_desc): New flag
5485 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
5486 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
5487 (generate_image): Handle images with modules before kernel.
5488
566a1917
VS
54892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 Prevent potential loss of memory map by overwrite on qemu-mips.
5492
5493 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5494 Save ram size in $s4.
5495 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
5496 All users changed to grub_arch_memsize.
5497 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
5498 Loongson.
5499 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
5500 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
5501 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
5502 external variable.
5503
5d420cd9
CW
55042011-05-17 Colin Watson <cjwatson@ubuntu.com>
5505
5506 * .bzrignore: Remove grub-dumpbios.
5507
d064b830
CW
55082011-05-17 Colin Watson <cjwatson@ubuntu.com>
5509
5510 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
5511 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
5512 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
5513 existing options which append).
5514 * docs/grub.texi (Simple configuration): Document new options.
5515 Reported by: Ian Jackson. Fixes Debian bug #617538.
5516
3ca2b466
CW
55172011-05-17 Colin Watson <cjwatson@ubuntu.com>
5518
5519 * util/grub-fstest.c (cmd_cat): New function.
5520 (fstest): Handle CMD_CAT.
5521 (options): Add cat.
5522 (argp_parser): Handle cat.
5523
24c9143a
CW
55242011-05-17 Colin Watson <cjwatson@ubuntu.com>
5525
5526 * Makefile.util.def (grub-bin2h): Don't install.
5527 * docs/man/grub-bin2h.h2m: Remove.
5528
90f7ac19
VS
55292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
5532 place.
5533
8d4a5178
VS
55342011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 Reenable qemu-mips port.
5537
5538 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
5539 Fix small arc bug while on it.
5540 * gentpl.py: Handle qemu_mips.
5541 * grub-core/Makefile.am: Likewise.
5542 * grub-core/Makefile.core.def: Likewise.
5543 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
5544 inappropriate includes.
5545 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
5546 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
5547 * grub-core/kern/main.c (grub_modules_get_end)
5548 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
5549 * grub-core/kern/mips/qemu-mips: Moved to ..
5550 * grub-core/kern/mips/qemu_mips: ... this.
5551 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
5552 (grub_machine_init): Call terminfo_init and serial_init.
5553 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
5554 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5555 New variable.
5556 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
5557 parameter passing.
5558 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
5559 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
5560 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5561 * include/grub/mips/qemu_mips/cmos.h: New file.
5562 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
5563 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
5564 Removed.
5565 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
5566 Use correct mips-style address.
5567 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
5568 (GRUB_TICKS_PER_SECOND): Removed.
5569 (grub_get_rtc): Likewise.
5570 (grub_cpu_idle): Likewise.
5571 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
5572 New definition.
5573 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
5574 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
5575 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
5576 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
5577 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5578 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5579 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
5580 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
5581
400b9371
VS
55822011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 SGI ARCS port.
5585
5586 * Makefile.util.def (libgrubmods.a): Add dvh.c.
5587 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
5588 platforms.
5589 * configure.ac: New target mips-arc.
5590 * gentpl.py: Likewise.
5591 * grub-core/Makefile.am: Likewise.
5592 * grub-core/Makefile.core.def: Likewise.
5593 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
5594 (none_decompress): Likewise.
5595 (lsdev): New module.
5596 (datetime): Use lib/arc/datetime.c on ARC.
5597 (part_dvh): New module.
5598 * grub-core/commands/arc/lsdev.c: New file.
5599 * grub-core/disk/arc/arcdisk.c: Likewise.
5600 * grub-core/kern/mips/arc/init.c: Likewise.
5601 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
5602 aligned addresses.
5603 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
5604 support.
5605 (grub_arch_dl_relocate_symbols): Likewise.
5606 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
5607 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
5608 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
5609 platforms.
5610 * grub-core/lib/arc/datetime.c: New file.
5611 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
5612 pci.h on non-loongson.
5613 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
5614 (grub_linux_boot): Set unused registers to 0.
5615 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
5616 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
5617 * grub-core/mmap/mips/uppermem.c: ...here.
5618 * grub-core/partmap/dvh.c: New file.
5619 * grub-core/term/arc/console.c: Likewise.
5620 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
5621 (grub_terminfo_set_current): Add terminal "arc".
5622 (grub_terminfo_readkey): Support ARC sequences.
5623 * include/grub/arc/arc.h: New file.
5624 * include/grub/arc/console.h: Likewise.
5625 * include/grub/disk.h (grub_disk_dev_id): Add
5626 GRUB_DISK_DEVICE_ARCDISK_ID.
5627 * include/grub/mips/arc/kernel.h: New file.
5628 * include/grub/mips/arc/memory.h: Likewise.
5629 * include/grub/mips/arc/time.h: Likewise.
5630 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
5631 * include/grub/mips/kernel.h (grub_halt): ... here.
5632 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
5633 here...
5634 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
5635 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
5636 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
5637 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
5638 proto.
5639 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
5640 from here ...
5641 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
5642 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
5643 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
5644 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
5645 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
5646 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
5647 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
5648 (grub_phys_addr_t): Moved from here ...
5649 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
5650 (grub_vtop): Moved from here ...
5651 * include/grub/mips/memory.h (grub_vtop): ... here.
5652 (grub_map_memory): Moved from here ...
5653 * include/grub/mips/memory.h (grub_map_memory): ... here.
5654 (grub_unmap_memory): Moved from here ...
5655 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
5656 (grub_machine_mmap_iterate): Moved from here ...
5657 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
5658 (grub_mmap_get_lower): Moved from here ...
5659 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
5660 (grub_mmap_get_upper): Moved from here ...
5661 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
5662 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5663 here ...
5664 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5665 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
5666 here ...
5667 * include/grub/mips/time.h (grub_get_rtc): ... here.
5668 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5669 here ...
5670 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5671 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
5672 here ...
5673 * include/grub/mips/time.h (grub_cpu_idle): ... here.
5674 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
5675 definition.
5676 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
5677 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
5678 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
5679 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
5680 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5681 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5682 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
5683 (GRUB_MACHINE_LINK_ADDR): Likewise.
5684 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
5685 to 6.
5686 * util/grub-install.in: Run dvhtool on ARC.
5687 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 5688 (generate_image): Handle ECOFF output for mips-arc.
400b9371 5689
c8ecc840
VS
56902011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
5693 blocks.
5694
153a4b55
VS
56952011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
5698 after enabling port.
5699
ff44d107
VS
57002011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 Skip incorrect USB devices.
5703
5704 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
5705 configcnt == 0.
5706 * include/grub/usb.h (grub_usb_err_t): New enum value
5707 GRUB_USB_ERR_BADDEVICE.
5708
638dbe4f
VS
57092011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 Fuloong video init support.
5712
5713 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
5714 well.
5715 (grub_vga_read_arx): New function.
5716 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
5717 definition.
5718 (framebuffer): New members io, mmioptr and mmiobase.
5719 (read_sis_cmd): New function.
5720 (write_sis_cmd): Likewise.
5721 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
5722 rather than 640x400.
5723 * grub-core/video/sis315_init.c: New file.
5724
c3fc520c
VS
57252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
5728 non-loongson.
5729 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
5730 to grub_dl_register_symbol.
5731
67b1e5c9
VS
57322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 Fix compilation errors.
5735
5736 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
5737 potentially unused.
5738 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
5739 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
5740 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
5741 to loongson machines.
5742
b756f75f
VS
57432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 Several FS mtime support.
5746
5747 * grub-core/fs/affs.c (grub_affs_time): New struct.
5748 (grub_affs_file): New field mtime.
5749 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
5750 type. Removed 'size'. New field 'di'. All users updated.
5751 (grub_affs_mount): Simplify checsum checking.
5752 (grub_affs_iterate_dir): New helper grub_affs_create_node.
5753 (grub_affs_dir): Handle mtime.
5754 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
5755 (grub_cpio_dir): Likewise.
5756 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
5757 (grub_hfs_filerec): New field mtime.
5758 (grub_hfs_dir): Handle mtime.
5759 (grub_hfs_mtime): New function.
5760 (grub_hfs_fs): Register grub_hfs_mtime.
5761 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
5762 (grub_iso9660_dir): New field mtime.
5763 (grub_fshelp_node): New field dirent.
5764 (iso9660_to_unixtime): New function.
5765 (iso9660_to_unixtime2): Likewise.
5766 (grub_iso9660_read_symlink): Use node->dirent.
5767 (grub_iso9660_iterate_dir): Likewise.
5768 (grub_iso9660_dir): Set mtime.
5769 (grub_iso9660_mtime): New function.
5770 (grub_iso9660_fs): Register grub_iso9660_mtime.
5771 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
5772 (grub_jfs_inode): New fields atime, ctime and mtime.
5773 (grub_jfs_dir): Set mtime.
5774 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5775 * grub-core/fs/ntfs.c (list_file): Set mtime.
5776 (grub_ntfs_dir): Likewise.
5777 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
5778 (grub_reiserfs_iterate_dir): Set mtime.
5779 (grub_reiserfs_dir): Likewise.
5780 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
5781 (grub_fshelp_node): Likewise.
5782 (grub_sfs_iterate_dir): Set mtime.
5783 (grub_sfs_dir): Likewise.
5784 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
5785 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
5786 (grub_xfs_inode): New fields atime, mtime, ctime.
5787 (grub_xfs_dir): Set mtime.
5788 * include/grub/datetime.h (grub_datetime2unixtime): New function.
5789 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
5790 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
5791
5792 Support UDF symlinks.
5793
5794 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5795 (grub_ufs_read_symlink): New function. All users updated.
5796
5797 Check amiga partmap checksum.
5798
5799 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5800 (grub_amiga_partition): Likewise.
5801 (amiga_partition_map_checksum): New function.
5802 (amiga_partition_map_iterate): Check checksum.
5803
5470225d
VS
58042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 ROMFS support.
5807
5808 * Makefile.util.def (libgrubmods.a): Add romfs.
5809 * grub-core/Makefile.core.def (romfs): New module.
5810 * grub-core/fs/romfs.c: New file.
5811
d4680a35
VS
58122011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 Squashfs v4 support.
5815
5816 * Makefile.util.def (libgrubmods.a): Add squash4.
5817 * grub-core/Makefile.core.def (squash4): New module.
5818 * grub-core/fs/squash4.c: New file.
5819 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5820 disk_input_start, disk_input.
5821 (get_byte): Handle disk_input.
5822 (grub_zlib_disk_read): New function.
5823 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5824
bcb18e74
FZ
58252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
58262011-05-15 Feiran Zheng <famcool@gmail.com>
5827
5828 * Makefile.util.def (libgrubmods.a): Add minix3.
5829 * grub-core/Makefile.core.def (minix3): New module.
5830 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5831 (GRUB_MINIX_BSIZE): Removed.
5832 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5833 (grub_minix_ino_t): New type.
5834 (grub_minix_le_to_cpu_ino): New macro.
5835 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5836 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5837 (grub_minix_data): New field block_size.
5838 (grub_minix_read_file): Handle 64-bit correctly.
5839 * grub-core/fs/minix3.c: New file.
5840
32297d5f
TG
58412011-05-15 Tristan Gingold <gingold@free.fr>
58422011-05-15 Robert Millan <rmh.grub@aybabtu.com>
58432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 IA64 support.
5846
5847 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5848 * configure.ac: Add ia64-efi target.
5849 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5850 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5851 * gentpl.py: Add ia64_efi platform.
5852 Rename x86_efi to efi and Add ia64-efi. All users updated.
5853 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5854 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5855 Remove kern/generic/rtc_get_time_ms.c on EFI.
5856 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5857 kern/ia64/dl_helper.c on ia64-efi.
5858 Add kern/emu/cache.c on emu.
5859 (linux): Use on loader/ia64/efi/linux.c on ia64.
5860 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5861 whether symbol is a function.
5862 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5863 (grub_symbol): New field 'isfunc'.
5864 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5865 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5866 (grub_dl_load_segments): Place all sections into the same region.
5867 [__ia64__]: Create trampolines and got.
5868 [GRUB_MACHINE_EMU]: Call mprotect.
5869 (grub_dl_resolve_symbols): Resolve symbol type as well.
5870 [__ia64__]: Create function descriptors.
5871 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5872 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5873 (grub_get_rtc): New function.
5874 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5875 * grub-core/kern/emu/cache.S: Renamed to ...
5876 * grub-core/kern/emu/cache_s.S: ... this.
5877 [__ia64__]: Add a nop.
5878 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5879 [__ia64__]: New function.
5880 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5881 * grub-core/kern/ia64/dl.c: New file.
5882 * grub-core/kern/ia64/dl_helper.c: Likewise.
5883 * grub-core/kern/ia64/efi/init.c: New file.
5884 * grub-core/kern/ia64/efi/startup.S: Likewise.
5885 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5886 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5887 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5888 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5889 * grub-core/loader/ia64/efi/linux.c: New file.
5890 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5891 (GRUB_MOD_DEP): Likewise.
5892 (grub_dl) [__ia64__]: New fields got and tramp.
5893 (grub_dl): New field 'base'.
5894 (grub_dl_register_symbol): New argument isfunc. All users updated.
5895 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5896 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5897 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5898 (grub_ia64_dl_get_tramp_got_size): New proto.
5899 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5900 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5901 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5902 * include/grub/efi/api.h: Skip call wrappers on ia64.
5903 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5904 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5905 * include/grub/elf.h (ELF_ST_INFO): New definition.
5906 * include/grub/ia64/efi/kernel.h: New file.
5907 * include/grub/ia64/efi/memory.h: Likewise.
5908 * include/grub/ia64/efi/time.h: Likewise.
5909 * include/grub/ia64/kernel.h: Likewise.
5910 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5911 * include/grub/ia64/time.h: New file.
5912 * include/grub/ia64/types.h: Likewise.
5913 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5914 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5915 New protos.
5916 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5917 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5918 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5919 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5920 All users updated.
5921 (EFI64_HEADER_SIZE): New definition. All users updated.
5922 (image_targets): Add ia64-efi.
5923 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5924 jumpers_addr. All users updated.
5925 Create function descriptors.
5926 (count_funcs): New function.
5927 (unaligned_uint32): New struct.
5928 (MASK20): New definition.
5929 (MASK19): Likewise.
5930 (MASKF21): Likewise.
5931 (add_value_to_slot_20b): New function.
5932 (add_value_to_slot_21_real): Likewise.
5933 (add_value_to_slot_21): Likewise.
5934 (ia64_kernel_trampoline): New struct.
5935 (nopm): New variable.
5936 (jump): Likewise.
5937 (make_trampoline): New function.
5938 (relocate_addresses): Handle ia64.
5939 (make_reloc_section): Likewise.
5940 (load_image): Likewise.
5941
983b414d
VS
59422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5945 warning. Move variables before code while on it.
5946
5d063cdc
VS
59472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 Fuloong support.
5950
5951 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5952 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5953 * grub-core/boot/mips/loongson/fuloong.S: New file.
5954 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5955 Explicitly init CS5536.
5956 [FULOONG]: Don't use serial until CS5536 is available.
5957 Set GPIO based on dumps.
5958 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5959 [FULOONG]: Handle GPIO and memory controller differences.
5960 Parse machine type in $a2.
5961 * grub-core/boot/mips/startup_raw.S: Determine and save the
5962 architecture.
5963 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5964 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5965 init on architecture type.
5966 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5967 SIS315E. Don't init at_keyboard on fuloong.
5968 (grub_halt): Support Fuloong.
5969 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5970 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5971 (loongson_machtypes): New array.
5972 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5973 type.
5974 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5975 config. All users updated. Handle CS5536 serial.
5976 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5977 default port on machine type. Register serial as inactive.
5978 * grub-core/video/sis315pro.c: New file.
5979 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5980 definition.
5981 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5982 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5983 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5984 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5985 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5986 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5987 to ...
5988 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5989 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5990 definition.
5991 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5992 (grub_arch_machine): New extern var.
5993 * include/grub/mips/loongson/serial.h
5994 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5995 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5996 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5997 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5998 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5999 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
6000 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
6001 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
6002 * include/grub/term.h (grub_term_register_input_inactive): New inline
6003 function.
6004 (grub_term_register_output_inactive): Likewise.
6005 * include/grub/video.h (grub_video_driver_id): New value
6006 GRUB_VIDEO_DRIVER_SIS315PRO.
6007 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
6008 New field "names". All users updated.
6009 New field value IMAGE_FULOONG_FLASH.
6010 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
6011
6ada82d1
JU
60122011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
6013
6014 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
6015 and add some clarification.
6016
90c571a4
VS
60172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
6020 platforms if kernel is compressed.
6021
de04eecf
VS
60222011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
6025 unused modules since currently referrence counter isn't reliable and
6026 there isn't much memory to recover there anyway.
6027
57688121
VS
60282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
6031 rather than resetting it to allow modules to reference themselves
6032 in init.
6033
3d2c7e35
VS
60342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
6037 counter on dependencies since grub_dl_unref already handles this.
6038
b25db218
VS
60392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
6042 on error if not already done.
6043
25a45338
VS
60442011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 Fix few potential memory misusage.
6047
6048 * grub-core/font/font.c (load_font_index): Don't free char_index to
6049 avoid double free.
b25db218
VS
6050 (grub_font_load): Zero-fill font at alloc for safety.
6051 Close file on error.
6052 (free_font): Free bmp_idx.
25a45338 6053
0cac83df
VS
60542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * docs/grub.texi (Installation): Fix several outdated claims.
6057
2217a143
VS
60582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 Handle module_license on windows.
6061
6062 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
6063 sections shifted.
6064 (insert_string): Make argument const char * instead of char *.
6065 (write_section_data): Handle long section names.
6066 Handle module_license.
6067
d4de6b01
VS
60682011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
6071 handle class-free menuentries.
6072 (grub_normal_add_menu_entry): Add a check to be sure.
6073
4c2a3b43
VS
60742011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
6077 PgUp and PgDown.
6078
85c6210f
VS
60792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * configure.ac: Bump version to 1.99.
6082
36084912
VS
60832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 Give ATA device a bit more time on first try in order to allow disks
6086 to spin up.
6087
6088 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
6089 if dev->present is 1. Reset dev->present on failure.
6090 (grub_ata_device_initialize): Set dev->present to 1.
6091 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
6092 (grub_ata_device): New member 'present'.
6093
bda0e219
VS
60942011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * util/grub-mkimage.c (generate_image): Update hash.
6097
19e1c41b
VS
60982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 Flush caches on DMA memory.
6101
6102 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
6103 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
6104 (grub_dma_free): Likewise.
6105 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
6106
91bbcc0c
VS
61072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
6110 to avoid asm treating ld and sd as macros.
6111
60ddfad3
VS
61122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
6115 decompressor.
6116
a298aa04
VS
61172011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
6120 grub_decompress_core since later would fail if grub_decompress_core
6121 is too far.
6122
9b44feca
VS
61232011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
6126 R_MIPS_JALR since it's used by newer compiler.
6127
56dbe7b4
VS
61282011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
6131
52856af2
VS
61322011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
6135 file_path to 0 for surety.
6136 (grub_chainloader_boot): Set exit_data to NULL.
6137 Unset the loader once done.
6138 (grub_cmd_chainloader): Fix confusing error message if file is empty.
6139
9c9bfc6d
VS
61402011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
6143 unknown key into a dprintf.
6144
dd94a3df
VS
61452011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
6148 on first non-existant partition.
6149
fa68d99c
VS
61502011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
6153 openning fails.
6154 Reported by: Mark Korenberg.
6155
157effb7
VS
61562011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
6159 overflow.
6160
ea75312f
VS
61612011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * util/grub-mkimage.c (main): Explicitely flush and sync the output
6164 before closing to ensure that it will be readable by grub-setup.
6165
072b5d31
VS
61662011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
6169 (devpath_1): Use MAKE_PIWG_PATH.
6170 (devpath_2): Likewise.
6171 (devpath_3): Likewise.
6172 (devpath_4): Likewise.
6173 (devpath_5): Likewise.
6174 (devpath_6): Likewise.
6175
6176 The appleldr.mod was checked that to be binary identical to previous
6177 version.
6178
7fae0051
Z
61792011-05-05 Zach <mikezackles>
6180
6181 Support 2010 Macbooks.
6182
6183 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
6184 (devs): Add devpath_6.
6185
7c515bee
VS
61862011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
6189 /dev/random. /dev/urandom is good enough for our purposes (salting).
6190
ed660bd8
VS
61912011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
6194
ee5614b7
VS
61952011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
6198 hexadecimal.
6199
664889a6
VS
62002011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
6203 and not 0 on failure.
6204
bd405bbc
CW
62052011-05-03 Colin Watson <cjwatson@ubuntu.com>
6206
6207 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
6208 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
6209 disk; otherwise grub_fs_probe will not fall back to the next
6210 filesystem.
6211 (grub_pxefs_open): Likewise, for consistency.
6212 Reported and tested by: Ezekiel Grave.
6213
4ebff753
CW
62142011-05-03 Colin Watson <cjwatson@ubuntu.com>
6215
6216 * tests/partmap_test.in: Don't hardcode path to parted.
6217 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
6218
8f942553
CW
62192011-05-01 Colin Watson <cjwatson@ubuntu.com>
6220
6221 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
6222 of `ls' to find out which devices are available.
6223
3c62402d
VS
62242011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
6227 than source address for efi mmap buffer.
6228
723f63f2
VS
62292011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
6232 wrong action on non-detecting the magic.
6233
68797f92
VS
62342011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
6237 already supplied by another part of the module (fixes compilation on
6238 FreeBSD).
6239
6be8715d
VS
62402011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
6243 match the one used by mdadm.
6244
e91dba5b
CW
62452011-04-21 Colin Watson <cjwatson@ubuntu.com>
6246
6247 * po/README: Add instructions for creating po/LINGUAS.
6248
c85140b3
CW
62492011-04-21 Colin Watson <cjwatson@ubuntu.com>
6250
6251 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
6252 #551428.
6253
6254 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
6255 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
6256 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
6257 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6258 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
6259 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
6260 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
6261 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
6262 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
6263 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6264 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
6265 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
6266 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
6267 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
6268 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
6269 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
6270 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
6271 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
6272 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
6273 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
6274 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
6275 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
6276
92051871
CW
62772011-04-21 Colin Watson <cjwatson@ubuntu.com>
6278
6279 * grub-core/kern/emu/getroot.c
6280 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
6281 test that was incorrectly reintroduced in r3214.
6282 Reported by: Ian Dall. Fixes Savannah bug #33133.
6283
b13f79a4
CW
62842011-04-21 Colin Watson <cjwatson@ubuntu.com>
6285
6286 Fix stack pointer handling in 16-bit relocator.
6287
6288 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
6289 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
6290 Fixes Ubuntu bug #683904.
6291
9b710a88
VS
62922011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * configure.ac: Bump version to 1.99~rc2.
6295
d97e7b59
VS
62962011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
6299 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
6300 * grub-core/lib/x86_64/setjmp.S: Likewise.
6301 * grub-core/lib/mips/setjmp.S: Likewise.
6302 * grub-core/lib/powerpc/setjmp.S: Likewise.
6303 * grub-core/lib/sparc64/setjmp.S: Likewise.
6304
0624551c
VS
63052011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
6308 * grub-core/lib/efi/datetime.c: Likewise.
6309
e8f28d4c
VS
63102011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
6313 New function.
6314 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
6315 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
6316 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
6317
bba79a15
VS
63182011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
6321 bitmap.
6322 (grub_gfxterm_term_init): Likewise.
6323
abc474ef
VS
63242011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 Take into account the decorations the computing menu entry width.
6327
6328 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
6329 (grub_gfxmenu_create_box): Register get_border_width.
6330 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
6331 if available.
6332 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
6333 get_border_width.
6334
e74b3947
EP
63352011-04-18 Endres Puschner <code@e7p.de>
6336
6337 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
6338 Don't skip first class.
6339
34faa595
VS
63402011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
6343 chunks.
6344 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
6345
93a777e3
VS
63462011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 Complete 64-bit division support.
6349
6350 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
6351 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
6352 * include/grub/misc.h (grub_divmod64): Rename to ...
6353 (grub_divmod64_full): ... this.
6354 (grub_divmod64): New inline function.
6355
a5102d94
VS
63562011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * util/grub-mkimage.c (generate_image): Add forgotten comma.
6359
f3fb7b36
VS
63602011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
6363 performing the necessary test.
6364
9ac718b0
VS
63652011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
6368 (kfreebsd.elf): Likewise.
6369 (pc-chainloader.elf): Likewise.
6370 (ntldr.elf): Likewise.
6371
50d2cc5a
VS
63722011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 Identify RAID by its UUID rather than (guessed) name.
6375
6376 * grub-core/disk/raid.c (ascii2hex): New function.
6377 (grub_raid_open): Accept mduuid/%s specification.
6378 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
6379 (get_mdadm_uuid): ... this.
6380 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
6381
e03f7bea
VS
63822011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
6385 to negative size.
6386
e74c3112
CW
63872011-04-13 Colin Watson <cjwatson@ubuntu.com>
6388
6389 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
6390 btrfs subvolume.
6391 * util/grub.d/20_linux_xen.in: Likewise.
6392
78fa584f
CW
63932011-04-13 Colin Watson <cjwatson@ubuntu.com>
6394
6395 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
6396 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
6397
6398 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6399 Build a list of relevant visible mounts using the mnt_id and
6400 parent_mnt_id fields, and then scan that list at the end.
6401
9d5f8162
CW
64022011-04-12 Colin Watson <cjwatson@ubuntu.com>
6403
6404 * docs/grub.texi (normal): New section.
6405 (normal_exit): New section.
6406 (Embedded configuration): Add reference to normal.
6407 (GRUB only offers a rescue shell): Likewise.
6408 * docs/grub-dev.texi (Error Handling): Fix typo.
6409
09a9d66f
CW
64102011-04-12 Colin Watson <cjwatson@ubuntu.com>
6411
6412 * NEWS: Drop obsolete entry about probe-only btrfs support.
6413
0c676933
CW
64142011-04-12 Colin Watson <cjwatson@ubuntu.com>
6415
6416 * util/import_gcry.py: Fix typo.
6417
ec9f5e0d
VS
64182011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * NEWS: Add btrfs support.
6421
fe6b2cba
VS
64222011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
64232011-04-11 Colin Watson <cjwatson@ubuntu.com>
6424
6425 BtrFS support. Written by me (Vladimir) with important bugfixes and
6426 even more important testing by Colin.
6427
6428 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
6429 * grub-core/Makefile.core.def (btrfs): Add crc.c.
6430 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
6431 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
6432 mem_input_off and mem_input. All users updated to accept in-RAM input.
6433 (gzio_seek): New function.
6434 (test_zlib_header): Likewise.
6435 (grub_gzio_read): Likewise.
6436 (grub_zlib_decompress): Likewise.
6437 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
6438 Accept partial and non-virtual mounts.
6439 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
6440 avoid receiving /dev/dm-X as device.
6441 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
6442 Handle bind and partial mounts.
6443 * grub-core/lib/crc.c: New file.
6444 * include/grub/deflate.h: Likewise.
6445 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
6446 proto.
6447 * include/grub/lib/crc.h: New file.
6448
e745cf0c
VS
64492011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 Implement automatic module license checking according to new GNU
6452 guidelines.
6453
6454 * grub-core/kern/dl.c (grub_dl_check_license): New function.
6455 (grub_dl_load_core): Use grub_dl_check_license.
6456 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
6457 (GRUB_MOD_LICENSE): Likewise.
6458 (GRUB_MOD_DUAL_LICENSE): Likewise.
6459 All modules updated.
6460
2a9bc016
CW
64612011-04-11 Colin Watson <cjwatson@ubuntu.com>
6462
6463 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
6464 reserved_first_sector to 1. btrfs reserves plenty of space for boot
6465 loaders.
6466 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
6467
8a3bc88e
VS
64682011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
6471
af869a4a
VS
64722011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * util/grub-fstest.c (read_file): Report GRUB error if file opening
6475 failed.
6476
9ee8d94f
VS
64772011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/kern/file.c (grub_file_open): Don't take into account the
6480 parenthesis in the middle of the filename.
6481
b01abe3e
VS
64822011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
6485 rather than trying to put initrd way too high.
6486 Reported by: Ryan Lortie <desrt@desrt.ca>
6487
335bda1e
VS
64882011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
6491 improperly removed string.
6492
5ca1a64d
VS
64932011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
6496 is_disk.
6497 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
6498 (open_device) Likewise.
6499 (grub_util_biosdisk_close): Likewise.
d8ce9995 6500 Reported by: Mark Korenberg.
5ca1a64d 6501
cbac5b1e
AK
65022011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
6503
6504 * util/grub-mkconfig_lib.in: Add missing quotes.
6505
088cdb65
CW
65062011-04-10 Colin Watson <cjwatson@ubuntu.com>
6507
6508 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
6509 is NULL.
6510
8b8a81fa
VS
65112011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 Dynamically count the number of lines for the lower banner.
6514
6515 * grub-core/normal/menu_entry.c (per_term_screen): New member
6516 num_entries.
6517 (print_down): Use num_entries.
6518 (update_screen): Likewise.
6519 (grub_menu_entry_run): Set num_entries.
6520 * grub-core/normal/menu_text.c (menu_viewer_data): New member
6521 num_entries.
6522 (grub_print_message_indented): Move real part to ...
6523 (grub_print_message_indented_real): ... here. Additional argument
6524 dry_run.
6525 (draw_border): Additional argument num_entries.
6526 (print_message): Additional argument dry_run.
6527 (print_entries): Receive menu viewer data.
6528 (grub_menu_init_page): New argment num_entries.
6529 (menu_text_set_chosen_entry): Use num_entries.
6530 (grub_menu_try_text): Likewise.
6531 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
6532 All users updated.
6533 (grub_ucs4_count_lines): New function.
6534 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
6535 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
6536 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
6537 (grub_term_border_height): Likewise.
6538 (grub_term_num_entries): Likewise.
6539
277f955b
VS
65402011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
6543 Remove now unused string.
6544
536ce85a
CW
65452011-04-09 Colin Watson <cjwatson@ubuntu.com>
6546
6547 * docs/grub-dev.texi (Finding your way around): Update for 1.99
6548 build system.
6549 (Getting started): GRUB is developed in Bazaar now, not Subversion.
6550
6551 (Comment): Fix typo.
6552 (Getting started): General copy-editing.
6553 (Typical Development Experience): Likewise.
6554 (Error Handling): Likewise.
6555 (Video API): Likewise.
6556
2cf09e32
CW
65572011-04-09 Colin Watson <cjwatson@ubuntu.com>
6558
6559 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
6560 throughout.
6561
1ec652f4
VS
65622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 * util/grub-mkimage.c (main): Handle special naming of yeeloong
6565 directory.
6566
2c583728
CW
65672011-04-08 Colin Watson <cjwatson@ubuntu.com>
6568
6569 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
6570 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
6571 "development".
6572
d7a565e9
VS
65732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
6576 grub_strcpy since the lines aren't necessarily 0-terminated.
6577
7c2e4909
VS
65782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
6581 root on legacy.
6582
34c09785
VS
65832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/commands/probe.c (options): Argument to set isn't optional.
6586 (GRUB_MOD_INIT): DEVICE isn't optional.
6587
6a6f8058
VS
65882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
6591 word on new line if it's too long anyway. Fixes a hang.
6592
2e335e90
VS
65932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
6596 const.
6597 * util/grub-setup.c (main): Reuse md device name if available.
6598 * util/raid.c (grub_util_raid_getmembers): Receive device name and
6599 not GRUB name as argument.
6600 Based on patch by: Florian Wagner <fwagner>.
6601
10a7a867
VS
66022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6605 Place mbi on low memory for better compatibility.
6606
7a3d6cd9
VS
66072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
6610
18dd6b47
VS
66112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
66122011-04-08 Colin Watson <cjwatson@ubuntu.com>
6613
6614 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 6615 * conf/Makefile.common: Likewise.
18dd6b47 6616
3c0e3f14
VS
66172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6618
f7148863
VS
6619 * grub-core/normal/menu.c: Add missing include.
6620
66212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 6624
6d1fa41f
MZ
66252011-04-08 Martin Zuther <mzuther@mzuther.de>
6626
6627 * util/grub-mkconfig.in: Ignore emacsen backup.
6628
478182a8
VS
66292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
6632 on open.
6633 (grub_util_biosdisk_close): Likewise.
6634
72a89a54
VS
66352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
6638 const attribute and use grub_isdigit.
6639
b5ebecfa
A
66402011-04-06 Andrey <dev_null@ukr.net>
6641
6642 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
6643 gcc warning.
6644
7755f66e
VS
66452011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
6648 useful grub_dprintf's.
6649
461121ff
VS
66502011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
6653
2a961775
VS
66542011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
6657
adf594cc
VS
66582011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 Output errors if theme loading failed.
6661
6662 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
6663 grub_gfxterm_fullscreen on error paths to ...
6664 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
6665 theme loading error.
6666
665900a3
VS
66672011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
6670 space for older compilers.
6671 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6672
a562b479
VS
66732011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
6676 and report them as not RAID members since they are useless for GRUB.
6677 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6678
850e9373
VS
66792011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 Increase LVM implementation robustness in order not to crash on
6682 configurations like pvmove. Previously code assumed that in some places
6683 only lvs or only pvs are used whereas it seems that they are used
6684 interchangeably.
6685
6686 * grub-core/disk/lvm.c (read_node): New function.
6687 (read_lv): Use read_node.
6688 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
6689 Match volumes only at the end when all lvs are found. Take both
6690 pvs (first) and lvs (second) into account.
6691 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
6692 mirror_* into node_*. All users updated.
6693 (grub_lvm_stripe): Merge this ...
6694 (grub_lvm_mirror): ... and this ...
6695 (grub_lvm_node): ... into this. All users updated.
6696
6f332153
VS
66972011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
6700 of function to allow further scanning for LVMs.
6701
829ea451
VS
67022011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
6705 on failed seek as it breaks open fd reusage.
6706
09ceb9a5
VS
67072011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 * util/grub-install.in: Add a recommendation to use --recheck before
6710 reporting bugs.
6711
67e11623
VS
67122011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
6715 are obtained.
6716
caee5efd
VS
67172011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 GRUB developper manual based on existing Internals section and
6720 contributions by the various authors with active copyright assignment.
6721
6722 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
6723 * docs/font_char_metrics.png: New file.
6724 * docs/font_char_metrics.txt: Likewise.
6725 * docs/grub-dev.texi: Likewise.
6726 * docs/grub.texi (Internals): Move from here ...
6727 * docs/grub-dev.texi: ... here.
6728
2cccc747
CW
67292011-04-01 Colin Watson <cjwatson@ubuntu.com>
6730
6731 Store the loopback device as data on loopback grub_disk structures,
6732 rather than the file it points to. This fixes use of freed memory
6733 if an existing loopback device is replaced.
6734
6735 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
6736 disk->data, not dev->file.
6737 (grub_loopback_read): Adjust file assignment to match.
6738 Fixes Ubuntu bug #742967.
6739
186ae367
CW
67402011-04-01 Colin Watson <cjwatson@ubuntu.com>
6741
6742 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
6743 when replacing an existing device.
6744
cfed2ad0
VS
67452011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
6748 memory corruptions.
6749
6750 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
6751 unsigned.
6752 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
6753 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
6754 (grub_jfs_read_inode): Likewise.
6755 (grub_jfs_opendir): Likewise. Remove now useless casts.
6756 (grub_jfs_getent): Likewise.
6757 Make ino a grub_uint32_t rather than int.
6758 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
6759 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
6760 division and module with bit operations.
6761 (grub_jfs_find_file): Make ino a grub_uint32_t.
6762 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
6763
05d2ed32
CW
67642011-04-01 Colin Watson <cjwatson@ubuntu.com>
6765
6766 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
6767 warning. (This was in fact always initialised before use, but GCC
6768 wasn't smart enough to prove that.)
6769 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6770
91dc6073
VS
67712011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
6774 stack alignment.
6775 (efi_wrap_1): Likewise.
6776 (efi_wrap_2): Likewise.
6777 (efi_wrap_3): Likewise.
6778 (efi_wrap_4): Likewise.
6779 (efi_wrap_5): Likewise.
6780 (efi_wrap_6): Likewise.
6781 (efi_wrap_10): Likewise.
6782 Based on information by: Red Hat/Peter Jones.
6783
a8afc1d1
CW
67842011-03-31 Colin Watson <cjwatson@ubuntu.com>
6785
6786 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
6787 set-but-not-used variable.
6788
a826cc7d
CW
67892011-03-31 Colin Watson <cjwatson@ubuntu.com>
6790
6791 * docs/grub.texi (Simple configuration): Be more explicit about
6792 GRUB_DEFAULT, and add an example.
6793 Reported by: Leslie Rhorer.
6794
875b67ba
CW
67952011-03-30 Colin Watson <cjwatson@ubuntu.com>
6796
6797 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6798 shell".
6799
fd7cd914
AS
68002011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6801
6802 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6803 * util/grub.d/20_linux_xen.in: Likewise.
6804
090b1b6a
VS
68052011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * util/grub.d/10_linux.in: Try alternative config filenames where
6808 we parse config file.
6809 * util/grub.d/20_linux_xen.in: Likewise.
6810
baad885c
AS
68112011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6812
6813 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6814 * util/grub.d/20_linux_xen.in: Likewise.
6815
241e41f5
VS
68162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * grub-core/disk/raid.c (insert_array): Add few potentially
6819 useful grub_util_info.
6820 (grub_raid_register): Likewise.
6821
56445fb2
VS
68222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6825 Preserve partition number in mdadm code path.
6826
c871b1c6
VS
68272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6830 few potentially useful grub_util_info.
6831
5e631b4f
CW
68322011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6835
2d5d0333
CW
68362011-03-30 Colin Watson <cjwatson@ubuntu.com>
6837
6838 * docs/grub.texi (default): Use @example rather than nested
6839 itemized lists to avoid breaking gendocs.
6840
3d7ed04e
CW
68412011-03-30 Colin Watson <cjwatson@ubuntu.com>
6842
6843 * docs/grub.texi (Future): Update.
6844
abf04200 68452011-03-30 Colin Watson <cjwatson@ubuntu.com>
6846
6847 * docs/grub.texi (Environment): New chapter.
6848 (Changes from GRUB Legacy): Link to "Environment block" section for
6849 details of limitations.
6850 (Simple configuration): Likewise. Link to documentation of gfxmode
6851 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6852 respectively.
6853 (Shell-like scripting): Note that normal variables are stored in the
6854 environment.
6855 (gettext): Link to documentation of lang and locale_dir.
6856 (list_env): New section.
6857 (load_env): New section.
6858 (save_env): New section.
6859
6860 (Reporting bugs): Fix typo.
6861
e1ad0edd
VS
68622011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6865 the example.
6866
5d803174
VS
68672011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * grub-core/term/at_keyboard.c (set_scancodes)
6870 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6871
2a2da1d0
CW
68722011-03-30 Colin Watson <cjwatson@ubuntu.com>
6873
6874 * docs/grub.texi (Menu-specific commands): Remove some semantics
6875 that were true in GRUB Legacy but not in GRUB 2.
6876 (submenu): New section.
6877 (false): New section.
6878 (read): New section.
6879 (true): New section.
6880
a7527639
CW
68812011-03-30 Colin Watson <cjwatson@ubuntu.com>
6882
6883 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6884
68852011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
6886
6887 * docs/grub.texi (Simple configuration): Explain some of the
6888 current limitations of grub-mkconfig.
8a748df2 6889 Reported by: Leslie Rhorer.
e30af029 6890
fc858482
VS
68912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 Old macs search for boot.efi rather than for bootia32.efi.
6894
6895 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6896 * util/grub-mkrescue.in: Likewise.
6897 Suggested by: Peter Jones.
6898
e1eb511d
VS
68992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6902
70e75364
VS
69032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6906 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6907 (grub_lvm_mirror): New struct.
6908 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6909 (grub_lvm_iterate): Iterate only visible volumes.
6910 (grub_lvm_read): Factor out to ..
6911 (read_lv): ... this. Support mirrors.
6912 (grub_lvm_read): New wrapper function.
6913 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6914 stripped or mirrored.
6915
fc18f6a3
VS
69162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6919
5c650f4c
CW
69202011-03-29 Colin Watson <cjwatson@ubuntu.com>
6921
6922 * docs/grub.texi (loopback): New section.
6923
61d7156b
CW
69242011-03-29 Colin Watson <cjwatson@ubuntu.com>
6925
6926 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6927 removed -p option.
6928
994b8264
CW
69292011-03-29 Colin Watson <cjwatson@ubuntu.com>
6930
6931 * docs/grub.texi (BIOS installation): New section, partly based on
6932 previous text in other sections.
6933 (Installing GRUB using grub-install): Replace BIOS discussion with a
6934 cross-reference.
6935 (Images): Likewise.
6936
9e4d19e0
VS
69372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6940 [HAVE_DIOCGDINFO]: Add safety checks.
6941
a307c0b2
VS
69422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6945 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6946
b4db4f39
CW
69472011-03-29 Colin Watson <cjwatson@ubuntu.com>
6948
6949 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6950 real_sb->size is zero (e.g. RAID-0), get the disk size from
6951 real_sb->data_size instead.
6952 Fixes Ubuntu bug #743136.
6953
35e5f84c
VS
69542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6955
6956 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6957 printf clauses for printing size and start.
6958
d2e29d81
VS
69592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6962 Reported and tested by: Timothy Nikkel.
6963
ed5587af
VS
69642011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6967 (dirty_region_add_real): ... this.
6968 (dirty_region_add): Don't discard margin refresh when performing
6969 scheduled repaint.
6970
a1dc717c
VS
69712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/lib/relocator.c (allocate_regstart)
6974 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6975 terminals are capabple of malloc-free operation.
6976 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6977 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6978
9f3677d3
VS
69792011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6980
6981 * util/grub-setup.c: Copy the partition table zone if floppy support
6982 is disabled, even if no partition table is found.
6983
6984 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6985 during POST if an invalid partition table is contained in the PBR
6986 of the active partition when GRUB is installed to a partition.
6987
24148725
CW
69882011-03-28 Colin Watson <cjwatson@debian.org>
6989
6990 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6991 comment.
6992
f329eda7
CW
69932011-03-28 Colin Watson <cjwatson@debian.org>
6994
6995 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6996 to be specific about what kind of RAID device we're scanning for.
6997
c482ad98
SG
69982011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6999
7000 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
7001 return freed string.
7002
5ee04984
VS
70032011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
7006
f4727da9
VS
70072011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7008
7009 Use libgeom on FreeBSD to detect partitions.
7010
7011 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
7012 (grub-mkrelpath): Likewise.
7013 (grub-script-check): Likewise.
7014 (grub-editenv): Likewise.
7015 (grub-mkpasswd-pbkdf2): Likewise.
7016 (grub-fstest): Likewise.
7017 (grub-mkfont): Likewise.
7018 (grub-mkdevicemap): Likewise.
7019 (grub-probe): Likewise.
7020 (grub-setup): Likewise.
7021 (grub-ofpathname): Likewise.
7022 (grub-mklayout): Likewise.
7023 (example_unit_test): Likewise.
7024 (grub-menulst2cfg): Likewise.
7025 * grub-core/Makefile.core.def (grub-emu): Likewise.
7026 (grub-emu-lite): Likewise.
7027 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
7028 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
7029 define HAVE_DIOCGDINFO.
7030 (follow_geom_up) [FreeBSD]: New function.
7031 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
7032 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
7033 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
7034 unconditionally of HAVE_DIOCGDINFO.
7035
82fe6c75
VS
70362011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 Fix FreeBSD compilation problem.
7039
7040 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
7041 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
7042
4c6c9431
CW
70432011-03-24 Colin Watson <cjwatson@ubuntu.com>
7044
7045 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
7046 Switch back to page zero before loading a kernel, since some kernel
7047 drivers expect that.
7048 Thanks to: Felix Kuehling.
7049
c7064d94
VS
70502011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
7053 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
7054 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
7055
3f71cded
VS
70562011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
7059 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
7060
ef6de21a
VS
70612011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
7064 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
7065 malloc is disabled.
7066
8bc66a2c
VS
70672011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
7070 for modules headers when counting the needed allocation size.
7071
5657722c
VS
70722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
7075 if no ASCII character is found to prevent crash.
7076
41a85f55
AK
70772011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
7078
7079 * grub-core/video/bitmap.c (match_extension): Ignore case.
7080
59e1e5f1
VS
70812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
7084
bd4d051a
VS
70852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * grub-core/script/parser.y: Declare "time" as valid argument.
7088
bae7fcc1
PJ
70892011-03-23 Peter Jones <pjones@redhat.com>
7090
7091 Fix incorrect assert failure reporting.
7092
7093 * grub-core/tests/example_functional_test.c (example_test): Add
7094 a failure comment.
7095 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
7096 (failure_start): ...this. Check that malloc succeeded.
7097 Don't call xvasprintf. Return failure struct.
7098 (failure_append_vtext): New function.
7099 (failure_append_text): Likewise.
7100 (add_failure): Likewise.
7101 (grub_test_assert_helper): Likewise.
7102 * include/grub/test.h (grub_test_assert_helper): New declaration.
7103 (grub_test_assert): Macro rewritten.
7104
537dc9be
VS
71052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
7108
fa3e01bf
VS
71092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
7112
b1d28404
VS
71132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
7116 into GRUB-style one.
7117
2e3e2e09
VS
71182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
7121 error and not grub_errno.
7122 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
7123
ed57e557
VS
71242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
7127 GRUB_USB_SPEED_NONE in case of failure and not the error code.
7128
d1611f01
VS
71292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * grub-core/efiemu/i386/pc/cfgtables.c
7132 (grub_machine_efiemu_init_tables): Make declaration a prototype.
7133 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
7134 (grub_xnu_unlock): Likewise.
7135 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
7136
7d4e39d6
VS
71372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
7140 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
7141 * grub-core/commands/hashsum.c (aliases): Likewise.
7142 * grub-core/commands/setpci.c (pci_registers): Likewise.
7143 * grub-core/disk/usbms.c (attach_hook): Likewise.
7144 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
7145 (zio_checksum_table): Likewise.
7146 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
7147 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
7148 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
7149 * grub-core/lib/relocator.c (leftovers): Likewise.
7150 (extra_blocks): Likewise.
7151 * grub-core/loader/i386/bsd.c (relocator): Likewise.
7152 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
7153 (modules_last): Likewise.
7154 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
7155 (devices): Likewise.
7156 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
7157 (modules_last): Likewise.
7158 * grub-core/normal/auth.c (users): Likewise.
7159 * grub-core/normal/context.c (initial_menu): Likewise.
7160 (current_menu): Likewise.
7161 * grub-core/normal/crypto.c (crypto_specs): Likewise.
7162 * grub-core/term/serial.c (grub_serial_ports): Likewise.
7163 (grub_serial_terminfo_input_template): Likewise.
7164 (grub_serial_terminfo_output_template): Likewise.
7165 (grub_serial_terminfo_input): Likewise.
7166 (grub_serial_terminfo_output): Likewise.
7167 (registered): Likewise.
7168 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
7169
40fc4659
VS
71702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
7173 grub_video_mode_type_t.
7174 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
7175 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
7176 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
7177
2da48d28
VS
71782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * util/grub-install.in: Correct the x86-64 name as x86_64.
7181
9b43bf39
CW
71822011-03-11 Colin Watson <cjwatson@ubuntu.com>
7183
7184 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
7185 initial chunk read from the kernel always includes GRUB's multiboot
7186 header, which is now outside the first sector.
7187
be1a7ce0
CW
71882011-03-09 Colin Watson <cjwatson@ubuntu.com>
7189
7190 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
7191 cached mmap_size, so that this works correctly when called multiple
7192 times.
7193 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
7194
83a3c48d
CW
71952011-03-09 Colin Watson <cjwatson@ubuntu.com>
7196
7197 * docs/grub.texi (Simple configuration): Tidy up formatting.
7198
57d75699
SJ
71992011-03-07 Szymon Janc <szymon@janc.net.pl>
7200
7201 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
7202 Set-but-not-used variable removed.
7203
028501a0
VS
72042011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 Workaround yet another IEEE1275 bug.
7207
7208 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7209 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
7210 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
7211 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
7212 is set.
7213 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7214 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
7215
d998657d
VS
72162011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
7219 error.
7220
fee7cdd4
CW
72212011-02-11 Colin Watson <cjwatson@ubuntu.com>
7222
7223 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
7224 empty, since in that case we can only generate either nothing or a
7225 syntactically invalid configuration file.
7226 Reported by: Michal Suchanek. Fixes Debian bug #612898.
7227
97286eb5
CW
72282011-02-09 Colin Watson <cjwatson@ubuntu.com>
7229
7230 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
7231 (Making a GRUB bootable CD-ROM): Likewise.
7232 (Invoking grub-mkrescue): New section.
7233 Reported by: Yann Dirson. Fixes Debian bug #612585.
7234
22b28eb3
CW
72352011-02-09 Colin Watson <cjwatson@ubuntu.com>
7236
7237 * util/grub-install.in: Remove unnecessary brackets from tr
7238 arguments.
7239 * util/grub.d/10_hurd.in: Likewise.
7240 * util/grub.d/10_kfreebsd.in: Likewise.
7241 * util/grub.d/10_linux.in: Likewise.
7242 * util/grub.d/20_linux_xen.in: Likewise.
7243 Reported by: Jamie Heilman. Fixes Debian bug #612564.
7244
7e735e43
CW
72452011-02-08 Colin Watson <cjwatson@ubuntu.com>
7246
7247 * include/grub/file.h (not_easly_seekable): Rename to ...
7248 (not_easily_seekable): ... this. Update all users.
7249
800f1881
CW
72502011-01-28 Colin Watson <cjwatson@ubuntu.com>
7251
7252 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
7253 grub-mkrescue.
7254
3281d3d6
VS
72552011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * util/grub-mkimage.c (generate_image): Refuse to create the images
7258 bigger than the actual flash (512K) in Loongson machines. 512K is also
7259 the biggest chip supported by them.
7260
3533413c
VS
72612011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
7264
73ae4f4f
VS
72652011-01-22 Anthony DeRobertis <anthony@derobert.net>
7266
7267 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
7268 super_offset field.
7269
37f4f608
VS
72702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * util/grub-install.in: Ignore install device on platforms
7273 where it doesn't make sense. Always use UUIDs except on pc, efi and
7274 sparc64.
7275 Reported by: Daniel Kahn Gillmor.
7276
03a4ccb5
VS
72772011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
7280
ffc8f4d8
VS
72812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
7284 (iterate_real): Don't rely on partition being non-NULL.
7285
80f23be7
VS
72862011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
7289 supported platforms. Put a compile time assert for this rather than
7290 generate a warning with 32-bit shift.
7291
5d4f4dd5
VS
72922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
7295 logical expression more readable.
7296
e489601a
VS
72972011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7298
7299 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
7300 even if some elements have a name.
7301 Reported by: Alexander GQ Gerasiov.
7302
96e0a6ea
CW
73032011-01-22 Colin Watson <cjwatson@ubuntu.com>
7304
7305 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
7306 path unreadable if `grub-probe -t abstraction' fails, for example if
7307 memberlist fails on an LVM volume group.
7308 Reported by: Darius Jahandarie.
7309
81431e2b
CW
73102011-01-22 Colin Watson <cjwatson@ubuntu.com>
7311
7312 * docs/grub.texi (Simple configuration): Document
7313 GRUB_PRELOAD_MODULES.
7314
5e79d66a
CW
73152011-01-17 Colin Watson <cjwatson@ubuntu.com>
7316
7317 * .bzrignore: Remove nonexistent grub-pbkdf2.
7318
646ada34
VS
73192011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * configure.ac: Bump version to 1.99~rc1.
7322
04360337
VS
73232011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
7326 for safety.
7327
46c9db88
VS
73282011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
7331 module.
7332
73332011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
7334
7335 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
7336
4fbf1852
VS
73372011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
7340 diskdevid.
7341
f1632d4d
VS
73422011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 Fix compilation on cygwin.
7345
7346 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
7347 -R .drectve on cygwin.
7348 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
7349 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
7350 (COND_CYGWIN): New condition.
7351 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
7352 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
7353 not @TARGET_OBJ2ELF@.
7354 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
7355 type to determine whether aux is to be used.
7356
0b5e127b
VS
73572011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
7360 realpath'ed device string.
7361 Handle floppy (somewhat).
7362 Issue error in unknown case rather than garbage.
7363 Reported by: Axel Beckert.
7364
173b71e9
VS
73652011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * util/grub.d/00_header.in (load_video): Handle the case when no video
7368 drivers available.
7369 Thanks to: Axel Beckert.
7370
f8f479db
VS
73712011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
7374 variable. Fixes problem on big endian platforms.
7375
8fc0a245
VS
73762011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
7379 It doesn't work well there.
7380
b8494fbe
VS
73812011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
7384 warning.
7385 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
7386 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
7387 counter.
7388
b44a558c
VS
73892011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 Use alias->path rather than buggy "canon".
7392
7393 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
7394 (ofdisk_hash_add): New argument curcan. All users updated.
7395
51fa856c
CW
73962011-01-11 Colin Watson <cjwatson@ubuntu.com>
7397
7398 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
7399
9da068a5
VS
74002011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
7403 loadmask before doing any calculations. Use correct type for offset.
7404 (grub_linux_load64): Likewise.
7405
86205c94
CW
74062011-01-11 Colin Watson <cjwatson@ubuntu.com>
7407
7408 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
7409 with NULL.
7410 (console_grub_equivalences_unshift): Likewise.
7411 Reported by: Daniel Dehennin.
7412
4531a206
VS
74132011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
7416 (set_env_limn_ro): Likewise.
7417 (GRUB_MOD_INIT): Likewise.
7418 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
7419 ARRAY_SIZE while on it.
7420 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
7421 * grub-core/normal/context.c (grub_env_export): Move from here ...
7422 * grub-core/kern/env.c (grub_env_export): ... here.
7423 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
7424 prefix.
7425 * grub-core/kern/main.c (grub_main): Export root and prefix.
7426 * include/grub/env.h (grub_env_export): Export.
7427 Reported by: Seth Goldberg.
7428
45146057
VS
74292011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7432 Take into account space used by ELF sections and multiboot palette.
7433 Reported by: Grégoire Sutre.
7434
f093110b
VS
74352011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * BUGS: New file.
7438
3395fe52
VS
74392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 Pass more appropriate video id to Linux.
7442
7443 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
7444 grub_video_get_driver_id and variable gfxpayloadforcelfb to
7445 fill have_vga.
7446 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
7447 shift params->lfb_size.
7448 * include/grub/i386/linux.h: Make an enume out of have_vga values.
7449
c2fa6cbb
VS
74502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * util/grub-menulst2cfg.c: Add missing include of misc.h.
7453
b3ff6ff0
VS
74542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
7457 separator and pass bootpath/devid even if only one of them is available.
7458 Reported by: Seth Goldberg.
7459
ae67942e
VS
74602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
7463 implementations bug on them.
7464
7465 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
7466 memory.
7467 (filter_memory_map): Likewise.
7468
d570097a
VS
74692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
7472 Reported by: nebuchadnezzar.
7473
a508e776
VS
74742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
7477 Reported by: nebuchadnezzar.
7478
dcb883b1
VS
74792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 Submenu default support.
7482
7483 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
7484 auto_boot. All users updated.
7485 Declared static.
7486 Handle chosen and default with submenus.
7487 (grub_menu_execute_with_fallback): Declared static.
7488 Don't notify failure if autobooted. Upper level does it.
7489 (menuentry_eq): New function.
7490 (get_entry_number): Use menuentry_eq.
7491 (show_menu): New parameter "autobooted". All users updated.
7492 (grub_show_menu): Likewise.
7493 * include/grub/normal.h (grub_show_menu): Likewise.
7494 * include/grub/menu.h (grub_menu_execute_entry): Removed.
7495 (grub_menu_execute_with_fallback): Likewise.
7496
6fef99b4
VS
74972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 * util/grub-mklayout.c (usage): Update help text.
7500
47a77af5
VS
75012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
7504
ce6bb3ee
VS
75052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * util/grub-menulst2cfg.c (main): Trim the line.
7508
db87be2a
VS
75092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
7512 (grub_machine_init): Don't check amount of low memory as reportedly
7513 INT 12h can be broken and if low memory is too low we wouldn't have
7514 gotten into grub_machine_init anyway.
7515
c49849cc
VS
75162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
7519 (grub_machine_mmap_iterate): Take low memory into account
7520
b1969b30
VS
75212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
7524 badfs.
7525 Reported by: TiCPU.
7526
cf0eaf13
VS
75272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
7530 members errors.
7531
1f060f39
GS
75322011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7533
7534 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
7535 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
7536
a21e5672
GS
75372011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7538
7539 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
7540 openbsd and netbsd types being in part_bsd module.
7541
c88172fa
VS
75422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
7545 (_FILE_OFFSET_BITS): Likewise.
7546 Reported by: Seth Goldberg.
7547
53798c4b
GS
75482011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7549
7550 * configure.ac: Check for libdevmapper header.
7551
e7121b69
VS
75522011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
7555 avoid aliasing.
7556 (fzap_lookup): Likewise.
7557 (dnode_get): Likewise.
7558 (make_mdn): Likewise.
7559 (zfs_mount): Likewise.
7560 (fzap_iterate): Use temporary pointer to avoid aliasing.
7561 (grub_zfs_read): Likewise.
7562 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
7563 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
7564 pointers to avoid aliasing.
7565 (grub_cmd_xnu_kernel64): Likewise.
7566 (grub_xnu_load_driver): Likewise.
7567
fc836af9
VS
75682011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
7571 aliasing warning.
7572 (grub_cmd_terminal_output): Likewise.
7573 Reported and tested by: Grégoire Sutre.
7574
f9f37648
VS
75752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
7578 warning.
7579 Reported and tested by: Grégoire Sutre.
7580
ec1dfd63
VS
75812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * configure.ac: Do CPU substitution even if it's specified explicitly.
7584 Reported and tested by: Alain Greppin.
7585
9462775a
VS
75862011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
7589 Reported and tested by: Alain Greppin.
7590
0fd48e35
VS
75912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 Satisfy some bison versions need for inttypes.h.
7594
7595 * grub-core/lib/posix_wrap/inttypes.h: New file.
7596 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
7597 (int16_t): Likewise.
7598 (int32_t): Likewise.
7599 (int64_t): Likewise.
7600 Reported and tested by: Alain Greppin.
7601
43f1bc83
VS
76022011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
7605 Silence spurious warning.
7606 Reported and tested by: Alain Greppin.
7607
64d1f041
SJ
76082011-01-07 Szymon Janc <szymon@janc.net.pl>
7609
7610 * docs/grub.texi (Support automatic decompression): Update with xz
7611 decompression support.
7612
25953e10
SJ
76132011-01-07 Szymon Janc <szymon@janc.net.pl>
7614
7615 Improve loaders' kernel command line handling.
7616
7617 * grub-core/lib/cmdline.c: New file.
7618 * include/grub/lib/cmdline.h: Likewise.
7619 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
7620 grub_create_loader_cmdline to create kernel command line.
7621 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7622 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
7623 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
7624 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
7625 (linux): Add lib/cmdline.c on common.
7626
e72d259f
VS
76272011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
7630 inopos might be unaligned.
7631
c0cf26da
VS
76322011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7635 endian transformations.
7636 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7637 Based on report by: Doug Nazar.
7638
0ca09e6c
DN
76392011-01-07 Doug Nazar <nazard.michi@gmail.com>
7640
7641 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
7642 array->members[i].start_sector.
7643 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7644
014b6806
VS
76452011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
7648 Reported and tested by: Grégoire Sutre.
7649
415502c2
CW
76502011-01-06 Colin Watson <cjwatson@ubuntu.com>
7651
7652 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
7653 avoid causing test failures by clearing the screen.
7654
71b6a2b7
CW
76552011-01-06 Colin Watson <cjwatson@ubuntu.com>
7656
7657 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7658 Fix prefix check to handle the case where dir ends with a slash
7659 (most significantly, "/" itself).
7660 Reported by: Michael Vogt.
7661
b3f8d28a
VS
76622011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 Run terminfo_cls on initing terminfo output to clear the screen and
7665 move the cursor to (0,0).
7666
7667 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
7668 Call grub_terminfo_output_init.
7669 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
7670 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
7671 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
7672
4c3e4f37
VS
76732011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
7676 only when needed.
7677
488f71f1
VS
76782011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
7681 CTRL.
7682
18a38098
VS
76832011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 The E820 type 5 is BADRAM, not EXEC_CODE.
7686
7687 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7688 (GRUB_E820_BADRAM): New define.
7689 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
7690 into reserved. Propagate BADRAM.
7691 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7692 (GRUB_E820_BADRAM): New define.
7693
9eae2084
VS
76942011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
7697 Ignore the memory post-4G.
7698 (grub_relocator_firmware_alloc_region): Additional debug statement.
7699
ebc71d28
VS
77002011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
7703 names.
7704 Reported by: David Pravec.
7705
446fa400
VS
77062011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
7709 BIOSes.
7710
a0159f37
VS
77112011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
7714 Prevent overflow.
7715 (grub_reed_solomon_recover): Likewise.
7716
e5146ca1
VS
77172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
7720
77212011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
7722
7723 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
7724 variable.
7725
5b1bdf12
CW
77262011-01-04 Colin Watson <cjwatson@ubuntu.com>
7727
7728 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
7729 descriptions of extract_legacy_entries_source and
7730 extract_legacy_entries_configfile.
7731 Reported by: Seung Soo, Ha.
7732
99d925aa
CW
77332011-01-03 Colin Watson <cjwatson@ubuntu.com>
7734
7735 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
7736 on devices that do not implement function 0.
7737
4af0504b
DV
77382011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
7739
7740 * grub-core/fs/hfsplus.c: Make parent unsigned.
7741 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
7742 overflows.
7743 (grub_hfsplus_cmp_extkey): Likewise
7744
469ee10a
VS
77452011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * util/grub-install.in: Correctly use bootloader_id and not
7748 GRUB_DISTRIBUTOR on efibootmgr line.
7749
323a8e9c
VS
77502011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
7753
1b394975
IC
77542010-12-31 Ian Campbell <ijc@hellion.org.uk>
7755
7756 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
7757 Xen and reorder menu item wording to make it clearer that this entry
7758 will launch Xen. Print separate messages when loading Xen and
7759 Linux.
7760
275bff5f
VS
77612010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
7764 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
7765 loop in case of incorrect amiga partmap.
7766
307806cb
VS
77672010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
7770 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
7771 Reported by:EHeM.
7772
b12b923e
VS
77732010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
7776 spurious warning.
7777 Reported by: crocket
7778
14b48a19
VS
77792010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
7782 Preload EFIemu.
7783 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
7784
693db2df
VS
77852010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7786
7787 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
7788 is loaded
7789 (grub_cmd_xnu_kextdir): Likewise.
7790 (grub_cmd_xnu_splash): Likewise.
7791
c7638645
VS
77922010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 Avoid using Reed-Solomon with 0 redundancy.
7795
7796 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7797 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7798 or 0 redundancy.
7799 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7800 (grub_reed_solomon_recover): Likewise.
7801
25dd4780
VS
78022010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 Don't use disk subsystem in freebsd_boot.
7805
7806 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7807 (freebsd_biosdev): Likewise.
7808 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7809 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7810
0b2db943
VS
78112010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 Handling of files of unknown size is currently limited. They can't be
7814 used e.g. for initrd or modules. Moreover gzip handling of not
7815 easily seekable files is buggy. Disable unknown file size for now. May
7816 be inefficient but works.
7817
7818 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7819 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7820
5c408d0f
MP
78212010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7822
7823 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7824 floppy probe.
7825
190a011a
JD
78262010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7827
7828 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7829
022d01b8
SL
78302010-12-25 Shea Levy <shlevy>
7831
7832 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7833
c4855fdc
VS
78342010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7837 Windows Server 2008.
7838 Reported by: Devin Giddings.
7839
0354b867
VS
78402010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7843 writing an error message because of async power management.
7844 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7845 (grub_reboot): Likewise.
7846
ab66c69f
JU
78472010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7848
7849 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7850 keep unit tests from failing when they shouldn't.
7851
1426ef35
CW
78522010-12-21 Colin Watson <cjwatson@ubuntu.com>
7853
7854 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7855 previous patch increased the size of the RS code by 20 bytes (at
7856 least with gcc-4.4), so increase this by 20 bytes to match.
7857 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7858
20641b6b
CW
78592010-12-21 Colin Watson <cjwatson@ubuntu.com>
7860
7861 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7862 scratch area. Make sure to initialise chosen in standalone mode as
7863 well as non-standalone.
7864 Reported by: Robert Hooker and Andy Whitcroft.
7865 Tested by: Andy Whitcroft.
7866
d060ad60
CW
78672010-12-21 Colin Watson <cjwatson@ubuntu.com>
7868
7869 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7870 constructing a new unescaped string and passing it to grub_xputs in
7871 one go, rather than passing characters to grub_printf one at a time.
7872
b889cfad
CW
78732010-12-21 Colin Watson <cjwatson@ubuntu.com>
7874
7875 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7876 initialising utf16.
7877
4e01b6c8
CW
78782010-12-21 Colin Watson <cjwatson@ubuntu.com>
7879
7880 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7881 comment. Add an extra layer of quotation, requiring the output of
7882 this function to be used in a printf format string.
7883 (gettext_printf): New function.
7884 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7885 Extract translatable strings from here-documents and use a temporary
7886 variable instead, so that xgettext can find them.
7887 * util/grub.d/10_kfreebsd.in: Likewise.
7888 * util/grub.d/10_linux.in: Likewise.
7889 * util/grub.d/20_linux_xen.in: Likewise.
7890
7891 * po/grub.d.sed: New file.
7892 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7893 arguments. Set c-format flags on all strings extracted from
7894 util/grub.d/ (xgettext refuses to include these itself for strings
7895 it extracted from a shell file, but these really are c-format).
7896
5318fe98
VS
78972010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7900 Avoid next pointing to nowhere.
7901
6c85b743
VS
79022010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7905 rather than assuming than rootblock is exactly in the middle.
7906 (grub_affs_label): Likewise.
7907
a2a08a35
VS
79082010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7911 reserved_first_sector to 0.
7912 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7913 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7914 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7915
7059d1ec
VS
79162010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 Fix handling of UTF-16 UDF labels.
7919
7920 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7921 (read_string): .. here.
7922 (grub_udf_label): Use read_string.
7923
30aff4cb
BC
79242010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7925
7926 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7927 editor under argument scope.
7928 Reported by: Jordan Uggla
7929
5cf86f4b
VS
79302010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7933
32570200
CW
79342010-12-18 Colin Watson <cjwatson@ubuntu.com>
7935
7936 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7937 line, and other keys scroll an entire page (previous handling was
7938 for \r and \n to scroll a page and other keys to scroll two lines).
7939
e1dffcf2
VS
79402010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7943 Set ptrdest to correct get_physical_target_address rather than
7944 incorrect get_virtual_current_address.
7945
b04298cf 79462010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7947
7948 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7949 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7950
5367ecd3
CW
79512010-12-10 Colin Watson <cjwatson@ubuntu.com>
7952
7953 * .bzrignore: Ignore grub-core/rs_decoder.S.
7954
1fb430f8
CW
79552010-12-10 Colin Watson <cjwatson@ubuntu.com>
7956
7957 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7958 .mo/.mo.gz opening sequence to ...
7959 (grub_mofile_open_lang): ... here.
7960 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7961 * util/grub.d/00_header.in (grub_lang): Include country part of
7962 locale.
7963 Reported by: Mario Limonciello.
7964
a94a6671
RM
79652010-12-09 Robert Millan <rmh@gnu.org>
7966
7967 * NEWS: Document addition of ZFS support.
7968
24b7938b
CW
79692010-12-04 Colin Watson <cjwatson@ubuntu.com>
7970
7971 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7972 rather than `/ 2', as the latter requires -Wa,--divide which would
7973 require bumping our minimum binutils version.
7974
bddc3ef6
BC
79752010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7976
7977 * util/grub-script-check.c (main): Print script line number on
7978 error.
7979
bf78d5b2
RM
79802010-12-01 Robert Millan <rmh@gnu.org>
7981
7982 * grub-core/fs/zfs/zfs.c: New file.
7983 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7984 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7985 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7986 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7987
7988 * include/grub/zfs/dmu.h: Likewise.
7989 * include/grub/zfs/dmu_objset.h: Likewise.
7990 * include/grub/zfs/dnode.h: Likewise.
7991 * include/grub/zfs/dsl_dataset.h: Likewise.
7992 * include/grub/zfs/dsl_dir.h: Likewise.
7993 * include/grub/zfs/sa_impl.h: Likewise.
7994 * include/grub/zfs/spa.h: Likewise.
7995 * include/grub/zfs/uberblock_impl.h: Likewise.
7996 * include/grub/zfs/vdev_impl.h: Likewise.
7997 * include/grub/zfs/zap_impl.h: Likewise.
7998 * include/grub/zfs/zap_leaf.h: Likewise.
7999 * include/grub/zfs/zfs.h: Likewise.
8000 * include/grub/zfs/zfs_acl.h: Likewise.
8001 * include/grub/zfs/zfs_znode.h: Likewise.
8002 * include/grub/zfs/zil.h: Likewise.
8003 * include/grub/zfs/zio.h: Likewise.
8004 * include/grub/zfs/zio_checksum.h: Likewise.
8005
8006 * Makefile.util.def: Build ZFS into libgrubmods.
8007 * grub-core/Makefile.core.def: Build zfs.mod.
8008
3f0f3831
SJ
80092010-11-30 Szymon Janc <szymon@janc.net.pl>
8010
8011 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
8012 variable.
8013 * grub-core/commands/wildcard.c (match_files): Likewise.
8014
3a4253b2
RM
80152010-11-30 Robert Millan <rmh@gnu.org>
8016
8017 * grub-core/loader/i386/bsd.c
8018 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
8019 whether kernel is loaded using grub_loader_is_loaded(), rather
8020 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
8021 certain error conditions.
8022
8c317b27
RM
80232010-11-30 Robert Millan <rmh@gnu.org>
8024
c5c9cd3e
RM
8025 * grub-core/commands/echo.c: Include `<grub/term.h>'.
8026 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 8027
49d3ab46
VS
80282010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 Avoid using tricks for initialising endian variables.
8031
8032 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
8033 Make const.
8034 (GRUB_MOD_INIT): Don't byte-swap.
8035 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8036 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
8037 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
8038 (grub_swap_bytes32_compile_time): Likewise.
8039 (grub_cpu_to_le32_compile_time): Likewise.
8040 (grub_cpu_to_le16_compile_time): Likewise.
8041
f420a804
VS
80422010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * util/grub-setup.c (setup): Stop recommending --force. People who
8045 understand the dangers of blocklists are able to find this option
8046 anyway and the ones who don't shouldn't use it anyway.
8047
4e7db17b
RM
80482010-11-26 Robert Millan <rmh@gnu.org>
8049
8050 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
8051 Update all users.
8052
9be57a0d
CW
80532010-11-26 Colin Watson <cjwatson@ubuntu.com>
8054
8055 Fix LVM-on-RAID probing.
8056
8057 * util/grub-probe.c (probe): Remember which disk was detected as
8058 RAID (perhaps an LVM physical volume). Use that disk's raidname
8059 rather than that of the top-level disk.
8060
2c7859b3 80612010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 8062
d7647bb6
BC
8063 Fix cmdline argument quotes for setparams command of menuentry
8064 definitions.
7e623b0d
BC
8065
8066 * grub-core/commands/menuentry.c (setparams_prefix): Use single
8067 quotes for arguments.
f866fe80 8068 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 8069 grub_strchrsub function instead.
f866fe80 8070
7955bea0 8071 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 8072
74f72a64
CW
80732010-11-24 Colin Watson <cjwatson@ubuntu.com>
8074
8075 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
8076 effort by skipping "." and ".." entries up-front.
8077 Suggested by: Michael Lazarev.
8078
5a407278
CW
80792010-11-24 Colin Watson <cjwatson@ubuntu.com>
8080
8081 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
8082 ldflags to ldadd, to fix link line ordering.
8083 (none_decompress): Likewise.
8084
3030d8ec
CW
80852010-11-24 Colin Watson <cjwatson@ubuntu.com>
8086
8087 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
8088 platforms.
8089 (grub-emu-lite): Remove kern/emu/cache.S.
8090
b7fbac12
CW
80912010-11-23 Colin Watson <cjwatson@ubuntu.com>
8092
8093 * util/deviceiter.c (compare_devices): If the by-id link for a
8094 device couldn't be resolved, fall back to sorting by the by-id link
8095 rather than segfaulting.
8096 Reported and tested by: Daniel Mierswa.
8097
5225f328
CW
80982010-11-23 Colin Watson <cjwatson@ubuntu.com>
8099
8100 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
8101 ldflags, to fix link line ordering.
8102
038b3ce8
CW
81032010-11-23 Colin Watson <cjwatson@ubuntu.com>
8104
8105 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
8106 linkers are picky about this.
8107
bf16e98e
CW
81082010-11-23 Colin Watson <cjwatson@ubuntu.com>
8109
8110 * grub-core/Makefile.am (command.lst): Adjust sed expression
8111 ordering so that extended and priority commands aren't treated as
8112 ordinary commands.
8113
7242bab6
CW
81142010-11-23 Colin Watson <cjwatson@ubuntu.com>
8115
8116 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8117 Remove byte-swapping function calls, which are not valid in
8118 structure initialisers.
8119 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
8120 non-const.
8121 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
8122 grub_gpt_partition_type_bios_boot.
8123
14e8b279
CW
81242010-11-22 Colin Watson <cjwatson@ubuntu.com>
8125
8126 Fix test program build on GNU/kFreeBSD.
8127
8128 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
8129 $(LIBNVPAIR)' library dependencies.
8130
e6f63338 81312010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
8132
8133 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
8134
cf8ffc38
CW
81352010-11-22 Colin Watson <cjwatson@ubuntu.com>
8136
8137 * util/grub-install.in: Remove excessive quoting that broke
8138 installations to RAID devices.
8139
7f8b0fd7
VS
81402010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
8143 bootloader version instead of 0.
8144
dfd240b1
VS
81452010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
8148 warning.
8149
7b61e609
VS
81502010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
8153 retrieve the metadat sector if size isn't known.
8154 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8155
9dfe92d0
RM
81562010-11-18 Robert Millan <rmh@gnu.org>
8157
8158 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
8159 with grub_memcmp().
8160
41cc919e
VS
81612010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
8164 arrow.
8165 Reported by: Jordan Uggla.
8166
1afcc914
VS
81672010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 Make better UTF compliant.
8170
8171 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
8172 sequences as incorrect.
8173 (grub_is_valid_utf8): Likewise.
8174 (grub_utf8_to_ucs4): Likewise.
8175 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
8176 (grub_ucs4_to_utf8_alloc): Likewise.
8177 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
8178
f1808884
VS
81792010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 Make legacy_source behave like source.
8182
8183 * grub-core/commands/legacycfg.c (legacy_file): Don't call
8184 grub_show_menu.
8185 (grub_cmd_legacy_source): Call grub_show_menu if needed.
8186
24ec575b
CW
81872010-11-16 Colin Watson <cjwatson@debian.org>
8188
8189 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
8190 (-Wunused implies -Wunused-parameter, but not vice versa).
8191
72b7c7aa
CW
81922010-11-16 Colin Watson <cjwatson@ubuntu.com>
8193
8194 * configure.ac: Make error messages less confusing by testing for
8195 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
8196 accepted, but produces a diagnostic if something else is wrong).
8197
e98937aa
VS
81982010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
8201 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
8202 (now unused).
8203 (grub_keyboard_controller_init)
8204 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
8205 read the initial state since controller isn't inited yet.
8206
f6bbabc3
VS
82072010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
8210 allocate_regbeg may need to create new chunk header.
8211
22e7dbb2
VS
82122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 Fix quoting in legacy parser.
8215
8216 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
8217 single quotes.
8218 (grub_legacy_parse): Likewise.
8219 Reported by: Jordan Uggla.
8220 Tested by: Jordan Uggla.
8221
03f80960
VS
82222010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 Don't add -lgcc on i386 and x86_64.
8225
8226 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
8227 * conf/Makefile.common (LDADD_KERNEL): Likewise.
8228 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
8229
779dc15b
VS
82302010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * configure.ac: Add -Wno-trampolines when supported.
8233
d20a3b37
MV
82342010-11-14 Modestas Vainius <modax@debian.org>
8235
8236 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
8237 fakeraid.
8238
e5360933
GC
82392010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
8240
8241 Add generic logical block size support for UDF.
8242
8243 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
8244 (GRUB_UDF_BLKSZ): Removed.
8245 (struct grub_udf_data): New field "lbshift" to hold the logical block
8246 size of the file system in log2 format. All users updated.
8247 (sblocklist): Change type to unsigned.
8248 (grub_udf_mount): Change type of "sblklist" to unsigned.
8249 Move AVDP search before VRS recognition, because the latter requires
8250 knowledge of the logical block size, which is detected during the
8251 former.
8252 Detect and validate logical block size during AVDP search, adding
8253 support for block sizes 512, 1024 and 4096.
8254 Make VRS recognition independent of block size.
8255
cb0229c5
GC
82562010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
8257
8258 Properly handle deleted files on UDF.
8259
8260 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
8261 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
8262 set.
8263
406858a8
GC
82642010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
8265
8266 Support reading files larger than 2 GiB.
8267
8268 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
8269 "offset" to grub_off_t.
8270 (grub_udf_read_file): Likewise for parameter "pos".
8271
130da6a7
VS
82722010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
8275 unavailable.
8276 (Simple configuration): Refer to Changes from GRUB Legacy about
8277 save_env availability.
8278
65e93f6b
VS
82792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * util/grub-install.in: Ignore empty partition table detection
8282 instead of trying to include part_ module.
8283
1fd08bf1
VS
82842010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
8287 LVM on RAID support.
8288
de1a024f
VS
82892010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 Properly define WORDS_BIGENDIAN in wrapped environments.
8292
8293 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
8294 definition.
8295 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
8296
8297 Reported by: Manoel Rebelo Abranches.
8298 Tested by: Manoel Rebelo Abranches.
8299
bc5dd0b9
VS
83002010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * util/grub-mkconfig.in: Fix quoting.
8303
58c184be
VS
83042010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 Support big ext2 files.
8307
8308 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
8309 (grub_ext2_read_block): Support triple indirect blocks.
8310 (grub_ext2_read_file): Use 64-bit types and read size_high.
8311 (grub_ext2_open): Read size_high.
8312 Reported by: Ximin Luo.
8313 Tested by: Manoel Rebelo Abranches.
8314
5f0c02b3
VS
83152010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * util/grub-install.in: Handle filenames containing spaces.
8318 Reported by: Jordan Uggla.
8319 Tested by: Jordan Uggla.
8320
4417aae6
VS
83212010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * util/grub-mkconfig.in (grub_script_check): New variable.
8324 Use grub_script_check instead of grub-script-check.
8325 Reported by: Barry Jackson.
8326
7625a68e
VS
83272010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 * docs/grub.texi (menu): Correct the order.
8330 Reported by: D. Hugh Redelmeier.
8331
10001ac5
VS
83322010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
8335 jump.
8336
9c4cf53b
MRA
83372010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8338
10001ac5
VS
8339 * include/grub/elfload.h (grub_elf32_size): New parameter.
8340 All users updated.
9c4cf53b
MRA
8341 Return maximum segments alignment.
8342 (grub_elf64_size): Likewise.
8343 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
8344 Return maximum segments alignment.
8345 (grub_elf64_size): Likewise.
8346 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
8347 (grub_linux_claimmap_iterate): New function. Uses the
8348 "available" property in the "memory" node for memory allocation
8349 for kernel in the PowerPC loader.
9c4cf53b
MRA
8350 (grub_linux_load32): Correctly find linux entry point offset.
8351 (grub_linux_load64): Likewise.
8352
d2bf06bf
RM
83532010-11-07 Robert Millan <rmh@gnu.org>
8354
8355 On mips-yeeloong, build with -march=loongson2f when this flag is
8356 available (GCC >= 4.4).
8357 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
8358 `-march=mips3'.
8359 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
8360 or otherwise add -march=mips3.
8361
898c99a2
BC
83622010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
8363
87220a68
BC
8364 Suppress shell expansion on echo '*' and echo "*" like cases.
8365 Reported by: Jordan Uggla.
898c99a2
BC
8366
8367 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8368 string arguments before shell expansion.
8369 * tests/grub_cmd_echo.in: New testcases.
8370
4f9b406a
RM
83712010-11-07 Robert Millan <rmh@gnu.org>
8372
8373 * conf/mips-qemu-mips.rmk: Remove stale file from previous
8374 transition.
8375
80c6d25e
VS
83762010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * grub-core/kern/emu/hostdisk.c
8379 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
8380
4a1a0153
VS
83812010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
8384 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
8385 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
8386
34706ddc
VS
83872010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
8390
6972dea9
VS
83912010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * util/grub-install.in: Replace useless recomendation to pass
8394 --modules with a recomendation to report a bug.
8395
9c693bd6
VS
83962010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 Properly register serial terminfo.
8399 Reported by: Jordan Uggla
8400
8401 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
8402 const.
8403 (grub_serial_terminfo_output_template): Likewise.
8404 (grub_cmd_serial): Register "serial" with terminfo.
8405 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
8406 grub_serial_terminfo_output.
8407
6c9e4c0c
RM
84082010-11-05 Robert Millan <rmh@gnu.org>
8409
8410 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
8411 needed).
8412
b9b3839f
RM
84132010-11-05 Robert Millan <rmh@gnu.org>
8414
8415 On Yeeloong, pass machine type information to Linux.
8416
8417 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
8418 (LOONGSON_MACHTYPE): New macro, set to
8419 "machtype=lemote-yeeloong-2f-8.9inches".
8420 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
8421 additional argument to Linux.
8422
1a3aaff4
RM
84232010-11-04 Robert Millan <rmh@gnu.org>
8424
8425 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
8426 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
8427 (its SATA disks are detected as slaveless IDE master drives on
8428 kFreeBSD).
8429 Reported by Carsten Aulbert.
8430
a75f4f62
CW
84312010-11-02 Colin Watson <cjwatson@ubuntu.com>
8432
8433 * util/bin2h.c (main): Fix spelling error in generated output.
8434
33b4b0c6
GS
84352010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
8436
8437 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
8438
2b36fbf4
VS
84392010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
8442 vga= option is supplied.
8443
74aaf558
VS
84442010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
8447 * util/grub.d/10_kfreebsd.in: Likewise.
8448 * util/grub.d/10_linux.in: Likewise.
8449 * util/grub.d/20_linux_xen.in: Likewise.
8450
6428dec3
VS
84512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
8454 argument as an argument to no-argument option.
8455
f8729d98
VS
84562010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * util/grub.d/10_linux.in: Add missing load_video with explicit
8459 GRUB_GFXPAYLOAD_LINUX.
8460
89d68fa6
VS
84612010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
8464
3a1197cd
VS
84652010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
8468 elements with invlid index.
8469 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8470 * grub-core/disk/raid.c (insert_array): Automatically reallocate
8471 members.
8472 * include/grub/raid.h (grub_raid_member): New struct.
8473 (grub_raid_array): Transform devices and start_sector into usage of
8474 grub_raid_member. All users updated
8475 (allocated_devs): New member.
8476
71574288
VS
84772010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
8480 is modified
8481
8d40ec65
BC
84822010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
8483
8484 NetBSD build fix for getline function conflict from gnulib.
8485
8486 * Makefile.util.def (libgrubkern.a): New library for grub kernel
8487 components that depend on gnulib headers.
8488 (libgrubmods.a): Renamed from earlier libgrub.a.
8489 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
8490
95b9257e
VS
84912010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
8494 install rather than creating a broken install.
8495
26c53dc6
VS
84962010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * util/grub-setup.c (argp): Remove misleading example of installing to
8499 a partition.
8500
4171b3c5
VS
85012010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * util/grub-setup.c (setup): Clarify the error message.
8504
18568d18
VS
85052010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
8508
4f6a2e21
VS
85092010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 * grub-core/kern/emu/misc.c
8512 (grub_make_system_path_relative_to_its_root)
8513 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
8514
85152010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
8516
8517 * grub-core/kern/emu/misc.c
8518 (grub_make_system_path_relative_to_its_root): Revert r2882.
8519
e138c458
VS
85202010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
8523 useless field head. All users updated.
8524 (free_subchunk): Correct handling of IN_REGION subchunk.
8525
0cbcdf0e
CW
85262010-10-22 Colin Watson <cjwatson@ubuntu.com>
8527
8528 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
8529 (Supported kernels): Likewise.
8530
b65ea155
GS
85312010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8532
8533 Make mktemp invocations portable.
8534
8535 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
8536 exit if mktemp fails.
8537 * tests/grub_script_blockarg.in: Likewise.
8538 * tests/partmap_test.in: Likewise.
8539 * tests/util/grub-shell-tester.in: Likewise.
8540 * tests/util/grub-shell.in: Likewise.
8541 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8542 * Makefile.am: Likewise, and chain shell commands with `&&'
8543 instead of ';'.
8544 * util/grub-mkrescue.in: Use the same explicit template as above, and
8545 exit if mktemp fails.
8546
05f43cdd
BC
85472010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
8548
8549 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
8550 Linux kernel, reported by Dennis Schridde.
8551
800e6a9b
SJ
85522010-10-17 Szymon Janc <szymon@janc.net.pl>
8553
8554 * grub-core/normal/auth.c (grub_auth_check_authentication):
8555 Set-but-not-used variable removed.
8556
d82df574
VS
85572010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * docs/grub.texi (GNU/Linux): Document APM unavailability with
8560 32-bit linux protocol.
8561
7bced458
VS
85622010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
8565 cursor shape for sanity.
8566
5b027690
VS
85672010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * docs/grub.texi (Installation): Document buggy BIOS install.
8570
ba5f65cf
VS
85712010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 * docs/grub.texi (Installation): Indent.
8574
fdf2ec9c
VS
85752010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * util/grub-setup.c (setup): New parameter allow_floppy.
8578 (arguments): New member allow_floppy.
8579 (argp_parser): Handle --allow-floppy.
8580 (main): Pass allow_floppy.
8581 * util/grub-install.in: New option --allow-floppy passed though to
8582 grub-setup.
8583
861dfd4c
VS
85842010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * util/grub-install.in: Handle partitionless disks.
8587
f77a8c24
VS
85882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 * util/grub-setup.c (setup): Don't clean blocklists before readability
8591 verfification.
8592
27d9ee32
VS
85932010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 * docs/grub.texi (Installation): Document embedding zone. Remove
8596 obsolete grub-install example.
8597
6bdda8f8
SJ
85982010-10-16 Szymon Janc <szymon@janc.net.pl>
8599
8600 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8601 Set-but-not-used variable ifdef'ed.
8602 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
8603 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
8604 variable removed.
8605 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
8606 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
8607 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8608 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
8609 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
8610 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8611 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
8612 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
8613 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
8614 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
8615 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
8616 Likewise.
8617
e19b016b
VS
86182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
8621 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
8622 enum value.
8623
6c8d3002
VS
86242010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
8627 synonym to _S5_. Needed for some DSDTs.
8628
c32b51c9
VS
86292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 Userspace ACPI parser debugging.
8632
8633 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
8634 headers and add relevant defines. Don't include standard headers.
8635 (main) [GRUB_DSDT_TEST]: New function.
8636 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
8637 Don't declare functions.
8638
fbfbeb39
VS
86392010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 Remove dead grub_efi_mm_fini.
8642
8643 * grub-core/kern/efi/mm.c (allocated_page): Removed.
8644 (ALLOCATED_PAGES_SIZE): Likewise.
8645 (MAX_ALLOCATED_PAGES): Likewise.
8646 (allocated_pages): Likewise.
8647 (grub_efi_allocate_pages): Don't record allocated pages.
8648 (grub_efi_free_pages): Likewise.
8649 (grub_efi_mm_init): Likewise.
8650 (grub_efi_mm_fini): Removed.
8651
65f7ed7c
VS
86522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
8655 (grub_efi_mm_init): Take into account the memory map size increase.
8656
24977b44
VS
86572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
8660 (serial_hw_put): Wait based on real time rather than port reads. Don't
8661 roken ports.
8662 * include/grub/serial.h (grub_serial_port): New field broken.
8663
1eb01cd2
RM
86642010-10-16 Robert Millan <rmh@gnu.org>
8665
8666 * grub-core/kern/emu/misc.c
8667 (grub_make_system_path_relative_to_its_root): Fix premature return
8668 when processing non-root ZFS filesystems.
5f8b440b 8669 Reported by Sergio Talens-Oliag.
1eb01cd2 8670
2d5fed60
RM
86712010-10-15 Robert Millan <rmh@gnu.org>
8672
8673 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
8674 guarantee compressed ones are processed first.
8675
d0f4c1ea
VS
86762010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
8679 grub_efiemu_autocore.
8680
d87c681f
VS
86812010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
8684 rather than 0x1b.
8685 (grub_console_getkey): Use correct jae opcode rather than ja.
8686
219b3564
RM
86872010-10-12 Robert Millan <rmh@gnu.org>
8688
8689 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
8690 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
8691 variable. All references updated.
8692
8693 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
8694
20c6bb7e
VS
86952010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 Correctly distinguish mdraid flavours.
8698
8699 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
8700 (insert_array): New argument raid.
8701 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
8702 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
8703 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
8704
74baff84
VS
87052010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
8708 handling of special keys.
8709
3ef068df 87102010-10-02 Aleš Nesrsta <starous@volny.cz>
8711
c7980ad9
VS
8712 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
8713 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 8714
a9455194 87152010-10-02 Aleš Nesrsta <starous@volny.cz>
8716
c7980ad9
VS
8717 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
8718 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
8719 users updated.
a9455194 8720 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 8721 Use right endpoint when querying descriptor.
a9455194 8722
441cfe65
VS
87232010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 Clear out 0x80 color bit on EFI.
8726 Tested by: decoder
8727 Reported by: decoder and meta tech.
8728
8729 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
8730 (grub_console_setcolorstate): Clear out 0x80 bit.
8731 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
8732 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
8733 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
8734
bf26bcc4
VS
87352010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
8738 Set to "auto".
8739
6e3c515d
VS
87402010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
8743 mo_file after freeing.
8744
e6d983ba
VS
87452010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
8748
74ccb5b5
VS
87492010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
8752 flags.
8753
17821956
VS
87542010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
8757 usage.
8758
ee74fa48
VS
87592010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 Put terminfo into core on ieee1275 and yeeloong (needed for console).
8762
8763 * gentpl.py: New groups terminfoinkernel and terminfomodule.
8764 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
8765 and terminfo.h when needed.
8766 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
8767 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
8768 (terminfo): Enable only on terminfokernel.
8769 (extcmd): Likewise.
8770 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
8771 * include/grub/lib/arg.h: Likewise.
8772 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
8773 incorrect usage of ->.
8774
aa438e68
VS
87752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
8778 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
8779
57994012
VS
87802010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 Fix coreboot compilation.
8783
8784 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8785 Take VBE info into account even if only text is supported.
8786 (fill_vbe_info): Take into account the case when only VGA text
8787 is supported.
8788 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
8789 on coreboot, multiboot and qemu.
8790
2a406611
VS
87912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8794 debug messages.
8795 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8796
d33613fc
VS
87972010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8800 parameters.
8801
44a1b432
VS
88022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8805 if they were BSD-style.
8806
edde54e6
VS
88072010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * grub-core/boot/i386/pc/lnxboot.S: Replace
8810 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8811 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8812
b65830fa
VS
88132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8814
8815 Write embedding zone using Reed-Solomon.
8816
8817 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8818 * grub-core/Makefile.am (rs_decoder.S): New target.
8819 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8820 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8821 (multiboot): Move to RS part.
8822 (post_reed_solomon): New label.
8823 (grub_boot_drive): Move to non-RS part since it's modified in memory
8824 on boot.
8825 Include rs_decoder.S.
8826 * grub-core/lib/reed_solomon.c: New file.
8827 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8828 New definition.
8829 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8830 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8831 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8832 * include/grub/partition.h (grub_partition_map): Change prototype of
8833 embed to allow returning additional sectors.
8834 * include/grub/reed_solomon.h: New file.
8835 * util/grub-setup.c (setup): Handle Reed-Solomon.
8836
0b4b227f
CW
88372010-09-28 Colin Watson <cjwatson@ubuntu.com>
8838
8839 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8840 i386 and x86-64 definedness tests.
8841
f772623b
YB
88422010-09-27 Yves Blusseau <blusseau@zetam.org>
8843
8844 Fix generation of kernel_syms.lst
8845
8846 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8847 ASM_PREFIX
8848
8e57a6ca
RM
88492010-09-26 Robert Millan <rmh@gnu.org>
8850
8851 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8852
8853 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8854 the pool is an array of devices, iterate through it and return the
8855 first device that passes a stat() test (instead of blindly returning
8856 the first one).
8857
f9130836
RM
88582010-09-26 Robert Millan <rmh@gnu.org>
8859
8860 Build fixes for GNU/kFreeBSD.
8861
8862 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8863 to programs that require ZFS conversion.
8864 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8865 kernels that don't have FLOPPY_MAJOR.
8866
96510faf
BC
88672010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8868
8869 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8870
449333eb
BC
88712010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8872
8873 Fix grub-emu build.
8874
8875 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8876 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8877 mdraid09 and mdraid1x.
8878
e1fd1939
CW
88792010-09-24 Colin Watson <cjwatson@ubuntu.com>
8880
8881 Re-enable grub-extras.
8882
8883 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8884 avoid confusing Automake. Run autogen only twice, once for the top
8885 level and once for grub-core. Add Makefile.util.def and
8886 Makefile.core.def from extra modules to the appropriate autogen
8887 invocations. If Makefile.common exists in an extra module, include
8888 it in both Makefile.util.am and grub-core/Makefile.core.am;
8889 similarly, include any Makefile.util.common file in Makefile.util.am
8890 and any Makefile.core.common file in grub-core/Makefile.core.am.
8891 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8892 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8893 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8894 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8895
8896 * gentpl.py (gvar_add): Turn GVARS into a set.
8897 (global_variable_initializers): Sort global variables on output.
8898 (vars_init): New function.
8899 (first_time): Likewise.
8900 (library): Ensure that non-global variable initialisations are
8901 emitted before the first time we emit code for a library block.
8902 Append to variables rather than setting them. Only emit
8903 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8904 each conditional path.
8905 (program): installdir() emits an Autogen macro, so must be passed to
8906 var_add rather than gvar_add.
8907 (data): Likewise.
8908 (script): Likewise.
8909 (rules): New function, centralising handling for different target
8910 types. Set up Guile association lists for first_time and vars_init,
8911 and send most output to a diversion so that variable initialisations
8912 can be emitted first.
8913 (module_rules): Use new rules function.
8914 (kernel_rules): Likewise.
8915 (image_rules): Likewise.
8916 (library_rules): Likewise.
8917 (program_rules): Likewise.
8918 (script_rules): Likewise.
8919 (data_rules): Likewise.
8920
8921 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8922
8923 * .bzrignore: Add contrib and grub-core/contrib. Remove
8924 grub-core/Makefile.gcry.am.
8925
1d12cf29
YB
89262010-09-24 Yves Blusseau <blusseau@zetam.org>
8927
8928 * grub-core/lib/LzFind.c: Add missing include.
8929 * grub-core/lib/LzmaEnc.c: Likewise.
8930 * grub-core/script/lexer.c: Likewise.
8931 * grub-core/script/yylex.l: Likewise.
8932 * util/grub-macho2img.c: Likewise.
8933 * util/grub-menulst2cfg.c: Likewise.
8934 * util/grub-mklayout.c: Likewise.
8935 * util/grub-mkpasswd-pbkdf2.c
8936 * util/grub-mkrelpath.c: Likewise.
8937 * util/resolve.c: Likewise.
8938
dd363028
BC
89392010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8940
8941 * Makefile.util.def (example_unit_test): Add
8942 grub-core/gnulib/libgnu.a.
8943
f5a109e2
GS
89442010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8945
8946 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8947
6d0fa83c
VS
89482010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 Support xz compression on yeeloong.
8951
8952 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8953 * configure.ac: Check for LZMA.
8954 * grub-core/Makefile.core.def (xz_decompress): New target.
8955 (none_decompress): Likewise.
8956 * grub-core/boot/decompressor/minilib.c: New file.
8957 * grub-core/boot/decompressor/none.c: Likewise.
8958 * grub-core/boot/decompressor/xz.c: Likewise.
8959 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8960 * grub-core/kern/mips/cache_flush.S: Likewise.
8961 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8962 * grub-core/kern/mips/startup.S: Move first stage to ...
8963 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8964 nomacro.
8965 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8966 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8967 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8968 Allocate statically.
8969 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8970 Allocate statically or use scratch. Don't check CRC32.
8971 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8972 Allocate statically. Don't check CRC32.
8973 * include/grub/decompressor.h: New file.
8974 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8975 Removed.
8976 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8977 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8978 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8979 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8980 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8981 * util/grub-mkimage.c (grub_compression_t): New type.
8982 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8983 (image_target_desc): New field default_compression.
8984 (image_targets): Adjust yeeloong targets.
8985 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8986 (compress_kernel): New parameter comp.
8987 (generate_image): Likewise. Handle new compression case.
8988 (options): New option --compression
8989 (help): Likewise.
8990 (main): Handle new option.
8991
1b655af6
GS
89922010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8993
8994 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8995
8f03f0b5
CW
89962010-09-22 Colin Watson <cjwatson@ubuntu.com>
8997
8998 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8999 typo in __i386__ conditional.
9000
7835dfd3
VS
90012010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
9004 include.
9005
e255597e
VS
90062010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9007
6d0fa83c 9008 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
9009
9010 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
9011 new tags as supported.
9012 (acpiv2_size): New function.
9013 (grub_multiboot_get_mbi_size): Take new tags into account.
9014 (grub_multiboot_make_mbi): Add new tags.
9015 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 9016
6cc14051 90172010-09-21 Aleš Nesrsta <starous@volny.cz>
9018
9019 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
9020 Added missing configuration of USB device.
9021
df7769d8
CW
90222010-09-21 Colin Watson <cjwatson@ubuntu.com>
9023
9024 * grub-core/normal/menu_entry.c (run): Make sure we always return
9025 a value.
9026
b031012d
CW
90272010-09-21 Colin Watson <cjwatson@ubuntu.com>
9028
9029 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
9030 NumberOfPages is UINT64 according to the UEFI specification, not
9031 UINTN. Fix printf format.
9032
174de8f3
CW
90332010-09-21 Colin Watson <cjwatson@ubuntu.com>
9034
9035 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
9036 `err' to grub_usb_err_t.
9037 Reported and tested by: KESHAV P.R.
9038
d7dbe923
CW
90392010-09-21 Colin Watson <cjwatson@ubuntu.com>
9040
9041 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
9042 tpart non-const, so that we can assign to it. (Since this is a
9043 typedef, the constness refers to the pointer rather than what it
9044 points to.)
9045
8d5e2af3
CW
90462010-09-21 Colin Watson <cjwatson@ubuntu.com>
9047
9048 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
9049 $(top_srcdir)/grub-core/gnulib as well as
9050 $(top_builddir)/grub-core/gnulib.
9051 Reported by: KESHAV P.R.
9052
5c527783
CW
90532010-09-21 Colin Watson <cjwatson@ubuntu.com>
9054
9055 * util/grub-install.in: Fix the bootloader ID option to be
9056 consistently --bootloader-id, not --bootloader_id.
9057 Reported by: KESHAV P.R.
9058
d309a16e
CW
90592010-09-21 Colin Watson <cjwatson@ubuntu.com>
9060
9061 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
9062 check hash checksum." consistently translatable.
9063
b830cd16
YB
90642010-09-21 Yves Blusseau <blusseau@zetam.org>
9065
9066 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
9067 $(top_builddir).
9068
c4fe27a8
CW
90692010-09-21 Colin Watson <cjwatson@ubuntu.com>
9070
9071 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
9072 (GRUB_MOD_INIT): Register sha1sum command.
9073 (GRUB_MOD_FINI): Unregister sha1sum command.
9074
a4c1d277
YB
90752010-09-21 Yves Blusseau <blusseau@zetam.org>
9076
9077 Keep boot and grub directory names in sync with utils scripts
9078
9079 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
9080 * config.h.in: Add previous macros.
9081 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
9082 * util/grub-install.in: Use $bootdir and $grubdir variables.
9083
4eff79d2
CW
90842010-09-21 Colin Watson <cjwatson@ubuntu.com>
9085
9086 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
9087 convert partition names to disk names if the new `convert' parameter
9088 is set.
9089 (grub_util_biosdisk_get_grub_dev): If opening the disk device
9090 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
9091 disk in its own right. This can happen with Xen disk images.
9092
934d7e44
YB
90932010-09-21 Yves Blusseau <blusseau@zetam.org>
9094
9095 * util/grub-editenv.c: Update strings to avoid warnings when generating
9096 grub.pot file.
9097 * util/grub-setup.c: Likewise.
934d7e44 9098
df3367cc
VS
90992010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * configure.ac: Change version to 1.99~beta0.
9102
77a94e98
VS
91032010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9106 Add BADRAM.
9107 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
9108 Likewise.
9109 * include/multiboot.h: Resynced with specification.
9110 * include/multiboot2.h: Likewise.
9111
269004c1
CW
91122010-09-21 Colin Watson <cjwatson@ubuntu.com>
9113
9114 Fix po directory handling.
9115
9116 * configure.ac: Create po/Makefile.in rather than po/Makefile.
9117 * grub-core/gnulib/Makefile.am: Import gettext module.
9118 * m4/gnulib-cache.m4: Likewise.
9119 * m4/gnulib-comp.m4: Likewise.
9120 * m4/gettext.m4: New file, from gnulib.
9121 * m4/glibc2.m4: Likewise.
9122 * m4/iconv.m4: Likewise.
9123 * m4/intdiv0.m4: Likewise.
9124 * m4/intl.m4: Likewise.
9125 * m4/intldir.m4: Likewise.
9126 * m4/intlmacosx.m4: Likewise.
9127 * m4/intmax.m4: Likewise.
9128 * m4/inttypes-pri.m4: Likewise.
9129 * m4/lcmessage.m4: Likewise.
9130 * m4/lib-ld.m4: Likewise.
9131 * m4/lib-link.m4: Likewise.
9132 * m4/lib-prefix.m4: Likewise.
9133 * m4/lock.m4: Likewise.
9134 * m4/nls.m4: Likewise.
9135 * m4/po.m4: Likewise.
9136 * m4/printf-posix.m4: Likewise.
9137 * m4/progtest.m4: Likewise.
9138 * m4/threadlib.m4: Likewise.
9139 * m4/uintmax_t.m4: Likewise.
9140 * m4/visibility.m4: Likewise.
9141 * po/Makefile.am: Remove.
9142 * po/Makefile.in.in: New file, from gettext.
9143 ($(DOMAIN).pot-update): Support POTFILES-shell.
9144 * po/Makevars: New file.
9145 * po/POTFILES-shell: Rename to ...
9146 * po/POTFILES-shell.in: ... this. Update.
9147 * po/POTFILES: Rename to ...
9148 * po/POTFILES.in: ... this. Update.
9149 * po/Rules-quot: New file, from gettext.
9150 * po/boldquot.sed: Likewise.
9151 * po/en@boldquot.header: Likewise.
9152 * po/en@quot.header: Likewise.
9153 * po/insert-header.sin: Likewise.
9154 * po/quot.sed: Likewise.
9155 * po/remove-potcdate.sin: Likewise.
9156
3e0fa5d0
VS
91572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
9160
ade9bd66
VS
91612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * util/grub.d/20_linux_xen.in: Use submenus.
9164
fc55cc4c
VS
91652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 Support submenus.
9168
9169 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
9170 parameter submenu. All users updated.
9171 * grub-core/normal/main.c (free_menu): Rename to ...
9172 (grub_normal_free_menu): ... this. Made global.
9173 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
9174 if requested.
9175 * grub-core/normal/menu_entry.c (screen): New field submenu.
9176 (make_screen): Set submenu.
9177 (run): Open new context if requested.
9178 * include/grub/menu.h (grub_menu_entry): New field submenu.
9179 * include/grub/normal.h (grub_normal_free_menu): New proto.
9180
600cedf7
VS
91812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 Menu entries extractor.
9184
9185 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
9186 variants.
9187 (GRUB_MOD_INIT): Register new variants.
9188 (GRUB_MOD_FINI): Unregister new variants.
9189 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
9190 into grub_cmd_legacy_source.
9191 (grub_cmd_legacy_source): Implement extractor variants.
9192 (GRUB_MOD_INIT): Register new variants.
9193 (GRUB_MOD_FINI): Unregister new variants.
9194 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
9195 as an extractor.
9196 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
9197 search as an extractor.
9198 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
9199 test as an extractor.
9200 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
9201 as an extractor.
9202 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
9203 (grub_env_new_context): New function.
9204 (grub_env_context_open): Likewise.
9205 (grub_env_extractor_open): Likewise.
9206 (grub_env_extractor_close): Likewise.
9207 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9208 grub_extractor_level.
9209 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
9210 * include/grub/env.h (grub_env_extractor_open): New proto.
9211 (grub_env_extractor_close): Likewise.
9212 * include/grub/normal.h (grub_extractor_level): New external variable.
9213
7bda3a87
VS
92142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 Make cutmem accept a region specification.
9217 Suggested by: Samuel Thibault
9218
9219 * grub-core/mmap/mmap.c (parsemem): New function.
9220 (grub_cmd_cutmem): Handle new arguments.
9221
2ea57f88
VS
92222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 New command cutmem.
9225
9226 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
9227 (GRUB_MOD_INIT): Register new command.
9228 (GRUB_MOD_FINI): Unregister new command.
9229
74342e31
VS
92302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 Support some annoying BSD and Minix subpartitions.
9233
9234 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
9235 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
9236 Properly handle concatenation.
9237 * grub-core/kern/device.c (grub_device_iterate): Likewise.
9238 * grub-core/normal/completion.c (iterate_partition): Likewise.
9239 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
9240 contain partition. All users updated.
9241 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
9242 struct.
9243 (grub_openbsdlabel_partition_map): Likewise.
9244 (bsdlabel_partition_map_iterate): Rename to ..
9245 (iterate_real): ... this. New arguments sector, freebsd and pmap.
9246 (bsdlabel_partition_map_iterate): New function.
9247 (netopenbsdlabel_partition_map_iterate): Likewise.
9248 (netbsdlabel_partition_map_iterate): Likewise.
9249 (openbsdlabel_partition_map_iterate): Likewise.
9250 (GRUB_MOD_INIT): Register new partmaps.
9251 (GRUB_MOD_FINI): Unregister new partmaps.
9252 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
9253 (grub_partition_msdos_iterate): ... this. All users updated.
9254 Don't support embedding other than in a minix partition.
9255 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
9256 proto.
9257 * include/grub/partition.h (grub_partition): New field msdostype.
9258 * util/grub-install.in: Handle openbsd and netbsd types being in
9259 part_bsd module.
9260
1e8d555b
VS
92612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
9264
9265 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
9266 * grub-core/Makefile.core.def (mdraid): Renamed to ...
9267 (mdraid09): ... this.
9268 (mdraid1x): New module.
9269 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
9270 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
9271
899d8af4
VS
92722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
9275 vsprintf.
9276
40901acd
CW
92772010-09-20 Colin Watson <cjwatson@ubuntu.com>
9278
9279 * grub-core/commands/efi/lsefimmap.c: Correct header.
9280 * NEWS: Update.
9281
dfe3b247
CW
92822010-09-20 Colin Watson <cjwatson@ubuntu.com>
9283
9284 * util/grub-editenv.c (argp_parser): Don't pass translated strings
9285 as printf format strings; the translations might contain '%' which
9286 could cause a crash.
9287 (main): Likewise.
9288 * util/grub-fstest.c (argp_parser): Likewise.
9289 * util/grub-setup.c (argp_parser): Likewise.
9290 (main): Likewise.
9291
3286a4b4
VS
92922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 Use argp in grub-fstest.
9295
9296 * util/grub-fstest.c: Don't include getopt.h.
9297 Include argp.h.
9298 (root): New variable.
9299 (args_count): Likewise.
9300 (nparm): Likewise.
9301 (num_disks): Likewise.
9302 (images): Likewise.
9303 (cmd): Likewise.
9304 (debug_str): Likewise.
9305 (args): Likewise.
9306 (options): Transformed to argp.
9307 (usage): Removed.
9308 (main): Split argument parsing into ...
9309 (argp_parser): ... this. Changed to argp format.
9310 (argp): New variable.
9311 (main): Use argp_parse.
9312
3dccbe4b
TG
93132010-09-20 Tristan Gingold <gingold@free.fr>
93142010-09-20 Robert Millan <rmh.grub@aybabtu.com>
93152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 * grub-core/commands/efi/lsefimmap.c: New file.
9318 * grub-core/Makefile.core.def (lsefimmap): New module.
9319 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
9320
38c259a7
VS
93212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 Pause the execution (10s max) if any errors are displayed so the user
9324 has a chance to see them.
9325
9326 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
9327 (grub_print_error): Increment grub_err_printed_errors.
9328 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
9329 execution if any errors were displayed.
9330 (show_menu): Remove old code for pause.
9331 * grub-core/normal/menu_entry.c (run): Likewise.
9332 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
9333 users updated.
9334 (grub_normal_get_char_counter): Likewise.
9335 * include/grub/err.h (grub_err_printed_errors): New external variable.
9336 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
9337
f218b09c
VS
93382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 Support multiboot VBE info.
9341
9342 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9343 Take VBE info into account.
9344 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
9345 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9346 Call fill_vbe_info when appropriate.
9347 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
9348 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
9349 as supported.
9350 (grub_multiboot_get_mbi_size): Take new tags into account.
9351 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
9352 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9353 Call fill_vbe_tag when appropriate.
9354 (grub_multiboot_make_mbi): Properly align tags.
9355 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
9356 function.
9357 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
9358 proto.
9359 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
9360
a9cc5438
VS
93612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 Suport manual terminal geometry specification.
9364
9365 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
9366 Save state in grub_ofconsole_terminfo_output.
9367 (grub_ofconsole_term): Use grub_terminfo_getwh.
9368 (grub_ofconsole_getwh): Removed.
9369 * grub-core/term/serial.c (grub_serial_getwh): Removed.
9370 (grub_serial_term): Use grub_terminfo_getwh.
9371 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
9372 (options): New struct.
9373 (OPTION_*): New enum.
9374 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
9375 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
9376 width and height.
9377 (grub_terminfo_getwh): New proto.
9378 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
9379
1a8fed20
VS
93802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 Handle legacy "terminal" command.
9383
9384 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
9385 and FLAG_TERMINAL.
9386 (legacy_commands): Add terminal and title.
9387 (grub_legacy_parse): Handle terminal. Simplify title handling.
9388
41e9c57d
VS
93892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
9392 parameters overflow.
9393
61c874c5
CW
93942010-09-20 Colin Watson <cjwatson@ubuntu.com>
9395
9396 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
9397 widthspec.h.
9398
9399 * docs/grub.texi (Shell-like scripting): Document `!'.
9400 (Network): Simplify using new i386-pc-pxe format. Mention
9401 grub-mknetdir.
9402
9403 * NEWS: Update.
9404
943682b4
CW
94052010-09-20 Colin Watson <cjwatson@ubuntu.com>
9406
9407 * Makefile.am (SUBDIRS): Restore "."; it's important to force
9408 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
9409 when needed.
9410
6d3d698d
CW
94112010-09-20 Colin Watson <cjwatson@ubuntu.com>
9412
9413 * grub-core/commands/efi/lsefisystab.c: Correct header.
9414 * grub-core/commands/efi/lssal.c: Likewise.
9415 * grub-core/commands/testload.c: Likewise.
9416
c982589f
CW
94172010-09-20 Colin Watson <cjwatson@ubuntu.com>
9418
9419 * util/grub-mkrescue.in: Add explicit root argument to --set to
9420 prevent the UUID being interpreted as an argument to --set (matches
9421 previous change to prepare_grub_to_access_device).
9422
a63c31b6
CW
94232010-09-20 Colin Watson <cjwatson@ubuntu.com>
9424
9425 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
9426 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
9427 the verbosity of later #ifs.
9428 (find_partition_start): Define this function on FreeBSD too.
9429 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
9430 function.
9431 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
9432 on FreeBSD.
9433
6439b8ee
YB
94342010-09-20 Yves Blusseau <blusseau@zetam.org>
9435
9436 * util/grub-editenv.c: Use argp instead of getopt.
9437
c5930ec8
YB
94382010-09-20 Yves Blusseau <blusseau@zetam.org>
9439
9440 * util/grub-setup.c: Use argp instead of getopt.
9441
15c69261
YB
94422010-09-20 Yves Blusseau <blusseau@zetam.org>
9443
9444 Use gnulib-tool to create gnulib source files.
9445
9446 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
9447 grub-core/gnulib directories
9448 * .bzignore: Add **/.deps and autogenerated gnulib files
9449 * configure.ac: Assign auxiliary directory to build-aux, add invocation
9450 of gnulib macros, add grub-core/gnulib/Makefile
9451 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
9452 include m4 directory to aclocal.
9453 * Makefile.util.def: Remove direct compilation of gnulib source files
9454 and use the new grub-core/gnulib/libgnu.a.
9455 * build-aux/config.rpath: move config.rpath from top directory to
9456 build-aux
9457 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
9458 in gnulib headers
9459 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
9460 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
9461 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
9462 header.
9463 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
9464 string.
9465
e511c9f5
YB
94662010-09-20 Yves Blusseau <blusseau@zetam.org>
9467
9468 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
9469 grub-core/genmod.sh and grub-core/gensyminfo.sh
9470
c2dede05
BC
94712010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
9472
9473 Add a test for echo command options.
9474
9475 * tests/grub_cmd_echo.in: New test.
9476 * Makefile.util.def: Rules for new test.
9477
c55f5018
SJ
94782010-09-20 Szymon Janc <szymon@janc.net.pl>
9479
9480 Remove crc.mod and move crc command to hashsum.mod.
9481 Remove lib/crc.c - users updated to use gcrypt implementation.
9482
9483 * grub-core/commands/crc.c: Removed.
9484 * grub-core/Makefile.core.def (crc): Module removed.
9485 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
9486 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
9487 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
9488 * grub-core/lib/crc.c: Removed.
9489 * include/grub/lib/crc.h: Removed.
9490 * Makefile.util.def (crc): Remove lib/crc.c
9491 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
9492 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
9493 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
9494 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
9495 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
9496 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
9497
e0337366
VS
94982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
9501
742f9232
VS
95022010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 Split config.h for util and core.
9505
9506 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
9507 (ADDR32): Likewise.
9508 (DATA32): Likewise.
9509 (BSS_START_SYMBOL): Likewise.
9510 (END_SYMBOL): Likewise.
9511 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
9512 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
9513 * config.h.in: New file.
9514 * configure.ac: Use config-util.h as config define file.
9515 Rename MACHINE into GRUB_MACHINE. All users updated.
9516 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
9517 updated.
9518 (NESTED_FUNC_ATTR): Likewise.
9519 Substitue new variables.
9520 (COND_HAVE_ASM_USCORE): New conditional.
9521 * grub-core/Makefile.am (ASM_PREFIX): New variable.
9522 (kernel_syms.lst): Use ASM_PREFIX.
9523 * grub-core/kern/emu/console.c: Include config-util.h.
9524 * grub-core/kern/emu/misc.c: Likewise.
9525 * grub-core/kern/emu/mm.c: Likewise.
9526 * include/grub/emu/misc.h: Likewise.
9527 * include/grub/libgcc.h: Likewise.
9528
39feb0e8
VS
95292010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
9532 constants usage.
9533 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
9534 Fix GRUB_TERM_KEY_* constants usage.
9535 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
9536
9af6dac3
VS
95372010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
9540 print pointer.
9541 * grub-core/bus/usb/uhci.c: Remove empty define.
9542 (grub_uhci_check_transfer): Add missing cast.
9543 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
9544 print pointer.
9545 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
9546 PRIuGRUB_SIZE.
9547 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
9548
d6d94820
VS
95492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * grub-core/Makefile.core.def (legacycfg): Add
9552 lib/i386/pc/vesa_modes_table.c on emu.
9553
3572f2b6
BC
95542010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9555
9556 Reduce number of temporary files generated by build system.
9557
9558 * grub-core/gencmdlist.sh: Removed.
9559 * grub-core/genfslist.sh: Removed.
9560 * grub-core/genhandlerlist.sh: Removed.
9561 * grub-core/genmodsrc.sh: Removed.
9562 * grub-core/genpartmaplist.sh: Removed.
9563 * grub-core/genparttoollist.sh: Removed.
9564 * grub-core/gentermiinallist.sh: Removed.
9565 * grub-core/genvideolist.sh: Removed.
9566
9567 * grub-core/genmod.sh.in: New file.
9568 * grub-core/gensyminfo.sh.in: New file.
9569
9570 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
9571 * conf/Makefile.extra-dist: Update with new files.
9572 * gentpl.py: Remove rules related to unnecessary temporary files.
9573 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
9574 and und-* files.
9575 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
9576 genmod.sh scripts.
9577 * grub-core/bus/usb/uhci.c: Remove empty #define.
9578 * grub-core/genmoddep.awk: Updated with new syminfo format.
9579 * util/bash-completion.d/Makefile.am: Add config.log to
9580 CLEANFILES.
9581
c836b030
YB
95822010-09-19 Yves Blusseau <blusseau@zetam.org>
9583
9584 * Makefile.util.def: Add forgotten $(LIBINTL) library.
9585
2f4e8053
BC
95862010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9587
9588 * util/grub-mkconfig.in: Check the config script for syntax errors
9589 before saving.
9590
75831c34
CW
95912010-09-19 Colin Watson <cjwatson@ubuntu.com>
95922010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * Makefile.util.def (grub-install): Use util/grub-install.in on all
9595 platforms.
9596 * util/grub-install.in: Add EFI and IEEE1275 support.
9597 * util/i386/efi/grub-install.in: Removed.
9598 * util/ieee1275/grub-install.in: Likewise.
9599
eaf41b25
VS
96002010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
9603 (grub_cmd_cmosclean): Likewise.
9604 (GRUB_MOD_INIT): Register command cmosclean.
9605 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
9606 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
9607
1a9130dd
CPE
96082010-09-18 Carles Pina i Estany <carles@pina.cat>
96092010-09-18 Aleš Nesrsta <starous@volny.cz>
96102010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 Add keyboard layouts support.
9613
9614 * Makefile.util.def (grub-mklayout): New file.
9615 (grub-kbdcomp): New script.
9616 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
9617 Add keyboard_layouts.h.
9618 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
9619 commands/boot.c on yeeloong.
9620 (keylayouts): New module.
9621 * grub-core/bus/usb/ohci.c
9622 * grub-core/bus/usb/uhci.c
9623 * grub-core/bus/usb/usbhub.c (rescan): New variable.
9624 (grub_usb_add_hub): Poll interrupt pipe for device handling.
9625 (attach_root_port): Likewise.
9626 (poll_nonroot_hub): Likewise.
9627 (grub_usb_poll_devices): Likewise.
9628 (detach_device): Close transfer.
9629 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
9630 function.
9631 (grub_usb_bulk_setup_readwrite): Likewise.
9632 (grub_usb_bulk_finish_readwrite): Likewise.
9633 * grub-core/commands/keylayouts.c: New file.
9634 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
9635 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
9636 aliases.
9637 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
9638 support scancode 2.
9639 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
9640 * include/grub/keyboard_layouts.h: New file.
9641 * util/grub-mklayout.c: New file.
9642 * util/grub-kbdcomp.in: Likewise.
9643
a1d84a5e
VS
96442010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 Unify memory types.
9647
9648 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
9649 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
9650 types.
9651 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
9652 (grub_upper_mem): Likewise.
9653 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
9654 * include/grub/memory.h (grub_memory_type_t): New enum.
9655 All users updated.
9656
9696382e
VS
96572010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * grub-core/Makefile.core.def (lsapm): New module.
9660 * grub-core/commands/i386/pc/lsapm.c: New file.
9661 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
9662 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
9663 Likewise.
9664 * include/grub/i386/pc/apm.h: New file.
9665 * include/multiboot.h (multiboot_apm_info): New struct.
9666
96672010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 GRUB-legacy configuration file support.
9670
9671 * Makefile.util.def (grub-menulst2cfg): New util.
9672 * docs/man/grub-menulst2cfg.h2m: New file.
9673 * grub-core/Makefile.core.def (legacycfg): New module.
9674 * grub-core/commands/legacycfg.c: New file.
9675 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
9676 (grub_normal_add_menu_entry): ... this.
9677 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
9678 (grub_normal_set_password): ...this.
9679 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
9680 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
9681 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
9682 * grub-core/lib/legacy_parse.c: New file.
9683 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
9684 * include/grub/i386/pc/vesa_modes_table.h: New file.
9685 * include/grub/legacy_parse.h: Likewise.
9686 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
9687 * util/grub-menulst2cfg.c: New file.
9688
bf8d1338
CW
96892010-09-17 Colin Watson <cjwatson@ubuntu.com>
9690
9691 * grub-core/kern/emu/hostdisk.c
9692 (convert_system_partition_to_system_disk): Initialise node.
9693
9c0bad2e
CW
96942010-09-17 Colin Watson <cjwatson@ubuntu.com>
9695
9696 * grub-core/kern/emu/hostdisk.c
9697 (convert_system_partition_to_system_disk): Fix devmapper memory pool
9698 leak.
9699 Reported and based on patch by: Modestas Vainius.
9700
a939d135
CW
97012010-09-17 Colin Watson <cjwatson@ubuntu.com>
9702
9703 Fix DM-RAID probing with recent versions of device-mapper udev
9704 rules.
9705
9706 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
9707 canonicalise device paths under /dev/mapper/.
9708 (convert_system_partition_to_system_disk): Compare the
9709 uncanonicalised path to /dev/mapper/ rather than the canonicalised
9710 path, since device nodes under /dev/mapper/ are often symlinks.
9711
0f7ee3c9
YB
97122010-09-17 Yves Blusseau <blusseau@zetam.org>
9713
9714 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
9715
10854d0d
YB
97162010-09-16 Yves Blusseau <blusseau@zetam.org>
9717
9718 * configure.ac: Avoid some annoying error messages if freetype-config
9719 program is not found.
9720
108538d8
CW
97212010-09-16 Colin Watson <cjwatson@ubuntu.com>
9722
9723 Support RAID on virtio devices, and others.
9724
9725 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
9726 Rename to ...
9727 [__MINGW32__] (grub_find_device): ... this.
9728 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
9729 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
9730 reasonable default if dir is NULL.
9731 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
9732 ...
9733 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
9734 (grub_guess_root_device): Update callers.
9735 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
9736
9737 * util/raid.c (grub_util_getdiskname): Remove.
9738 (grub_util_raid_getmembers): Use grub_find_device rather than
9739 grub_util_getdiskname.
9740
e5bfc130
CW
97412010-09-16 Colin Watson <cjwatson@ubuntu.com>
9742
9743 * docs/grub.texi (serial): Remove obsolete comment about GRUB
9744 needing to be compiled with serial support.
9745 (ls): Indicate that multiple files are accepted.
9746 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
9747 indicate that multiple files are accepted.
9748
be458ae2
CW
97492010-09-16 Colin Watson <cjwatson@ubuntu.com>
9750
9751 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
9752 libgrub_a_init.c, and util/bash-completion.d/grub.
9753
cb731b5e
VS
97542010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * util/grub-setup.c (setup): Fix incorrect container semantics.
9757
35139e8a
VS
97582010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
9761 misusage.
9762 Reported by: J. Nick Terry
9763
e50fca4a
VS
97642010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 Move embedding routines to partmap sources files.
9767
9768 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
9769 [GRUB_UTIL]: New variable.
9770 (gpt_partition_map_iterate): Set part.parent.
9771 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
9772 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
9773 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
9774 New function.
9775 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
9776 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
9777 (grub_partition_map) [GRUB_UTIL]: New field embed.
9778 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
9779 (setup): Use ->embed.
9780
f00478b7
VS
97812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
9784 function.
9785 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
9786 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
9787
2b94e3ff
YB
97882010-09-15 Yves Blusseau <blusseau@zetam.org>
9789
9790 Add function to get completions from usage.
9791
9792 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9793 completions from usage. Use LC_ALL=C to get options properly.
9794
2e04a006
VS
97952010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/gnulib/basename-lgpl.c: Imported.
9798 * grub-core/gnulib/basename.c: Likewise.
9799 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9800 * grub-core/gnulib/dirname.c: Likewise.
9801 * grub-core/gnulib/dirname.h: Likewise.
9802 * grub-core/gnulib/stripslash.c: Likewise.
9803
5dcdf93a
VS
98042010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * grub-core/gnulib/error.c: Resynced.
9807 * grub-core/gnulib/getopt.c: Likewise.
9808 * grub-core/gnulib/getopt_int.h: Likewise.
9809 * grub-core/gnulib/regex.h: Likewise.
9810 * grub-core/gnulib/regex_internal.c: Likewise.
9811 * grub-core/gnulib/regex_internal.h: Likewise.
9812
014f47b7
SJ
98132010-09-15 Szymon Janc <szymon@janc.net.pl>
9814
9815 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9816 CRC calculations and validity checks.
9817 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9818 calculations.
9819
dd521a4a
SJ
98202010-09-15 Szymon Janc <szymon@janc.net.pl>
9821
9822 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9823
79c4eeb9
VS
98242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 Fix incorrect echo options handling.
9827 Reported by: Yves Blusseau.
9828
9829 * include/grub/command.h (grub_command_flags_t): New flags
9830 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9831 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9832 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9833
ed80f7d5
VS
98342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9837 users updated.
9838 (GRUB_COMMAND_FLAG_MENU): Likewise.
9839 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9840 (GRUB_COMMAND_FLAG_TITLE): Removed.
9841 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9842 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9843 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9844 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9845 (grub_command_flags_t): New enum. All users updated.
9846
5fe7620a
SG
98472010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9848
9849 Fix solaris compilation.
9850
9851 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9852 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9853 (grub-emu-list): Likewise.
9854
545b752f
VS
98552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 Remove deprecated root command.
9858
9859 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9860 updated.
9861
6c1a338c
VS
98622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * util/i386/pc/grub-setup.c: Merge this ...
9865 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9866 * util/grub-setup.c: ... into this.
9867 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9868 New struct.
9869
98702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9873 possible.
9874
d2ea4551
VS
98752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9878 allocate p.
9879
3c3b5040
VS
98802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9883 explicit root argument to set to prevent UUID to be interpreted as
9884 argument to set.
9885
b71c3fae
VS
98862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9889
275433e6
VS
98902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 Don't export grub_gate_a20.
9893
9894 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9895 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9896 to ...
9897 (grub_gate_a20): ... this. All users updated.
9898 * include/grub/i386/pc/init.h: Removed. All users updated.
9899
a5dbb1f1
VS
99002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 Create euro.pf2 which supports most European languages.
9903
9904 * Makefile.am (grubdata_DATA): Add euro.pf2.
9905 (euro.pf2): New target.
9906 (CLEANFILES): Add euro.pf2.
9907
62a747cb
VS
99082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 * configure.ac: Disable emu-usb by default to prevent inadvertent
9911 device takeover.
9912
608e43b1
VS
99132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 Disable usbserial on grub-emu since our libusb code isn't good enough
9916 yet.
9917
9918 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9919 (usbserial_pl2303): Likewise.
9920 (usbserial_ftdi): Likewise.
9921
94564f81
VS
99222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * include/grub/disk.h (grub_disk): Remove has_partitions.
9925 All users updated.
9926 * disk/loopback.c (grub_loopback): Remove has_partitions.
9927 All users updated.
9928 (options): Remove partitions. All users updated.
9929 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9930 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9931 actual partition table is found.
9932
3352800b
VS
99332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 Remove readability checks (too many false negatives).
9936
9937 * util/grub-install.in: Remove readability checks.
9938 * util/grub-mkconfig.in: Likewise.
9939 * util/grub.d/10_hurd.in: Likewise.
9940 * util/grub.d/10_kfreebsd.in: Likewise.
9941 * util/grub.d/10_linux.in: Likewise.
9942 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9943 way.
9944
2419f17a
VS
99452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 Enable acpi shutdown on all ACPI platforms.
9948
9949 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9950 on coreboo, multiboot and EFI.
9951 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9952 (grub_acpi_halt): Likewise.
9953 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9954 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9955 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9956 * grub-core/lib/i386/halt.c (grub_halt)
9957 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9958
0575c7c3
VS
99592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9962 context.
9963
54ac3cd1
VS
99642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9967 * grub-core/video/efi_uga.c: Likewise.
9968
b2a30ac5
VS
99692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 Filter devaliases and never open same device twice.
9972
9973 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9974 (last_ihandle): Likewise.
9975 (ofdisk_hash_ent): New member shortest.
9976 (ofdisk_hash_add): Add canonical path too.
9977 (scan): New function.
9978 (grub_ofdisk_iterate): Iterate over hashed entries.
9979 (compute_dev_path): Don't add :0.
9980 (grub_ofdisk_open): Don't really open the disk.
9981 (grub_ofdisk_close): Avoid closing unrelated disk.
9982 (grub_ofdisk_read): Implement reopen logic.
9983 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9984 New function.
9985 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9986 New proto.
9987
fb53b340
VS
99882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 Fix sparc64.
9991
9992 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9993 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9994 right address. Add sparc64_ieee1275_ldflags.
9995 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9996 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9997 to grub_host_to_target_addr
9998 (load_image): Likewise.
9999
f452b040
VS
100002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * grub-core/normal/completion.c (complete_file): Handle device
10003 containing slash.
10004 Fix based on patch by Doug Nazar.
10005
9b5b2541
VS
100062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 grub-mknetdir script.
10009
10010 * Makefile.util.def (grub-mknetdir): New module.
10011 * tests/util/grub-shell.in: Support boot=net
10012 * util/grub-mknetdir.in: New file.
10013
9d2be652
VS
100142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 videoinfo on non-vbe.
10017
10018 * grub-core/Makefile.core.def (vbeinfo): Removed.
10019 (vbetest): Removed.
10020 (videoinfo): New module.
10021 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
10022 * grub-core/commands/i386/pc/vbetest.c: Removed.
10023 * grub-core/commands/videoinfo.c: New file.
10024 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
10025 specification.
10026 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
10027 as vbetest.
10028 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
10029 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
10030 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
10031 mode_number. New parameter mode. All users updated.
10032 (grub_video_gop_iterate): New function.
10033 (grub_video_efi_gop): New member iterate.
10034 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
10035 (grub_vbe_set_video_mode): Remove setting useless fields.
10036 (vbe2videoinfo): New function.
10037 (grub_video_vbe_iterate): Likewise.
10038 (grub_video_vbe_setup): Use vbe2videoinfo.
10039 (grub_video_vbe_print_adapter_specific_info): New function.
10040 (grub_video_vbe_adapter): New fields iterate and
10041 print_adapter_specific_info.
10042 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
10043 All users updated.
10044 (grub_video_mode_info): New field mode_number.
10045 (grub_video_adapter): New fields iterate and
10046 print_adapter_specific_info.
10047
179503f5
TG
100482010-09-13 Tristan Gingold <gingold@free.fr>
100492010-09-13 Robert Millan <rmh.grub@aybabtu.com>
100502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * grub-core/commands/efi/lsefisystab.c: New file.
10053 * grub-core/commands/efi/lssal.c: Likewise.
10054 * grub-core/Makefile.core.def (lsacpi): New module.
10055 (lsefisystab): Likewise.
10056 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
10057 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
10058 (grub_efi_sal_system_table): New struct.
10059 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
10060 (grub_efi_sal_system_table_memory_descriptor): Likewise.
10061 (grub_efi_sal_system_table_platform_features): Likewise.
10062 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
10063 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
10064 (grub_efi_sal_system_table_ap_wakeup): Likewise.
10065 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
10066
cf9827de
VS
100672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 Support explicit user claim that a device is BIOS-visible.
10070
10071 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
10072 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
10073 * grub-core/kern/emu/hostdisk.c
10074 (convert_system_partition_to_system_disk): Support mdX.
10075 (find_system_device): New parameter add. All users updated.
10076 (grub_util_biosdisk_is_present): New function.
10077 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
10078 proto.
10079
53f0eb1f
VS
100802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 Search hints support.
10083
10084 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
10085 All users updated.
10086
b23ffd70
YB
100872010-09-13 Yves Blusseau <blusseau@zetam.org>
10088
10089 Bash completion script for util commands
10090
10091 * Makefile.am: Add util/bash-completion.d directory
10092 * configure.ac: Likewise.
10093 * util/bash-completion.d/Makefile.am: New file.
10094 * util/bash-completion.d/grub-completion.bash.in: Likewise.
10095
d547dc28
VS
100962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
10099 (print_backlog): set backlog_ucs4 and backlog_glyphs.
10100 Reported by: Yves Blusseau.
10101
2fc8ccb9
VS
101022010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
10105 partition size and offset.
10106
d8a84076
VS
101072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
10110
84fb3b3d
VS
101112010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
10114
768ec2e2
VS
101152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
10118 (grub_xvasprintf): Likewise.
10119
4870900f
VS
101202010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
10123
faca6bec
VS
101242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
10127 args ending with NULL.
10128
101292010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
10130
10131 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
10132 pointer.
10133
3c70f225
SJ
101342010-09-11 Szymon Janc <szymon@janc.net.pl>
10135
10136 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
10137
4df7996d
VS
101382010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 Shutdown using ACPI.
10141
10142 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
10143 * grub-core/commands/acpihalt.c: New file.
10144 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
10145 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
10146 (grub_acpi_halt): New proto.
10147 (GRUB_ACPI_SLP_EN): New const.
10148 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
10149 (GRUB_ACPI_OPCODE_*): New enum.
10150 (GRUB_ACPI_EXTOPCODE_*): Likewise.
10151
126b4c32
TG
101522010-09-11 Tristan Gingold <gingold@free.fr>
101532010-09-11 Robert Millan <rmh.grub@aybabtu.com>
101542010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * commands/lsacpi.c: New file.
10157 * grub-core/Makefile.core.def (lsacpi): New module.
10158 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
10159 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
10160 (grub_acpi_madt_entry_header): New struct.
10161 (grub_acpi_madt): Likewise.
10162 (grub_acpi_madt_entry_interrupt_override): Likewise.
10163 (grub_acpi_madt_entry_sapic): Likewise.
10164 (grub_acpi_madt_entry_lsapic): Likewise.
10165 (grub_acpi_madt_entry_platform_int_source): Likewise.
10166 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
10167 (PRIuGRUB_UINT32_T): Likewise.
10168 (PRIxGRUB_UINT64_T): Likewise.
10169
1aa4fe88
VS
101702010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 Implement loading palette on ieee1275_fb.
10173
10174 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
10175 (have_setcolors): Likewise.
10176 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
10177 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
10178 (grub_video_ieee1275_set_palette): Implement.
10179
25761e13
VS
101802010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
101812010-09-11 Colin Watson <cjwatson@ubuntu.com>
10182
10183 * util/grub-install.in (grub_partition): New variable.
10184 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
10185 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
10186 Fixes a bug reported by Yves Blusseau.
10187
050abaea
VS
101882010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 Fix emu on mipsel.
10191
10192 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
10193 =grub_cpu_flush_cache on all mips and not only yeeloong.
10194 * configure.ac (COND_mips): New conditional.
10195 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
10196 platforms.
10197 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
10198 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
10199 [GRUB_LINKER_HAVE_INIT]: New function.
10200 (grub_emu_post_init): Likewise.
10201 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
10202 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
10203 * include/grub/cache.h (_mips): Include mips/cache.h.
10204 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
10205 LVM and RAID prototypes.
10206 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
10207 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
10208 function.
10209
5ed7d816
CW
102102010-09-10 Colin Watson <cjwatson@ubuntu.com>
10211
10212 * util/grub-install.in: Don't try to verify core.img until after
10213 running grub-mkimage to create it.
10214
90367e04
RM
102152010-09-10 Robert Millan <rmh@gnu.org>
10216
10217 * util/grub.d/10_hurd.in: Add misc readability checks.
10218 * util/grub.d/10_kfreebsd.in: Likewise.
10219 * util/grub.d/10_linux.in: Likewise.
10220
c452fa66
CW
102212010-09-10 Colin Watson <cjwatson@ubuntu.com>
10222
10223 * util/grub-install.in: ${imgext} won't be defined here until the
10224 install branch is merged. For the meantime, only verify core.img on
10225 i386-pc and sparc64-ieee1275 platforms.
10226
c38fe9f4
RM
102272010-09-10 Robert Millan <rmh@gnu.org>
10228
10229 Solaris support in grub_find_zpool_from_dir(). Thanks
10230 Seth Goldberg for referring to getextmntent() facility.
10231
10232 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
10233 `sys/mkdev.h'.
10234 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
10235 `<sys/mnttab.h>'.
10236 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
10237 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
10238 method for finding zpool name.
10239
905f7773
CW
102402010-09-10 Colin Watson <cjwatson@ubuntu.com>
10241
10242 grub-fstest needs the host and hostfs modules while other utilities
10243 actively require those modules to be absent, so grub-fstest needs
10244 its own initialisation and finalisation code.
10245
10246 * Makefile.am (grub_fstest.pp): New target.
10247 (grub_fstest_init.lst): Likewise.
10248 (grub_fstest_init.c): Likewise.
10249 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
10250
fb90b546
RM
102512010-09-10 Robert Millan <rmh@gnu.org>
10252
10253 * configure.ac: Check for `struct statfs.f_fstypename' and
10254 `struct statfs.f_mntfromname'.
10255
10256 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
10257 kFreeBSD-specific code.
10258
66d4bea5
RM
102592010-09-10 Robert Millan <rmh@gnu.org>
10260
10261 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
10262 on ZFS. Now non-main filesystems are supported as / too.
10263
b6a690ee
CW
102642010-09-09 Colin Watson <cjwatson@ubuntu.com>
10265
10266 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
10267 and grub-core/disk/host.c to ...
10268 (grub-fstest): ... here. Having the host disk implementation
10269 present confuses grub-probe and other utility programs.
10270
10271 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
10272 when writing to a file, not when writing to stdout.
10273
8901b00c 102742010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
10275
10276 * tests/partmap_test.in: New test for partitions.
10277 * Makefile.util.def: Rules for new test.
10278
7bf45fdd
RM
102792010-09-09 Robert Millan <rmh@gnu.org>
10280
10281 * util/grub-probe.c (probe): Fix a pair of unhandled error
10282 conditions.
10283
4dfbc574
RM
102842010-09-09 Robert Millan <rmh@gnu.org>
10285
10286 Basic Btrfs support (detection and UUID).
10287
10288 * grub-core/fs/btrfs.c: New file.
10289 * Makefile.util.def (library): Register btrfs.c.
10290 * grub-core/Makefile.core.def: Likewise.
10291
6b8e78ae
RM
102922010-09-08 Robert Millan <rmh@gnu.org>
10293
10294 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
10295 with (optional) parameters to specify device and relative path.
10296 * util/grub-install.in: Use is_path_readable_by_grub() to
10297 verify readability of a few critical files.
10298 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
10299 verify readability of grub.cfg.new.
10300
27f21a8b
VS
103012010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 Split minix.mod into minix.mod and minix2.mod.
10304
10305 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
10306 * grub-core/Makefile.core.def (minix2): New module.
10307 * grub-core/fs/minix.c: Use definitions instead of runtime version
10308 checking.
10309 * grub-core/fs/minix2.c: New file.
10310
c0e53ea5
YB
103112010-09-08 Yves Blusseau <blusseau@zetam.org>
10312
10313 Add new --boot-directory option to replace --root-directory
10314
10315 * util/grub-install.in: Add new --boot-directory option
10316 * util/grub-reboot.in: Likewise.
10317 * util/grub-set-default.in: Likewise.
10318
b9fe6ea2
YB
103192010-09-08 Yves Blusseau <blusseau@zetam.org>
10320
10321 * util/grub-mkconfig.in: Use new variable.
10322
d87aedff
YB
103232010-09-08 Yves Blusseau <blusseau@zetam.org>
10324
10325 * configure.ac: Define some useful variables.
10326
e55e8495
VS
103272010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10330 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
10331 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
10332 Use terminfo and don't use cursor-on/cursor-off unless it's known
10333 to work.
10334 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
10335 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
10336
6fa6d675
CW
103372010-09-08 Colin Watson <cjwatson@ubuntu.com>
10338
10339 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
10340 starts with "(,", fill the drive containing the loaded image in
10341 between those two characters, but expect that a full partition
10342 specification including partition map names will follow.
10343
92f2aef0
RM
103442010-09-08 Robert Millan <rmh@gnu.org>
10345
10346 * configure.ac: Remove `--enable-grub-fstest' option.
10347 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
10348
10349 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
10350 `grub-fstest' instead of `grub-probe' for readability verification.
10351 * util/grub-probe.c (probe): Remove readability verification kludge.
10352
99fd620d
RM
103532010-09-08 Robert Millan <rmh@gnu.org>
10354
10355 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
10356 initializing `GRUB_FS'.
10357
058e30ac 103582010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
10359
10360 Not command (!) support to GRUB script.
10361
10362 * tests/grub_script_not.in: New test.
10363 * Makefile.util.def: Rules for new test.
10364
10365 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10366 ! command as a special case.
10367 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
10368
b61d05ed 103692010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10370
058e30ac 10371 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
10372 grub_free.
b61d05ed 10373
4d69c786 103742010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10375
10376 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
10377
aa3119c4 103782010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10379
10380 * docs/grub.texi (Shell-like scripting): Documentation for break,
10381 continue, shift and return commands.
10382
db0f7e3d
VS
103832010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
10384
10385 Rename CD-ROM to cd on BIOS.
10386
10387 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
10388 "cd".
10389 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
10390
88b87c93
VS
103912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10392
10393 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
10394 * util/grub-probe.c (main): Likewise.
10395 * util/i386/pc/grub-setup.c (main): Likewise.
10396 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
10397 Reported and debugged by: alexxy
10398
294f324d
VS
103992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
10402 diagnostic info.
10403
d7ee3441
JS
104042010-09-05 Jo Shields <directhex@apebox.org>
10405
10406 * util/grub.d/30_os-prober.in: Add missing classes.
10407
d7e06c1f
VS
104082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * docs/grub.texi (Theme file format): Document new position format.
10411
fc157e53
VS
104122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
10415 a table. Use @code instead of @verbatim.
10416
506e9a1c
CB
104172010-09-05 Colin D Bennett <colin@gibibit.com>
10418
10419 Gfxmenu documentation.
10420
10421 * docs/grub.texi (Theme file format): New chapter.
10422
f0aff67c
SJ
104232010-09-05 Szymon Janc <szymon@janc.net.pl>
10424
10425 * grub-core/Makefile.core.def (xzio): New module.
10426 * grub-core/io/xzio.c: New file.
10427 * grub-core/lib/xzembed/xz.h: New file (from xembed).
10428 * grub-core/lib/xzembed/xz_config.h: Likewise.
10429 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
10430 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
10431 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
10432 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
10433 * grub-core/lib/xzembed/xz_private.h: Likewise.
10434 * grub-core/lib/xzembed/xz_stream.h: Likewise.
10435 * include/grub/file.h (grub_file_filter_id): New compression filter
10436 GRUB_FILE_FILTER_XZIO.
10437
82a85062
VS
104382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
10441 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
10442 size.
10443
3579415d
VS
104442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
10447 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
10448
5124ae6d
VS
104492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 Uncompressed checksum support.
10452
10453 * grub-core/commands/hashsum.c (options): Add option --uncompress.
10454 (check_list): New parameter uncompress.
10455 (grub_cmd_hashsum): Handle --uncompress.
10456
9aadb3d1
VS
104572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 Reintroduce testload.
10460
10461 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
10462 from here ...
10463 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
10464 (GRUB_MOD_INIT): New function.
10465 (GRUB_MOD_FINI): Likewise.
10466 * grub-core/Makefile.core.def (testload): New module.
10467
a17792c3
SJ
104682010-09-05 Szymon Janc <szymon@janc.net.pl>
10469
10470 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
10471 (uint8_t): New type.
10472 (uint16_t): Likewise.
10473 (uint32_t): Likewise.
10474 (uint64_t): Likewise.
10475
b81e40a3
SJ
104762010-09-05 Szymon Janc <szymon@janc.net.pl>
10477
10478 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
10479
fc2ef117
VS
104802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
10483 Made static.
10484 (grub_gzfile_open): Removed. All users updated.
10485 (GRUB_MOD_INIT): New function.
10486 (GRUB_MOD_FINI): Likewise.
10487 * grub-core/kern/file.c (grub_file_filters_all): New variable.
10488 (grub_file_filters_enabled): Likewise.
10489 (grub_file_open): Handle filters.
10490 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
10491 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
10492 * include/grub/file.h (grub_file_filter_id_t): New type.
10493 (grub_file_filter_t): Likewise.
10494 (grub_file_filters_all): New extern variable.
10495 (grub_file_filters_enabled): Likewise.
10496 (grub_file_filter_register): New inline function.
10497 (grub_file_filter_unregister): Likewise.
10498 (grub_file_filter_disable): Likewise.
10499 (grub_file_filter_disable_compression): Likewise.
10500 * include/grub/gzio.h: Removed.
10501
35ee15e0
BC
105022010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10503
10504 Filename expansion support for wildcards in GRUB script.
10505
10506 * tests/grub_script_expansion.in: New test.
10507 * Makefile.util.def: Rule for new test.
10508
10509 * grub-core/commands/wildcard.c: New file, implements filename
10510 expansion support for GRUB script.
10511 * grub-core/Makefile.core.def: Rule update for regexp.mod.
10512 * grub-core/script/argv.c: Cosmetic changes.
10513 * grub-core/script/execute.c (grub_script_arglist_to_argv):
10514 Refactored to perform wildcard expansion on arguments.
10515 * include/grub/script_sh.h (grub_script_wildcard_translator): New
10516 struct.
10517
10518 * tests/util/grub-shell.in: Fix quoting for read input.
10519
5f0c4aca
BC
105202010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10521
10522 Support for updating environment variables with matched substrings
10523 of regexp.
10524
10525 * tests/grub_cmd_regexp.in: New test.
10526 * Makefile.util.def: Rule for new test.
10527
10528 * grub-core/commands/regexp.c: New option -s to update environment
10529 variables with regexp matches.
10530
3759a35f
SJ
105312010-09-04 Szymon Janc <szymon@janc.net.pl>
10532
10533 * include/grub/file.h (grub_file): New member not_easly_seekable.
10534 (grub_file_seekable): New inline function.
10535 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
10536 easily seekable.
10537 (grub_gzio_open): Set not_easly_seekable.
10538 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
10539 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
10540
ed8c6dec
BC
105412010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10542
10543 Support for options to appear multiple times on cmdline.
10544
10545 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
10546 * grub-core/commands/extcmd.c: Support for repeatable option.
10547 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
10548 repeatable option support.
10549
10550 Refactor menuentry into a regular command.
10551
10552 * grub-core/commands/menuentry.c: New file, menuentry command
10553 implementation.
10554 * grub-core/Makefile.core.def: Rule update for normal.mod.
10555 * grub-core/normal/main.c: Moved menuentry creation to
10556 grub-core/commands/menuentry.c.
10557 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
10558 (grub_menu_execute_entry_real): Removed.
10559 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
10560 function.
10561 (grub_script_execute_menuentry): Removed.
10562 * grub-core/script/parser.y (menuentry): Removed.
10563 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
10564 * grub-core/script/yylex.l (menuentry): Removed.
10565 * include/grub/menu.h (grub_menu_init): New prototype.
10566 (grub_menu_fini): New prototype.
10567 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
10568 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
10569 (grub_script_execute_sourcecode): New prototype.
10570
dacd0cf0
BC
105712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10572
10573 "return" command for GRUB script functions.
10574
10575 * tests/grub_script_return.in: New test.
10576 * Makefile.util.def: Rules for new test.
10577
10578 * grub-core/script/execute.c (grub_script_return): New function.
10579 * grub-core/script/main.c: Register/unregister return commaond.
10580 * include/grub/script_sh.h (grub_script_return): New prototype.
10581
52e72f9d
BC
105822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10583
10584 "setparams" command to update positional parameters.
10585
10586 * tests/grub_script_setparams.in: New test.
10587 * Makefile.util.def: Rules for new test.
10588
10589 * grub-core/script/argv.c (grub_script_argv_make): New function.
10590 * grub-core/script/execute.c (replace_scope): New function.
10591 (grub_script_setparams): New function.
10592 * grub-core/script/lexer.c: Remove unused variables.
10593 * grub-core/script/main.c: Register/unregister setparams command.
10594 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
10595 (grub_script_setparams): New prototype.
10596
25b60c91
BC
105972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10598
10599 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
10600 grub_free order.
10601
37e7bf68
BC
106022010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10603
10604 Support for passing block of commands as an argument to extcmds.
10605
10606 * Makefile.util.def: Rules for new test.
10607 * tests/grub_script_blockarg.in: New test.
10608 * grub-core/tests/test_blockarg.c: New file, block argument
10609 command used in the test.
10610
10611 * include/grub/extcmd.h (grub_extcmd_context): New struct.
10612 (grub_register_extcmd_prio): New function prototype.
10613 (grub_extcmd_dispatcher): New function prototype.
10614 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
10615 type.
10616 * include/grub/script_sh.h (struct grub_script): New members
10617 `children', `next_siblings' and `refcnt' for block arguments and
10618 reference counting.
10619 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
10620 (grub_script_arg): New member `script' for block argument.
10621 (grub_script_argv): New member `script' for block argument.
10622 (grub_parser_param): New member `scripts' for block argument.
10623 (grub_script_mem_free): New extern function prototype.
10624 (grub_script_ref): New function prototype.
10625 (grub_script_unref): New function prototype.
10626
10627 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
10628 extcmd form to support block arguments.
10629 * grub-core/script/argv.c: Block arguments support.
10630 * grub-core/script/execute.c: Likewise.
10631 * grub-core/script/lexer.c: Likewise.
10632 * grub-core/script/main.c: Likewise.
10633 * grub-core/script/script.c: Likewise.
10634 * grub-core/script/parser.y: Likewise. New `block' and `block0'
10635 non-terminals.
10636
10637 * grub-core/commands/acpi.c: Update extcmd implementations with
10638 grub_extcmd_context_t.
10639 * grub-core/commands/cat.c: Likewise.
10640 * grub-core/commands/echo.c: Likewise.
10641 * grub-core/commands/extcmd.c: Likewise.
10642 * grub-core/commands/hashsum.c: Likewise.
10643 * grub-core/commands/hdparm.c: Likewise.
10644 * grub-core/commands/help.c: Likewise.
10645 * grub-core/commands/hexdump.c: Likewise.
10646 * grub-core/commands/i386/cpuid.c: Likewise.
10647 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10648 * grub-core/commands/i386/pc/halt.c: Likewise.
10649 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10650 * grub-core/commands/iorw.c: Likewise.
10651 * grub-core/commands/keystatus.c: Likewise.
10652 * grub-core/commands/loadenv.c: Likewise.
10653 * grub-core/commands/ls.c: Likewise.
10654 * grub-core/commands/lspci.c: Likewise.
10655 * grub-core/commands/memrw.c: Likewise.
10656 * grub-core/commands/probe.c: Likewise.
10657 * grub-core/commands/search_wrap.c: Likewise.
10658 * grub-core/commands/setpci.c: Likewise.
10659 * grub-core/commands/sleep.c: Likewise.
10660 * grub-core/disk/loopback.c: Likewise.
10661 * grub-core/hello/hello.c: Likewise.
10662 * grub-core/loader/i386/bsd.c: Likewise.
10663 * grub-core/loader/xnu.c: Likewise.
10664 * grub-core/term/gfxterm.c: Likewise.
10665 * grub-core/term/serial.c: Likewise.
10666 * grub-core/tests/lib/functional_test.c: Likewise.
10667
888d1500
BC
106682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10669
10670 Multi-line quoted strings support.
10671
10672 * grub-core/script/lexer.c (append_newline): Removed.
10673 (grub_script_lexer_yywrap): Refactored.
10674 (grub_script_lexer_init): Refactored.
10675 * grub-core/script/yylex.l (yywrap): New function.
10676 (grub_lexer_resplit): New function.
10677 (grub_lexer_unput): New function.
10678 * include/grub/script_sh.h (grub_lexer_param): New members, unput
10679 and resplit.
10680 * tests/grub_script_echo1.in: Added few more testcases.
10681
dda060dd
VS
106822010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/kern/misc.c: Don't add abort alias in utils.
10685 Reported by: echoline.
10686
6556eba9
BC
106872010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
10688
10689 Add missing files into "make dist" tarball for other platforms.
10690
10691 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
10692 * conf/Makefile.common (dist_noinst_DATA): New variable.
10693 * conf/Makefile.extra-dist: Added missing make dist files.
10694 * grub-core/Makefile.core.def: Likewise.
10695
c8e7bf5f
VS
106962010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 Compress grub_prefix.
10699
10700 * grub-core/boot/i386/pc/lnxboot.S: Use
10701 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
10702 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
10703 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
10704 GRUB_MACHINE_PREFIX_END. All users updated.
10705 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
10706 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
10707 + 0x40.
10708 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10709 * util/grub-mkimage.c (image_target_desc): Change data_end to
10710 prefix_end. All users updated.
10711
a7c00cdb
VS
107122010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
10715 value.
10716 (grub_openbsd_boot): Likewise.
10717 (grub_netbsd_boot): Likewise.
10718 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
10719 (grub_xnu_boot): Likewise.
10720
9f915872
VS
107212010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 * configure.ac: Clean LIBS variable after tests.
10724
efa1bee7
CW
107252010-09-02 Colin Watson <cjwatson@ubuntu.com>
10726
10727 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
10728
61d720e5
VS
107292010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
10732 echo if libdevmapper will be used.
10733
ef8e0ec8
IT
107342010-09-02 Ian Turner <Ian.Turner@deshaw.com>
10735
10736 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
10737 constant for the same file.
10738
03e261d8
VS
107392010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
10742
c2a4eba6
CW
107432010-09-02 Colin Watson <cjwatson@ubuntu.com>
10744
10745 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
10746 grub-core/*.pp.
10747
9056cbf3
CW
107482010-09-02 Colin Watson <cjwatson@ubuntu.com>
10749
10750 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
10751 required by the boot protocol.
10752
10753 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
10754 ebp and edi members.
10755 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
10756 state.ebp and state.edi.
10757 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
10758 %ebp and %edi according to grub_relocator32_ebp and
10759 grub_relocator32_edi respectively.
10760 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
10761 and state.edi.
10762
529cc99a
VS
107632010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10764
10765 Add i386-pc-pxe image target.
10766
10767 * util/grub-mkimage.c (image_target_desc): New enum value
10768 IMAGE_I386_PC_PXE.
10769 (image_targets): New target i386-pc-pxe.
10770 (generate_image): Handle i386-pc-pxe image.
10771
9a093920
VS
107722010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 Fix grub_pxe_scan.
10775
10776 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
10777 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
10778 All users updated.
10779 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
10780 (grub_pxe_pxenv): Correct type.
10781
f9cefc4e
CW
107822010-09-01 Colin Watson <cjwatson@ubuntu.com>
10783
10784 * NEWS: Document most of the important changes since 1.98.
10785
4066f57f
CW
107862010-09-01 Colin Watson <cjwatson@ubuntu.com>
10787
10788 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
10789 generated manual page) a little.
10790
da2891f9
CW
107912010-09-01 Colin Watson <cjwatson@ubuntu.com>
10792
10793 * docs/grub.texi: Add myself as an author.
10794
ad717fae
VS
107952010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * Makefile.util.def (libgrub.a): Add missing sunpc.
10798 Reported by: Seth Goldberg.
10799
eefe8abd
VS
108002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 Interrupt wrapping and code simplifications.
10803
9494ef9a
VS
10804 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10805 x86_noieee1275 which are functionaly equivalent in this case.
10806 (grub-install): Make source on each platform explicit. Enable on
10807 all noemu.
10808 * gentpl.py (x86_efi_pc): Removed group.
10809 (x86_noefi): Likewise.
10810 (i386_noefi): Likewise.
10811 (x86_noieee1275): Likewise.
10812 (i386_noieee1275): Likewise.
10813 (i386_noefi_noieee1275): Likewise.
10814 (i386_pc_qemu_coreboot): Likewise.
10815 (i386_coreboot_multiboot): Likewise.
10816 (i386_pc_coreboot_multiboot_qemu): Likewise.
10817 (x86_noefi_mips): Likewise.
10818 (noieee1275): Likewise.
10819 (ieee1275_mips): Likewise.
10820 (noemu_noieee1275): Likewise.
10821 (cmos): New group.
10822 (usb): Likewise.
10823 (videoinkernel): Likewise.
10824 (videomodules): Likewise.
eefe8abd 10825 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
10826 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10827 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10828 include/grub/loader.h, include/grub/msdos_partition.h,
10829 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10830 include/grub/machine/console.h, include/grub/machine/vga.h,
10831 include/grub/machine/vbe.h, include/grub/machine/init.h,
10832 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10833 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 10834 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
10835 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10836 * grub-core/Makefile.core.def (kernel): Explicit the source for
10837 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10838 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10839 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10840 Use videoinkernel tag.
10841 (usb): Enable on all usb.
10842 (usbserial_common): Likewise.
10843 (usbserial_pl2303): Likewise.
10844 (usbserial_ftdi): Likewise.
10845 (uhci): Enable on all x86.
10846 (ohci): Enable on all pci.
10847 (cmostest): Enable on all CMOS.
10848 (acpi): Include commands/acpi.c on all platforms.
10849 (halt): Add relevant lib/*/halt.c.
10850 (hdparm): Enable on all pci.
10851 (lspci): Likewise.
10852 (usbtest): Enable on all usb.
10853 (ata): Enable on all pci.
10854 (ata_pthru): Likewise.
10855 (usbms): Enable on all usb.
10856 (usb_keyboard): Likewise.
10857 (font): Use tag videomodules.
10858 (bufio): Likewise.
10859 (datetime): Use tag cmos. Enable on all noemu.
10860 (mmap): Use tags common and x86.
10861 (gfxterm): Use tag videomodules.
10862 (bitmap): Likewise.
10863 (bitmap_scale): Likewise.
10864 (video_fb): Likewise.
10865 (video): Likewise.
10866 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10867 adjust padding accordingly. All users updated.
10868 (grub_ohci_transaction): Fix bad format specification.
10869 (GRUB_MOD_INIT): Add asserts for struct size.
10870 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10871 (grub_alloc_td): Likewise.
10872 (grub_free_queue): Likewise.
10873 (grub_uhci_transfer): Likewise.
10874 (grub_uhci_transaction): Fix bad format specification.
10875 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10876 (grub_usb_bulk_readwrite): Likewise.
10877 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10878 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10879 Made static.
10880 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10881 Made static.
10882 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10883 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10884 Transformed into C.
10885 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10886 Moved from here ...
10887 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10888 ... here. Transformed into C. Made static.
10889 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10890 Moved from here ...
10891 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10892 ... here. Transformed into C. Made static.
10893 * grub-core/kern/i386/pc/startup.S
10894 (grub_biosdisk_check_int13_extensions): Moved from here ...
10895 * grub-core/disk/i386/pc/biosdisk.c
10896 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10897 Made static.
10898 * grub-core/kern/i386/pc/startup.S
10899 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10900 * grub-core/disk/i386/pc/biosdisk.c
10901 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10902 Transformed into C. Made static.
10903 * grub-core/kern/i386/pc/startup.S
10904 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10905 * grub-core/disk/i386/pc/biosdisk.c
10906 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10907 Transformed into C. Made static.
10908 * grub-core/kern/i386/pc/startup.S
10909 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10910 * grub-core/disk/i386/pc/biosdisk.c
10911 (grub_biosdisk_get_diskinfo_standard): ... here.
10912 Transformed into C. Made static.
10913 * grub-core/kern/i386/pc/startup.S
10914 (grub_biosdisk_get_num_floppies): Moved from here ...
10915 * grub-core/disk/i386/pc/biosdisk.c
10916 (grub_biosdisk_get_num_floppies): ... here.
10917 Transformed into C. Made static.
10918 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10919 New function.
10920 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10921 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10922 Transformed into C. Made static.
10923 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10924 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10925 Transformed into C. Made static.
10926 * grub-core/kern/i386/ieee1275/init.c: Removed.
10927 * grub-core/kern/i386/misc.S: Likewise.
10928 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10929 Splitted from here ...
10930 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10931 Transformed into C. Made static. All users updated.
10932 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10933 Transformed into C. Made static. All users updated.
10934 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10935 Moved from here...
10936 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10937 Transformed into C. Made static. All users updated.
10938 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10939 Moved from here...
10940 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10941 Transformed into C. Made static. All users updated.
10942 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10943 Removed (replaced by C version).
10944 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10945 Moved from here...
10946 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10947 Transformed into C. Made static.
10948 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10949 Moved from here...
10950 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10951 ... here. Transformed into C.
10952 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10953 Moved from here...
10954 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10955 ... here. Transformed into C.
10956 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10957 Moved from here...
10958 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10959 ... here. Transformed into C. Made static.
10960 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10961 Moved from here...
10962 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10963 ... here. Transformed into C.
21ed554b
VS
10964 * grub-core/kern/i386/pc/startup.S
10965 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10966 * grub-core/video/i386/pc/vbe.c
10967 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
10968 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10969 Moved from here...
10970 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10971 ... here. Transformed into C.
10972 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10973 Moved from here...
10974 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10975 ... here. Transformed into C.
10976 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10977 Moved from here...
10978 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10979 ... here. Transformed into C.
10980 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10981 Moved from here...
10982 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10983 ... here. Transformed into C.
10984 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10985 Moved from here...
10986 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10987 ... here. Transformed into C. Made static.
10988 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10989 Moved from here...
10990 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10991 ... here. Transformed into C. Made static.
10992 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10993 Moved from here...
10994 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10995 ... here. Transformed into C. Made static.
10996 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10997 pxe_rm_entry as third argument.
10998 (grub_bios_interrupt): New function.
10999 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
11000 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
11001 of calling grub_stop.
11002 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
11003 * grub-core/lib/efi/halt.c (grub_halt): ...here.
11004 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
11005 * grub-core/lib/emu/halt.c (grub_halt): ... here.
11006 * grub-core/lib/i386/halt.c: Moved from here ...
11007 * grub-core/lib/i386/halt.c: ... here.
11008 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
11009 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
11010 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
11011 grub_stop_floppy.
11012 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
11013 * include/grub/i386/coreboot/init.h: Removed.
11014 * include/grub/i386/multiboot/init.h: Likewise.
11015 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
11016 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
11017 * include/grub/i386/pc/int.h: New file.
11018 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
11019 (grub_pxe_scan): Removed.
11020 (grub_pxe_call): Update prototype.
11021 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
11022 prototypes.
11023 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
11024 * include/grub/i386/qemu/init.h: Removed.
11025 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
11026 noreturn.
11027 (grub_halt): Likewise.
11028 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
11029 (grub_reboot): Likewise.
11030 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
11031 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
11032 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
11033
215dd471
RM
110342010-08-30 Robert Millan <rmh@gnu.org>
11035
11036 * NEWS: Document addition of ZFS support in `grub-install' and
11037 `grub-mkconfig'.
11038
ebd65b82
BC
110392010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
11040
11041 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
11042 dprintf output.
11043
11721d19
VS
110442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 Remove leftover embedding of font objects.
11047
11048 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11049 * util/grub-install.in (font): Removed.
11050 * util/grub-mkimage.c (generate_image): Remove font support. All users
11051 updated.
11052
37837d4e
VS
110532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 Remove leftover embedding of font objects.
11056
11057 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11058 * util/grub-install.in (font): Removed.
11059 * util/grub-mkimage.c (generate_image): Remove font support. All users
11060 updated.
11061
b4c1aae0
VS
110622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 11065 Reported by: Ian Turner
b4c1aae0 11066
8920a08d
VS
110672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
11070 timeout to avoid indefinite boot stalling.
11071
f21db033
VS
110722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
11075 (grub_env_write_color_highlight): Likewise.
11076
9a9de209
VS
110772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 * grub-core/normal/term.c (print_more): Return to normal and not
11080 to standard state after printing "---MORE---".
11081
3dca01d7
VS
110822010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
11085 Mask out the bit 0x80 since it has other meaning that specifiing color.
11086
0b986c40
VS
110872010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11088
11089 New relocator. Allows for more kernel support and more straightforward
11090 loader writing.
11091
11092 * Makefile.am (BOOTTARGET): New variable.
11093 (QEMU32): Likewise.
11094 (linux.init.x86_64): New target.
11095 (linux.init.i386): Likewise.
11096 (multiboot.elf): Likewise.
11097 (kfreebsd.elf): Likewise.
11098 (kfreebsd.aout): Likewise.
11099 (pc-chainloader.elf): Likewise.
11100 (pc-chainloader.bin): Likewise.
11101 (ntldr.elf): Likewise.
11102 (ntldr.bin): Likewise.
11103 (multiboot2.elf): Likewise.
11104 (kfreebsd.init.x86_64): Likewise.
11105 (kfreebsd.init.i386): Likewise.
11106 (knetbsd.init.i386): Likewise.
11107 (kopenbsd.init.i386): Likewise.
11108 (knetbsd.init.x86_64): Likewise.
11109 (kopenbsd.init.x86_64): Likewise.
11110 (linux-initramfs.i386): Likewise.
11111 (linux-initramfs.x86_64): Likewise.
11112 (kfreebsd-mfsroot.i386.img): Likewise.
11113 (knetbsd.image.i386): Likewise.
11114 (kopenbsd.image.i386): Likewise.
11115 (kopenbsd.image.x86_64): Likewise.
11116 (knetbsd.miniroot-image.i386.img): Likewise.
11117 (kfreebsd-mfsroot.x86_64.img): Likewise.
11118 (knetbsd.image.x86_64): Likewise.
11119 (knetbsd.miniroot-image.x86_64.img): Likewise.
11120 (kfreebsd-mfsroot.i386.gz): Likewise.
11121 (bootcheck-kfreebsd-i386): Likewise.
11122 (kfreebsd-mfsroot.x86_64.gz): Likewise.
11123 (bootcheck-kfreebsd-x86_64): Likewise.
11124 (knetbsd.miniroot-image.i386.gz): Likewise.
11125 (bootcheck-knetbsd-i386): Likewise.
11126 (bootcheck-kopenbsd-i386): Likewise.
11127 (bootcheck-kopenbsd-x86_64): Likewise.
11128 (knetbsd.miniroot-image.x86_64.gz): Likewise.
11129 (bootcheck-knetbsd-x86_64): Likewise.
11130 (bootcheck-linux-i386): Likewise.
11131 (bootcheck-linux-x86_64): Likewise.
11132 (bootcheck-linux16-i386): Likewise.
11133 (bootcheck-linux16-x86_64): Likewise.
11134 (bootcheck-multiboot): Likewise.
11135 (bootcheck-multiboot2): Likewise.
11136 (bootcheck-kfreebsd-aout): Likewise.
11137 (bootcheck-pc-chainloader): Likewise.
11138 (bootcheck-ntldr): Likewise.
11139 (CLEANFILES): Add new targets.
11140 (BOOTCHECKS): New variable.
11141 (.PHONY): Add bootchecks.
11142 (SUCCESSFUL_BOOT_STRING): New variable.
11143 (BOOTCHECK_TIMEOUT): Likewise.
11144 (bootcheck): New target
11145 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
11146 * configure.ac: Correct efiemu excuse.
11147 * docs/grub.texi (Supported kernels): New chapter.
11148 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
11149 include/grub/mm_private.h. Simplify inclusion of
11150 include/grub/boot.h, include/grub/loader.h
11151 and include/grub/msdos_partition.h
11152 (KERNEL_HEADER_FILES) [i386_coreboot]:
11153 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
11154 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
11155 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
11156 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
11157 include/grub/machine/loader.h.
11158 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
11159 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
11160 extra_dist.
11161 (pci.mod): Enable on i386-multiboot.
11162 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
11163 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
11164 i386-qemu.
11165 (relocator.mod): Rewritten.
11166 (aout.mod): Enable on all x86.
11167 (bsd.mod): Likewise.
11168 (ntldr.mod): New module.
11169 (linux.mod): Use loader/i386/linux.c on all x86.
11170 (xnu.mod): Enable on all x86.
11171 (vga_text.mod): disable on EFI and QEMU.
11172 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
11173 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
11174 * grub-core/efiemu/loadcore.c: Likewise.
11175 * grub-core/efiemu/main.c: Likewise.
11176 (grub_efiemu_exit_boot_services): Removed.
11177 (grub_efiemu_finish_boot_services): Likewise.
11178 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
11179 function.
11180 * grub-core/efiemu/i386/nocfgtables.c: New file.
11181 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
11182 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
11183 (grub_efi_finish_boot_services): Moved from here ...
11184 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
11185 Fille finish memory map and related data.
11186 (finish_mmap_buf): New variable.
11187 (grub_efi_uintn_t finish_mmap_size): Likewise.
11188 (grub_efi_uintn_t finish_key): Likewise.
11189 (grub_efi_uintn_t finish_desc_size): Likewise.
11190 (grub_efi_uint32_t finish_desc_version): Likewise.
11191 (grub_efi_is_finished): Likewise.
11192 (grub_efi_get_memory_map): Use saved memory map if EFI is already
11193 finished.
11194 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
11195 (grub_elf64_phdr_iterate): Likewise.
11196 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
11197 (grub_os_area_size): Likewise.
11198 (grub_machine_init): Don't reserve os area.
11199 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
11200 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
11201 * grub-core/kern/i386/loader.S: Removed.
11202 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
11203 (grub_os_area_size): Likewise.
11204 (grub_machine_init): Don't reserve os area.
11205 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11206 Don't call grub_dl_unload_all.
11207 Don't include loader.S.
11208 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
11209 Declare the memory after _end as available.
11210 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 11211 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 11212 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
11213 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
11214 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
11215 * include/grub/mm_private.h (grub_mm_header): ... here.
11216 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
11217 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
11218 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
11219 (grub_mm_region): ..here. Removed addr. Added pre_size.
11220 All users updated.
11221 * grub-core/kern/mm.c (base): Renamed to ...
11222 (grub_mm_base): ... this. Made global.
11223 (grub_real_malloc): Alloc from end of region.
11224 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
11225 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
11226 * grub-core/kern/powerpc/cache_flush.S: ... here.
11227 * grub-core/lib/efi/relocator.c: New file.
11228 * grub-core/lib/i386/relocator.c: Rewritten.
11229 * grub-core/lib/i386/relocator16.S: New file.
11230 * grub-core/lib/i386/relocator32.S: Likewise.
11231 * grub-core/lib/i386/relocator64.S: Likewise.
11232 * grub-core/lib/i386/relocator_asm.S: Rewritten.
11233 * grub-core/lib/i386/relocator_common.S: New file.
11234 * grub-core/lib/ieee1275/relocator.c: Likewise.
11235 * grub-core/lib/mips/relocator.c: Rewritten.
11236 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
11237 stylistic adjustments.
11238 * grub-core/lib/powerpc/relocator.c: New file.
11239 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
11240 * grub-core/lib/relocator.c: Rewritten.
11241 * grub-core/lib/x86_64/relocator_asm.S: New file.
11242 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
11243 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
11244 (bsd_tag): New struct.
11245 (tags): New variable.
11246 (tags_last): Likewise.
11247 (netbsd_module): New struct.
11248 (netbsd_mods): New variable.
11249 (netbsd_mods_last): Likewise.
11250 (openbsd_opts): New parameter "serial".
11251 (OPENBSD_SERIAL_ARG): New definition.
11252 (netbsd_opts): New parameter "serial".
11253 (NETBSD_SERIAL_ARG): New definition.
11254 (grub_freebsd_add_meta): Reorganised into ...
11255 (grub_bsd_add_meta): ...this. All users updated.
11256 (grub_freebsd_add_mmap): Reorganised into ...
11257 (generate_e820_mmap): ...this...
11258 (grub_bsd_add_mmap): ...and this. All users updated.
11259 (grub_freebsd_list_modules): Use tags.
11260 (grub_netbsd_add_meta_module): New function.
11261 (grub_netbsd_list_modules): Likewise.
11262 (grub_freebsd_boot): Use relocator and finish EFI.
11263 (grub_openbsd_boot): Likewise.
11264 (grub_netbsd_setup_video): New function.
11265 (grub_netbsd_add_modules): Likewise.
11266 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
11267 and finish EFI.
11268 (grub_bsd_unload): Unload tags.
11269 (grub_bsd_load_aout): Use relocator.
11270 (grub_bsd_elf32_size_hook): New function.
11271 (grub_bsd_elf32_hook): Use relocator.
11272 (grub_bsd_elf64_size_hook): New function.
11273 (grub_bsd_elf64_hook): Use relocator.
11274 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
11275 (grub_bsd_load): Zero-out openbsd_ramdisk.
11276 (grub_bsd_load): Use relocator.
11277 (grub_cmd_openbsd): Support serial.
11278 (grub_cmd_netbsd): Support modules.
11279 (grub_cmd_freebsd_module): Use relocator.
11280 (grub_netbsd_module_load): New function.
11281 (grub_cmd_netbsd_module): Likewise.
11282 (grub_cmd_openbsd_ramdisk): Likewise.
11283 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
11284 kopenbsd_ramdisk.
11285 (GRUB_MOD_FINI): Unregister new commands.
11286 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
11287 (grub_freebsd_load_elfmodule_obj): Use relocator.
11288 (grub_freebsd_load_elfmodule): Likewise.
11289 (grub_freebsd_load_elf_meta): Likewise.
11290 (grub_netbsd_load_elf_meta): New function.
11291 (grub_openbsd_find_ramdisk): Likewise.
11292 * grub-core/loader/i386/bsd_helper.S: Removed.
11293 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
11294 * grub-core/loader/i386/bsd_trampoline.S: Removed.
11295 * grub-core/loader/i386/efi/linux.c: Likewise.
11296 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
11297 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
11298 (DEFAULT_VIDEO_MODE): Likewise.
11299 (real_mode_target): New variable.
11300 (prot_mode_target): Likewise.
11301 (initrd_mem_target): Likewise.
11302 (relocator): Likewise.
11303 (efi_mmap_buf): Likewise.
11304 (efi_mmap_size): Likewise.
11305 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
11306 (free_pages): Use relocator.
11307 (allocate_pages): Account for efi_mmap and use relocator. Return error.
11308 (grub_linux_setup_video): Return error.
11309 (grub_linux_trampoline_start): Removed.
11310 (grub_linux_trampoline_end): Likewise.
11311 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
11312 andd video parameters depending on firmware.
11313 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
11314 [GRUB_MACHINE_EFI]: Pass EFI parameters.
11315 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
11316 (grub_cmd_initrd): Use relocator.
11317 * grub-core/loader/i386/linux_trampoline.S: Removed.
11318 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
11319 (elf_sec_entsize): Likewise.
11320 (elf_sec_shstrndx): Likewise.
11321 (elf_sections): Likewise.
11322 (grub_multiboot_load): Use relocator.
11323 (grub_multiboot_get_mbi_size): Account for sections.
11324 (grub_multiboot_make_mbi): Use relocator and support sections.
11325 (grub_multiboot_add_elfsyms): New function.
11326 (grub_multiboot_free_mbi): Free sections.
11327 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
11328 (grub_linux_real_target): Likewise.
11329 (grub_linux_real_chunk): Likewise.
11330 (grub_linux16_prot_size): Likewise.
11331 (grub_linux16_boot): Use relocator.
11332 (grub_linux_unload): Unload relocator.
11333 (grub_cmd_linux): Use relocator.
11334 (grub_cmd_initrd): Likewise.
11335 * grub-core/loader/i386/pc/ntldr.c: New file.
11336 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
11337 Don't try to guess CPU frequency.
11338 (grub_xnu_set_video): Stretch bitmap.
11339 (grub_xnu_boot): Use relocator.
11340 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
11341 (grub_linux_unload): Free relocator.
11342 (grub_linux_load32): Use relocator.
11343 (grub_linux_load64): Likewise.
11344 (grub_cmd_initrd): Likewise.
11345 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
11346 (grub_multiboot_unload): Unload relocator.
11347 (grub_cmd_multiboot): Use relocator.
11348 (grub_cmd_module): Likewise.
11349 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
11350 Use relocator and support sections.
11351 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
11352 (elf_sec_entsize): Likewise.
11353 (elf_sec_shstrndx): Likewise.
11354 (elf_sections): Likewise.
11355 (grub_multiboot_load): Use relocator.
11356 (grub_multiboot_get_mbi_size): Account for sections.
11357 (grub_multiboot_make_mbi): Use relocator and support sections.
11358 (grub_multiboot_add_elfsyms): New function.
11359 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
11360 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
11361 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
11362 Prototype changed. All users updated.
11363 (grub_xnu_align_heap): Simplified.
11364 (grub_xnu_writetree_toheap): Likewise.
11365 (grub_xnu_unload): Unload relocator.
11366 (grub_cmd_xnu_kernel): Use relocator.
11367 (grub_cmd_xnu_kernel64): Likewise.
11368 (grub_xnu_register_memory): Simplified.
11369 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
11370 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
11371 EFI is finished.
11372 (grub_console_checkkey): Likewise.
11373 (grub_console_getkey): Likewise.
11374 (grub_console_getwh): Likewise.
11375 (grub_console_getxy): Likewise.
11376 (grub_console_gotoxy): Likewise.
11377 (grub_console_cls): Likewise.
11378 (grub_console_setcolorstate): Likewise.
11379 (grub_console_setcursor): Likewise.
11380 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
11381 * grub-core/tests/boot/kbsd.init-i386.S: New file.
11382 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
11383 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
11384 * grub-core/tests/boot/kernel-8086.S: Likewise.
11385 * grub-core/tests/boot/kernel-i386.S: Likewise.
11386 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
11387 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
11388 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
11389 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
11390 * grub-core/tests/boot/knetbsd.cfg: Likewise.
11391 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
11392 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
11393 * grub-core/tests/boot/linux.cfg: Likewise.
11394 * grub-core/tests/boot/linux.init-i386.S: Likewise.
11395 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
11396 * grub-core/tests/boot/linux16.cfg: Likewise.
11397 * grub-core/tests/boot/multiboot.cfg: Likewise.
11398 * grub-core/tests/boot/multiboot2.cfg: Likewise.
11399 * grub-core/tests/boot/ntldr.cfg: Likewise.
11400 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
11401 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
11402 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
11403 New definition.
11404 * include/grub/dl.h (grub_dl_unload_all): Removed.
11405 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
11406 (grub_efi_finish_boot_services): Change prototype.
11407 (grub_efi_is_finished): New variable.
11408 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
11409 Changed prototype.
11410 (grub_efiemu_finish_boot_services): Removed.
11411 (grub_machine_efiemu_init_tables): New prototype.
11412 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
11413 (grub_elf64_phdr_iterate): Likewise.
11414 * include/grub/i386/bsd.h: Include relocator.h.
11415 (freebsd_tag_header): New struct.
11416 (grub_openbsd_bios_mmap): Removed.
11417 (grub_unix_real_boot): Removed.
11418 (grub_freebsd_load_elfmodule32): Changed prototype.
11419 (grub_freebsd_load_elfmodule_obj64): Likewise.
11420 (grub_freebsd_load_elf_meta32): Likewise.
11421 (grub_freebsd_load_elf_meta64): Likewise.
11422 (grub_freebsd_add_meta): Removed.
11423 (grub_netbsd_load_elf_meta32): New prototype.
11424 (grub_netbsd_load_elf_meta64): Likewise.
11425 (grub_bsd_add_meta): Likewise.
11426 (grub_openbsd_ramdisk_descriptor): New struct.
11427 (grub_openbsd_find_ramdisk32): New prototype.
11428 (grub_openbsd_find_ramdisk64): Likewise.
11429 * include/grub/i386/coreboot/loader.h: Removed.
11430 * include/grub/i386/efi/loader.h: Likewise.
11431 * include/grub/i386/ieee1275/loader.h: Likewise.
11432 * include/grub/i386/linux.h (linux_kernel_header): Change void *
11433 to grub_uint32_t.
11434 * include/grub/i386/loader.h: Removed.
11435 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
11436 value.
11437 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
11438 (grub_phys_addr_t): New type.
11439 (grub_vtop): New inline function.
11440 (grub_map_memory): Likewise.
11441 (grub_unmap_memory): Likewise.
11442 * include/grub/i386/multiboot/loader.h: Removed.
11443 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
11444 (NETBSD_BTINFO_CONSOLE): New definition.
11445 (NETBSD_BTINFO_SYMTAB): Likewise.
11446 (NETBSD_BTINFO_MODULES): Likewise.
11447 (NETBSD_BTINFO_FRAMEBUF): Likewise.
11448 (grub_netbsd_bootinfo): New struct.
11449 (grub_netbsd_btinfo_common): Use explicit bitsize.
11450 (grub_netbsd_btinfo_mmap_entry): Removed.
11451 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
11452 (grub_netbsd_btinfo_bootdisk): New struct.
11453 (grub_netbsd_btinfo_symtab): Likewise.
11454 (grub_netbsd_btinfo_serial): Likewise.
11455 (grub_netbsd_btinfo_modules): Likewise.
11456 (grub_netbsd_btinfo_framebuf): Likewise.
11457 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
11458 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
11459 Likewise.
11460 (grub_openbsd_bootargs): Use explicit bitsize.
11461 (grub_openbsd_bootarg_console): New struct.
11462 (GRUB_OPENBSD_COM_MAJOR): New definition.
11463 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
11464 * include/grub/i386/pc/efiemu.h: Removed.
11465 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
11466 * include/grub/i386/qemu/loader.h: Removed.
11467 * include/grub/i386/relocator.h: Rewritten.
11468 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
11469 * include/grub/mips/memory.h: New file.
11470 * include/grub/mips/multiboot.h: Rewritten.
11471 * include/grub/mips/relocator.h: Rewritten.
11472 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
11473 (grub_vtop): New function.
11474 (grub_map_memory): Likewise.
11475 (grub_unmap_memory): Likewise.
11476 * include/grub/misc.h (ALIGN_DOWN): New definition.
11477 * include/grub/mm.h (grub_mm_check_real): New proto.
11478 (GRUB_MM_CHECK): New definition.
11479 * include/grub/mm_private.h: New file.
11480 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
11481 (grub_multiboot_get_mbi_size): Removed.
11482 (grub_multiboot_make_mbi): Change prottype.
11483 (grub_multiboot_set_accepts_video): New proto.
11484 (grub_multiboot_add_elfsyms): Likewise.
11485 (grub_multiboot_payload_eip): New variable.
11486 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
11487 New prototype.
11488 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
11489 New definition.
11490 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
11491 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
11492 * include/grub/powerpc/ieee1275/loader.h: Removed.
11493 * include/grub/powerpc/memory.h: New file.
11494 * include/grub/powerpc/relocator.h: Likewise.
11495 * include/grub/relocator.h: Likewise.
11496 * include/grub/relocator_private.h: Likewise.
11497 * include/grub/sparc64/ieee1275/loader.h: Removed.
11498 * include/grub/x86_64/memory.h: New file.
11499 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
11500 (grub_xnu_heap_malloc): Likewise.
11501 (grub_xnu_heap_real_start): Removed.
11502 (grub_xnu_heap_start): Likewise.
11503 (grub_xnu_relocator): New variable.
11504 (grub_xnu_heap_target_start): Likewise.
11505 * tests/util/grub-shell.in: Support non-pc.
11506 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 11507
5303b85d
VS
115082010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
11511 on malloc error.
11512 (grub_bidi_logical_to_visual): Check that malloc succeded.
11513 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
11514 puts.
11515 (grub_xputs_normal): Likewise.
11516
d768d159
VS
115172010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
11520 extra_dist.
11521
115222010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11523
11524 * grub-core/efiemu/runtime/efiemu.sh: Removed.
11525
5bf84df4
VS
115262010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
11529
3626810e
VS
115302010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
11533 dprintf.
11534
a7363f53
BC
115352010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
11536
11537 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
11538
902f75f6
VS
115392010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 * grub-core/normal/term.c (print_more): Fix a memory leak.
11542 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
11543 (grub_xputs_normal): Likewise.
11544
3c707967
VS
115452010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
11548 the begining of the string
11549
2053cc07
VS
115502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 * grub-core/script/script.c (grub_script_parse): Free parsed on
11553 failure.
11554
46422ebf
VS
115552010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
11558 on failure.
11559
9e0fa3f6
VS
115602010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
11563 return.
11564
3393cf16
VS
115652010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
11568 (scroll_up): Fix a memory leak.
11569
b17540cb
VS
115702010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
11573 errors.
11574
67140446
VS
115752010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 Handle USB pendrives exposed as floppies.
11578
11579 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
11580 floppy.
11581 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11582 Check for partitions on all devices.
11583
e35e46fc
VS
115842010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
11587 (readkey): Likewise.
11588
d24c6190
BC
115892010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11590
11591 Multiple variable names support to "export" command.
11592
11593 * normal/context.c (grub_cmd_export): "export" command supports
11594 multiple variable names.
11595
04ddcc6a
ST
115962010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
11597
11598 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
11599 --target=drive output to Mach device name.
11600
0c8b61d8
BC
116012010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11602
11603 New Automake based build system for GRUB.
11604
11605 * ABOUT-NLS: New file.
11606 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
11607 in Makefile.util.def file.
11608 * Makefile.util.def: New file. Autogen build definitions file for
11609 GRUB host utils.
11610 * conf/Makefile.common: New file. Common variables for GRUB host
11611 utils and target modules.
11612 * conf/Makefile.extra-dist: New file. Extra files for make dist.
11613 * docs/Makefile.am: New file. Automake file for docs.
11614 * gentpl.py: New file. Python script to generate Autogen
11615 template.
11616 * grub-core/Makefile.am: New file. GRUB target modules' rules
11617 that doesn't fit in Makefile.core.def file.
11618 * grub-core/Makefile.core.def: New file. Autogen build
11619 definitions file for GRUB target modules.
11620 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
11621 specific setjmp.S file.
11622 * po/Makefile.am: New file.
11623
11624 * .bzrignore: New ignores.
11625 * INSTALL: New requirements, without Ruby.
11626 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
11627 * autogen.sh: Updated to invoke autogen as necessary.
11628 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
11629 and defines for Automake conditionals.
11630 * geninit.sh: Refactoring.
11631
11632 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
11633 necessary.
11634 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
11635 New prototype.
11636
11637 * include/grub/test.h: Fix functional test modules' naming.
11638 * grub-core/tests/example_functional_test.c: Fix test module name.
11639
11640 * util/misc.c: Hosted versions' of grub functions for libgrub.a
11641 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
11642 * util/grub-editenv.c: Likewise.
11643 * util/grub-fstest.c: Likewise.
11644 * util/grub-mkdevicemap.c: Likewise.
11645 * util/grub-mkfont.c: Likewise.
11646 * util/grub-mkimage.c: Likewise.
11647 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11648 * util/grub-probe.c: Likewise.
11649 * util/grub-script-check.c: Likewise.
11650 * util/i386/pc/grub-setup.c: Likewise.
11651 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11652
11653 * tests/util/grub-shell.in: Fix override directory path.
11654 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
11655 * util/import_gcry.py: Create Makefile.gcry.def file instead.
11656
11657 * util/lvm.c: Update #includes.
11658 * util/raid.c: Likewise.
11659 * util/resolve.c: Likewise.
11660 * grub-core/bus/emu/pci.c: Likewise.
11661 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
11662 * grub-core/lib/posix_wrap/string.h: Likewise.
11663 * grub-core/kern/emu/main.c: Likewise.
11664
11665 * grub-core/gensymlist.sh: New file. Script for generating kernel
11666 symbols file.
11667 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
11668
11669 * grub-core/gentrigtables.c: Fix unused variable warnings.
11670
11671 * Makefile.in: Removed.
11672 * conf/any-emu.rmk: Removed.
11673 * conf/common.rmk: Removed.
11674 * conf/i386-coreboot.rmk: Removed.
11675 * conf/i386-efi.rmk: Removed.
11676 * conf/i386-ieee1275.rmk: Removed.
11677 * conf/i386-multiboot.rmk: Removed.
11678 * conf/i386-pc.rmk: Removed.
11679 * conf/i386-qemu.rmk: Removed.
11680 * conf/i386.rmk: Removed.
11681 * conf/mips-yeeloong.rmk: Removed.
11682 * conf/mips.rmk: Removed.
11683 * conf/powerpc-ieee1275.rmk: Removed.
11684 * conf/sparc64-ieee1275.rmk: Removed.
11685 * conf/tests.rmk: Removed.
11686 * conf/x86-efi.rmk: Removed.
11687 * conf/x86_64-efi.rmk: Removed.
11688 * gendistlist.sh: Removed.
11689 * geninitheader.sh: Removed.
11690 * genkernsyms.sh.in: Removed.
11691 * genmk.rb: Removed.
11692 * gensymlist.sh.in: Removed.
11693 * mkinstalldirs: Removed.
11694 * boot: Moved ...
11695 * grub-core/boot: ... to here.
11696 * bus: Moved ...
11697 * grub-core/bus: ... to here.
11698 * commands: Moved ...
11699 * grub-core/commands: ... to here.
11700 * disk: Moved ...
11701 * grub-core/disk: ... to here.
11702 * efiemu: Moved ...
11703 * grub-core/efiemu: ... to here.
11704 * font: Moved ...
11705 * grub-core/font: ... to here.
11706 * fs: Moved ...
11707 * grub-core/fs: ... to here.
11708 * gencmdlist.sh: Moved ...
11709 * grub-core/gencmdlist.sh: ... to here.
11710 * genemuinit.sh: Moved ...
11711 * grub-core/genemuinit.sh: ... to here.
11712 * genemuinitheader.sh: Moved ...
11713 * grub-core/genemuinitheader.sh: ... to here.
11714 * genfslist.sh: Moved ...
11715 * grub-core/genfslist.sh: ... to here.
11716 * genhandlerlist.sh: Moved ...
11717 * grub-core/genhandlerlist.sh: ... to here.
11718 * genmoddep.awk: Moved ...
11719 * grub-core/genmoddep.awk: ... to here.
11720 * genmodsrc.sh: Moved ...
11721 * grub-core/genmodsrc.sh: ... to here.
11722 * genpartmaplist.sh: Moved ...
11723 * grub-core/genpartmaplist.sh: ... to here.
11724 * genparttoollist.sh: Moved ...
11725 * grub-core/genparttoollist.sh: ... to here.
11726 * genterminallist.sh: Moved ...
11727 * grub-core/genterminallist.sh: ... to here.
11728 * gentrigtables.c: Moved ...
11729 * grub-core/gentrigtables.c: ... to here.
11730 * genvideolist.sh: Moved ...
11731 * grub-core/genvideolist.sh: ... to here.
11732 * gettext: Moved ...
11733 * grub-core/gettext: ... to here.
11734 * gfxmenu: Moved ...
11735 * grub-core/gfxmenu: ... to here.
11736 * gnulib: Moved ...
11737 * grub-core/gnulib: ... to here.
11738 * hello: Moved ...
11739 * grub-core/hello: ... to here.
11740 * hook: Moved ...
11741 * grub-core/hook: ... to here.
11742 * io: Moved ...
11743 * grub-core/io: ... to here.
11744 * kern: Moved ...
11745 * grub-core/kern: ... to here.
11746 * lib: Moved ...
11747 * grub-core/lib: ... to here.
11748 * loader: Moved ...
11749 * grub-core/loader: ... to here.
11750 * mmap: Moved ...
11751 * grub-core/mmap: ... to here.
11752 * normal: Moved ...
11753 * grub-core/normal: ... to here.
11754 * partmap: Moved ...
11755 * grub-core/partmap: ... to here.
11756 * parttool: Moved ...
11757 * grub-core/parttool: ... to here.
11758 * script: Moved ...
11759 * grub-core/script: ... to here.
11760 * term: Moved ...
11761 * grub-core/term: ... to here
11762 * tests/example_functional_test.c: Moved ...
11763 * grub-core/tests/example_functional_test.c: ... to here.
11764 * tests/lib/functional_test.c: Moved ...
11765 * grub-core/tests/lib/functional_test.c: ... to here.
11766 * tests/lib/test.c: Moved ...
11767 * grub-core/tests/lib/test.c: ... to here.
11768 * video: Moved ...
11769 * grub-core/video: ... to here.
11770
645586e6
BC
117712010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11772
11773 Replace --enable-grub-emu-modules with grub-emu-lite.
11774
11775 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
11776 cache.S.
11777
11778 * include/grub/emu/misc.h (grub_emu_init): New prototype.
11779 * kern/emu/full.c: New file. For grub-emu specific initialization.
11780 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
11781 * kern/emu/main.c: Call initialization function grub_emu_init.
11782
11783 * Makefile.in: Include grub-emu-lite in install.
11784 * commands/parttool.c: Use grub_no_autoload to differentiate
11785 between grub-emu and grub-emu-lite.
11786 * include/grub/misc.h: New variable grub_no_autoload.
11787
11788 * conf/any-emu.rmk: New rules for grub-emu-lite.
11789 * configure.ac: Remove --enable-grub-emu-modules.
11790 * genmk.rb: Cleanup unnecessary rules.
11791 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
11792
11793 * normal/main.c: Don't load list files on grub-emu-lite.
11794 * util/misc.c (grub_arch_sync_caches): Removed.
11795
f86a4030
CW
117962010-08-23 Colin Watson <cjwatson@ubuntu.com>
11797
11798 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11799 grub-mkimage rather than grub-mkelfimage.
11800 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11801
06776944
VS
118022010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11805 a key after CapsLock or NumLock. It's just a qemu bug.
11806
df262419
VS
118072010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11810 needed by libusb wrapper.
11811
b40ea81b
ST
118122010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11813
11814 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11815
dee50575
VS
118162010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11817
11818 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11819 --nounzip is passed.
11820
fb1d7b79
VS
118212010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11822
11823 USB hotunplugging and USB serial support.
11824
11825 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11826 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11827 (grub_uhci_transfer): Respect timeout and set *actual.
11828 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11829 non-standard length.
11830 (grub_usb_device_attach): Autoload modules.
11831 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11832 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11833 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11834 users updated.
11835 (grub_usb_add_hub): Fill nports and children.
11836 (attach_root_port): Receive hub instead of controller.
11837 All users updated. Fill hub->devices.
11838 (grub_usb_root_hub): Allocate hub->devices.
11839 (detach_device): New function.
11840 (poll_nonroot_hub): Fill children and detach devices.
11841 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11842 actual arguments. All users updated.
11843 (grub_usb_bulk_read_extended): New function.
11844 * bus/usb/serial/common.c: New file.
11845 * bus/usb/serial/ftdi.c: Likewise.
11846 * bus/usb/serial/pl2303.c: Likewise.
11847 * commands/terminal.c (handle_command): Support wildcard.
11848 * commands/usbtest.c: Output "Unknown" instead of empty string.
11849 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11850 (usbserial_common_mod_SOURCES): New variable.
11851 (usbserial_common_mod_CFLAGS): Likewise.
11852 (usbserial_common_mod_LDFLAGS): Likewise.
11853 (pkglib_MODULES): Add usbserial_pl2303.mod.
11854 (usbserial_pl2303_mod_SOURCES): New variable.
11855 (usbserial_pl2303_mod_CFLAGS): Likewise.
11856 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11857 (pkglib_MODULES): Add usbserial_ftdi.mod.
11858 (usbserial_ftdi_mod_SOURCES): New variable.
11859 (usbserial_ftdi_mod_CFLAGS): Likewise.
11860 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11861 (pkglib_MODULES): Add serial.mod.
11862 (serial_mod_SOURCES): New variable.
11863 (serial_mod_CFLAGS): Likewise.
11864 (serial_mod_LDFLAGS): Likewise.
11865 * conf/i386-pc.rmk: Likewise.
11866 * conf/mips-yeeloong.rmk: Likewise.
11867 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11868 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11869 * disk/usbms.c (first_available_slot): New variable.
11870 (grub_usbms_attach): Don't reuse free slots due to potential cache
11871 problems.
11872 * include/grub/serial.h: Moved to ..
11873 * include/grub/ns8250.h: ...this.
11874 * include/grub/serial.h: New file.
11875 * include/grub/term.h (grub_term_poll_usb): New variable.
11876 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11877 readkey. All users updated.
11878 (grub_terminfo_output_state): Pass term to put.
11879 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11880 (grub_usb_controller_dev): Add timeout and actual arguments to
11881 transfer. All users updated.
11882 (grub_usb_interface): New field detach_data.
11883 (grub_usb_device): New fields children and nports.
11884 (grub_usb_ep_type_t): New type.
11885 (grub_usb_get_ep_type): New function.
11886 (grub_usb_bulk_read_extended): Likewise.
11887 * include/grub/usbdesc.h (grub_usb_desc): New type.
11888 * include/grub/usbserial.h: New file.
11889 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11890 * kern/term.c (grub_term_poll_usb): New variable.
11891 (grub_getkey): Call grub_term_poll_usb if set.
11892 (grub_checkkey): Likewise.
11893 (grub_getkeystatus): Likewise.
11894 * term/serial.c: Moved controller-specific parts to ...
11895 * term/ns8250.c: ... here.
11896 * term/serial.c: Mostly rewritten.
11897 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11898 according to spec.
11899
21a313de
RM
119002010-08-20 Robert Millan <rmh@gnu.org>
11901
11902 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11903 a separate module and maybe other interesting combinations.
11904
11905 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11906 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11907 (kfreebsd_entry): Add generic filesystem module load routine.
11908 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11909
63c734a6
CW
119102010-08-20 Colin Watson <cjwatson@ubuntu.com>
11911
11912 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11913 "numcenter" (I misunderstood the purpose of this entry).
11914 * docs/grub.texi (sendkey): Likewise.
11915
c4d16542
CW
119162010-08-20 Colin Watson <cjwatson@ubuntu.com>
11917
11918 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11919 status flag options; simply omitting the option is equivalent and
11920 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11921 (keysym_table): Rename "num5numlock" to "numlock".
11922 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11923 can uniformly say that only the last of multiple `sendkey'
11924 invocations has any effect.
11925 * docs/grub.texi (sendkey): New section.
11926
93541d66
CW
119272010-08-19 Colin Watson <cjwatson@ubuntu.com>
11928
11929 * commands/i386/pc/sendkey.c (options): Fix three typos.
11930
b4ece5e1
VS
119312010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 Implement sendkey support.
11934
11935 * commands/i386/pc/sendkey.c: New file.
11936 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11937 (sendkey_mod_SOURCES): New variable.
11938 (sendkey_mod_CFLAGS): Likewise.
11939 (sendkey_mod_LDFLAGS): Likewise.
11940
51f1f5af
CW
119412010-08-18 Colin Watson <cjwatson@ubuntu.com>
11942
11943 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11944 fix warnings from Autoconf.
11945
9da94e05
CW
119462010-08-18 Colin Watson <cjwatson@ubuntu.com>
11947
11948 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11949 to avoid false positives with some assemblers that output things
11950 like "someprefix_func" as part of their output.
11951
729a0f2e
RM
119522010-08-15 Robert Millan <rmh@gnu.org>
11953
11954 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11955 errors.
11956 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11957 grub_get_libzfs_handle() errors.
11958
f3710e08
RM
119592010-08-14 Robert Millan <rmh@gnu.org>
11960
11961 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11962 filesystem is not ZFS.
11963
7a3c13de
BC
119642010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11965
11966 Fix for misspelled color names defaulting to black/black (bug
11967 reported by Doug Nazar)
11968
11969 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11970 status to prototype.
11971 * normal/color.c (grub_parse_color_name_pair): Return failure
11972 status.
11973 (grub_env_write_color_normal): Ignore bad color names.
11974 (grub_env_write_color_highlight): Likewise.
11975 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11976
ab8ba50d
BC
119772010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11978
11979 "shift" command support to GRUB script.
11980
11981 * include/grub/script_sh.h (grub_script_shift): New prototype.
11982 * script/execute.c (grub_script_shift): New function.
11983 * script/main.c (grub_script_init): Register shift command.
11984 (grub_script_fini): Unregister shift command.
11985 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11986
11987 * tests/grub_script_shift.in: New testcase.
11988 * conf/tests.rmk: Rules for new testcase.
11989
4d61999e
BC
119902010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11991
11992 "continue" command support to GRUB script.
11993
11994 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11995 (grub_script_break): Continue support.
11996 * script/main.c (grub_script_init): Register continue command.
11997 (grub_script_fini): Unregister continue command.
11998
11999 * tests/grub_script_continue.in: New testcase.
12000 * conf/tests.rmk: Rules for new testcase.
12001
4df51e00
BC
120022010-08-12 BVK Chaitanya <bvk@dbook>
12003
12004 "break" command support to GRUB script.
12005
12006 * conf/common.rmk: Rule updates to grub-script-check.
12007 * include/grub/misc.h (grub_min): New function.
12008 * include/grub/script_sh.h (grub_script_init): New prototype.
12009 (grub_script_fini): New prototype.
12010 (grub_script_break): New prototype.
12011 * script/main.c (grub_script_init): New function.
12012 (grub_script_fini): New function.
12013 * script/execute.c (grub_script_break): New function.
12014 * normal/main.c: Calls to grub_script_{init,fini}.
12015 * util/grub-script-check.c (grub_script_break): New function.
12016
12017 * tests/grub_script_break.in: New testcase.
12018 * conf/tests.rmk: Rules for new test case.
12019
f12c8420
BC
120202010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12021
12022 Function parameters support to GRUB script.
12023
12024 * script/yylex.l (VARIABLE): Regular expression update.
12025 * script/function.c (grub_script_function_call): Moved ...
12026 * script/execute.c (grub_script_function_call): ... to here.
12027 (grub_script_execute_arglist_to_argv): Removed.
12028 (grub_script_arglist_to_argv): New function.
12029 * script/argv.c: New file.
12030 (grub_script_argv_free): New function.
12031 (grub_script_argv_next): Likewise.
12032 (grub_script_argv_append): Likewise.
12033 (grub_script_argv_split_append): Likewise.
12034 * include/grub/script_sh.h (grub_script_argv): New struct.
12035 (grub_script_argv_free): New function.
12036 (grub_script_argv_next): Likewise.
12037 (grub_script_argv_append): Likewise.
12038 (grub_script_argv_split_append): Likewise.
12039
12040 * conf/common.rmk (normal.mod): New source script/argv.c.
12041
12042 * tests/grub_script_echo1.in: More tests.
12043 * tests/grub_script_vars1.in: Likewise.
12044 * tests/grub_script_functions.in: New test case.
12045 * conf/tests.rmk: Rules for new testcase.
12046
8022b748
BC
120472010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12048
12049 Remove grub_script_cmdblock struct.
12050
12051 * include/grub/script_sh.h: Remove grub_script_cmdblock.
12052 * script/parser.y: Likewise.
12053 * script/execute.c: Rename cmdblock suffix to cmdlist.
12054 * script/script.c: Likewise.
12055 * util/grub-script-check.c: Likewise.
12056
79a6ba61
YB
120572010-08-11 Yves Blusseau <blusseau@zetam.org>
12058
12059 * .bzrignore: add grub-macho2img
12060
d04b9414
VS
120612010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
12064
f947ab49
VS
120652010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 Remove the dump of sm712 initialisation sequence.
12068
12069 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
12070 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
12071 (GRUB_VGA_IO_MISC_WRITE): Likewise.
12072 (GRUB_VGA_CR_*): Added many registers.
12073 (GRUB_VGA_SR_*): Likewise.
12074 (GRUB_VGA_GR_*): Likewise.
12075 (grub_vga_write_arx): New function.
12076 (grub_video_hw_config): New struct.
12077 (grub_vga_set_geometry): New function.
12078 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
12079 GRUB_PCI_CLASS_SUBCLASS_VGA.
12080 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
12081 * video/sm712.c (grub_sm712_write_reg): New function
12082 (grub_sm712_read_reg): Likewise.
12083 (grub_sm712_sr_write): Likewise.
12084 (grub_sm712_gr_write): Likewise.
12085 (grub_sm712_cr_write): Likewise.
12086 (grub_sm712_write_arx): Likewise.
12087 (grub_sm712_cr_shadow_write): Likewise.
12088 (grub_sm712_write_dda_lookup): Likewise.
12089 (grub_video_sm712_setup): Initialise the video rather then
12090 blindly replay the dump.
12091 (main) [TEST]: Add a routine to be able to compile as standalone for
12092 tests.
12093 * video/sm712_init.c (sm712_init): Removed.
12094 (sm712_sr_seq1): New array.
12095 (sm712_sr_seq2): Likewise.
12096
f0206638
VS
120972010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * include/grub/vga.h: Add missing grub/pci.h include.
12100
2764da3b
YB
121012010-08-10 Yves Blusseau <blusseau@zetam.org>
12102
12103 * util/grub-macho2img.c (main): fix typo
12104
cf0c775e
VS
121052010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
12108 (grub_vga_gr_read): Likewise.
12109 (grub_vga_cr_write): Likewise.
12110 (grub_vga_cr_read): Likewise.
12111 (grub_vga_sr_write): Likewise.
12112 (grub_vga_sr_read): Likewise.
12113 (grub_vga_palette_read): Likewise.
12114 (grub_vga_palette_write): Likewise.
12115 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
12116 (grub_sm712_sr_read): New function.
12117 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
12118 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
12119
07f360e9
RM
121202010-08-09 Robert Millan <rmh@gnu.org>
12121
12122 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
12123 out unused variables on non-ZFS build.
12124
346c2072
RM
121252010-08-08 Robert Millan <rmh@gnu.org>
12126
12127 Fix path generation for sub-filesystems in ZFS.
12128
12129 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
12130 missing slash.
12131
71175420
RM
121322010-08-08 Robert Millan <rmh@gnu.org>
12133
12134 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
12135
0d8286f3
RM
121362010-08-08 Robert Millan <rmh@gnu.org>
12137
12138 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
12139 exist, issue a proper error message (rely on `ls' for translated
12140 strings).
12141
55dd2924
RM
121422010-08-08 Robert Millan <rmh@gnu.org>
12143
12144 Fix grub-probe invocation.
12145
12146 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
12147
d3dd9e80
RM
121482010-08-04 Robert Millan <rmh@gnu.org>
12149
12150 * configure.ac: Remove checks for getfsstat() and getmntany().
12151 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
12152 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
12153 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
12154 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
12155 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
12156 function.
12157 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
12158 via find_mount_point_from_dir() and getfsstat() / getmntany().
12159
0de22aa9
RM
121602010-08-04 Robert Millan <rmh@gnu.org>
12161
12162 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
12163 (grub_find_zpool_from_mount_point): Merge into ...
12164 (grub_find_zpool_from_dir): ... this.
12165 * kern/emu/misc.c: Likewise.
12166
12167 * kern/emu/misc.c
12168 (grub_make_system_path_relative_to_its_root): Replace
12169 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
12170 with grub_find_zpool_from_dir().
12171 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
12172
62858144
RM
121732010-08-04 Robert Millan <rmh@gnu.org>
12174
12175 Support OpenSolaris in ZFS device resolution.
12176
12177 * configure.ac: Check for getmntany().
12178 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
12179 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
12180 support.
12181
9dd6fd50
RM
121822010-08-03 Robert Millan <rmh@gnu.org>
12183
12184 Fix grub-emu build.
12185
12186 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
12187 * include/grub/emu/misc.h: ... here.
12188
12189 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
12190 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
12191
12192 * util/misc.c: Remove `<grub/util/libzfs.h>'.
12193 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
12194 (grub_get_libzfs_handle): Move to ...
12195 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
12196 (grub_get_libzfs_handle): ... here.
12197
c9f7ff97
BC
121982010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
12199
12200 * script/execute.c (grub_script_execute_cmdline): Check for NULL
12201 as command name case.
12202
a870a783
CW
122032010-08-02 Colin Watson <cjwatson@ubuntu.com>
12204
12205 * disk/raid.c (insert_array): Select unique numbers for named arrays
12206 as well, for use as keys in the disk cache.
12207
c7db243b
RM
122082010-08-01 Robert Millan <rmh@gnu.org>
12209
12210 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
12211 kFreeBSD device name, except on ZFS where the filesystem label is
12212 used.
12213 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
12214 `/boot/zfs/zpool.cache'.
12215 Set mountfrom kernel variable using ${kfreebsd_device}.
12216
f7abdefb
RM
122172010-08-01 Robert Millan <rmh@gnu.org>
12218
12219 Make it even harder to use uninitialized `libzfs_handle' (and
12220 make the interface a bit simpler).
12221
12222 * include/grub/util/misc.h (grub_util_init_libzfs)
12223 (libzfs_handle): Remove.
12224 (grub_get_libzfs_handle): New prototype.
12225
12226 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
12227 attribute.
12228 (grub_util_init_libzfs): Remove.
12229 (grub_get_libzfs_handle): New function.
12230
12231 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
12232 grub_get_libzfs_handle() to obtain a libzfs handle instead of
12233 accessing `libzfs_handle' directly.
12234
c882acc0
RM
122352010-08-01 Robert Millan <rmh@gnu.org>
12236
12237 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
12238 (grub_find_zpool_from_mount_point): New function prototypes.
12239
12240 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
12241 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
12242
12243 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
12244 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
12245 `static' attribute.
12246
12247 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
12248 finding zpool from mount point into ...
12249 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
12250
12251 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
12252 requested path is part of a ZFS pool, use
12253 grub_find_zpool_from_mount_point() to detect its filesystem name,
12254 and generate a path with `/fsname@path' syntax.
12255
8bfe31d8
CW
122562010-08-01 Colin Watson <cjwatson@ubuntu.com>
12257
12258 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
12259 (void) rather than () so that this is a proper prototype.
12260
553df63d
VS
122612010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
12264
8687cf07
VS
122652010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
12268 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
12269
ea9be8ea
CW
122702010-08-01 Colin Watson <cjwatson@ubuntu.com>
12271
12272 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
12273
6eea041a
CW
122742010-08-01 Colin Watson <cjwatson@ubuntu.com>
12275
12276 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
12277
2cfb45df
CW
122782010-08-01 Colin Watson <cjwatson@ubuntu.com>
12279
12280 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
12281 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
12282 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
12283 disable gfxpayload.
12284 (Shell-like scripting): Add real content.
12285 (Serial terminal): Suggest `terminal_input serial; terminal_output
12286 serial' rather than putting the two commands on separate lines,
12287 since console input will be inoperative after the first command.
12288 (menuentry): Document --class, --users, and --hotkey options.
12289 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
12290 Vladimir Serbinenko).
12291
7decd202
VS
122922010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
122932010-08-01 Colin Watson <cjwatson@ubuntu.com>
12294
12295 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
12296
c882acc0
RM
122972010-08-01 Robert Millan <rmh@gnu.org>
12298
12299 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
12300 (grub_find_zpool_from_mount_point): New function prototypes.
12301
12302 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
12303 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
12304
12305 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
12306 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
12307 `static' attribute.
12308
12309 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
12310 finding zpool from mount point into ...
12311 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
12312
12313 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
12314 requested path is part of a ZFS pool, use
12315 grub_find_zpool_from_mount_point() to detect its filesystem name,
12316 and generate a path with `/fsname@path' syntax.
12317
deb0caa3
RM
123182010-08-01 Robert Millan <rmh@gnu.org>
12319
12320 Prevent accidental use of uninitialized libzfs_handle.
12321
12322 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
12323 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
12324 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
12325
ce04ef47
CW
123262010-08-01 Colin Watson <cjwatson@ubuntu.com>
12327
12328 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
12329 util/grub.d/10_linux.in). Fixes Debian bug #591093.
12330
ebf53056
RM
123312010-08-01 Robert Millan <rmh@gnu.org>
12332
12333 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 12334
3710bb6b
RM
123352010-07-31 Robert Millan <rmh@gnu.org>
12336
12337 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
12338
8072efeb
RM
123392010-07-31 Robert Millan <rmh@gnu.org>
12340
12341 * kern/emu/misc.c: Add missing license header.
12342
3169f4c7
RM
123432010-07-31 Robert Millan <rmh@gnu.org>
12344
12345 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
12346
12347 * include/grub/util/libnvpair.h: Include `<config.h>'.
12348 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
12349 declaring libnvpair prototypes ourselves.
12350 * include/grub/util/libzfs.h: Include `<config.h>'.
12351 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
12352 declaring libzfs prototypes ourselves.
12353
12354 (libzfs_handle): Moved to ...
12355 * include/grub/util/misc.h (libzfs_handle): ... here.
12356 Include `<grub/util/libzfs.h>'.
12357
c9a00aee
RM
123582010-07-30 Robert Millan <rmh@gnu.org>
12359
12360 * include/grub/emu/misc.h: Add missing license header.
12361
a184f9c8
RM
123622010-07-30 Robert Millan <rmh@gnu.org>
12363
12364 Enable `grub-probe -t device' resolution on ZFS.
12365
12366 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
12367 * include/grub/util/libnvpair.h: New file.
12368 * include/grub/util/libzfs.h: New file.
12369
12370 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
12371 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
12372 `<grub/util/libnvpair.h>'.
12373 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
12374
12375 (find_mount_point_from_dir): New static function.
12376 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
12377 function.
12378 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
12379 find_root_device_from_libzfs() before ressorting to find_root_device().
12380
12381 * include/grub/util/misc.h (grub_util_init_libzfs): New function
12382 prototype.
12383 * util/misc.c: Include `<grub/util/libzfs.h>'.
12384 (grub_util_init_libzfs): New function.
12385 [HAVE_LIBZFS] (libzfs_handle): New global variable.
12386 [HAVE_LIBZFS] (fini_libzfs): New static function.
12387 (grub_util_init_libzfs): New function.
12388 * util/grub-probe.c (main): Call grub_util_init_libzfs().
12389
f7790cdd
RM
123902010-07-30 Robert Millan <rmh@gnu.org>
12391
12392 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
12393 (xmalloc, xrealloc, xstrdup, xasprintf): Add
12394 `warn_unused_result' attribute.
12395 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
12396 (grub_xasprintf, grub_xvasprintf): Likewise.
12397 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
12398
0806b63c
RM
123992010-07-29 Robert Millan <rmh@gnu.org>
12400
12401 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
12402 (probe): Handle `PRINT_FS_LABEL'.
12403 (main): Handle `-t fs_label'.
12404
9f841f5c
RM
124052010-07-29 Robert Millan <rmh@gnu.org>
12406
12407 * configure.ac: Remove grub-mkisofs checks.
12408
46371121
VS
124092010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 * util/ieee1275/grub-install.in: Don't use empty grub_device.
12412 Reported by: Lennart Sorensen.
12413
124142010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
12417 prior to terminal_input/terminal_output separation. It's been over 1.5
12418 years and those versions weren't widely deployed.
12419
a9600892
CW
124202010-07-22 Colin Watson <cjwatson@ubuntu.com>
12421
12422 * disk/raid.c (insert_array): Don't count named arrays when looking
12423 for unused array numbers.
697e053c 12424 Reported and tested by: Michael Guntsche.
a9600892 12425
c03507df
CW
124262010-07-20 Colin Watson <cjwatson@ubuntu.com>
12427
12428 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
12429 implementation of this so that grub-emu links again, with a note
12430 that this should support hotplugging in the future.
12431
b26f1c11
CW
124322010-07-20 Colin Watson <cjwatson@ubuntu.com>
12433
12434 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12435
efc9d7f1
CW
124362010-07-20 Colin Watson <cjwatson@ubuntu.com>
12437
12438 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
12439 handle on failure.
12440 (grub_loopback_close): Remove empty function.
12441 (grub_loopback_dev): Remove close method.
12442
dd8ff5c9
CW
124432010-07-20 Colin Watson <cjwatson@ubuntu.com>
12444
12445 Disable EFI cursor when the EFI console becomes inactive.
12446
12447 * term/efi/console.c (grub_efi_console_init): New function.
12448 (grub_efi_console_fini): New function.
12449 (grub_console_term_output): Register init and fini methods.
12450
5e3bec67
VS
124512010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12452
12453 * tests/util/grub-shell-tester.in: Remove bashism and declare as
12454 sh script.
12455
afaec079
VS
124562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 * disk/loopback.c (grub_loopback): Replace filename with file.
12459 (delete_loopback): Handle new semantics.
12460 (grub_cmd_loopback): Likewise.
12461 (grub_loopback_iterate): Likewise.
12462 (grub_loopback_close): Likewise.
12463
a6a11f3c
VS
124642010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
12467 with -p "".
12468 Reported by: Tito Keitel.
12469
64a638b0
VS
124702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * docs/grub.texi (Naming convention): Document new naming convention.
12473
ab8ba957
VS
124742010-07-20 Vadim Solomin <vadic052@gmail.com>
124752010-07-20 Colin Watson <cjwatson@ubuntu.com>
12476
12477 Generate device.map in something closer to the old ordering.
12478
12479 * util/deviceiter.c (struct device): New declaration.
12480 (compare_file_names): Rename to ...
12481 (compare_devices): ... this. Sort by kernel name in preference to
12482 the stable by-id name, but keep the latter as a fallback comparison.
12483 Update header comment.
12484 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
12485 of `struct device' rather than of plain file names.
12486
a29d6a4b
TF
124872010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
12488
12489 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
12490 on i386.
12491
39d824e8
VS
124922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12493
12494 * commands/acpi.c (setup_common_tables): Use sizeof instead of
12495 hardcoding size.
12496 (setv1table): Likewise.
12497
f058276b
FZ
124982010-07-20 Colin Watson <cjwatson@ubuntu.com>
12499
12500 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
12501 removing the homehost if present.
12502 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
12503 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
12504 removing the homehost if present.
12505 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
12506 if possible.
12507 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
12508
12509 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
12510 parameter. Set its pointer target to 0.
12511 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
12512 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
12513 `data_offset' value from the superblock for 1.x metadata.
12514 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
12515 data on the device.
12516 (insert_array): Record the start sector of data on the device.
12517 (grub_raid_register): Pass start_sector parameters to
12518 grub_raid_list->detect and insert_array.
12519 * include/grub/raid.h (struct grub_raid_array): Add start_sector
12520 member.
12521 (struct grub_raid): Add start_sector parameter to `detect'.
12522
12523 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
12524 __attribute__ ((packed)), leaving a comment.
12525 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
12526 (grub_mdraid_detect_09): ... here and ...
12527 (grub_mdraid_detect_1x): ... here.
12528
125292010-07-20 Peter Henn <peter.henn@web.de>
12530
12531 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
12532 chunk size and disk size, which are already given as sector counts
12533 as distinct from the 0.90 units. Fetch the correct device number
12534 from the role table instead of using the table index.
12535
125362010-07-20 Felix Zielcke <fzielcke@z-51.de>
12537
12538 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
12539 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
12540 (WriteMostly1): New macro.
12541 Set array->name to NULL for metadata format 0.90. Add support for
12542 metadata 1.x. Fix some comments.
12543 * disk/raid.c (): Add support for name based RAID arrays. Fix a
12544 few comments.
12545 * util/getroot.c (grub_util_get_grub_dev): Add support for
12546 /dev/md/name style devices.
12547
4b761da9
CW
125482010-07-20 Colin Watson <cjwatson@ubuntu.com>
12549
12550 * .bzrignore: Ignore 20_linux_xen.
12551
5771289a
CW
125522010-07-17 Colin Watson <cjwatson@ubuntu.com>
12553
12554 * util/import_unicode.py: Remove unnecessary imports.
12555
5dab68df
AN
125562010-07-17 Aleš Nesrsta <starous@volny.cz>
12557
12558 Hotplugging and USB hub support.
12559
12560 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
12561 (grub_ohci): Likewise.
12562 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
12563 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
12564 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
12565 (GRUB_OHCI_CTRL_EDS): Likewise.
12566 (GRUB_OHCI_BULK_EDS): Likewise.
12567 (GRUB_OHCI_TDS): Likewise.
12568 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
12569 (grub_ohci_ed_phys2virt): New function.
12570 (grub_ohci_virt_to_phys): Likewise.
12571 (grub_ohci_td_phys2virt): Likewise.
12572 (grub_ohci_td_virt2phys): Likewise.
12573 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
12574 attachment.
12575 (grub_ohci_find_ed): New function.
12576 (grub_ohci_alloc_td): Likewise.
12577 (grub_ohci_free_td): Likewise.
12578 (grub_ohci_free_tds): Likewise.
12579 (grub_ohci_transfer): Use previously allocated memory.
12580 (grub_ohci_portstatus): Reset status changed bit.
12581 (grub_ohci_detect_dev): Supply status changed.
12582 (grub_ohci_fini_hw): Free memory.
12583 (grub_ohci_restore_hw): Reallocate memory.
12584 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
12585 Reset status change.
12586 (grub_uhci_detect_dev): Supply status_change.
12587 * bus/usb/usb.c (attach_hooks): New var.
12588 (grub_usb_device_attach): New function.
12589 (grub_usb_register_attach_hook_class): Likewise.
12590 (grub_usb_unregister_attach_hook_class): Likewise.
12591 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
12592 (grub_usb_add_hub): Reset connection changed bit.
12593 (attach_root_port): New function.
12594 (grub_usb_root_hub): Likewise.
12595 (poll_nonroot_hub): Likewise.
12596 (grub_usb_poll_devices): Likewise.
12597 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
12598 * disk/usbms.c (grub_usbms_open): Use device hooks.
12599 (grub_usbms_iterate) :Poll devices.
12600 (grub_usbms_finddevs): Split into ...
12601 (grub_usbms_attach): ... this ...
12602 (grub_usbms_attach): ... and this.
12603 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
12604 in detect_dev.
12605 (grub_usb_interface): New fields attached and detach_hook.
12606 (grub_usb_attach_hook_class): New type.
12607 (grub_usb_attach_desc): New struct.
12608 (grub_usb_register_attach_hook_class): New function.
12609 (grub_usb_unregister_attach_hook_class): Likewise.
12610 (grub_usb_poll_devices): Likewise.
12611 (grub_usb_device_attach): Likewise.
12612 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
12613 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
12614
3222efaf
VS
126152010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
12618 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
12619 delta determination style. Works with most NetBSD partitions too.
12620
139b714a
VS
126212010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
12624 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
12625
986aad56
VS
126262010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
12629
99be513c
AB
126302010-07-14 Anton Blanchard <anton@samba.org>
12631
12632 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
12633 ET_DYN files.
12634
18075f62
GS
126352010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12636
12637 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
12638
8d9a5b15
GS
126392010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12640
12641 * kern/partition.c (grub_partition_check_containment): New function to
12642 check that a partition is physically contained in a parent. Since
12643 offsets are relative (and non-negative), this reduces to checking that
12644 the partition ends before its parent.
12645 (grub_partition_map_probe): Discard out-of-range sub-partitions.
12646 (grub_partition_iterate): Likewise.
12647 * include/grub/partition.h (grub_partition_map): Slightly more detailed
12648 comments.
12649 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
12650 partitions that start before their parent, and add debug printfs.
12651
19563c25
CW
126522010-07-13 Colin Watson <cjwatson@ubuntu.com>
12653
12654 * Makefile.in (.SUFFIX): Spell correctly, as ...
12655 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
12656 bare module name without `.mod', e.g. `test') tried to invoke a
12657 Modula-2 compiler.
12658
1a1f1e67
CW
126592010-07-13 Colin Watson <cjwatson@ubuntu.com>
12660
12661 * README: Point to the Info manual.
12662
811b0dca
JS
126632010-07-13 Jiro SEKIBA <jir@unicus.jp>
12664
12665 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
12666 2nd superblock position from partition size.
12667
e4f4eafc
CW
126682010-07-10 Colin Watson <cjwatson@ubuntu.com>
12669
12670 * Makefile.in (MAINTAINER_CLEANFILES): Remove
12671 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
12672 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
12673 outputs.
12674
4274c30f
VS
126752010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 Restructure SCSI .id handling.
12678 Reported and tested by: Aleš Nesrsta.
12679
12680 * disk/ata.c (grub_atapi_close): Removed. All users updated.
12681 (grub_atapi_dev): Changed .name to "ata". New field .id.
12682 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
12683 (grub_usbms_dev): New field .id.
12684 * disk/scsi.c (grub_scsi_iterate): Generate name.
12685 (grub_scsi_open): Parse name.
12686 * include/grub/scsi.h (grub_make_scsi_id): New function.
12687 (grub_scsi_dev): Change iterate and open to number instead of naming
12688 busses. All users updated.
12689 (grub_scsi): Remove name. Add .bus.
12690
5bc24388
VS
126912010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * commands/help.c (grub_cmd_help): Fix a typo.
12694
249975ba
VS
126952010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
12698 Reported and tested by: Colin Watson.
12699
3eaac1a1
VS
127002010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
12703 in this context.
12704
becce1b1
VS
127052010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
12708
f7bf0918
CW
127092010-07-07 Colin Watson <cjwatson@ubuntu.com>
12710
12711 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
12712 indentation.
12713
0b0f9620
CW
127142010-07-06 Colin Watson <cjwatson@ubuntu.com>
12715
12716 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
12717 and disk/raid6_recover.c.
12718 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12719 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12720
1e545469
CW
127212010-07-06 Colin Watson <cjwatson@ubuntu.com>
12722
12723 * term/gfxterm.c (repaint_schedulded): Rename to ...
12724 (repaint_scheduled): ... this. Update all callers.
12725 (repaint_was_schedulded): Rename to ...
12726 (repaint_was_scheduled): ... this. Update all callers.
12727
5357687a
CW
127282010-07-06 Colin Watson <cjwatson@ubuntu.com>
12729
12730 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
12731 which we expect to be handled by upper layers.
12732
29d7e783
BC
127332010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
12734
12735 * bus/usb/usbhub.c: #include time.h header.
12736
37582066
CW
127372010-07-06 Colin Watson <cjwatson@ubuntu.com>
12738
12739 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
12740 entry_name also for entries without stat blocks (e.g. ".."); fixes
12741 corruption of the first entry in a directory.
12742
c8c06953
CW
127432010-07-06 Colin Watson <cjwatson@ubuntu.com>
12744
12745 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
12746 after setting gfxterm as the active terminal. GRUB_BACKGROUND
12747 doesn't work otherwise.
12748
e75056f1
CW
127492010-07-05 Colin Watson <cjwatson@ubuntu.com>
12750
12751 * docs/grub.texi (Features): Update list of supported file systems.
12752 (GNU/Linux): Update for GRUB 2.
12753 (Serial terminal): Remove mention of --disable-serial, which was a
12754 GRUB Legacy configure option. Update instructions to use
12755 `terminal_input' and `terminal_output' rather than `terminal'.
12756 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
12757 configuration' and `Installing GRUB using grub-install'.
12758 (Menu entry editor): Update for GRUB 2.
12759 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
12760 Document new -a, -u, and -v options.
12761 (initrd): New section.
12762 (initrd16): New section.
12763 (linux): New section.
12764 (linux16): New section.
12765 (search): The `var' argument to `--set' is optional.
12766 (GRUB only offers a rescue shell): Go into a little more detail on
12767 drive ordering.
12768
5cf69151
CW
127692010-07-05 Colin Watson <cjwatson@ubuntu.com>
12770
12771 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
12772
e3f90044
CW
127732010-07-05 Colin Watson <cjwatson@ubuntu.com>
12774
12775 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
12776 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
12777
38d8f4f3
CW
127782010-07-05 Colin Watson <cjwatson@ubuntu.com>
12779
12780 * util/i386/pc/grub-setup.c (setup): Rename prefix to
12781 install_prefix, in line with install_dos_part and install_bsd_part.
12782 Add new prefix variable, which is copied to install_prefix after
12783 comparing core.img in memory with the one read from disk in the
12784 no-embedding case, and use that rather than overwriting
12785 install_prefix immediately when installing to a partition.
12786 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
12787 Bicakci.
12788
57ebd41e
GS
127892010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12790
12791 * configure.ac: Avoid == in test command, it's not portable.
12792 * util/grub.d/30_os-prober.in: Likewise.
12793
cb7f64b2
CW
127942010-07-04 Colin Watson <cjwatson@ubuntu.com>
12795
12796 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12797
6b654bb0
GS
127982010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12799
12800 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12801 multiple (top-level) partmaps.
12802
72a2026d
VS
128032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 12806 Reported by: Tino Keitel.
72a2026d 12807
df3eb88f
VS
128082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 Bidi and diacritics support.
12811
12812 * Makefile.in (widthspec.bin): New target.
12813 (widthspec.h): Likewise.
12814 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12815 * autogen.sh: Generate unidata.c.
12816 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12817 * commands/ls.c (grub_ls_list_devices): Likewise.
12818 (grub_ls_list_files): Likewise.
12819 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12820 (grub_mini_cmd_lsmod): Likewise.
12821 * commands/read.c: Likewise.
12822 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12823 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12824 * lib/arg.c (grub_arg_show_help): Likewise.
12825 * lib/crypto.c (grub_password_get): Likewise.
12826 * normal/auth.c (grub_username_get): Likewise.
12827 * normal/misc.c (grub_normal_print_device_info): Likewise.
12828 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12829 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12830 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12831 (normal/charset.c_DEPENDENCIES): New variable.
12832 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12833 (pkglib_MODULES): Remove charset.mod.
12834 (charset_mod_SOURCES): Removed.
12835 (charset_mod_CFLAGS): Likewise.
12836 (charset_mod_LDFLAGS): Likewise.
12837 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12838 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12839 and term/tparm.c.
12840 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12841 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12842 (kernel_img_HEADERS): Add terminfo.h.
12843 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12844 Fill ->font. Reverse ascii bitmaps.
12845 (grub_font_get_xheight): New function.
12846 * font/font.c (grub_font_get_string_width): Moved from here ...
12847 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12848 * font/font.c (grub_font_draw_string): Moved from here ...
12849 * gfxmenu/font.c (grub_font_draw_string): ... here.
12850 * font/font.c (grub_font_dup_glyph): New function.
12851 (grub_font_blit_glyph): Likewise.
12852 (grub_font_blit_glyph_mirror): Likewise.
12853 (blit_comb): Likewise.
12854 (grub_font_construct_dry_run): Likewise.
12855 (grub_font_get_constructed_device_width): Likewise.
12856 (grub_font_construct_glyph): Likewise.
12857 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12858 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12859 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12860 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12861 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12862 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12863 (grub_font_get_xheight): New proto.
12864 (grub_font_get_constructed_device_width): Likewise.
12865 (grub_font_construct_glyph): Likewise.
12866 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12867 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12868 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12869 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12870 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12871 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12872 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12873 (grub_console_getcharwidth): Likewise.
12874 * include/grub/misc.h (grub_xputs): New proto.
12875 (grub_puts): Inlined.
12876 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12877 (grub_normal_get_line_counter): Removed.
12878 (grub_install_newline_hook): Likewise.
12879 (grub_normal_get_char_counter): New proto.
12880 (grub_normal_reset_more): Likewise.
12881 (grub_xputs_normal): Likewise.
12882 * include/grub/powerpc/ieee1275/console.h: Removed.
12883 * include/grub/sparc64/ieee1275/console.h: Likewise.
12884 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12885 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12886 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12887 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12888 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12889 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12890 (grub_term_input): Pass reference to self. All users updated.
12891 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12892 Pass reference to self. New fields normal_color, highlight_color and
12893 data. All users updated.
12894 (grub_putchar): Removed.
12895 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12896 (grub_unicode_estimate_width): New function.
12897 (grub_term_getcharwidth): Add defaults.
12898 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12899 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12900 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12901 (grub_cls): Remove EXPORT_FUNC.
12902 (grub_setcolorstate): Inline.
12903 (grub_newline_hook): Removed.
12904 * include/grub/terminfo.h: Rewritten. All users updated.
12905 * include/grub/unicode.h: New file.
12906 * include/grub/video.h (grub_video_signed_rect): New type.
12907 * kern/emu/console.c (grub_console_highlight_color): Removed.
12908 (grub_console_normal_color): Likewise.
12909 (grub_console_standard_color): Made static.
12910 (grub_ncurses_putchar): Remove mapping.
12911 (grub_ncurses_getcharwidth): Removed.
12912 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12913 (grub_ncurses_setcolor): Removed.
12914 (grub_ncurses_getcolor): Likewise.
12915 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12916 (grub_console_putchar): ... this.
12917 (grub_console_putchar): Handle argument difference.
12918 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12919 console_init_early and console_init_lately.
12920 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12921 * kern/misc.c (grub_puts): Removed.
12922 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12923 (grub_vsnprintf_real): Remove str = NULL support.
12924 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12925 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12926 * kern/term.c (grub_putcode): Renamed to ...
12927 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12928 (grub_putchar): Removed.
12929 (grub_xputs_dumb): New function.
12930 (grub_xputs): New variable.
12931 * lib/charset.c: Move from here ...
12932 * normal/charset.c: ... to here.
12933 (grub_ucs4_to_utf8): New function.
12934 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12935 (join_types): New variable.
12936 (unpack_join): New function.
12937 (bidi_types): New variable.
12938 (unpack_bidi): New function.
12939 (get_bidi_type): Likewise.
12940 (get_join_type): Likewise.
12941 (is_mirrored): Likewise.
12942 (grub_unicode_get_comb_type): Likewise.
12943 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12944 (is_type_after): Likewise.
12945 (grub_unicode_aglomerate_comb): Likewise.
12946 (bidi_line_wrap): Likewise.
12947 (grub_bidi_line_logical_to_visual): Likewise.
12948 (grub_bidi_logical_to_visual): Likewise.
12949 (grub_unicode_mirror_code): Likewise.
12950 (grub_unicode_shape_code): Likewise.
12951 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12952 Don't use grub_putchar.
12953 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12954 (grub_normal_reader_init): Likewise.
12955 (grub_xputs_saved): New variable.
12956 (GRUB_MOD_INIT): Set grub_xputs.
12957 (GRUB_MOD_FINI): Restore grub_xputs.
12958 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12959 (menu_init): Avoid printing gfxmenu error.
12960 (show_menu): Use grub_normal_get_char_counter.
12961 * normal/menu_entry.c (update_screen): Fix out-of-array.
12962 (complete): Avoid NULL dereferencing.
12963 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12964 * normal/menu_text.c (print_spaces): Removed.
12965 (grub_print_ucs4): Likewise.
12966 (grub_print_message_indented): Use grub_print_ucs4.
12967 (print_message): Use grub_putcode.
12968 (print_entry): Hanlde diacritics.
12969 * normal/term.c (term_state): New type.
12970 (grub_more_lines): Removed.
12971 (term_states): New variable.
12972 (grub_normal_line_counter): Renamed to ..
12973 (grub_normal_char_counter): ...this. All users updated.
12974 (grub_normal_get_line_counter): Renamed to ...
12975 (grub_normal_get_char_counter): ... this.
12976 (grub_normal_reset_more): New function.
12977 (process_newline): Removed.
12978 (print_more): New function.
12979 (grub_install_newline_hook): Removed.
12980 (map_code): New function.
12981 (grub_puts_terminal): Use grub_print_ucs4.
12982 (putglyph): New function.
12983 (putcode_real): Likewise.
12984 (grub_putcode): Use putcode_real.
12985 (get_maxwidth): New function.
12986 (get_startwidth): Likewise.
12987 (print_ucs4_terminal): Likewise.
12988 (find_term_state): Likewise.
12989 (put_glyphs_terminal): Likewise.
12990 (print_backlog): Likewise.
12991 (print_ucs4_real): Likewise.
12992 (grub_print_ucs4): Likewise.
12993 (grub_xputs_normal): Likewise.
12994 * term/efi/console.c (grub_console_putchar): Output diacritics.
12995 (grub_console_getcharwidth): Removed.
12996 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12997 * term/gfxterm.c (clear_char): Free chars.
12998 (scroll_up): Avoid leaking memory.
12999 (grub_gfxterm_putchar): Support diacritics.
13000 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
13001 * term/i386/pc/console.c (grub_console_term_output): Declare as
13002 GRUB_TERM_CODE_TYPE_VGA.
13003 * term/i386/pc/vga.c (grub_vga_term): Declare as
13004 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
13005 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
13006 GRUB_TERM_CODE_TYPE_VGA.
13007 * term/i386/vga_common.c (map_char): Removed.
13008 (grub_console_putchar): Likewise.
13009 (grub_console_getcharwidth): Likewise.
13010 * term/ieee1275/ofconsole.c: Simplify using terminfo.
13011 (colors): Reordered to match terminfo.
13012 (grub_ofconsole_normal_color): Removed.
13013 (grub_ofconsole_writeesc): Likewise.
13014 (grub_ofconsole_highlight_color): Likewise.
13015 (grub_ofconsole_getcharwidth): Likewise.
13016 (grub_ofconsole_setcolorstate): Likewise.
13017 (grub_ofconsole_setcolor): Likewise.
13018 (grub_ofconsole_getcolor): Likewise.
13019 (grub_ofconsole_readkey): Renamed to ...
13020 (readkey): ... this. Remove escape sequence handling. Return -1 on no
13021 key.
13022 (grub_ofconsole_checkkey): Removed.
13023 (grub_ofconsole_getkey): Likewise.
13024 (grub_ofconsole_getxy): Likewise.
13025 (grub_ofconsole_gotoxy): Likewise.
13026 (grub_ofconsole_cls): Likewise.
13027 (grub_ofconsole_refresh): Likewise.
13028 (grub_ofconsole_terminfo_input): New struct.
13029 (grub_ofconsole_terminfo_output): Likewise.
13030 (grub_ofconsole_term_input): Use terminfo.
13031 (grub_ofconsole_term_output): Likewise.
13032 (grub_console_init): Split into ...
13033 (grub_console_init_early): ...this and ...
13034 (grub_console_init_lately): ...this. Use terminfo.
13035 (grub_ofconsole_putchar): Renamed to ...
13036 (put): ... this. Remove mapping.
13037 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
13038 * term/serial.c: Simplify using terminfo.
13039 (xpos): Removed.
13040 (ypos): Likewise.
13041 (keep_track): Likewise.
13042 (registered): Likewise.
13043 (input_buf): Likewise.
13044 (npending): Likewise.
13045 (serial_translate_key_sequence): Likewise.
13046 (fill_input_buf): Likewise.
13047 (grub_serial_checkkey): Likewise.
13048 (grub_serial_getkey): Likewise.
13049 (grub_serial_getxy): Likewise.
13050 (grub_serial_gotoxy): Likewise.
13051 (grub_serial_putchar): Likewise.
13052 (grub_serial_cls): Likewise.
13053 (grub_serial_setcolorstate): Likewise.
13054 (grub_serial_setcursor): Likewise.
13055 (serial_hw_init): Use serial_hw_fetch.
13056 (grub_serial_terminfo_input): New variable.
13057 (grub_serial_terminfo_output): Likewise.
13058 (grub_serial_term_input): Use terminfo.
13059 (grub_serial_term_output): Likewise.
13060 * term/terminfo.c (putstr): Use put.
13061 (grub_terminfo_all_free): New function
13062 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
13063 (grub_terminfo_output_register): New function.
13064 (grub_terminfo_output_unregister): Likewise.
13065 (grub_terminfo_getxy): Likewise.
13066 (grub_terminfo_readkey): Likewise.
13067 (grub_terminfo_checkkey): Likewise.
13068 (grub_terminfo_getkey): Likewise.
13069 (grub_terminfo_input_init): Likewise.
13070 (print_terminfo): Likewise.
13071 (grub_cmd_terminfo): Handle encoding.
13072 (grub_terminfo_gotoxy): Track position.
13073 (grub_terminfo_cls): Likewise.
13074 (grub_terminfo_putchar): Likewise.
13075 (grub_terminfo_setcolorstate): Handle colors
13076 (grub_terminfo_cursor_on): This ...
13077 (grub_terminfo_cursor_off): ... and this merged into ...
13078 (grub_terminfo_setcursor): ... this.
13079 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
13080 * unicode/ArabicShaping.txt: New file (imported from Unicode).
13081 * unicode/BidiMirroring.txt: Likewise.
13082 * unicode/UnicodeData.txt: Likewise.
13083 * unicode/COPYING: Likewise.
13084 * util/grub-editenv.c (grub_putchar): Removed.
13085 (grub_xputs_real): New function.
13086 (grub_xputs): New variable.
13087 * util/grub-fstest.c (grub_putchar): Removed.
13088 (grub_xputs_real): New function.
13089 (grub_xputs): New variable.
13090 * util/grub-mkdevicemap.c (grub_putchar): Removed.
13091 (grub_xputs_real): New function.
13092 (grub_xputs): New variable.
13093 * util/grub-probe.c (grub_putchar): Removed.
13094 (grub_xputs_real): New function.
13095 (grub_xputs): New variable.
13096 * util/grub-script-check.c (grub_putchar): Removed.
13097 (grub_xputs_real): New function.
13098 (grub_xputs): New variable.
13099 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
13100 (grub_xputs_real): New function.
13101 (grub_xputs): New variable.
13102 * util/import_unicode.py: New file.
13103 * util/grub-mkfont.c (ft_errmsgs): New array.
13104 (grub_glyph_info): Make bitmap a pointer.
13105 (file_formats): New type WIDTH_SPEC.
13106 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
13107 (options): Add width-spec.
13108 (help): Likewise.
13109 (add_char): Renamed to ...
13110 (add_glyph): ... this.
13111 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
13112 (glyph_replace): New type.
13113 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
13114 (add_char): New function.
13115 (add_subst): Likewise.
13116 (process_cursive): Likewise.
13117 (add_font): Handle GSUB.
13118 (write_font_width_spec): New function.
13119 (main): Sort glyphs.
13120 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
13121 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
13122 * kern/term.c (grub_cls): Moved from here...
13123 * normal/term.c (grub_cls): ... here.
13124
50f0bcda
CW
131252010-07-02 Colin Watson <cjwatson@ubuntu.com>
13126
13127 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
13128 suitable for using within the format argument of printf when
13129 converting grub_size_t.
13130 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
13131 "x" to convert grub_size_t arguments.
13132
40372103
VS
131332010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
13136 too long captions.
13137 (list_get_minimal_size): Take selection box into account.
13138
942a10c7
VS
131392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
13142 NULL font.
13143
2bdb2892
CW
131442010-07-02 Colin Watson <cjwatson@ubuntu.com>
13145
13146 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
13147 devices when iterating over /dev/disk/by-id; they will be handled
13148 later if appropriate, which they aren't always (e.g. LVM).
13149
e03ed6c1
CW
131502010-07-02 Colin Watson <cjwatson@ubuntu.com>
13151
13152 * include/grub/misc.h (grub_reboot): Declare as noreturn.
13153 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
13154 fails.
13155 (grub_halt): Likewise.
13156 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
13157 reset-all fails.
13158 (grub_halt): Don't return, even if all of shut-down, power-off, and
13159 poweroff fail.
13160
47695765
CW
131612010-07-02 Colin Watson <cjwatson@ubuntu.com>
13162
13163 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
13164 arguments, not three.
13165
507736c8
CW
131662010-07-02 Colin Watson <cjwatson@ubuntu.com>
13167
13168 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
13169 * util/grub.d/10_linux.in: Use it to check for LVM, so that
13170 LVM-on-RAID is handled correctly.
13171
e3c8cd37
CW
131722010-07-02 Colin Watson <cjwatson@ubuntu.com>
13173
13174 * docs/grub.texi (Changes from GRUB Legacy): New section.
13175 (Future): Fix typo.
13176
8d4a2fec
CW
131772010-07-02 Colin Watson <cjwatson@ubuntu.com>
13178
13179 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
13180 grub.d/README accidentally ends up executable for one reason or
13181 another. Ignore it.
13182
1c4827be
VS
131832010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
13186 (gpt_partition_map_iterate): Support non-512B sectors.
13187
d9a0c941
VS
131882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * kern/efi/init.c (grub_efi_init): Disable watchdog.
13191 Tested by: Seth Goldberg.
13192
48f27e87
VS
131932010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
13196 Properly align mbi.
13197 Reported by: Seth Goldberg.
13198
b0c4f956
VS
131992010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
13200
13201 * util/grub-mkrescue.in: Avoid module duplication.
13202
105a2e8c
SF
132032010-07-01 Sean Finney <seanius@seanius.net>
13204
13205 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
13206
5944958c
SF
132072010-07-01 Sean Finney <seanius@seanius.net>
13208
13209 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
13210
132112010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
13212
13213 * disk/lvm.c (grub_lvm_checkvalue): New function.
13214 (grub_lvm_check_flag): Likewise.
13215
b79889ba
RM
132162010-07-01 Robert Millan <rmh@gnu.org>
13217
13218 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
13219 Support 'p' as partition separator on kernel of FreeBSD (used
13220 with GPT labels).
13221 (grub_util_biosdisk_get_grub_dev): Likewise.
13222
ec1d04f1
VS
132232010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
13224
13225 Yeeloong firmware port.
13226
13227 * boot/mips/yeeloong/fwstart.S: New file.
13228 * bus/cs5536.c (gpiodump): New const.
13229 (set_io_space): New function.
13230 (set_iod): Likewise.
13231 (set_p2d): Likewise.
13232 (grub_cs5536_init_geode): Likewise.
13233 * commands/mips/yeeloong/lsspd.c: New file.
13234 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
13235 (serial_mod_SOURCES): New variable.
13236 (serial_mod_CFLAGS): Likewise.
13237 (serial_mod_LDFLAGS): Likewise.
13238 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
13239 term/terminfo.c and term/tparm.c.
13240 (pkglib_IMAGES): Add fwstart.img.
13241 (fwstart_img_SOURCES): New variable.
13242 (fwstart_img_CFLAGS): Likewise.
13243 (fwstart_img_ASFLAGS): Likewise.
13244 (fwstart_img_LDFLAGS): Likewise.
13245 (fwstart_img_FORMAT): Likewise.
13246 (pkglib_MODULES): Add lsspd.mod.
13247 (lsspd_mod_SOURCES): New variable.
13248 (lsspd_mod_CFLAGS): Likewise.
13249 (lsspd_mod_LDFLAGS): Likewise.
13250 (pkglib_MODULES): Add halt.mod.
13251 (halt_mod_SOURCES): New variable.
13252 (halt_mod_CFLAGS): Likewise.
13253 (halt_mod_LDFLAGS): Likewise.
13254 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
13255 (serial_mod_SOURCES): Removed.
13256 (serial_mod_CFLAGS): Likewise.
13257 (serial_mod_LDFLAGS): Likewise.
13258 * disk/ata.c (check_device): New function.
13259 (grub_ata_device_initialize): Use check_device.
13260 (grub_ata_iterate): Recheck devices.
13261 (grub_ata_open): Likewise.
13262 (grub_atapi_iterate): Likewise.
13263 (grub_atapi_open): Likewise.
13264 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
13265 (GRUB_ATA_CH1_PORT1): Likewise.
13266 (GRUB_ATA_CH0_PORT2): Likewise.
13267 (GRUB_ATA_CH1_PORT2): Likewise.
13268 * include/grub/mips/loongson.h: New file.
13269 * include/grub/mips/yeeloong/ec.h: Likewise.
13270 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
13271 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
13272 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
13273 * include/grub/misc.h (grub_halt): Declare as noreturn.
13274 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
13275 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
13276 (UART_ENABLE_FIFO_TRIGGER1): New definition.
13277 (UART_ENABLE_DTRRTS): Likewise.
13278 (UART_ENABLE_MODEM): Removed.
13279 (UART_ENABLE_OUT2): New const.
13280 * include/grub/term.h (grub_term_register_input_active): New function.
13281 (grub_term_register_output_active): Likewise.
13282 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
13283 argument.
13284 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
13285 (init_pci): New function.
13286 (grub_machine_init): Execute platform init when firmware. Init serial.
13287 (grub_halt): Implement.
13288 (grub_exit): Likewise.
13289 (grub_reboot): Likewise.
13290 * term/serial.c (serial_hw_init): Update macros.
13291 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
13292 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
13293 (image_targets): New target mipsel-yeeloong-flash.
13294 (generate_image): Support IMAGE_YEELOONG_FLASH.
13295 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
13296 (grub_video_sm712_setup): Init card.
13297 (grub_video_sm712_set_palette): Removed.
13298 * video/sm712_init.c: New file.
13299
ff4a70d2
CW
133002010-06-30 Colin Watson <cjwatson@ubuntu.com>
13301
13302 * Makefile.in (install-local): Temporarily prepend $(builddir) to
13303 PATH when running help2man and then run it on the unadorned
13304 executable names, rather than passing $(builddir)/* paths to
13305 help2man. This avoids the build directory ending up in generated
13306 manual pages.
13307
1246efeb
CW
133082010-06-29 Colin Watson <cjwatson@ubuntu.com>
13309
13310 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
13311 to avoid accidents when debugging with 'sh -x'.
13312 * util/grub-mkrescue.in: Likewise.
13313 * util/grub.d/00_header.in: Likewise.
13314 * util/grub.d/10_hurd.in: Likewise.
13315 * util/grub.d/10_kfreebsd.in: Likewise.
13316 * util/grub.d/10_linux.in: Likewise.
13317 * util/grub.d/10_netbsd.in: Likewise.
13318 * util/grub.d/10_windows.in: Likewise.
13319 * util/grub.d/20_linux_xen.in: Likewise.
13320 * util/grub.d/30_os-prober.in: Likewise.
13321 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13322
1ba9b889
CW
133232010-06-29 Colin Watson <cjwatson@ubuntu.com>
13324
13325 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
13326 last character in the buffer.
13327 Reported by: Vladimir Serbinenko.
13328
dccaf99d
RM
133292010-06-29 Robert Millan <rmh@gnu.org>
13330
13331 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
13332 (Command-line and menu entry commands): Document `badram' command.
13333
d500ed12
RM
133342010-06-28 Robert Millan <rmh@gnu.org>
13335
13336 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
13337 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
13338 command using ${GRUB_BADRAM} as parameter.
13339
20bc84a6
CW
133402010-06-28 Colin Watson <cjwatson@ubuntu.com>
13341
13342 * docs/grub.texi (Device map): New section.
13343 (Themes): New section (stub).
13344 * Makefile.in (docs/grub.info): The info documentation now builds
13345 without errors. Make sure it stays that way.
13346
4045dee1
VS
133472010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 Use normal parser for menu entries.
13350 Reported by: Thomas Frauendorfer
13351
13352 * include/grub/parser.h (grub_parser_execute): Don't export.
13353 * normal/menu.c (grub_menu_execute_entry_real): New function.
13354 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
13355
bca58c7b
CW
133562010-06-28 Colin Watson <cjwatson@ubuntu.com>
13357
13358 * docs/grub.texi (Embedded configuration): New section (replacing
13359 old "Preset Menu" stub).
13360 (Images): New section.
13361 (configfile): Note that any menu entries defined in `file' are shown
13362 immediately.
13363
dec53e63
JT
133642010-06-28 Josh Triplett <josh@joshtriplett.org>
13365
13366 * mmap/i386/pc/mmap_helper.S: Set CF on return.
13367
c06e40f7
CW
133682010-06-28 Colin Watson <cjwatson@ubuntu.com>
13369
13370 * util/grub-install.in: Add --debug-image= option.
13371
cb88052b
CW
133722010-06-28 Colin Watson <cjwatson@ubuntu.com>
13373
13374 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
13375 possible on Linux.
13376
13377 * util/deviceiter.c (check_device): Rename to ...
13378 (check_device_readable_unique): ... this. Update all callers.
13379 Maintain and check a list of which devices (by canonicalized name)
13380 have already been seen.
13381 (clear_seen_devices): New function.
13382 (compare_file_names) [__linux__]: New function.
13383 (grub_util_iterate_devices): Clear the list of seen devices on exit
13384 and (just in case) on entry.
13385 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
13386 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
13387 seen-devices list, superseded by general code in check_device.
13388
bbe34652
CW
133892010-06-28 Colin Watson <cjwatson@ubuntu.com>
13390
13391 * commands/cat.c (options): New variable.
13392 (grub_cmd_cat): Parse options. If the --dos option is given, print
13393 DOS-style "\r\n" line endings as simple newlines (Debian bug
13394 #586358).
13395 (GRUB_MOD_INIT): Use extcmd.
13396 (GRUB_MOD_FINI): Likewise.
13397 * docs/grub.texi (cat): Document --dos.
13398
412e09f3
VS
133992010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 XEN with Linux grub-mkconfig support.
13402
13403 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
13404 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
13405 GRUB_CMDLINE_XEN_DEFAULT.
13406 * util/grub.d/20_linux_xen.in: New file.
13407
53f3ef38 134082010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
13409
13410 Initialise VGA video on qemu ourselves.
13411
13412 * boot/i386/qemu/boot.S: Don't call 0xc000.
13413 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
13414 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
13415 (kernel_img_HEADERS): Add pci.h.
13416 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
13417 * configure.ac: Force unifont on qemu and yeeloong.
13418 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
13419 (grub_vga_palette_write): Use correct register.
13420 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
13421 Call grub_qemu_init_cirrus.
13422 * kern/i386/qemu/init.c: New file.
13423 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
13424
13425 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
13426
c75be4fb
PR
134272010-06-26 Pavel Roskin <proski@gnu.org>
13428
13429 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
13430 13.
13431
d8034603
CW
134322010-06-26 Colin Watson <cjwatson@ubuntu.com>
13433
13434 * docs/grub.texi (Simple configuration): Explain that
13435 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
13436 set to `true' to disable their respective recovery entries, not
13437 merely set.
13438
3fa06487
CW
134392010-06-26 Colin Watson <cjwatson@ubuntu.com>
13440
13441 Make the `source' command slightly faster.
13442
13443 * normal/main.c (grub_normal_execute): Don't re-read list files when
13444 nested.
13445
e9b29642
CW
134462010-06-23 Colin Watson <cjwatson@ubuntu.com>
13447
13448 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
13449 field position and mask size to red fields from mode_info, not
13450 green.
13451 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
13452 Remove redundant tag->common.framebuffer_type assignment.
13453 Reported by: Seth Goldberg.
13454
e726542f
CW
134552010-06-23 Colin Watson <cjwatson@ubuntu.com>
13456
13457 Sync up other versions of the Linux loader with Robert Millan's
13458 change of 2010-01-09, "Make loader output a bit more user-friendly".
13459
13460 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
13461 grub_dprintf().
13462 (grub_cmd_linux): Likewise.
13463 (grub_cmd_initrd): Likewise.
13464 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
13465 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13466
d6e98a17
CW
134672010-06-21 Colin Watson <cjwatson@ubuntu.com>
13468
13469 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
13470 larger than MEMORY_MAP_SIZE.
13471
14d3f08e
BC
134722010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
13473
13474 Fix parallel build.
13475
13476 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
13477 dependency.
13478 * script/parser.y: #include grub_script.tab.h header.
13479
4f9613a3
VS
134802010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 Support >3GiB and <16MiB RAM in i386-qemu.
13483
13484 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
13485 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
13486 (grub_lower_mem): Removed.
13487 (grub_upper_mem): Likewise.
13488 (mem_size): Made static.
13489 (above_4g): New variable.
13490 (grub_machine_mmap_init): Detect small mem_size and above_4g.
13491 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
13492 support.
13493
05e51879
VS
134942010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 Cirrus 5446 and Bochs video cards support.
13497
13498 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
13499 video_bochs.mod
13500 (video_cirrus_mod_SOURCES): New variable.
13501 (video_cirrus_mod_CFLAGS): Likewise.
13502 (video_cirrus_mod_LDFLAGS): Likewise.
13503 (video_bochs_mod_SOURCES): Likewise.
13504 (video_bochs_mod_CFLAGS): Likewise.
13505 (video_bochs_mod_LDFLAGS): Likewise.
13506 * include/grub/vga.h: New file.
13507 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
13508 (grub_video_fb_set_page_t): New type.
13509 (grub_video_fb_setup): New prototype.
13510 (grub_video_fb_swap_buffers): Likewise.
13511 (grub_video_fb_get_info_and_fini): Likewise.
13512 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
13513 (CRTC_DATA_PORT): Likewise.
13514 (CRTC_CURSOR): Likewise.
13515 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13516 (CRTC_CURSOR_ADDR_LOW): Likewise.
13517 (CRTC_CURSOR_DISABLE): Likewise.
13518 (update_cursor): Use grub_vga_cr_write.
13519 (grub_vga_text_setcursor): Likewise.
13520 * video/bochs.c: New file.
13521 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
13522 (palette): Likewise.
13523 (palette_size): Likewise.
13524 (framebuffer): New variable.
13525 (grub_video_fb_init): Use 'framebuffer'.
13526 (grub_video_fb_fini): Likewise.
13527 (grub_video_fb_get_info): Likewise.
13528 (grub_video_fb_get_palette): Likewise.
13529 (grub_video_fb_set_palette): Likewise.
13530 (grub_video_fb_set_viewport): Likewise.
13531 (grub_video_fb_get_viewport): Likewise.
13532 (grub_video_fb_map_color): Likewise.
13533 (grub_video_fb_map_rgb): Likewise.
13534 (grub_video_fb_map_rgba): Likewise.
13535 (grub_video_fb_unmap_color): Likewise.
13536 (grub_video_fb_unmap_color_int): Likewise.
13537 (grub_video_fb_fill_rect): Likewise.
13538 (grub_video_fb_blit_bitmap): Likewise.
13539 (grub_video_fb_blit_render_target): Likewise.
13540 (grub_video_fb_scroll): Likewise.
13541 (grub_video_fb_create_render_target): Likewise.
13542 (grub_video_fb_doublebuf_blit_init): Likewise.
13543 (grub_video_fb_set_active_render_target): Handle doublebuffering.
13544 (doublebuf_pageflipping_update_screen): New function.
13545 (doublebuf_pageflipping_init): Likewise.
13546 (grub_video_fb_setup): Likewise.
13547 (grub_video_fb_swap_buffers): Likewise.
13548 (grub_video_fb_get_info_and_fini): Likewise.
13549 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
13550 All users updated.
13551 (doublebuf_pageflipping_commit): Restructured into ...
13552 (doublebuf_pageflipping_set_page): ... this.
13553 (doublebuf_pageflipping_update_screen): Removed.
13554 (doublebuf_pageflipping_init): Likewise.
13555 (double_buffering_init): Likewise.
13556 (grub_video_vbe_setup): Use grub_video_fb_setup.
13557 (grub_video_vbe_swap_buffers): Removed.
13558 (grub_video_vbe_set_active_render_target): Likewise.
13559 (grub_video_vbe_get_active_render_target): Likewise.
13560 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
13561 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
13562 grub_video_fb_set_active_render_target and
13563 grub_video_fb_get_active_render_target.
13564 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
13565 (SEQUENCER_DATA_PORT): Likewise.
13566 (MAP_MASK_REGISTER): Likewise.
13567 (CRTC_ADDR_PORT): Likewise.
13568 (CRTC_DATA_PORT): Likewise.
13569 (START_ADDR_HIGH_REGISTER): Likewise.
13570 (START_ADDR_LOW_REGISTER): Likewise.
13571 (GRAPHICS_ADDR_PORT): Likewise.
13572 (GRAPHICS_DATA_PORT): Likewise.
13573 (READ_MAP_REGISTER): Likewise.
13574 (INPUT_STATUS1_REGISTER): Likewise.
13575 (INPUT_STATUS1_VERTR_BIT): Likewise.
13576 (get_map_mask): Use grub_vga_sr_read.
13577 (set_map_mask): Use grub_vga_sr_write.
13578 (set_read_map): Use grub_vga_gr_write.
13579 (set_start_address): Use grub_vga_cr_write.
13580 * video/sm712.c (framebuffer): Remove leftover fields.
13581
4321c64a
CW
135822010-06-20 Colin Watson <cjwatson@ubuntu.com>
13583
13584 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
13585 setting GRUB_VIDEO_BACKEND. Make it available as a user override
13586 instead. Replace the gfxterm backend check with a check that
13587 ${GRUB_PREFIX}/video.lst is non-empty.
13588 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
13589 again.
13590 (load_video): New generated function. Call it before loading
13591 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
13592 * util/grub.d/10_linux.in (linux_entry): Call load_video.
13593 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
13594 * docs/grub.texi (Simple configuration): Document
13595 GRUB_VIDEO_BACKEND.
13596
135972010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 Use video functions in linux and xnu loaders.
13600
13601 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
13602 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
13603 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
13604 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
13605 loader/i386/pc/linux.c.
13606 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
13607 (find_line_len): Removed.
13608 (find_framebuf): Likewise.
13609 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
13610 * loader/i386/efi/xnu.c: Removed.
13611 * loader/i386/pc/xnu.c: Moved from here...
13612 * loader/i386/xnu.c: ...here.
13613
13614 Enable priorities in video drivers.
13615
13616 * include/grub/video.h (grub_video_adapter_prio_t): New type.
13617 (grub_video_adapter): New field prio.
13618 (grub_video_register): Respect prio when inserting.
13619 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
13620 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
13621 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
13622 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
13623 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
13624 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
13625 * video/sm712.c (grub_video_sm712_adapter): Likewise.
13626
13627 Fix SDL driver ID.
13628
13629 * include/grub/video.h (grub_video_driver_id_t): New value
13630 GRUB_VIDEO_DRIVER_SDL.
13631 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
13632
7d24e434
CW
136332010-06-17 Colin Watson <cjwatson@ubuntu.com>
13634
13635 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
13636 argument to printf.
13637 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13638
c88a83f6
CW
136392010-06-17 Colin Watson <cjwatson@ubuntu.com>
13640
13641 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
13642 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13643
094dfb69
CW
136442010-06-17 Colin Watson <cjwatson@ubuntu.com>
13645
13646 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
13647 directly, and recommend grub-install instead.
13648 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13649
2164da6b
CW
136502010-06-17 Colin Watson <cjwatson@ubuntu.com>
13651
13652 Fix i386-pc prefix handling with nested partitions (Debian bug
13653 #585068). Note that the case where the core image is booted using
13654 multiboot and relocated from its original location still requires
13655 more work.
13656
13657 * kern/i386/pc/init.c (make_install_device): If the prefix starts
13658 with "(,", fill the boot drive in between those two characters, but
13659 expect that a full partition specification including partition map
13660 names will follow.
13661 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
13662 specified, write a prefix without the drive name but including a
13663 full partition specification.
13664
044e2e60
CW
136652010-06-16 Colin Watson <cjwatson@ubuntu.com>
13666
13667 * util/grub-mkconfig.in: Ignore non-option arguments, for
13668 compatibility with older versions (before 2010-06-12) which did the
13669 same. In particular, this makes it easier to ship an update-grub
13670 wrapper which is compatible with that used with GRUB Legacy (Debian
13671 bug #586056).
13672
5591324f
GS
136732010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13674
13675 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
13676 for manual page generation.
13677
662e24d5
GS
136782010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13679
13680 * po/POTFILES: Remove leftover commands/handler.c.
13681
8d70754e
CW
136822010-06-14 Colin Watson <cjwatson@ubuntu.com>
13683
13684 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
13685 left this script non-functional.
13686
41160e2e
CW
136872010-06-14 Colin Watson <cjwatson@ubuntu.com>
13688
13689 * docs/man/grub-emu.h2m: New file.
13690
b5309cc1
CW
136912010-06-13 Colin Watson <cjwatson@ubuntu.com>
13692
13693 * docs/grub.texi (Commands): Document reduced command set in rescue
13694 mode.
13695 (cpuid): New section.
13696
fcb2d090
GS
136972010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
13698
13699 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
13700 new partition naming style.
13701 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
13702
96e5c556
BC
137032010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
13704
13705 Add "-o grub.iso" like cmdline options support.
13706
13707 * util/grub-install.in: Improve cmdline option parsing.
13708 * util/grub-mkconfig.in: Likewise.
13709 * util/grub-mkrescue.in: Likewise.
13710 * util/grub-reboot.in: Likewise.
13711 * util/grub-set-default.in: Likewise.
13712 * util/i386/efi/grub-install.in: Likewise.
13713 * util/ieee1275/grub-install.in: Likewise.
13714 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13715
c16be99b
CW
137162010-06-12 Colin Watson <cjwatson@ubuntu.com>
13717
13718 * .bzrignore: Ignore 41_custom.
13719
ce08a9fb
TS
137202010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13721
13722 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
13723
7beac90c
CW
137242010-06-12 Colin Watson <cjwatson@ubuntu.com>
13725
13726 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
13727 prototype declarations.
13728
13729 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
13730 generating fs, partmap, and video lists.
13731 * include/grub/fs.h (grub_fs_register): Omit prototype if
13732 GRUB_LST_GENERATOR is defined.
13733 * include/grub/partition.h (grub_partition_map_register): Likewise.
13734 * include/grub/video.h (grub_video_register): Likewise.
13735
1c8f0f8d
JM
137362010-06-12 Javier Martín <lordhabbit@gmail.com>
13737
13738 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
13739
a6085973
TS
137402010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13741
13742 * util/grub-mkrescue.in: Support --xorriso argument.
13743
25c56d29
VS
137442010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
13747 Suggested by: Thomas Schmitt.
13748
e03e4b24
VS
137492010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
13752 Suggested by: Thomas Schmitt.
13753
57711df6
VS
137542010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 custom.cfg support.
13757
13758 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
13759 * util/grub.d/41_custom.in: New file.
13760
ee62c427
CW
137612010-06-12 Colin Watson <cjwatson@ubuntu.com>
13762
13763 * util/grub-mkrescue.in (make_image): Remove sh module, which has
13764 been merged back into normal.
13765
283af07a
CW
137662010-06-11 Colin Watson <cjwatson@ubuntu.com>
13767
13768 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
13769 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
13770
56a0d956
CW
137712010-06-11 Colin Watson <cjwatson@ubuntu.com>
13772
13773 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
13774 when generating manual pages.
13775 * docs/man/grub-bin2h.h2m: New file.
13776 * docs/man/grub-editenv.h2m: New file.
13777 * docs/man/grub-fstest.h2m: New file.
13778 * docs/man/grub-install.h2m: New file.
13779 * docs/man/grub-macho2img.h2m: New file.
13780 * docs/man/grub-mkconfig.h2m: New file.
13781 * docs/man/grub-mkdevicemap.h2m: New file.
13782 * docs/man/grub-mkfont.h2m: New file.
13783 * docs/man/grub-mkimage.h2m: New file.
13784 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
13785 * docs/man/grub-mkrelpath.h2m: New file.
13786 * docs/man/grub-mkrescue.h2m: New file.
13787 * docs/man/grub-ofpathname.h2m: New file.
13788 * docs/man/grub-pe2elf.h2m: New file.
13789 * docs/man/grub-probe.h2m: New file.
13790 * docs/man/grub-reboot.h2m: New file.
13791 * docs/man/grub-script-check.h2m: New file.
13792 * docs/man/grub-set-default.h2m: New file.
13793 * docs/man/grub-setup.h2m: New file.
13794
3a37e322
VS
137952010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 Use FOR_* macros instead of *_iterate whenever possible.
13798
13799 * commands/handler.c: Removed.
13800 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13801 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13802 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13803 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13804 (grub_probe_SOURCES): Remove kern/parser.c.
13805 (util/grub-script-check.c_DEPENDENCIES): Removed.
13806 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13807 and grub_script_check_init.c.
13808 (grub_script_check_init.lst): Removed.
13809 (grub_script_check_init.h): Likewise.
13810 (grub_script_check_init.c): Likewise.
13811 (pkglib_MODULES): Remove handler.mod and sh.mod.
13812 (handler_mod_SOURCES): Removed.
13813 (handler_mod_CFLAGS): Likewise.
13814 (handler_mod_LDFLAGS): Likewise.
13815 (normal_mod_SOURCES): Remove normal/handler.c.
13816 Add script/main.c, script/script.c, script/execute.c,
13817 script/function.c, script/lexer.c, grub_script.tab.c
13818 and grub_script.yy.c.
13819 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13820 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13821 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13822 (grub_setup_SOURCES): Remove kern/parser.c.
13823 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13824 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13825 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13826 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13827 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13828 (grub_setup_SOURCES): Remove kern/parser.c.
13829 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13830 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13831 * include/grub/command.h (grub_command_iterate): Removed.
13832 (FOR_COMMANDS): New macro.
13833 * include/grub/dl.h (grub_dl): New member next.
13834 (grub_dl_iterate): Removed.
13835 (grub_dl_head): New variable declaration.
13836 (FOR_DL_MODULES): New macro.
13837 * include/grub/fs.h: Include list.h.
13838 (grub_fs): Make next first element.
13839 (grub_fs_list): New variable declaration.
13840 (grub_fs_register): Make inline.
13841 (grub_fs_unregister): Likewise.
13842 (grub_fs_iterate): Removed.
13843 (FOR_FILESYSTEMS): New macro.
13844 * include/grub/handler.h: Removed.
13845 * include/grub/list.h (grub_list_hook_t): Removed.
13846 (grub_list_test_t): Likewise.
13847 (grub_list_pop): Likewise.
13848 (grub_list_iterate): Likewise.
13849 (grub_list_insert): Likewise.
13850 (FOR_LIST_ELEMENTS): New macro.
13851 * include/grub/parser.h (grub_parser_class): Removed.
13852 (grub_parser_register): Likewise.
13853 (grub_parser_unregister): Likewise.
13854 (grub_parser_get_current): Likewise.
13855 (grub_parser_set_current): Likewise.
13856 (grub_register_rescue_parser): Likewise.
13857 (grub_rescue_parse_line): New function.
13858 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13859 * include/grub/script_sh.h (grub_script_function_list): New variable
13860 declaration.
13861 (FOR_SCRIPT_FUNCTIONS): New macro.
13862 (grub_script_function_iterate): Removed.
13863 (grub_normal_parse_line): New prototype.
13864 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13865 (FOR_DISABLED_TERM_INPUTS): Likewise.
13866 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13867 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13868 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13869 element.
13870 (grub_video_register): Inline.
13871 (grub_video_unregister): Likewise.
13872 (grub_video_adapter_list): New variable declaration.
13873 (grub_video_iterate): Removed.
13874 (FOR_VIDEO_ADAPTERS): New macro.
13875 * kern/dl.c (grub_dl_list): Removed. All users updated.
13876 (grub_dl_iterate): Removed.
13877 * kern/fs.c (grub_fs_list): Make global.
13878 (grub_fs_register): Removed.
13879 (grub_fs_unregister): Likewise.
13880 (grub_fs_iterate): Likewise.
13881 * kern/handler.c: Removed.
13882 * kern/list.c (grub_list_pop): Removed.
13883 (grub_list_iterate): Likewise.
13884 (grub_list_insert): Likewise.
13885 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13886 (grub_prio_list_insert): Don't use grub_list_insert.
13887 * kern/main.c (grub_register_rescue_parser): Don't call
13888 grub_register_rescue_parser.
13889 * kern/parser.c (grub_parser_class): Removed.
13890 (grub_parser_execute): Use grub_rescue_parse_line.
13891 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13892 (grub_rescue_parser): Removed.
13893 (grub_register_rescue_parser): Likewise.
13894 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13895 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13896 (grub_auth_check_authentication): Likewise.
13897 * normal/completion.c (iterate_command): Removed.
13898 (grub_normal_do_completion): Use FOR_COMMANDS.
13899 * normal/handler.c: Removed.
13900 * normal/main.c (read_config_file): Remove parser changing.
13901 (grub_normal_execute): Don't call read_handler_list.
13902 (grub_normal_read_line_real): Statically allocate prompt.
13903 (grub_cmdline_run): Use grub_normal_parse_line.
13904 (GRUB_MOD_FINI): Don't call free_handler_list.
13905 * normal/menu_entry.c (run): Likewise.
13906 * script/function.c (grub_script_function_list): Make global.
13907 (grub_script_function_iterate): Removed.
13908 * script/main.c (grub_normal_parse_line): Make global.
13909 (grub_sh_parser): Removed.
13910 (GRUB_MOD_INIT): Likewise.
13911 (GRUB_MOD_FINI): Likewise.
13912 * tests/lib/functional_test.c (grub_functional_test): Use
13913 FOR_LIST_ELEMENTS.
13914 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13915 (grub_test_run): Use FOR_LIST_ELEMENTS.
13916 * tests/lib/unit_test.c (main): Likewise.
13917 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13918 grub_list_pop.
13919 * util/grub-fstest.c (grub_term_input_class): Removed.
13920 (grub_term_output_class): Likewise.
13921 * util/grub-probe.c: Likewise.
13922 * util/i386/pc/grub-setup.c: Likewise.
13923 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13924 * util/grub-script-check.c (main): Don't call grub_init_all and
13925 grub_fini_all.
13926 * video/video.c (grub_video_adapter_list): Make global.
13927 (grub_video_register): Removed.
13928 (grub_video_unregister): Likewise.
13929 (grub_video_iterate): Likewise.
13930
6289c3a7
VS
139312010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13934 reported by Henrique Ferreiro.
13935
91460247
RM
139362010-06-09 Robert Millan <rmh@gnu.org>
13937
13938 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13939 ones, when both are available.
13940
0ea7c4f9
GS
139412010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13942
13943 Make --version uniform and avoid hard-coded program name.
13944
13945 * util/grub-mkimage.c (main): Use `program_name' instead of
13946 hard-coded string.
13947 * util/i386/pc/grub-setup.c (main): Likewise.
13948 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13949 * util/grub-install.in: Save the basename of $0 in $self, and use the
13950 latter in informational messages. Use the same format for --version
13951 as the binary programs.
13952 * util/grub-mkconfig.in: Likewise.
13953 * util/grub-mkrescue.in: Likewise.
13954 * util/grub-reboot.in: Likewise.
13955 * util/grub-set-default.in: Likewise.
13956 * util/i386/efi/grub-install.in: Likewise.
13957 * util/ieee1275/grub-install.in: Likewise.
13958 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13959
e8a6f3b6
GS
139602010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13961
13962 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13963 embedding area. Use <= instead of == when checking for non-emptiness.
13964
f4d095d7
GS
139652010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13966
13967 * configure.ac: Add `.' to the directories searched for unifont.
13968
50e532ca
CW
139692010-06-08 Colin Watson <cjwatson@ubuntu.com>
13970
13971 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13972 grub_script.yy.h.
13973
d39f3dec
CW
139742010-06-08 Colin Watson <cjwatson@ubuntu.com>
13975
13976 * docs/grub.texi (History): Expand to cover GRUB 2.
13977 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13978 commands, not `terminal'.
13979 (serial): Likewise.
13980 (terminal_input): New section.
13981 (terminal_output): New section.
13982 (uppermem): New section (stub).
13983 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13984
6ef0ddb4
CW
139852010-06-08 Colin Watson <cjwatson@ubuntu.com>
13986
13987 * docs/grub.texi (Security): Menu entries are unrestricted by
13988 default, not restricted to superusers as I had previously thought.
13989 Reword to account for this.
13990
e0f4c438
CW
139912010-06-07 Colin Watson <cjwatson@ubuntu.com>
13992
13993 * kern/emu/misc.c (device_mapper_null_log): New function.
13994 (grub_device_mapper_supported): New function.
13995 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13996 prototype.
13997 * kern/emu/hostdisk.c (find_partition_start): Check whether
13998 device-mapper is supported before trying to use it.
13999 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
14000
da908200
CW
140012010-06-07 Colin Watson <cjwatson@ubuntu.com>
14002
14003 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
14004 (File name syntax): Likewise.
14005 (help): --all is no longer supported in GRUB 2. Be more precise
14006 about pattern matching.
14007
fb55c3ac
CW
140082010-06-07 Colin Watson <cjwatson@ubuntu.com>
14009
14010 * normal/completion.c (grub_normal_do_completion): When completing
14011 arguments to "set" and the current word contains an equals sign,
14012 skip to after the equals sign before starting completion.
14013
258c2573
CW
140142010-06-07 Colin Watson <cjwatson@ubuntu.com>
14015
14016 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
14017
ee75515e
CW
140182010-06-07 Colin Watson <cjwatson@ubuntu.com>
14019
14020 * docs/grub.texi (Network): New section.
14021 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
14022 `(nd)' as in GRUB Legacy.
14023 (pxe_unload): New section.
14024
a6a700aa
CW
140252010-06-07 Colin Watson <cjwatson@ubuntu.com>
14026
14027 * docs/grub.texi (Troubleshooting): `echo' is not usually available
14028 in the rescue shell, so recommend using `set' instead. Thanks,
14029 Jordan Uggla.
14030
4003dd38
CW
140312010-06-07 Colin Watson <cjwatson@ubuntu.com>
14032
14033 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
14034 (password): New section.
14035 (password_pbkdf2): New section.
14036 (search): New section.
14037 (Security): New section.
14038 (Troubleshooting): New section, currently very incomplete.
14039 (Invoking grub-mkpasswd-pbkdf2): New section.
14040 (Internals): New section, currently very incomplete.
14041
e1cbcc40
CW
140422010-06-07 Colin Watson <cjwatson@ubuntu.com>
14043
14044 * util/grub.d/00_header.in: Add some more quoting (of
14045 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
14046 work again.
14047 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
14048
db8fa1ad
CW
140492010-06-07 Colin Watson <cjwatson@ubuntu.com>
14050
14051 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
14052 to `count', fixing variable shadowing that broke the -c option.
14053
140542010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
14055
14056 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
14057 in case they contain spaces.
14058
f28a9212
CW
140592010-06-04 Colin Watson <cjwatson@ubuntu.com>
14060
14061 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
14062 "part_" to partmap module names, in line with grub-install.
14063 Reported by: Jindřich Makovička (Debian bug #584426).
14064
9cdfe32f
CW
140652010-06-04 Colin Watson <cjwatson@ubuntu.com>
14066
14067 * util/grub-mkimage.c: Make target-related error messages slightly
14068 more helpful; -O talks about "format". Explicitly point to the use
14069 of -O if no target is specified.
14070 Reported by: Didier Raboud (Debian bug #584415).
14071
795b593a
CW
140722010-06-03 Colin Watson <cjwatson@ubuntu.com>
14073
14074 * INSTALL: Document several build requirements for optional features
14075 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
14076
9d9b5833
GS
140772010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14078
14079 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
14080 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
14081 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
14082
0819fec8
CW
140832010-06-02 Colin Watson <cjwatson@ubuntu.com>
14084
14085 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
14086 Thanks to Jordan Uggla for spotting this.
14087
49396b4f
VS
140882010-06-02 Aleš Nesrsta <starous@volny.cz>
14089
14090 Finally make USB usable.
14091
14092 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
14093 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
14094 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
14095 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
14096 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
14097 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
14098 (GRUB_OHCI_FSMPS): Likewise.
14099 (GRUB_OHCI_PERIODIC_START): Likewise.
14100 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
14101 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
14102 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
14103 (GRUB_OHCI_SET_PORT_RESET): Likewise.
14104 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
14105 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
14106 (grub_ohci_transaction): Likewise.
14107 (grub_ohci_transfer): Improve condition detection algorithms.
14108 Handle toggle property. Program the transactions correctly.
14109 Improve error handling. Various important fixups.
14110 (grub_ohci_portstatus): Put register writes in right order.
14111 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
14112 (grub_uhci_transfer): Don't show "failed" message on success.
14113 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
14114 array.
14115 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
14116 determine its size.
14117 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
14118 before initialization is completed. Use IN direction for empty
14119 transfers. Use last_trans and compute toggle.
14120 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
14121 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
14122 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
14123 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
14124 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
14125 (grub_usb_device): Increase toggle to 256.
14126 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
14127 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
14128 GRUB_USBMS_SUBCLASS_SFF8070.
14129 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
14130 (grub_scsi_inquiry): New member page and alloc_length.
14131 (grub_scsi_request_sense): New structure.
14132 (grub_scsi_request_sense_data): Likewise.
14133 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
14134 control.
14135 * disk/scsi.c (grub_scsi_request_sense): New function.
14136 (grub_scsi_test_unit_ready): Likewise.
14137 (grub_scsi_inquiry): Fill new fields.
14138 (grub_scsi_read_capacity): Likewise.
14139 (grub_scsi_read10): Add request sense at the end.
14140 (grub_scsi_read12): Likewise.
14141 (grub_scsi_write10): Likewise.
14142 (grub_scsi_write12): Likewise.
14143 (grub_scsi_open): Add Test Unit Ready.
14144 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
14145 Support additional subclasses. Con't clear halt yet. Activate the
14146 proper config. Calculate LUNs correctly.
14147 (grub_usbms_transfer): Various important fixups.
14148
141492010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
14150
14151 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
14152 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
14153 (grub_ohci_fini_hw): New function.
14154 (grub_ohci_restore_hw): Likewise.
14155 (GRUB_MOD_INIT(ohci)): Register preboot hook.
14156 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
14157 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
14158
141592010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 Dedicated DMA allocations.
14162
14163 * bus/pci.c (grub_memalign_dma32): New function
14164 (grub_dma_free): Likewise.
14165 (grub_dma_get_virt): Likewise.
14166 (grub_dma_get_phys): Likewise.
14167 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
14168 (grub_ohci_pci_iter): Use dma32_alloc.
14169 (grub_ohci_transfer): Likewise.
14170 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14171 (grub_usb_bulk_readwrite): Likewise.
14172 * include/grub/pci.h: Add declarations.
14173
141742010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 CS5536 support.
14177
14178 * bus/cs5536.c: New file.
14179 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
14180 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
14181 (cs5536_mod_SOURCES): New variable.
14182 (cs5536_mod_CFLAGS): Likewise.
14183 (cs5536_mod_LDFLAGS): Likewise.
14184 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
14185 machine/pci.h.
14186 (kernel_img_SOURCES): Add bus/cs5536.c.
14187 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
14188 usb_keyboard.mod.
14189 (usb_mod_SOURCES): New variable.
14190 (usb_mod_CFLAGS): New variable.
14191 (usb_mod_LDFLAGS): New variable.
14192 (usbtest_mod_SOURCES): New variable.
14193 (usbtest_mod_CFLAGS): New variable.
14194 (usbtest_mod_LDFLAGS): New variable.
14195 (ohci_mod_SOURCES): New variable.
14196 (ohci_mod_CFLAGS): New variable.
14197 (ohci_mod_LDFLAGS): New variable.
14198 (usbms_mod_SOURCES): New variable.
14199 (usbms_mod_CFLAGS): New variable.
14200 (usbms_mod_LDFLAGS): New variable.
14201 (usb_keyboard_mod_SOURCES): New variable.
14202 (usb_keyboard_mod_CFLAGS): New variable.
14203 (usb_keyboard_mod_LDFLAGS): New variable.
14204 * include/grub/smbus.h: New file.
14205 * include/grub/cs5536.h: New file.
14206
0b35b2a9
CW
142072010-06-02 Colin Watson <cjwatson@ubuntu.com>
14208
14209 * util/grub.d/00_header.in: Add safety check to make sure that
14210 ${locale_dir} exists before trying to probe it.
14211
ca0afd5b
CW
142122010-06-02 Colin Watson <cjwatson@ubuntu.com>
14213
14214 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
14215 per the GNU Coding Standards; this is now too obscure to be worth
14216 documenting.
14217 (QNX): Likewise.
14218 (chainloader): Remove cross-reference to `SCO UnixWare'.
14219
1c41aa78
CW
142202010-06-02 Colin Watson <cjwatson@ubuntu.com>
14221
14222 * docs/grub.texi (Chain-loading): New section.
14223 (DOS/Windows): New section, borrowed from GRUB Legacy with details
14224 adjusted for GRUB 2.
14225 (SCO UnixWare): Likewise.
14226 (QNX): Likewise.
14227 (chainloader): Add reference to `Block list syntax'.
14228 (drivemap): New section.
14229 (parttool): New section.
14230
bb8ea0f5
CW
142312010-06-02 Colin Watson <cjwatson@ubuntu.com>
14232
14233 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
14234 the grub shell'.
14235 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
14236 (Installing GRUB using grub-install): Remove reference to the grub
14237 shell; mention `grub-mkimage' and `grub-setup' instead.
14238 (Invoking grub-install): Likewise.
14239 (Interface): Add reference to `Menu entry editor'.
14240 (serial): Remove `--device' option.
14241
288dd6ed
CW
142422010-06-02 Colin Watson <cjwatson@ubuntu.com>
14243
14244 * docs/grub.texi (Configuration): New section, documenting
14245 configuration file generation using grub-mkconfig. I've left a slot
14246 for documenting the full shell scripting format but have not yet
14247 started on writing that up.
14248 (Invoking grub-mkconfig): New section.
14249
34c9f0e9
CW
142502010-06-02 Colin Watson <cjwatson@ubuntu.com>
14251
14252 * docs/grub.texi (direntry): Remove grub-terminfo reference.
14253 (GNU GRUB manual): Likewise.
14254 (General commands): Update description of `terminfo' for GRUB 2.
14255
9121567e
CW
142562010-06-02 Colin Watson <cjwatson@ubuntu.com>
14257
14258 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
14259 (GRUB_MOD_INIT): Fix capitalisation.
14260 * docs/grub.texi (Command-line and menu entry commands): Document
14261 gettext and gptsync commands.
14262
ab631611
CW
142632010-06-02 Colin Watson <cjwatson@ubuntu.com>
14264
14265 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
14266 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
14267
bde4a9ac
CW
142682010-06-01 Colin Watson <cjwatson@ubuntu.com>
14269
14270 Add btrfs probing support, currently only in the single-device case.
14271
14272 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
14273 function.
14274 (grub_guess_root_device): Call find_root_device_from_mountinfo
14275 before looking in /dev.
14276
b1d17e10
VS
142772010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
14280 GRUB_DISK_SIZE_UNKNOWN.
14281 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
14282
dfbfe004
JS
142832010-05-31 Jiro SEKIBA <jir@unicus.jp>
14284
14285 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
14286 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
14287 corrupted or not synced properly.
14288
c2ffc8e9
VS
142892010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14290
14291 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
14292 Reported by: Seth Goldberg.
14293
56293166
VS
142942010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14295
14296 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
14297 addition of dest.
14298 Reported by: Seth Goldberg.
14299
7620e7de
VS
143002010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14301
14302 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
14303 Reported by: Seth Goldberg.
14304
c837af3f
VS
143052010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14306
14307 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
14308 64-bit address as signed on MIPS.
14309
c7c75cf4
CW
143102010-05-28 Colin Watson <cjwatson@ubuntu.com>
14311
14312 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
14313 to the empty string.
14314
fa4b8490
BC
143152010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
14316
14317 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
14318
14319 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
14320 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
14321 * kern/misc.c (__enable_execute_stack): Disable on
14322 GRUB_MACHINE_EMU.
14323
a33075b9
CW
143242010-05-28 Colin Watson <cjwatson@ubuntu.com>
14325
14326 Make grub-probe work with symbolic links under /dev/mapper as well
14327 as with real block devices. The Linux world seems to be (at best)
14328 in transition here, and GRUB shouldn't get caught in the middle.
14329
14330 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
14331 /dev/mapper.
14332
d8708134
CW
143332010-05-27 Colin Watson <cjwatson@ubuntu.com>
14334
14335 * util/grub-script-check.c (main): Ensure defined behaviour on empty
14336 input files (in which case exit zero).
14337
db2102a0
CW
143382010-05-27 Colin Watson <cjwatson@ubuntu.com>
14339
14340 * kern/emu/misc.c (canonicalize_file_name): realpath can still
14341 return NULL for various reasons even if it has a maximum-length
14342 buffer: for example, there might be a symlink loop, or the path
14343 might exceed PATH_MAX. If this happens, return NULL.
14344
5fdba519
RM
143452010-05-27 Robert Millan <rmh@gnu.org>
14346
14347 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
14348 partmap module to handle cross-partmap setups.
14349 Reported by Orestes Mas. Gràcies!
14350
d1d368e4
CW
143512010-05-27 Colin Watson <cjwatson@ubuntu.com>
14352
14353 * util/grub-mkrescue.in: Initialise override_dir rather than
14354 assuming that it's unset or empty in the environment.
14355
95ac3c73
GS
143562010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
14357
14358 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
14359 variable index into p_index to suppress a warning with -Wshadow.
14360
7d8c0213
BC
143612010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
14362
14363 * INSTALL: Added flex >= 2.5.35 requirement.
14364
db4d5813
VS
143652010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14366
14367 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
14368
f24f4300
VS
143692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 cmostest support.
14372
14373 * commands/i386/cmostest.c: New file.
14374 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
14375 (cmostest_mod_SOURCES): New variable.
14376 (cmostest_mod_CFLAGS): Likewise.
14377 (cmostest_mod_LDFLAGS): Likewise.
14378 * conf/i386-pc.rmk: Likewise.
14379 * docs/grub.texi (Vendor power-on keys): New section.
14380 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
14381 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
14382 and GRUB_BUTTON_CMOS_ADDRESS.
14383 * util/grub.d/00_header.in: Handle powering-on by separate button.
14384
ad603f61
VS
143852010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14386
14387 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
14388 Removed drawing_scrollbar argument. All users updated
14389 Fixes #29792.
14390 Reported by Jo Shields
14391
3ecb080a
VS
143922010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
14395 buffer since gfxterm handles double repaint.
14396
5f2316c1
VS
143972010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
14400 * term/gfxterm.c (real_scroll): Likewise.
14401
9a25f885
VS
144022010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
14405 before calling BIOS.
14406
39fbb79a
VS
144072010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * include/grub/i18n.h: Always enable grub_gettext.
14410
228cfa97
VS
144112010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14412
14413 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
14414 partition naming style.
14415
21717c8f
CW
144162010-05-21 Colin Watson <cjwatson@ubuntu.com>
14417
14418 * util/grub-mkconfig.in: Fix handling of -o so that it works when
14419 not the first option.
14420
c0f48e65
CW
144212010-05-20 Colin Watson <cjwatson@ubuntu.com>
14422
14423 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
14424
96779aec
CW
144252010-05-20 Colin Watson <cjwatson@ubuntu.com>
14426
14427 * util/misc.c: Move inclusion of <limits.h> to ...
14428 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
14429
fa9d256e
GS
144302010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
14431
14432 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
14433 Fix merge error in NetBSD code.
14434 (find_partition_start) [__NetBSD__]: Likewise.
14435
123b7a85
BC
144362010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
14437
14438 Fix grub-mkrescue usage unit testing.
14439
14440 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
14441
74276c0d
CF
144422010-05-18 Christian Franke <franke@computer.org>
14443
14444 * util/grub.d/10_windows.in: Use path names instead of
14445 drive letters to prevent warning from Cygwin 1.7.
14446 Add drivemap command to menuentry if needed.
14447
c4f7b523
ST
144482010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
14449
14450 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
14451 gnumach and gnumach.gz.
14452
95b97950
VS
144532010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 * include/grub/i18n.h (gettext): Inline instead of using #define.
14456 (grub_gettext): Likewise.
14457 (_): Likewise.
14458
01b8d2d7
VS
144592010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
14462 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
14463 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
14464 (main): Add a slash after pkglibdirroot.
14465
654e1d1e
VS
144662010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14467
14468 * util/grub-install.in: Add missing "in" keyword.
14469
26966aeb
VS
144702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14471
14472 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
14473 Reported by: Seth Goldberg.
14474
75006747
VS
144752010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
14478
74cbf5bd
CW
144792010-05-18 Colin Watson <cjwatson@ubuntu.com>
14480
14481 * configure.ac: Check for Linux device-mapper support.
14482
14483 * util/hostdisk.c (device_is_mapped): New function.
14484 (find_partition_start): New function, partly broken out from
14485 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
14486 device-mapper support added.
14487 (linux_find_partition): Use find_partition_start.
14488 (convert_system_partition_to_system_disk): Add `st' argument.
14489 Support Linux /dev/mapper/* devices if device-mapper support is
14490 available; only DM-RAID devices are understood at present.
14491 (find_system_device): Add `st' argument. Pass it to
14492 convert_system_partition_to_system_disk.
14493 (grub_util_biosdisk_get_grub_dev): Pass stat result to
14494 find_system_device and convert_system_partition_to_system_disk. Use
14495 find_partition_start.
14496
14497 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
14498 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
14499 * util/deviceiter.c [__linux__]: Define MINOR.
14500 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
14501 * util/mkdevicemap.c (grub_putchar): New function.
14502 (grub_getkey): New function.
14503 (grub_refresh): New function.
14504 (main): Set debug=all if -v -v is used.
14505
355b51e9
CW
145062010-05-18 Colin Watson <cjwatson@ubuntu.com>
14507
14508 Fix build with non-GNU libcs.
14509
14510 * util/misc.c (canonicalize_file_name): Move to ...
14511 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
14512 grub_make_system_path_relative_to_its_root.
14513
7fb5c25f
CW
145142010-05-18 Colin Watson <cjwatson@ubuntu.com>
14515
14516 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
14517 we handle finding grub-mkimage. Default to finding grub-mkimage in
14518 ${bindir} with program_transform_name applied, and provide a
14519 --grub-mkimage option to override this.
14520
1d3293d6
VS
145212010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 Remove grub-mkisofs.
14524
14525 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
14526 (grub_mkisofs_SOURCES): Removed.
14527 (grub_mkisofs_CFLAGS): Removed.
14528 * util/mkisofs/defaults.h: Removed.
14529 * util/mkisofs/eltorito.c: Likewise.
14530 * util/mkisofs/exclude.h: Likewise.
14531 * util/mkisofs/hash.c: Likewise.
14532 * util/mkisofs/include/: Likewise.
14533 * util/mkisofs/include/fctldefs.h: Likewise.
14534 * util/mkisofs/include/mconfig.h: Likewise.
14535 * util/mkisofs/include/prototyp.h: Likewise.
14536 * util/mkisofs/include/statdefs.h: Likewise.
14537 * util/mkisofs/iso9660.h: Likewise.
14538 * util/mkisofs/joliet.c: Likewise.
14539 * util/mkisofs/match.c: Likewise.
14540 * util/mkisofs/match.h: Likewise.
14541 * util/mkisofs/mkisofs.c: Likewise.
14542 * util/mkisofs/mkisofs.h: Likewise.
14543 * util/mkisofs/msdos_partition.h: Likewise.
14544 * util/mkisofs/multi.c: Likewise.
14545 * util/mkisofs/name.c: Likewise.
14546 * util/mkisofs/rock.c: Likewise.
14547 * util/mkisofs/tree.c: Likewise.
14548 * util/mkisofs/write.c: Likewise.
14549
5dde9afe
VS
145502010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 Unify grub-mkimage accross platforms.
14553
14554 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
14555 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
14556 (grub_mkelfimage_SOURCES): Removed.
14557 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
14558 (util/grub-mkimage.c_DEPENDENCIES): .. this.
14559 (bin_UTILITIES): Add grub-mkimage.
14560 (grub_mkimage_SOURCES): New variable.
14561 (kernel_img_HEADERS): Remove machine/kernel.h.
14562 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
14563 (pkglib_PROGRAMS): Add kernel.img.
14564 (kernel_img_HEADERS): Add machine/kernel.h.
14565 (kernel_img_FORMAT): Removed.
14566 (bin_UTILITIES): Remove grub-mkimage.
14567 (grub_mkimage_SOURCES): Removed.
14568 (grub_mkimage_CFLAGS): Likewise.
14569 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14570 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
14571 (pkglib_PROGRAMS): Add kernel.img.
14572 (bin_UTILITIES): Remove grub-mkimage.
14573 (grub_mkimage_SOURCES): Removed.
14574 (grub_mkimage_CFLAGS): Likewise.
14575 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14576 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
14577 (pkglib_PROGRAMS): Add kernel.img.
14578 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
14579 (pkglib_PROGRAMS): Add kernel.img.
14580 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
14581 (grub_mkimage_SOURCES): Removed.
14582 (grub_mkimage_CFLAGS): Likewise.
14583 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14584 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
14585 (pkglib_PROGRAMS): Add kernel.img.
14586 (bin_UTILITIES): Remove grub-mkimage.
14587 (grub_mkimage_SOURCES): Removed.
14588 (grub_mkimage_CFLAGS): Likewise.
14589 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14590 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
14591 (grub_mkimage_SOURCES): Removed.
14592 (grub_mkimage_CFLAGS): Likewise.
14593 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14594 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
14595 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
14596 (grub_pe32_optional_header): ... this.
14597 (grub_pe64_optional_header): ... and this. All users updated.
14598 (GRUB_PE32_PE32_MAGIC): Split into ..
14599 (GRUB_PE32_PE32_MAGIC): .. this.
14600 (GRUB_PE32_PE64_MAGIC): .. and this.
14601 (GRUB_PE32_SIGNATURE_SIZE): New definition.
14602 * include/grub/elf.h (PT_GNU_STACK): New definition.
14603 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
14604 * include/grub/i386/efi/kernel.h: Likewise.
14605 * include/grub/i386/kernel.h: Likewise.
14606 * include/grub/i386/pc/kernel.h: Likewise.
14607 * include/grub/i386/qemu/boot.h: Likewise.
14608 * include/grub/mips/kernel.h: Likewise.
14609 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14610 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14611 * include/grub/powerpc/kernel.h: Likewise.
14612 * include/grub/sparc64/ieee1275/boot.h: Likewise.
14613 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14614 * include/grub/sparc64/kernel.h: Likewise.
14615 * include/grub/x86_64/efi/kernel.h: Likewise.
14616 * include/grub/x86_64/kernel.h: Likewise.
14617 * include/grub/offsets.h: New file.
14618 * include/grub/kernel.h (grub_module_info): Split into ...
14619 (grub_module_info32): ... this.
14620 (grub_module_info64): ... and this.
14621 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
14622 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
14623 (grub_boot_blocklist): Moved from here ...
14624 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
14625 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
14626 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
14627 * include/grub/types.h (grub_target_to_host16): Removed.
14628 (grub_target_to_host32): Likewise.
14629 (grub_target_to_host64): Likewise.
14630 (grub_host_to_target16): Likewise.
14631 (grub_host_to_target32): Likewise.
14632 (grub_host_to_target64): Likewise.
14633 (grub_host_to_target_addr): Likewise.
14634
14635 Support grub-mkrescue for efi, coreboot and qemu.
14636
14637 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
14638 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
14639 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
14640 * util/grub-mkrawimage.c: Moved from here ...
14641 * util/grub-mkimage.c: ... here. All users updated.
14642 (ALIGN_ADDR): Use image_target.
14643 (TARGET_NO_FIELD): New const.
14644 (image_target_desc): New type.
14645 (image_targets): New array.
14646 (grub_target_to_host64): Use image_target.
14647 (grub_target_to_host32): Likewise.
14648 (grub_target_to_host16): Likewise.
14649 (grub_host_to_target64): Likewise.
14650 (grub_host_to_target32): Likewise.
14651 (grub_host_to_target16): Likewise.
14652 (grub_host_to_target_addr): Likewise.
14653 (generate_image): Handle multiimage.
14654 (main): Require -O parameter. All users updated.
14655 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
14656 util/efi/grub-mkimage.c
14657 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
14658 New option --rom-directory.
14659 Use xorriso.
14660 * util/i386/efi/grub-mkimage.c: Removed.
14661 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
14662 (grub_target_to_host32): Likewise.
14663 (grub_target_to_host64): Likewise.
14664 (grub_host_to_target16): Likewise.
14665 (grub_host_to_target32): Likewise.
14666 (grub_host_to_target64): Likewise.
14667 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
14668 (grub_target_to_host32): Likewise.
14669 (grub_target_to_host64): Likewise.
14670 (grub_host_to_target16): Likewise.
14671 (grub_host_to_target32): Likewise.
14672 (grub_host_to_target64): Likewise.
14673
f4fc97d0
BC
146742010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
14675
14676 Source tree is reorganized for emu build.
14677
14678 * include/grub/util/console.h: Move from here...
14679 * include/grub/emu/console.h: ...to here.
14680 * include/grub/util/getroot.h: Move from here...
14681 * include/grub/emu/getroot.h: ...to here.
14682 * include/grub/util/hostdisk.h: Move from here...
14683 * include/grub/emu/hostdisk.h: ...to here.
14684 * util/console.c: Move from here...
14685 * kern/emu/console.c: ...to here.
14686 * util/getroot.c: Move from here...
14687 * kern/emu/getroot.c: ...to here.
14688 * util/grub-emu.c: Move from here...
14689 * kern/emu/main.c: ...to here.
14690 * util/hostdisk.c: Move from here...
14691 * kern/emu/hostdisk.c: ...to here.
14692 * util/hostfs.c: Move from here...
14693 * kern/emu/hostfs.c: ...to here.
14694 * util/mm.c: Move from here...
14695 * kern/emu/mm.c: ...to here.
14696 * util/pci.c: Move from here...
14697 * bus/emu/pci.c: ...to here.
14698 * util/sdl.c: Move from here...
14699 * video/emu/sdl.c: ...to here.
14700 * util/time.c: Move from here...
14701 * kern/emu/time.c: ...to here.
14702 * util/usb.c: Move from here...
14703 * bus/usb/emu/usb.c: ...to here.
14704
14705 * include/grub/emu/misc.h: New header for grub-emu functions.
14706 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
14707
14708 * conf/any-emu.rmk: Rule updates for above renames.
14709 * conf/common.rmk: Likewise.
14710 * conf/i386-pc.rmk: Likewise.
14711 * conf/i386-qemu.rmk: Likewise.
14712 * conf/mips.rmk: Likewise.
14713 * conf/sparc64-ieee1275.rmk: Likewise.
14714 * conf/x86-efi.rmk: Likewise.
14715
14716 * disk/lvm.h: #include updates for above renames.
14717 * util/grub-mkrelpath.c: Likewise.
14718 * util/grub-probe.c: Likewise.
14719 * util/i386/pc/grub-setup.c: Likewise.
14720 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14721 * kern/emu/console.c: Likewise.
14722 * kern/emu/getroot.c: Likewise.
14723 * kern/emu/hostdisk.c: Likewise.
14724 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
14725
14726 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
14727 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
14728 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
14729 * util/misc.c: Remove grub-emu functions.
14730
cced9145
VS
147312010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 Fix gfxmenu crash.
14734 Reported by: Thorsten Grützmacher.
14735
14736 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
14737 timeout hook.
14738 (circprog_set_property): Register and unregister timeout hook.
14739 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
14740 (label_destroy): Free template. and unregister hook.
14741 (label_set_state): New function.
14742 (label_set_property): Handle templates and hooks.
14743 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
14744 timeout hook.
14745 (progress_bar_set_property): Register and unregister timeout hook.
14746 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
14747 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
14748 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
14749 (update_timeout_visit): Removed.
14750 (update_timeouts): New function.
14751 (redraw_timeouts): Likewise.
14752 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
14753 (grub_gfxmenu_clear_timeout): Likewise.
14754 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
14755 (grub_gfxmenu_timeout_notify): Likewise.
14756 (grub_gfxmenu_timeout_notifications): New external variable.
14757 (grub_gfxmenu_timeout_register): New function.
14758 (grub_gfxmenu_timeout_unregister): Likewise.
14759
c6e5caab
VS
147602010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14761
14762 Transform (broken) vga terminal into (working) vga video driver.
14763
14764 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
14765 video/i386/pc/vga.c.
14766 * include/grub/video.h (grub_video_driver_id):
14767 Add GRUB_VIDEO_DRIVER_VGA.
14768 * term/i386/pc/vga.c: Renamed to ...
14769 * video/i386/pc/vga.c: ...this
14770 (DEBUG_VGA): Removed.
14771 (CHAR_WIDTH): Likewise.
14772 (CHAR_HEIGHT): Likewise.
14773 (TEXT_WIDTH): Likewise.
14774 (TEXT_HEIGHT): Likewise.
14775 (DEFAULT_FG_COLOR): Likewise.
14776 (DEFAULT_BG_COLOR): Likewise.
14777 (colored_char): Likewise.
14778 (xpos): Likewise.
14779 (ypos): Likewise.
14780 (cursor_state): Likewise.
14781 (fg_color): Likewise.
14782 (bg_color): Likewise.
14783 (text_buf): Likewise.
14784 (page): Likewise.
14785 (font): Likewise.
14786 (framebuffer): New variable.
14787 (set_read_map): Disabled.
14788 (setup): New variable.
14789 (is_target): Likewise.
14790 (grub_vga_mod_init): Likewise.
14791 (grub_vga_mod_fini): Likewise.
14792 (check_vga_mem): Likewise.
14793 (write_char): Likewise.
14794 (write_cursor): Likewise.
14795 (scroll_up): Likewise.
14796 (grub_vga_putchar): Likewise.
14797 (grub_vga_getcharwidth): Likewise.
14798 (grub_vga_getwh): Likewise.
14799 (grub_vga_getxy): Likewise.
14800 (grub_vga_gotoxy): Likewise.
14801 (grub_vga_cls): Likewise.
14802 (grub_vga_setcolorstate): Likewise.
14803 (grub_vga_setcursor): Likewise.
14804 (grub_video_vga_init): New function.
14805 (grub_video_vga_setup): Likewise.
14806 (grub_video_vga_fini): Likewise.
14807 (update_target): Likewise.
14808 (grub_video_vga_blit_bitmap): Likewise.
14809 (grub_video_vga_blit_render_target): Likewise.
14810 (grub_video_vga_set_active_render_target): Likewise.
14811 (grub_video_vga_get_active_render_target): Likewise.
14812 (grub_video_vga_swap_buffers): Likewise.
14813 (grub_video_vga_set_palette): Likewise.
14814 (grub_video_vga_get_info_and_fini): Likewise.
14815 (grub_vga_term): Removed.
14816 (grub_video_vga_adapter): New variable.
14817 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14818 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14819
2bf61a98
VS
148202010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 * video/readers/jpeg.c: Indented.
14823
09ddcd11
VS
148242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 Various jpeg cleanups.
14827
14828 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14829 (grub_jpeg_decode_quan_table): Use sizeof.
14830 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14831
e5507505
PH
148322010-05-05 Peter Hurley <No e-mail available> (tiny change)
14833
14834 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14835 tables. Ignore non-last ac bit.
14836 (grub_jpeg_decode_quan_table): Likewise.
14837
7e720a9b
VS
148382010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14839
14840 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14841 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14842 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14843 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14844 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14845 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14846
a7fc080b
VS
148472010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14848
14849 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14850 error.
14851
2bf6012d
VS
148522010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14855
265d68cd
VS
148562010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14859 condition.
14860
148612010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
14862
14863 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14864 part.
14865
265d68cd 148662010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
14867
14868 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14869 pointers.
14870
265d68cd 148712010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
14872
14873 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14874
d1b61374
CF
148752010-05-01 Christian Franke <franke@computer.org>
14876
14877 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14878 Remove broken Cygwin path conversion.
14879 * util/misc.c: [__CYGWIN__] Add include and define.
14880 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14881 for Cygwin 1.7.
14882 (make_system_path_relative_to_its_root): Simplify loop, replace early
14883 return by break.
14884 [__CYGWIN__] Add conversion to win32 path.
14885 Include "/" case in trailing slash removal.
14886
3558c6e9
VS
148872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14888
14889 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14890 Reported by: Seth Goldberg
14891
f5f3ff93
VS
148922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * commands/help.c (grub_cmd_help): Fix a typo.
14895 Reported by: Seth Goldberg
14896
d8b5cd40
VS
148972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14900 name and add N_.
14901 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14902 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14903 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14904 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14905 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14906 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14907 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14908 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14909 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14910 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14911 * normal/context.c (GRUB_MOD_INIT): Likewise.
14912 * normal/main.c (GRUB_MOD_INIT): Likewise.
14913 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14914 * term/serial.c (GRUB_MOD_INIT): Likewise.
14915 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14916
88c14915
VS
149172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14920 extra == 0.
14921
165134bc
VS
149222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 * commands/iorw.c: New file.
14925 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14926 (iorw_mod_SOURCES): New variable.
14927 (iorw_mod_CFLAGS): Likewise.
14928 (iorw_mod_LDFLAGS): Likewise.
14929
c5ac9b32
VS
149302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 Hotkey support
14933
14934 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14935 * normal/main.c (hotkey_aliases): New variable.
14936 (grub_normal_add_menu_entry): Parse "--hotkey".
14937 * normal/menu_text.c (run_menu): Handle hotkeys.
14938
ce60689c
VS
149392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14940
14941 * kern/i386/coreboot/init.c (grub_machine_init): Call
14942 grub_machine_mmap_init on qemu.
14943
0359d006
VS
149442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 * boot/i386/qemu/boot.S: Add a missing .code16.
14947
7819a456
VS
149482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 Use LBIO on coreboot.
14951
14952 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14953 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14954 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14955 New declaration.
14956 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14957 grub_machine_mmap_init on coreboot.
14958 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14959 GRUB_LINUXBIOS_MEMBER_LINK.
14960 (grub_machine_mmap_iterate): Fix declaration.
14961 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14962
7210dca9
VS
149632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 Split coreboot and multiboot ports.
14966
14967 * conf/i386-multiboot.rmk: New file.
14968 * configure.ac: Add multiboot port.
14969 * include/grub/i386/multiboot/boot.h: New file.
14970 * include/grub/i386/multiboot/console.h: Likewise.
14971 * include/grub/i386/multiboot/init.h: Likewise.
14972 * include/grub/i386/multiboot/kernel.h: Likewise.
14973 * include/grub/i386/multiboot/loader.h: Likewise.
14974 * include/grub/i386/multiboot/memory.h: Likewise.
14975 * include/grub/i386/multiboot/serial.h: Likewise.
14976 * include/grub/i386/multiboot/time.h: Likewise.
14977 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14978 * loader/multiboot.c: Likewise.
14979 * loader/multiboot_mbi2.c: Likewise.
14980 * util/grub-mkrescue.in: Generate multiboot rescue.
14981
6f8aaf68
VS
149822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14983
3080f7a7
VS
14984 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14985
149862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
14989
14990 * commands/terminal.c (abstract_terminal): New struct.
14991 (handle_command): New function. Based on grub_cmd_terminal_input.
14992 (grub_cmd_terminal_input): Use handle_command.
14993 (grub_cmd_terminal_output): Use handle_command.
14994
a8ebb841
BC
149952010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14996
14997 Fix comment handling.
14998
14999 * tests/grub_script_comments.in: New testcase.
15000 * conf/tests.rmk: Rules for new testcase.
15001 * script/yylex.l: Updated flex rules.
15002
bb06ba08
ST
150032010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
15004
15005 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
15006 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
15007 if argc is 1.
bb06ba08 15008
cc9d2425
VS
150092010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
15012 autogen issues.
15013
460d8402
CF
150142010-04-26 Christian Franke <franke@computer.org>
15015
15016 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
15017 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
15018 (grub_get_prefix): Remove function.
15019 * util/grub-emu.c (main): Replace grub_get_prefix () call by
15020 make_system_path_relative_to_its_root ().
15021 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15022
553c01f9
CF
150232010-04-24 Christian Franke <franke@computer.org>
15024
15025 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
15026 (kernel_img_LDFLAGS): Remove -static-libgcc.
15027
2aec1692
CF
150282010-04-24 Christian Franke <franke@computer.org>
15029
15030 * configure.ac: Do not CHECK_BSS_START_SYMBOL
15031 and CHECK_END_SYMBOL if grub-emu is built.
15032 Unset TARGET_OBJ2ELF if grub-emu is built
15033 without module support.
15034
f67dc308
JS
150352010-04-24 Jiro SEKIBA <jir@unicus.jp>
15036
15037 Nilfs2 support.
15038
15039 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
15040 (grub_fstest_SOURCES): Likewise.
15041 (pkglib_MODULES): Add nilfs2.mod.
15042 (nilfs2_mod_SOURCES): New variable.
15043 (nilfs2_mod_CFLAGS): Likewise.
15044 (nilfs2_mod_LDFLAGS): Likewise.
15045 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15046 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15047 * fs/nilfs2.c: New file.
15048
4ba8d354
VS
150492010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
15052 is not supported.
15053
0d2c20c6
GS
150542010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
15055
15056 Add grub-mkconfig support for NetBSD.
15057
15058 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
15059 * util/grub-mkconfig.in: export new NetBSD specific variables.
15060 * po/POTFILES-shell: added 10_netbsd.in.
15061 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
15062
bc4a2d83
BC
150632010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
15064
15065 Fix emu build with grub-emu-pci and grub-emu-modules.
15066
15067 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
15068 functions.
15069 * include/grub/libpciaccess.h: New file.
15070 * conf/any-emu.rmk: Update kernel headers for emu build.
15071
f48c87aa
VS
150722010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
15075
18959385
VS
150762010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
15079
0037de3f
VS
150802010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
15083 Retrieve chosen/bootpath if bootpath isn't hardcoded.
15084 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
15085 util/ieee1275/ofpath.c.
15086 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
15087 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
15088 * include/grub/sparc64/ieee1275/boot.h
15089 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
15090 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
15091 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
15092 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
15093 const char *.
15094 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
15095 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
15096 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
15097 install.
15098
38e55e90
GS
150992010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15100
15101 * util/grub-mkconfig.in: Corrected two == equality tests.
15102 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
15103 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
15104 expect a number appended to it.
15105 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
15106 expects a number appended to it.
15107
a9e6ff28
VS
151082010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
15111
0b830b8f
VS
151122010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 * util/hostdisk.c (make_device_name): Change to new partition naming.
15115
0973daeb
VS
151162010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
15119
460d8402 151202010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
15121
15122 * Makefile.in: Add missing localedir setting.
15123
0b456309
CW
151242010-04-14 Colin Watson <cjwatson@ubuntu.com>
15125
15126 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
15127 mistake in r2156. Noticed by Anthony Fok.
15128
15129 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
15130 @localedir@.
15131 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
15132
08f46d62
BC
151332010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
15134
15135 Fix a spurious, uninitialized variable warning.
15136
15137 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
15138 Initialize variable, shdr.
15139 (grub_freebsd_load_elfmodule): Likewise.
15140 (grub_freebsd_load_elf_meta): Likewise.
15141
8c4a72d4
BC
151422010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
15143
15144 Fix for escaped dollar in double quoted strings.
15145
15146 * script/yylex.l: Updated flex rules.
15147 * conf/tests.rmk: Rule for new testcase.
15148 * tests/grub_script_dollar.in: New testcase.
15149
ce44826e
CPE
151502010-04-13 Carles Pina i Estany <carles@pina.cat>
151512010-04-13 Colin Watson <cjwatson@ubuntu.com>
15152
15153 Enclose all translated strings in grub.cfg in single quotes, and
15154 escape them appropriately (Ubuntu bug #552921).
15155
15156 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
15157 * util/grub.d/10_hurd.in: Use it.
15158 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
15159 * util/grub.d/10_linux.in (linux_entry): Likewise.
15160
4b0cd8f8
VS
151612010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15162
15163 Fix cygwin compilation.
15164
15165 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
15166 * include/grub/misc.h (__register_frame_info)
15167 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
15168 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
15169 * kern/misc.c (__register_frame_info)
15170 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
15171 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
15172
01fcf061
VS
151732010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
15176
5d04b11e
VS
151772010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15178
15179 Unify libgcc processing.
15180
15181 * Makefile.in (kernel_img_LDFLAGS): New variable.
15182 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
15183 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
15184 overwriting.
15185 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
15186 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
15187 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
15188 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
15189 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
15190 overwriting. Remove -lgcc and -static-libgcc
15191 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
15192 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
15193 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
15194 (kernel_img_LDFLAGS): Append instead of overwriting.
15195 Remove -lgcc and -static-libgcc
15196 * conf/sparc64-ieee1275.rmk: Likewise.
15197 * include/grub/powerpc/libgcc.h: Move to ...
15198 * include/grub/libgcc.h: .. this.
15199 * include/grub/libgcc.h: Don't export most of the function on x86.
15200 (__bswapsi2): New export.
15201 (__bswapdi2): Likewise.
15202 * include/grub/mips/libgcc.h: Removed.
15203 * include/grub/sparc64/libgcc.h: Likewise.
15204
b7f3ac29
VS
152052010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
15208 disk_info_msg (conflicts with gettexting into languages with cases).
15209
2c7031b1
GS
152102010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
15211
15212 Add grub-probe support for NetBSD.
15213
15214 * util/getroot.c (find_root_device): Convert block device to
15215 character device on NetBSD.
15216 * util/probe.c (probe): Require character device on NetBSD.
15217 * util/hostdisk.c: NetBSD specific headers.
15218 (configure_device_driver): new function to tune device driver
15219 parameters (currently only for NetBSD floppy driver).
15220 (grub_util_biosdisk_open): NetBSD specific code (get disk size
15221 via disklabel ioctl).
15222 (open_device): call configure_device_driver on NetBSD.
15223 (convert_system_partition_to_system_disk): NetBSD specific code.
15224 (device_is_wholedisk): Likewise.
15225 (grub_util_biosdisk_get_grub_dev): Likewise.
15226 (make_device_name): Fixed a typo in bsd_part_str.
15227 * configure.ac: check for opendisk() and getrawpartition() on
15228 NetBSD and set LIBUTIL.
15229 * Makefile.in: add LIBUTIL to LIBS.
15230
f516290c
BC
152312010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
15232
15233 Documentation fix.
15234
15235 * util/grub-script-check.c: Better help message.
15236
d8dcc0df
BC
152372010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
15238
15239 Fix FreeBSD build.
15240
15241 * configure.ac: Flex version check.
15242 * conf/common.rmk: Add -Wno-error to sh.mod.
15243 * script/yylex.l: Remove all #pragma.
15244
6734334a
VS
152452010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 * include/grub/util/misc.h (canonicalise_file_name): Add missing
15248 prototype.
15249 Reported by: Seth Goldberg.
15250
daea6abd
VS
152512010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
15254 Rename "module" to "module2".
15255 Reported by: Seth Goldberg.
15256
f2fd9d2b
VS
152572010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15258
15259 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
15260 EXPORT_FUNC.
15261 Reported by: Seth Goldberg.
15262
be124579
VS
152632010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15264
15265 * lib/posix_wrap/locale.h: Add missing file.
15266 Reported by: Seth Goldberg.
15267
ef5da797
VS
152682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15269
15270 grub-emu module load support.
15271
15272 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
15273 NO_DYNAMIC_MODULES switched to this.
15274 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
15275 (CFLAGS): Likewise.
15276 * conf/any-emu.rmk: Generate symlist.
15277 (kernel_img_HEADERS): Add util/datetime.h.
15278 (kernel_img_HEADERS) [sdl]: Add sdl.h.
15279 (kernel_img_HEADERS) [libusb]: Add libusb.h.
15280 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
15281 kern/$(target_cpu)/cache.S.
15282 * configure.ac (grub-emu-modules): New option.
15283 * genmk.rb: Handle multiple source lists.
15284 * include/grub/sdl.h: New file.
15285 * include/grub/libusb.h: Likewise.
15286 * util/grub-emu.c (main): Hanle (host) root.
15287 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
15288 GRUB_ERR_UNKNOWN_DEVICE.
15289 * util/misc.c: Move mm functions to ...
15290 * util/mm.c: ... here. All users updated.
15291
47822096
VS
152922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15293
15294 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
15295 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
15296 missing files.
15297 (maintainer-clean): Remove libgcrypt-grub.
15298
5d7e7445
VS
152992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15300
15301 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
15302
25f4e252
EC
153032010-04-09 EFI Coder <eficoder@hotmail.com>
15304
15305 * normal/menu_text.c (print_message): Clean up the message and show
15306 the Fn information when on EFI
15307 * term/efi/console.c (grub_console_checkkey): Add F4 support.
15308
027de555
VS
153092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
15312 All users updated.
15313 * normal/crypto.c (read_crypto_list): Likewise.
15314 * normal/dyncmd.c (read_command_list): Likewise.
15315 * normal/term.c (read_terminal_list): Likewise.
15316 * normal/main.c (read_lists): Use explicit prefix.
15317 (read_lists_hook): Use read_lists.
15318 (grub_normal_execute): Likewise.
15319
47779711
VS
153202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15321
15322 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
15323 Reported by: Thomas Schmitt.
15324 Add -no-emul-boot to grub-mkisofs parameters.
15325
1118c32e
VS
153262010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 * font/font.c: Indented.
15329
7d652447
BC
153302010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
15331
15332 Elif support to GRUB script (by Deepak Vankadaru).
15333
15334 * tests/grub_script_if.in: New testcase.
15335 * conf/tests.rmk: Rule for new testcase.
15336 * script/parser.y: Grammar rules for elif.
15337
34bb22df
BC
153382010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
15339
15340 While and until loops support to GRUB script.
15341
15342 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
15343 (grub_script_create_cmdwhile): New function prototype.
15344 (grub_script_execute_cmdwhile): New function prototype.
15345 * script/execute.c (grub_script_execute_cmdwhile): New function.
15346 * script/parser.y (command): New commands.
15347 (whilecmd): New grammar rule.
15348 (untilcmd): New grammar rule.
15349 * script/script.c (grub_script_create_cmdwhile): New function.
15350 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
15351 function.
15352
15353 * tests/grub_script_while1.in: New testcase.
15354 * conf/tests.rmk: Rule for new testcase.
15355
e215d8e0
VS
153562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
15359 as *.jpg.
15360
d7c43ba1
MV
153612010-04-09 Mario Vazquez <mariovazq@gmail.com>
15362
15363 GRUB_BACKGROUND support.
15364
15365 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
15366 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
15367
d64795c0
VS
153682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 15371 Idea by: Mario Vazquez
d64795c0
VS
15372
15373 * util/grub.d/00_header.in: Load pf2 and image modules.
15374
f267f83a
VS
153752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 grub-mkconfig multiple terminal support.
15378
15379 * util/grub-mkconfig.in: Handle multiple terminals correctly.
15380 * util/grub.d/00_header.in: Likewise.
15381
b7841ceb
VS
153822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15383
15384 * Makefile.in: Specify files explicitly instead of using $< and $@ since
15385 we use cd $(srcdir).
15386
df60998c
CW
153872010-04-08 Colin Watson <cjwatson@ubuntu.com>
15388
15389 * util/grub.d/10_linux.in: Only use the first word of
15390 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
15391 spaces in GRUB_DISTRIBUTOR.
15392 * util/grub.d/10_kfreebsd.in: Likewise.
15393 * util/grub.d/10_hurd.in: Likewise.
15394
fa09c82e
BC
153952010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
15396
14e18ae3 15397 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
15398
15399 * tests/util/grub-shell.in: Remove -serial stdio option.
15400
daf892b3
BC
154012010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15402
15403 POSIX header file wrappers.
15404
15405 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
15406 equivalents.
15407 * lib/posix_wrap/ctype.h: Likewise.
15408 * lib/posix_wrap/errno.h: Likewise.
15409 * lib/posix_wrap/langinfo.h: Likewise.
15410 * lib/posix_wrap/limits.h: Likewise.
15411 * lib/posix_wrap/localcharset.h: Likewise.
15412 * lib/posix_wrap/stdint.h: Likewise.
15413 * lib/posix_wrap/stdio.h: Likewise.
15414 * lib/posix_wrap/stdlib.h: Likewise.
15415 * lib/posix_wrap/string.h: Likewise.
15416 * lib/posix_wrap/sys/types.h: Likewise.
15417 * lib/posix_wrap/unistd.h: Likewise.
15418 * lib/posix_wrap/wchar.h: Likewise.
15419 * lib/posix_wrap/wctype.h: Likewise.
15420 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
15421 (grub_script.yy.h): Likewise.
15422 * script/yylex.l: Remove POSIX emulation #defines.
15423 * Makefile.in (POSIX_CFLAGS): New variable.
15424 (GNULIB_UTIL_CFLAGS): Likewise.
15425
15426 Regexp support.
15427
15428 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
15429 (regexp_mod_SOURCES): New variable.
15430 (regexp_mod_CFLAGS): Likewise.
15431 (regexp_mod_LDFLAGS): Likewise.
15432 * commands/regexp.c: New file.
15433 * gnulib/regcomp.c: New file. Imported from gnulib.
15434 * gnulib/regex.c: Likewise.
15435 * gnulib/regex_internal.c: Likewise.
15436 * gnulib/regex_internal.h: Likewise.
15437 * gnulib/regexec.c: Likewise.
15438 * gnulib/regex.h: Likewise.
15439
974ac4f7
VS
154402010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
15443 unsupported video mode types.
15444
2622c3ff
VS
154452010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15446
15447 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
15448
064cb524
VS
154492010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
15452 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
15453
a8c3b552
VS
154542010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15455
15456 Remove unused grub_vga_get_font.
15457
15458 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
15459 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
15460
187bbe3d
GS
154612010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15462
15463 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
15464 * include/grub/misc.h: Likewise.
15465
b9396631
GS
154662010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15467
15468 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
15469 for which failure is fatal.
15470
50479feb
GS
154712010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15472
15473 * util/grub-install.in: Use mkdir -p to create grub directory.
15474 * util/i386/efi/grub-install.in: Likewise.
15475 * util/ieee1275/grub-install.in: Likewise.
15476
b1654fdf
GS
154772010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15478
15479 * Makefile.in (LEX): new variable.
15480
bd5a6415
GS
154812010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15482
15483 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
15484 `=' and added double quotes on operands of this equality test.
15485
3db3a82b
VS
154862010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 * Makefile.in (uninstall): Remove a leftover debug echo.
15489 Reported by: Grégoire Sutre
15490
38023412
VS
154912010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15492
15493 MIPS multiboot2 support.
15494
15495 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
15496 (multiboot2_mod_SOURCES): New variable.
15497 (multiboot2_mod_CFLAGS): Likewise.
15498 (multiboot2_mod_LDFLAGS): Likewise.
15499 (multiboot2_mod_ASFLAGS): Likewise.
15500 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
15501 definition.
15502 (MULTIBOOT_ENTRY_REGISTER): Likewise.
15503 (MULTIBOOT_MBI_REGISTER): Likewise.
15504 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
15505 (MULTIBOOT_ELF32_MACHINE): Likewise.
15506 (MULTIBOOT_ELF64_MACHINE): Likewise.
15507 * include/grub/mips/multiboot.h: New file.
15508 * include/grub/video.h (grub_video_driver_id): New type
15509 GRUB_VIDEO_DRIVER_SM712.
15510 (grub_video_get_info_and_fini): Export.
15511 (grub_video_get_palette): Likewise.
15512 (grub_video_get_driver_id): Likewise.
15513 * include/multiboot2.h: Resynced with spec.
15514 * loader/i386/multiboot.c: Moved from here ...
15515 * loader/multiboot.c: ... here. All users updated.
15516 (grub_multiboot_boot): Use platform-specific macros.
15517 * loader/i386/multiboot_elfxx.c: Moved from here ...
15518 * loader/multiboot_elfxx.c: ... here. All users updated.
15519 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
15520 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
15521 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
15522
47674667
VS
155232010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15524
15525 Import gnulib argp module.
15526
15527 * gnulib/argp-ba.c: New file.
15528 * gnulib/argp-eexst.c: Likewise.
15529 * gnulib/argp-fmtstream.c: Likewise.
15530 * gnulib/argp-fmtstream.h: Likewise.
15531 * gnulib/argp-fs-xinl.c: Likewise.
15532 * gnulib/argp-help.c: Likewise.
15533 * gnulib/argp-namefrob.h: Likewise.
15534 * gnulib/argp-parse.c: Likewise.
15535 * gnulib/argp-pin.c: Likewise.
15536 * gnulib/argp-pv.c: Likewise.
15537 * gnulib/argp-pvh.c: Likewise.
15538 * gnulib/argp-version-etc.c: Likewise.
15539 * gnulib/argp-version-etc.h: Likewise.
15540 * gnulib/argp-xinl.c: Likewise.
15541 * gnulib/argp.h: Likewise.
15542
495442ed
VS
155432010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 * kern/device.c (grub_device_iterate): Clear errors after failed
15546 opening device.
15547
f9fd65df
VS
155482010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15549
15550 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
15551 returned by firmware.
15552
af09641e
VS
155532010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15554
15555 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
15556 compilation on coreboot and qemu
15557
016883a5
VS
155582010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 * include/multiboot2.h: Resync with spec.
15561
f97e1f7d
VS
155622010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15563
15564 Multiboot2 tag support
15565
15566 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
15567 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
15568 Remove loader/multiboot_loader.c.
15569 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
15570 (grub_multiboot2_real_boot): Likewise.
15571 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
15572 (grub_get_multiboot_mmap_count): New proto.
15573 (grub_fill_multiboot_mmap): Likewise.
15574 (grub_multiboot_set_video_mode): Likewise.
15575 (grub_multiboot_set_console): Likewise.
15576 (grub_multiboot_load): Likewise.
15577 (grub_multiboot_load_elf): Likewise.
15578 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
15579 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
15580 * include/multiboot.h: Resynced with specification.
15581 * include/multiboot2.h: Resynced with specification.
15582 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
15583 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
15584 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
15585 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
15586 users updated.
15587 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
15588 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
15589 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
15590 Removed.
15591 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
15592 Moved from here...
15593 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
15594 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15595 Moved from here...
15596 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
15597 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
15598 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
15599 All users updated.
15600 * loader/i386/multiboot_mbi2.c: New file.
15601
3506b90b
VS
156022010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 Resync with gnulib.
15605
15606 * Makefile.in (GNULIB_CFLAGS): New variable.
15607 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
15608 (grub_script_check_CFLAGS): New variable.
15609 * gnulib/alloca.h: Resync with gnulib.
15610 * gnulib/error.c: Likewise.
15611 * gnulib/error.h: Likewise.
15612 * gnulib/fnmatch.c: Likewise.
15613 * gnulib/fnmatch_loop.c: Likewise.
15614 * gnulib/getdelim.c: Likewise.
15615 * gnulib/getline.c: Likewise.
15616 * gnulib/getopt.c: Likewise.
15617 * gnulib/getopt1.c: Likewise.
15618 * gnulib/getopt_int.h: Likewise.
15619 * gnulib/gettext.h: Likewise.
15620 * gnulib/progname.c: Likewise.
15621 * gnulib/progname.h: Likewise.
15622
394a3120
GS
156232010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
15624
15625 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
15626 which is the case with --disabled-nls.
15627
15628 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
15629 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
15630 * util/misc.c: Likewise.
15631 * util/mkisofs/mkisofs.c: Likewise.
15632 * util/mkisofs/mkisofs.h: Likewise.
15633
969d1c78
VS
156342010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 Simplify Apple CC support.
15637
15638 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
15639 Add 0 byte at the end not to have a symbol with empty target.
15640 * mmap/i386/pc/mmap_helper.S: Likewise.
15641 * genmk.rb: Ignore errors 2030 and 2050.
15642 * kern/i386/pc/startup.S: Use LOCAL when possible.
15643
8d2977bb
BC
156442010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
15645
15646 Testcase and the fix for final semicolon on cmdline.
15647
15648 * tests/grub_script_final_semicolon.in: New testcase.
15649 * conf/tests.rmk: Rules for the new testcase.
15650 * script/parser.y: Grammar fix.
15651
a7bd6915
BC
156522010-03-26 BVK Chaitanya <bvk@localhost>
15653
15654 Blank lines testcase for GRUB script.
15655
15656 * tests/grub_script_blanklines.in: New testcase.
15657 * conf/tests.rmk: Rules for the new testcase.
15658
e4ff6628
VS
156592010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 Don't use __FILE__.
15662
15663 * genmk.rb: Add -DGRUB_FILE to all C targets.
15664 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
15665 * include/grub/list.h: Likewise.
15666 * include/grub/misc.h: Likewise.
15667 * include/grub/mm.h: Likewise.
15668 * include/grub/test.h: Likewise.
15669 * kern/mm.c: Likewise.
15670 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15671
6a5cf6b6
VS
156722010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 Sunpc partitions support.
15675
15676 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
15677 (grub_fstest_SOURCES): Likewise.
15678 (pkglib_MODULES): Add part_sunpc.mod.
15679 (part_sunpc_mod_SOURCES): New variable.
15680 (part_sunpc_mod_CFLAGS): Likewise.
15681 (part_sunpc_mod_LDFLAGS): Likewise.
15682 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
15683 * partmap/sunpc.c: New file.
15684
746d9045
BC
156852010-03-26 BVK Chaitanya <bvk@localhost>
15686
15687 For loop support to GRUB script.
15688
15689 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
15690 (grub_script_create_cmdfor): New function prototype.
15691 (grub_script_execute_cmdfor): New function prototype.
15692 * script/execute.c (grub_script_execute_cmdfor): New function.
15693 * script/parser.y (command): New for command.
15694 (forcmd): New grammar rule.
15695 * script/script.c (grub_script_create_cmdfor): New function.
15696 * util/grub-script-check.c (grub_script_execute_cmdfor): New
15697 function.
15698 * tests/grub_script_for1.in: New testcase.
15699 * conf/tests.rmk: Rules for new testcase.
15700
18486b18
VS
157012010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 Nested partitions
15704
15705 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
15706 'partition' is NULL, grub_partition_get_start already does that.
15707 * commands/loadenv.c (check_blocklists): Likewise.
15708 (write_blocklists): Likewise.
15709 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
15710 (grub_fstest_SOURCES): Likewise.
15711 (pkglib_MODULES): Add part_bsd.mod.
15712 (part_bsd_mod_SOURCES): New variable.
15713 (part_bsd_mod_CFLAGS): Likewise.
15714 (part_bsd_mod_LDFLAGS): Likewise.
15715 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
15716 (grub_emu_SOURCES): Likewise.
15717 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15718 * include/grub/bsdlabel.h: New file.
15719 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
15720 'get_name'.
15721 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
15722 (grub_partition_map_list): New variable.
15723 (grub_partition_map_register): Inline.
15724 (grub_partition_map_unregister): Likewise.
15725 (FOR_PARTITION_MAPS): New macro.
15726 (grub_partition_map_iterate): Removed.
15727 (grub_partition_get_start): Handle nested partitions.
15728 * include/grub/msdos_partition.h: Remove bsd-related entries.
15729 (grub_pc_partition): Remove.
15730 * kern/disk.c (grub_disk_close): Free partition data.
15731 (grub_disk_adjust_range): Handle nested partitions.
15732 * kern/partition.c (grub_partition_map_probe): New function.
15733 (grub_partition_probe): Parse name to number, handle subpartitions.
15734 (get_partmap): New function.
15735 (grub_partition_iterate): Handle subpartitions.
15736 (grub_partition_get_name): Likewise.
15737 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
15738 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
15739 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
15740 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
15741 Set 'number'.
15742 (acorn_partition_map_probe): Remove.
15743 (acorn_partition_map_get_name): Likewise.
15744 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
15745 Set 'number'.
15746 Set 'index' to 0 since there can be only one partition entry per sector.
15747 (amiga_partition_map_probe): Remove.
15748 (amiga_partition_map_get_name): Likewise.
15749 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
15750 Set 'number'.
15751 Set 'offset' and 'index' to real positions of partitions.
15752 (apple_partition_map_probe): Remove.
15753 (apple_partition_map_get_name): Likewise.
15754 * partmap/bsdlabel.c: New file.
15755 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
15756 Set 'number'.
15757 Allocate 'data' so it can be correctly freed.
15758 Set 'index' to offset inside sector.
15759 (gpt_partition_map_probe): Remove.
15760 (gpt_partition_map_get_name): Likewise.
15761 * partmap/msdos.c (grub_partition_parse): Remove.
15762 (pc_partition_map_iterate): Don't force raw access.
15763 Set 'number'.
15764 Make 'ext_offset' a local variable.
15765 (pc_partition_map_probe): Remove.
15766 (pc_partition_map_get_name): Remove.
15767 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
15768 Set 'number'.
15769 (sun_partition_map_probe): Remove.
15770 (sun_partition_map_get_name): Likewise.
15771 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
15772 (grub_pcpart_type): Likewise.
15773 * util/hostdisk.c (open_device): Handle new numbering scheme.
15774 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
15775 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
15776 * util/grub-probe.c (probe_partmap): Handle nested paritions.
15777 * util/grub-install.in: Insert all subpartition modules.
15778 * util/ieee1275/grub-install.in: Likewise.
15779
a3940f88
AG
157802010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
15781
15782 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
15783 grammar.
15784
21b99926 157852010-03-24 Colin Watson <cjwatson@ubuntu.com>
15786
15787 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
15788
bed1d352
CW
157892010-03-21 Colin Watson <cjwatson@ubuntu.com>
15790
15791 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
15792 match where 'make install' puts them.
15793 * util/i386/efi/grub-install.in: Likewise.
15794
c9f58427
CW
157952010-03-19 Colin Watson <cjwatson@ubuntu.com>
15796
15797 * .bzrignore: Add gentrigtables, grub-script-check,
15798 grub_script_check_init.c, grub_script_check_init.h, and
15799 trigtables.c.
15800
f84afb27
VS
158012010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 * kern/parser.c: Indented.
15804
ed0e3d30
VS
158052010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15806
15807 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15808
0ea81d98
VS
158092010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15812 alpha_mask_size == 0 case.
15813
0cdc2a09
BC
158142010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15815
15816 GRUB shell lexer and parser improvements.
15817
15818 * conf/any-emu.rmk: Build rule updates.
15819 * conf/common.rmk: Likewise.
15820 * conf/i386-coreboot.rmk: Likewise.
15821 * conf/i386-efi.rmk: Likewise.
15822 * conf/i386-ieee1275.rmk: Likewise.
15823 * conf/i386-pc.rmk: Likewise.
15824 * conf/powerpc-ieee1275.rmk: Likewise.
15825 * conf/x86_64-efi.rmk: Likewise.
15826
15827 * configure.ac: Configure check for flex.
15828
15829 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15830 types.
15831 (grub_lexer_param): Struct member updates.
15832 (grub_parser_param): Likewise.
15833 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15834 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15835 (grub_script_lexer_init): Prototype update.
15836 (grub_script_lexer_record_start): Likewise.
15837 (grub_script_lexer_record_stop): Likewise.
15838 (grub_script_lexer_yywrap): New function prototype.
15839 (grub_script_lexer_fini): Likewise.
15840 (grub_script_execute_argument_to_string): Removed by...
15841 (grub_script_execute_argument_to_argv): ...better version.
15842
15843 * script/execute.c (ROUND_UPTO): New macro.
15844 (grub_script_execute_cmdline): Out of memory fixes.
15845 (grub_script_execute_menuentry): Likewise.
15846 (grub_script_execute_argument_to_string): Removed. Update all
15847 users by...
15848 (grub_script_execute_argument_to_argv): ...better version.
15849 * script/function.c (grub_script_function_create): Use
15850 grub_script_execute_argument_to_argv instead of
15851 grub_script_execute_argument_to_string.
15852
15853 * script/lexer.c (check_varstate): Removed.
15854 (check_textstate): Removed.
15855 (grub_script_lexer_record_start): Likewise.
15856 (grub_script_lexer_record_stop): Likewise.
15857 (recordchar): Replaced with...
15858 (grub_script_lexer_record): ...new function.
15859 (nextchar): Removed.
15860 (grub_script_lexer_init): Rewritten.
15861 (grub_script_yylex): Rewritten.
15862 (append_newline): New function.
15863 (grub_script_lexer_yywrap): New function.
15864 (grub_script_lexer_fini): New function.
15865 (grub_script_yyerror): Sets error flag.
15866
15867 * script/yylex.l: New file.
15868 (grub_lexer_yyfree): Wrapper for flex yyffre.
15869 (grub_lexer_yyalloc): Likewise.
15870 (grub_lexer_yyrealloc): Likewise.
15871 * script/parser.y: Refactored.
15872
15873 * script/script.c (grub_script_arg_add): Out of memory fixes.
15874 (grub_script_add_arglist): Likewise.
15875 (grub_script_create_cmdline): Likewise.
15876 (grub_script_create_cmdmenu): Likewise.
15877 (grub_script_add_cmd): Likewise.
15878 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15879 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15880 unnecessary code.
15881
15882 * tests/grub_script_echo1.in: New testcase.
15883 * tests/grub_script_vars1.in: New testcase.
15884 * tests/grub_script_echo_keywords.in: New testcase.
15885
1d63a066
VS
158862010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15887
15888 Remove some redundancy in build system.
15889
15890 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15891 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15892 (TARGET_LDFLAGS): Add -nostdlib.
15893 (TARGET_IMG_LDFLAGS): Likewise.
15894 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15895 anything since mmap isn't available.
15896 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15897 Add util/time.c.
15898 (pkglib_MODULES): Remove reboot.mod.
15899 (reboot_mod_SOURCES): Removed.
15900 (reboot_mod_CFLAGS): Likewise.
15901 (reboot_mod_LDFLAGS): Likewise.
15902 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15903 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15904 (DEFSYMFILES): Add kernel_syms.lst.
15905 (kernel_img_HEADERS): Add common headers.
15906 (symlist.c): New target.
15907 (kernel_syms.lst): Likewise.
15908 (pkglib_MODULES): Add memdisk.mod.
15909 (memdisk_mod_SOURCES): New variable.
15910 (memdisk_mod_CFLAGS): Likewise.
15911 (memdisk_mod_LDFLAGS): Likewise.
15912 (pkglib_MODULES): Add reboot.mod.
15913 (reboot_mod_SOURCES): New variable.
15914 (reboot_mod_CFLAGS): Likewise.
15915 (reboot_mod_LDFLAGS): Likewise.
15916 (pkglib_MODULES): Add date.mod.
15917 (date_mod_SOURCES): New variable.
15918 (date_mod_CFLAGS): Likewise.
15919 (date_mod_LDFLAGS): Likewise.
15920 (pkglib_MODULES): Add datehook.mod.
15921 (datehook_mod_SOURCES): New variable.
15922 (datehook_mod_CFLAGS): Likewise.
15923 (datehook_mod_LDFLAGS): Likewise.
15924 (pkglib_MODULES): Add lsmmap.mod.
15925 (lsmmap_mod_SOURCES): New variable.
15926 (lsmmap_mod_CFLAGS): Likewise.
15927 (lsmmap_mod_LDFLAGS): Likewise.
15928 (pkglib_MODULES): Add boot.mod.
15929 (boot_mod_SOURCES): New variable.
15930 (boot_mod_CFLAGS): Likewise.
15931 (boot_mod_LDFLAGS): Likewise.
15932 * conf/i386-coreboot.rmk: Removed redundant parts.
15933 * conf/i386-ieee1275.rmk: Likewise.
15934 * conf/i386-pc.rmk: Likewise.
15935 * conf/mips-yeeloong.rmk: Likewise.
15936 * conf/mips.rmk: Likewise.
15937 * conf/powerpc-ieee1275.rmk: Likewise.
15938 * conf/sparc64-ieee1275.rmk: Likewise.
15939 * conf/x86_64-efi.rmk: Likewise.
15940 * conf/i386-coreboot.rmk: Moved qemu parts ..
15941 * conf/i386-qemu.rmk: ... here
15942 * conf/i386-efi.rmk: Moved common parts to...
15943 * conf/x86-efi.rmk: ... here.
15944 * conf/i386.rmk: Added modules common to all x86 variants.
15945 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15946 * disk/memdisk.c: Remove grub/machine/kernel.h.
15947 * gensymlist.sh.in: Include symbol.h.
15948 * hook/datehook.c: Correct module name.
15949 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15950 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15951 * include/grub/i386/efi/serial.h: New file.
15952 * include/grub/x86_64/efi/serial.h: Likewise.
15953 * util/time.c: Likewise.
15954 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15955
463ac55f
CK
159562010-03-14 Colin King <colin.king@ubuntu.com>
159572010-03-14 Colin Watson <cjwatson@ubuntu.com>
15958
15959 Shrink the pre-partition-table part of boot.img by eight bytes.
15960
15961 * boot/i386/pc/boot.S (ERR): New macro.
15962 (chs_mode): Use ERR.
15963 (geometry_error): Likewise.
15964 (hd_probe_error): Remove. This is only used once, so we wrwite
15965 it inline instead.
15966 (read_error): Instead of printing read_error_string, just set up
15967 %si and fall through to ...
15968 (error_message): ... this new function, also used by ERR.
15969
08e46ede
CW
159702010-03-14 Colin Watson <cjwatson@ubuntu.com>
15971
15972 Speed up consecutive hostdisk operations on the same device.
15973
15974 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15975 (grub_util_biosdisk_open): Initialise disk->data.
15976 (struct linux_partition_cache): New structure.
15977 (linux_find_partition): Cache partition start positions; these are
15978 expensive to compute on every read and write.
15979 (open_device): Cache open file descriptor in disk->data, so that we
15980 don't have to reopen it and flush the buffer cache for consecutive
15981 operations on the same device.
15982 (grub_util_biosdisk_close): New function.
15983 (grub_util_biosdisk_dev): Set `close' member.
15984
15985 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15986 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15987 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15988 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15989 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15990
4a6d2d06
VS
159912010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15992
15993 Compile parts of grub-emu as modules.
15994
15995 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15996 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15997 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15998 (all-local): Add $(GRUB_EMU).
15999 (install-local): Install $(GRUB_EMU).
16000 (uninstall): Uninstall $(GRUB_EMU).
16001 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
16002 * kern/dl.c: Likewise.
16003 * commands/sleep.c: Not include machine/time.h.
16004 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
16005 (COMMON_CFLAGS): Likewise.
16006 (sbin_UTILITIES): Remove grub-emu.
16007 (grub_emu_SOURCES): Removed.
16008 (kernel_img_RELOCATABLE): New variable.
16009 (pkglib_PROGRAMS): Add kernel.img.
16010 (kernel_img_SOURCES): New variable
16011 (kernel_img_CFLAGS): Likewise.
16012 (kernel_img_LDFLAGS): Likewise.
16013 (TARGET_NO_STRIP): Likewise.
16014 (TARGET_NO_DYNAMIC_MODULES): Likewise.
16015 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
16016 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
16017 (grub-emu): New target.
16018 (GRUB_EMU): New variable.
16019 * configure.ac: Whitelist -emu as possible x86_64 architecture.
16020 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
16021 * loader/xnu.c: Likewise.
16022 * include/grub/pci.h: Likewise.
16023 * genemuinit.sh: New file.
16024 * genemuinitheader.sh: Likewise.
16025 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
16026 Support TARGET_NO_DYNAMIC_MODULES.
16027 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
16028 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
16029 * disk/loopback.c: Likewise.
16030 * font/font_cmd.c: Likewise.
16031 * partmap/acorn.c: Likewise.
16032 * partmap/amiga.c: Likewise.
16033 * partmap/apple.c: Likewise.
16034 * partmap/gpt.c: Likewise.
16035 * partmap/msdos.c: Likewise.
16036 * partmap/sun.c: Likewise.
16037 * parttool/msdospart.c: Likewise.
16038 * term/gfxterm.c: Likewise.
16039 * video/bitmap.c: Likewise.
16040 * video/readers/jpeg.c: Likewise.
16041 * video/readers/png.c: Likewise.
16042 * video/readers/tga.c: Likewise.
16043 * video/video.c: Likewise.
16044 * util/grub-emu.c (read_command_list): Removed.
16045 (main): Don't call util_init_nls.
16046 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
16047 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
16048
91fdd2ed
VS
160492010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16050
16051 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
16052 date.mod, datehook.mod.
16053 (datetime_mod_SOURCES): New variable.
16054 (datetime_mod_CFLAGS): Likewise.
16055 (datetime_mod_LDFLAGS): Likewise.
16056 (date_mod_SOURCES): Likewise.
16057 (date_mod_CFLAGS): Likewise.
16058 (date_mod_LDFLAGS): Likewise.
16059 (datehook_mod_SOURCES): Likewise.
16060 (datehook_mod_CFLAGS): Likewise.
16061 (datehook_mod_LDFLAGS): Likewise.
16062 * conf/sparc64-ieee1275.rmk: Likewise.
16063 * lib/ieee1275/datetime.c: New file.
16064
873ccae6
VS
160652010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
16068 (ieee1275_fb_mod_SOURCES): New variable.
16069 (ieee1275_fb_mod_CFLAGS): Likewise.
16070 (ieee1275_fb_mod_LDFLAGS): Likewise.
16071 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
16072 New proto.
16073 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
16074 (HEAP_MAX_ADDR): Likewise.
16075 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
16076 type.
16077 Correct stop condition.
16078 (grub_ieee1275_devices_iterate): New function.
16079 * video/ieee1275.c: New file.
16080
601c97c0
VS
160812010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
16084
16085 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
16086 as scratch.
16087 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
16088 SCRATCH_PAD_DISKBOOT as scratch.
16089 (bootit): Pass Openfirmware pointer in %o4.
16090 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
16091 of 0x200000.
16092 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
16093 with util/grub-mkrawimage.c.
16094 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
16095 * include/grub/aout.h (AOUT_MID_SUN): New definition.
16096 (grub_aout_get_type) [GRUB_UTIL]: Removed.
16097 (grub_aout_load) [GRUB_UTIL]: Likewise.
16098 * include/grub/kernel.h (grub_modules_get_end): New proto.
16099 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
16100 (SCRATCH_PAD_BOOT): New definition.
16101 (SCRATCH_PAD_DISKBOOT): Likewise.
16102 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
16103 * include/grub/sparc64/ieee1275/ieee1275.h
16104 (grub_ieee1275_original_stack): New variable
16105 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16106 New definition
16107 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
16108 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
16109 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
16110 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
16111 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
16112 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
16113 (grub_platform_image_format_t): New type.
16114 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
16115 * kern/main.c (grub_modules_get_end)
16116 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
16117 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
16118 (codestart): Switch stacks.
16119 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
16120 variable.
16121 (grub_heap_init): Use grub_modules_get_end.
16122 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
16123 stack.
16124 * util/grub-mkrawimage.c (generate_image): Support sparc64.
16125 (main): Likewise.
16126 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
16127
d68b491e
TG
161282010-03-14 Thorsten Glaser <tg@mirbsd.org>
16129
16130 * util/grub-mkrescue.in: Base ISO UUID on UTC.
16131
4e02ed50
MK
161322010-03-08 Matt Kraai <kraai@ftbfs.org>
16133
16134 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
16135 bug #559005).
16136
1f15fc1e
VS
161372010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
16138
16139 * genmoddep.awk: Output all missing symbols and not only first.
16140
fce5d8ff
VS
161412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * NEWS: Put the date of 1.98 release.
16144
d1e8a02f
VS
161452010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
16148 ft2build.h.
16149
696fd607
VS
161502010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
16153 completition in the middle of string.
16154
33e2e6f3
VS
161552010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 * util/grub-mkrescue.in: Use mktemp with explicit template.
16158
b1f6d291
VS
161592010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
16162
2ac227c7
VS
161632010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16164
16165 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
16166 right pointer.
16167
8f9a632b
VS
161682010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 Fix FreeBSD compilation.
16171
16172 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
16173 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
16174
60b03859
VS
161752010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
16178
48a5a769
VS
161792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
16182
3ab4bd77
VS
161832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
16186
d116e0d8
RM
161872010-03-04 Robert Millan <rmh.grub@aybabtu.com>
16188
16189 Support relative image path in theme file.
16190
16191 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
16192 (image_set_property): Handle theme_dir and relative path.
16193
c7ef54aa
VS
161942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 * configure.ac: Alias amd64 to x86_64.
16197
fcee14ed
VS
161982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16199
16200 * NEWS: mention multiboot on EFI.
16201
d0780363
VS
162022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16203
16204 * kern/main.c (grub_load_modules): Handle errors from init functions of
16205 embeded modules.
16206
41168ea4
VS
162072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16208
16209 * normal/autofs.c (autoload_fs_module): Handle errors.
16210
b54d93ac
VS
162112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16212
16213 Disable linux.mod on qemu-mips since it's not functional and leads
16214 to compilation failure.
16215
16216 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
16217 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
16218 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
16219 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
16220 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
16221 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
16222 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
16223 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
16224 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
16225 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
16226 Reported by: BVK Chaitanya
16227
fc8345da
JU
162282010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
16229
16230 * INSTALL: Add gettext as a dependency and add qemu to a new section
16231 "Prerequisites for make-check".
16232
4760f979
CF
162332010-03-04 Christian Franke <franke@computer.org>
16234
16235 * util/grub-pe2elf.c: Add missing include "progname.h".
16236
f209b5b2
VS
162372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * normal/crypto.c (read_crypto_list): Fix a typo.
16240 Reported by: Seth Goldberg.
16241
b4b7be98
VS
162422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 16245 Reported by: Seth Goldberg.
b4b7be98 16246
c0ee0385
VS
162472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
16250 ascii.bitmaps.
16251
a8efbf64
VS
162522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 16255 Reported by: Seth Goldberg.
a8efbf64 16256
08dcd913
VS
162572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16258
16259 * util/i386/efi/grub-install.in: Copy gettext files.
16260
c4d0b332
VS
162612010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
16264
c6f2fe52
VS
162652010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 Wait for user entry basing on presence of output rather than on errors.
16268
16269 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
16270 (grub_install_newline_hook): Likewise.
16271 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
16272 * normal/menu.c (show_menu): Check line_counter to determine presence
16273 of output.
16274 * normal/term.c (grub_normal_line_counter): New variable.
16275 (grub_normal_get_line_counter): New function.
16276 (grub_install_newline_hook): Likewise.
16277
5382b1e4
VS
162782010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
16281
5519963b
VS
162822010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16283
16284 * configure.ac: Update version to 1.98.
16285
72b28631
VS
162862010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 * util/grub.d/10_linux.in (linux_entry): Don't default to
16289 gfxpayload=keep if Linux doesn't support video handover.
16290
c140a180
VS
162912010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
16292
16293 Don't compile video modules on yeeloong since video subsystem is part
16294 of kernel.
16295
16296 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
16297 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
16298 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
16299 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
16300 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
16301 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
16302 * include/grub/bitmap_scale.h: Likewise.
16303 * include/grub/bufio.h: Likewise.
16304 * include/grub/font.h: Likewise.
16305 * include/grub/gfxterm.h: Likewise.
16306 * include/grub/video.h: Likewise.
16307 * include/grub/vbe.h: Don't include video_fb.h.
16308 * video/i386/pc/vbe.c: Include video_fb.h.
16309 * commands/i386/pc/vbetest.c: Include video.h.
16310
a0ca21c2
CW
163112010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
16312
16313 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
16314 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
16315 default entry if GRUB_SAVEDEFAULT=true. This allows using
16316 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
16317 saving a new default on every boot.
16318
4a8a763c
VS
163192010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
16320
16321 * normal/crypto.c (read_crypto_list): Fix a memory leak.
16322 * normal/term.c (read_terminal_list): Likewise.
16323 * normal/main.c (grub_normal_init_page): Likewise.
16324 (grub_normal_read_line_real): Likewise.
16325
607ffde2
VS
163262010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
16329 memory leak.
16330 Reported by: Seth Goldberg.
16331
2b8fa975
CW
163322010-02-24 Joey Korkames <joey+lists@kidfixit.com>
16333
16334 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
16335 duplicate declaration of `start'.
16336
618307dd
VS
163372010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
16340 filename.
16341 Reported by: Georgy Buranov
16342
7dd05b96 163432010-02-20 Carles Pina i Estany <carles@pina.cat>
16344
16345 * util/grub-mkrawimage.c (usage): Change string formatting to
16346 improve gettext.
16347
d1484a42
MRA
163482010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16349
16350 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
16351 backspace keys.
16352
42b1d186
VS
163532010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
16354
16355 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
16356 Reported by: Michael Suchanek.
16357
163582010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
16359
16360 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
16361 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
16362
d9f31a41
VS
163632010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
16364
16365 Remove any reference to non-free fonts.
16366
16367 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
16368 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
16369 uses non-free components.
16370 * font/font.c (grub_font_get_name): Remove example name.
16371 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
16372 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16373 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
16374 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
16375
2793c71e
GB
163762010-02-16 Georgy Buranov <gburanov@gmail.com>
16377
16378 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
16379
402e3779
VS
163802010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16381
16382 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
16383 Double divisor.
16384 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
16385 features.
16386 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
16387
0dd1e0dd
VS
163882010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16389
16390 * gensymlist.sh.in: Use TARGET_CC instead of CC.
16391
6fa7cfce
ST
163922010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16393
16394 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
16395 * docs/grub.texi (Command-line and menu entry commands): Document play
16396 command.
16397
37c8483b
ST
163982010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16399
16400 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
16401 parse arguments as inline tempo and notes. Move code for playing notes
16402 to...
16403 (play): ... new function.
16404
14da0fb7
ST
164052010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16406
16407 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
16408 grub_uint16_t instead of short.
16409 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
16410 disk from little endian to cpu endianness.
16411
04459e70
ST
164122010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
16413
16414 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
16415 GRUB_TICKS_PER_SECOND instead of 120.
16416
a0876943
VS
164172010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
16420 escape sequence after \e.
16421
e29f95dc
VS
164222010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16423
16424 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
16425 non-ASCII characters.
16426
d27859b2
VS
164272010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16428
16429 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
16430 set root in single quotes to prevent \, from being unescaped.
16431
bc028f2f
VS
164322010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 Prevent unknown commands from stopping menuentry execution.
16435
16436 * script/execute.c (grub_script_execute_cmdline): Print error after
16437 unknown command.
16438
095f5f82
VS
164392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16440
16441 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
16442 Reported by: Pavel Pisa.
16443
8c717950
VS
164442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16445
16446 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
16447
904935c3
VS
164482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16449
16450 Merge grub_ieee1275_map_physical into grub_map and rename to
16451 grub_ieee1275_map
16452
16453 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
16454 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
16455 Remove.
16456 * kern/ieee1275/openfw.c (grub_map): Rename to ...
16457 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
16458 necessary.
16459 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
16460
5b59a4e3
VS
164612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
16464 opening and not after.
16465
69e137e8
VS
164662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
16469 constants.
16470
2c0fcc36
VS
164712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16472
16473 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
16474 (alloc_phys): Use ALIGN_UP instead of align_addr.
16475
8c6052ce
VS
164762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
16479
17cec782
VS
164802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
16483
e0128bbd
VS
164842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16485
16486 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
16487 verbose dprintf.
16488
ca62070b
VS
164892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 Fix over-4GiB seek on sparc64.
16492
16493 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
16494 Replace pos_i and pos_lo with pos. All users updated.
16495 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16496 New constant.
16497 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16498 Likewise.
16499 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
16500 and pos_lo.
16501
bdca2607
VS
165022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 * util/grub-mkrawimage.c (main): Call set_program_name.
16505
da278c4d
VS
165062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16507
16508 Properly align 64-bit targets.
16509
16510 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
16511 (generate_image): Use ALIGN_ADDR.
16512
b274d734
VS
165132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 Properly create cross-endian images.
16516
16517 * include/grub/types.h (grub_host_to_target_addr): New macro
16518 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
16519
82da2062
VS
165202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
16523
7cae4377
VS
165242010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
16527
16528 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
16529 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
16530 (grub_linux_boot): Divide by 64K when on VESA.
16531
65a533e7
VS
165322010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16533
16534 Support GRUB_GFXPAYLOAD_LINUX.
16535
16536 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
16537 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
16538
dd01d397
VS
165392010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
16542 to show messages instead of discarding them.
16543 Process errors after executing command and not before. Keep old method
16544 too as precaution.
16545
660960d6
VS
165462010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 * configure.ac: Check for ft2build.h.
16549
62509f04
VS
165502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
16553
473df63d
VS
165542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16555
16556 * genkernsyms.sh.in: Use TARGET_CC.
16557
c98d2a13
CW
165582010-02-07 Colin Watson <cjwatson@ubuntu.com>
16559
16560 * NEWS: Update.
16561
6e14234c
VS
165622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16563
16564 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
16565 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
16566 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 16567
b255e9cf
YB
165682010-02-07 Yves Blusseau <blusseau@zetam.org>
16569
6e14234c 16570 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 16571
98e6959d
VS
165722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16573
16574 Fix warnings in grub-emu when compiling with maximum warning options.
16575
16576 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
16577 (grub_arch_modules_addr): Return 0 and not NULL.
16578 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 16579 (xstrdup): Use newstr instead of dup.
f88d801b
VS
16580 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
16581 of disk to dsk to avoid shadowing.
74e4934e
VS
16582 (find_free_slot): Fix prototype.
16583 * util/getroot.c (grub_util_is_dmraid): Make static.
16584 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
16585 Add missing prototype.
16586 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 16587
74e31b5c
VS
165882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * loader/i386/linux.c (grub_linux_setup_video): Handle error
16591 appropriately.
16592
6b2ad14b
VS
165932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
16596 code out.
16597
8f891adc
VS
165982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16599
16600 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
16601 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
16602 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
16603 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
16604 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
16605 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
16606
74b45184
VS
166072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16608
16609 * include/grub/err.h (grub_err_printf): Don't export.
16610
a4bced77
VS
166112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
16614
007d0695
VS
166152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * include/grub/i18n.h (grub_gettext_dummy): Removed.
16618 * kern/misc.c (grub_gettext_dummy): Make static.
16619
b6c0d9c2
VS
166202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16621
16622 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
16623 by non-valid ones.
16624 * kern/term.c (grub_putchar): Likewise.
16625
f51a90d0
VS
166262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
16629 buggy hook call and memory leak.
16630
6846cec5
VS
166312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
16634
468d69fe
VS
166352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
16638
51906b8c
VS
166392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16640
16641 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
16642 modevar.
16643 Return grub_errno on allocation error.
16644
09706ce5
VS
166452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16646
16647 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
16648
911df80c
YB
166492010-02-06 Yves Blusseau <blusseau@zetam.org>
16650
16651 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
16652 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
16653
3746a6bc
VS
166542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
16657 non-pxe disk.
16658 (grub_pxefs_open): Likewise.
16659
09706ce5
VS
166602010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16661
16662 * util/grub.d/10_hurd.in: Add --class information to menuentries.
16663 * util/grub.d/10_kfreebsd.in: Likewise.
16664 * util/grub.d/10_linux.in: Likewise.
16665
7cc192d9
VS
166662010-02-06 Colin D Bennett <colin@gibibit.com>
16667
16668 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
16669 (gfxmenu_mod_SOURCES): New variable.
16670 (gfxmenu_mod_CFLAGS): Likewise.
16671 (gfxmenu_mod_LDFLAGS): Likewise.
16672 * include/grub/term.h (grub_term_set_current_output): Declare
16673 argument as const.
16674 * docs/gfxmenu-theme-example.txt: New file.
16675 * gfxmenu/gfxmenu.c: Likewise.
16676 * gfxmenu/gui_box.c: Likewise.
16677 * gfxmenu/gui_canvas.c: Likewise.
16678 * gfxmenu/gui_circular_progress.c: Likewise.
16679 * gfxmenu/gui_image.c: Likewise.
16680 * gfxmenu/gui_label.c: Likewise.
16681 * gfxmenu/gui_list.c: Likewise.
16682 * gfxmenu/gui_progress_bar.c: Likewise.
16683 * gfxmenu/gui_string_util.c: Likewise.
16684 * gfxmenu/gui_util.c: Likewise.
16685 * gfxmenu/icon_manager.c: Likewise.
16686 * gfxmenu/model.c: Likewise.
16687 * gfxmenu/named_colors.c: Likewise.
16688 * gfxmenu/theme_loader.c: Likewise.
16689 * gfxmenu/view.c: Likewise.
16690 * gfxmenu/widget-box.c: Likewise.
16691 * include/grub/gfxmenu_model.h: Likewise.
16692 * include/grub/gfxmenu_view.h: Likewise.
16693 * include/grub/gfxwidgets.h: Likewise.
16694 * include/grub/gui.h: Likewise.
16695 * include/grub/gui_string_util.h: Likewise.
16696 * include/grub/icon_manager.h: Likewise.
16697
166982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 Agglomerate scrolling in gfxterm.
16701
16702 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
16703 (grub_virtual_screen_setup): Initialise 'total_screen'.
16704 (write_char): Split to ...
16705 (paint_char): ... this ...
16706 (write_char): ... and this.
16707 (paint_char): Handle delayed scrolling.
16708 (draw_cursor): Likewise.
16709 (scroll_up): Split to ...
16710 (real_scroll): ... this ...
16711 (scroll_up): ... and this.
16712 (real_scroll): Handle multi-line scroll and draw below-the-bottom
16713 characters.
16714 (grub_gfxterm_refresh): Call real_scroll.
16715
167162010-02-06 Colin D Bennett <colin@gibibit.com>
16717
16718 * include/grub/misc.h (grub_iscntrl): New inline function.
16719 (grub_isalnum): Likewise.
16720 (grub_strtol): Likewise.
16721
167222010-02-06 Colin D Bennett <colin@gibibit.com>
16723
16724 * normal/menu_text.c (get_entry_number): Move from here ...
16725 * normal/menu.c (get_entry_number): ... moved here.
16726 * include/grub/menu.h (grub_menu_get_default_entry_index):
16727 New prototype.
16728 * normal/menu.c (grub_menu_get_default_entry_index): New function.
16729 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
16730 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
16731 (grub_menu_viewer_should_return): Likewise.
16732 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
16733 * normal/menu_text.c (run_menu): Enable menu switching.
16734 * normal/menu_viewer.c (should_return): New variable.
16735 (menu_viewer_changed): Likewise.
16736 (grub_menu_viewer_show_menu): Handle menu viewer changes.
16737 (grub_menu_viewer_should_return): New function.
16738 (menuviewer_write_hook): Likewise.
16739 (grub_menu_viewer_init): Likewise.
16740
167412010-02-06 Colin D Bennet <colin@gibibit.com>
167422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16743
16744 Support for gfxterm in a window.
16745
16746 * include/grub/gfxterm.h: New file.
16747 * include/grub/video.h (struct grub_video_rect): New declaration.
16748 (grub_video_rect_t): Likewise.
16749 * term/gfxterm.c (struct grub_gfxterm_window): New type.
16750 (refcount): New variable.
16751 (render_target): Likewise.
16752 (window): Likewise.
16753 (repaint_callback): Likewise.
16754 (grub_virtual_screen_setup): Use 'render_target'.
16755 (init_window): New function.
16756 (grub_gfxterm_init_window): Likewise.
16757 (grub_gfxterm_init): Check reference counter.
16758 Use init_window.
16759 (destroy_window): New function.
16760 (grub_gfxterm_destroy_window): Likewise.
16761 (grub_gfxterm_fini): Check reference counter.
16762 Use destroy_window.
16763 (redraw_screen_rect): Restore viewport.
16764 Use 'render_target' and 'window'.
16765 Call 'repaint_callback'.
16766 (write_char): Use 'render_target'.
16767 (draw_cursor): Likewise.
16768 (scroll_up): Restore viewport.
16769 Use 'render_target' and 'window'.
16770 Call 'repaint_callback'.
16771 (grub_gfxterm_cls): Likewise.
16772 (grub_gfxterm_refresh): Use 'window'.
16773 (grub_gfxterm_set_repaint_callback): New function.
16774 (grub_gfxterm_background_image_cmd): Use 'window'.
16775 (grub_gfxterm_get_term): New function.
16776 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
16777
167782010-02-06 Colin D Bennett <colin@gibibit.com>
16779
16780 Bitmap scaling support.
16781
16782 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
16783 (bitmap_scale_mod_SOURCES): New variable.
16784 (bitmap_scale_mod_CFLAGS): Likewise.
16785 (bitmap_scale_mod_LDFLAGS): Likewise.
16786 * include/grub/bitmap_scale.h: New file.
16787 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
16788 (background_image_cmd_options): New variable.
16789 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
16790 (cmd): Rename and change type to ...
16791 (background_image_cmd_handle): ... this. All users updated.
16792 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16793 * video/bitmap_scale.c: New file.
16794
167952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16796
16797 SDL support.
16798
16799 * Makefile.in (LIBSDL): New variable.
16800 (enable_grub_emu_sdl): Likewise.
16801 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16802 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16803 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16804 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16805 * util/sdl.c: New file.
16806
168072010-02-06 Colin D Bennett <colin@gibibit.com>
168082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16809
16810 Double buffering support.
16811
16812 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16813 * include/grub/video.h: Update comment.
16814 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16815 New type.
16816 (grub_video_fb_doublebuf_blit_init): New prototype.
16817 * term/gfxterm.c (scroll_up): Support double buffering.
16818 (grub_gfxterm_refresh): Likewise.
16819 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16820 (grub_video_fb_doublebuf_blit_init): Likewise.
16821 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16822 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16823 'displayed_page', 'render_page' and 'update_screen'.
16824 (grub_video_vbe_fini): Free offscreen buffer.
16825 (doublebuf_pageflipping_commit): New function.
16826 (doublebuf_pageflipping_update_screen): Likewise.
16827 (doublebuf_pageflipping_init): Likewise.
16828 (double_buffering_init): Likewise.
16829 (grub_video_vbe_setup): Enable doublebuffering.
16830 (grub_video_vbe_swap_buffers): Implement.
16831 (grub_video_vbe_set_active_render_target): Handle double buffering.
16832 (grub_video_vbe_get_active_render_target): Likewise.
16833 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16834 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16835 (grub_video_vbe_enable_double_buffering): Likewise.
16836 (grub_video_vbe_swap_buffers): Use update_screen.
16837 (grub_video_set_mode): Use double buffering.
16838
168392010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16840
16841 * maintainance/gentrigtables.py: Remove.
16842 * lib/trig.c: Likewise.
16843
16844 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16845
16846 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16847 `trigtables.c'.
16848 (trigtables.c): New rule.
16849 (gentrigtables): Likewise.
16850 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16851
168522010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16853
16854 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16855 integer constants.
16856
168572010-02-06 Colin D Bennet <colin@gibibit.com>
16858
16859 Trigonometry support.
16860
16861 * include/grub/trig.h: New file.
16862 * lib/trig.c: Likewise.
16863 * maintainance/gentrigtables.py: Likewise.
16864 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16865 (trig_mod_SOURCES): New variable.
16866 (trig_mod_CFLAGS): Likewise.
16867 (trig_mod_LDFLAGS): Likewise.
16868
5562834e
VS
168692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16870
16871 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16872 disk devices.
16873
4f8528fc
VS
168742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16877 error.
16878
2b4068e9
VS
168792010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16880
16881 * util/hostdisk.c (open_device): Don't use partition device when reading
16882 before the partition.
16883 (grub_util_biosdisk_read): Don't read from partition and before the
16884 partition in single operation.
16885 (grub_util_biosdisk_write): Don't write to partition and before the
16886 partition in single operation.
16887
399f6e4d
TL
168882010-02-03 Torsten Landschoff <torsten@debian.org>
16889
16890 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16891 last sectors.
16892
996649b0
VS
168932010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16896 CDROM reads.
16897 (grub_biosdisk_write): Refuse to write to CDROM.
16898
3b205d4d
VS
168992010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16900
16901 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16902
61e89d9d
VS
169032010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16904
16905 * font/font.c (find_glyph): Check that bmp_idx is available before
16906 using it.
16907 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16908 with (font == NULL).
16909
bf7fcba2
CS
169102010-01-28 Christian Schmitt <chris@ilovelinux.de>
16911
16912 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16913
f45d2663
BC
169142010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16915
16916 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16917 * util/grub-script-check.c (getline): Fix empty lines case.
16918
ec1444e6
RM
169192010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16920
16921 * Makefile.in (check): Exit with fail status when one of the tests
16922 fails.
16923 * tests/example_functional_test.c (example_test): Fix reversed assert.
16924 * tests/example_unit_test.c (example_test): Likewise.
16925
2e1cb9bb
CW
169262010-01-28 Colin Watson <cjwatson@ubuntu.com>
16927
16928 * util/grub.d/10_linux.in: This script does not use any of the
16929 contents of gettext.sh, only the external command `gettext', so stop
16930 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16931 the same prefix as GRUB.)
16932 * util/grub.d/10_kfreebsd.in: Likewise.
16933
63533ab0
VS
169342010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16937 of the line.
16938
989e1f93
VS
169392010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16940
16941 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16942 last sectors.
16943
e709ebe2
VS
169442010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16945
16946 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16947 having a 4KiB and not 32KiB buffer size.
16948
27dea7ed
RM
169492010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16950
16951 * util/hostfs.c: Include `<errno.h>'.
16952 (grub_hostfs_read): Handle errors from fseeko() and fread().
16953
67667b9c
RM
169542010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16955
16956 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16957 loop when using read hooks on files whose size isn't sector-aligned.
16958
c294d9d8
RM
169592010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16960
16961 Remove unused parameter.
16962
16963 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16964 (grub_iso9660_open): Remove initialization of `data->length'.
16965
af75a9f1
RM
169662010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16967
16968 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16969 memleak conditions.
16970
254e2ce5 169712010-01-27 Carles Pina i Estany <carles@pina.cat>
16972
16973 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16974 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16975
b510928c 169762010-01-26 Carles Pina i Estany <carles@pina.cat>
16977
16978 * util/bin2h.c (usage): Fix warning (space after backslash).
16979
aa2f9dd2 169802010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 16981
16982 * font/font.c: Include `grub/fontformat.h.
16983 Remove font file format constants.
16984 (grub_font_load): Use the new macros.
16985 * include/grub/fontformat.h: New file.
16986 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16987 (write_font_pf2): Use the new macros.
16988
94e7e712
RM
169892010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16990
16991 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16992 does.
16993
3973a59a
RM
169942010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16995
16996 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16997
16998 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16999 (_start): Macroify `0x7F'.
17000
17001 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
17002 (make_install_device): Use "(pxe)" as fallback prefix when booting
17003 via PXE.
17004
42e0cba3
GS
170052010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 * configure.ac: Reset LIBS after check for libgcc symbols.
17008
847effd8
CW
170092010-01-25 Colin Watson <cjwatson@ubuntu.com>
17010
17011 * util/hostdisk.c (open_device): Add trailing newline to debug
17012 message.
17013
ea4a7e35
GS
170142010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
17015
17016 * configure.ac: Check for `limits.h'.
17017 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
17018
67951a53
RM
170192010-01-24 Robert Millan <rmh.grub@aybabtu.com>
17020
17021 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
17022 capitalize error strings.
17023
c273d4ce
ST
170242010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
17025
17026 * util/grub.d/10_hurd.in: Add a recovery mode.
17027
69be5b74
VS
170282010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
17029
17030 * configure.ac: Check for libgcc symbols with -nostdlib.
17031
fc9e5810
BC
170322010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
17033
17034 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
17035
4b358c0a
VS
170362010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17037
17038 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
17039 stack since heap may be unavailable at that point.
17040 (grub_ofconsole_gotoxy): Likewise.
17041
454fcd1c
VS
170422010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17043
17044 * configure.ac: Check for _restgpr_14_x.
17045 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
17046 and _savegpr_* prototypes.
17047
566863ca
RM
170482010-01-22 Robert Millan <rmh.grub@aybabtu.com>
17049
17050 Use generic grub_reboot() for i386-efi.
17051
17052 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
17053 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
17054 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
17055
bf86e59a
VS
170562010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
17059 presence of "prefix" variable as it breaks when normal.mod is
17060 embedded.
17061
d645e0f8
VS
170622010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
17065 stack since heap is unavailable at that point.
17066
f9ab2e25
VS
170672010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
17070 (grub_freebsd_bootinfo): Rewritten.
17071 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
17072
01fc7054
VS
170732010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17074
17075 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
17076
caab4fd6
RM
170772010-01-21 Robert Millan <rmh.grub@aybabtu.com>
17078
17079 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
17080 domain now.
17081
67eb1427
FZ
170822010-01-20 Felix Zielcke <fzielcke@z-51.de>
17083
17084 * util/misc.c (make_system_path_relative_to_its_root): Change the work
17085 around for handling "/" to the correct fix. Fix a memory leak. Use
17086 xstrdup instead of strdup.
17087
a9ed4ff3
VS
170882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17089
17090 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
17091
170922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
17093
17094 Optimise glyph lookup by Basic Multilingual Plane lookup array.
17095
17096 * font/font.c (struct grub_font): New member 'bmp_idx'.
17097 (font_init): Initialise 'bmp_idx'.
17098 (load_font_index): Fill 'bmp_idx'.
17099 (find_glyph): Make inline. Use bmp_idx for BMP characters.
17100
48209f4f
VS
171012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
17104 unnecessary calls.
17105
9f0a4bb7
VS
171062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17107
17108 Move context handling out of the kernel.
17109
17110 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
17111 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
17112 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
17113 * conf/i386-efi.rmk: Likewise.
17114 * conf/i386-ieee1275.rmk: Likewise.
17115 * conf/i386-pc.rmk: Likewise.
17116 * conf/powerpc-ieee1275.rmk: Likewise.
17117 * conf/sparc64-ieee1275.rmk: Likewise.
17118 * conf/x86_64-efi.rmk: Likewise.
17119 * include/grub/env.h: Include grub/menu.h.
17120 (grub_env_var_type): Removed.
17121 (grub_env_var): Replaced field 'type' with 'global'.
17122 (grub_env_find): New prototype.
17123 (grub_env_context_open): Remove EXPORT_FUNC.
17124 (grub_env_context_close): Likewise.
17125 (grub_env_export): Likewise.
17126 (grub_env_set_data_slot): Removed.
17127 (grub_env_get_data_slot): Likewise.
17128 (grub_env_unset_data_slot): Likewise.
17129 (grub_env_unset_menu): New prototype.
17130 (grub_env_set_menu): Likewise.
17131 (grub_env_get_menu): Likewise.
17132 * include/grub/env_private.h: New file.
17133 * include/grub/normal.h (grub_context_init): New prototype.
17134 (grub_context_fini): Likewise.
17135 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
17136 * normal/context.c (grub_cmd_export): ... to here.
17137 * kern/env.c: Include env_private.h.
17138 (HASHSZ): Moved to include/grub/env_private.h.
17139 (grub_env_context): Likewise.
17140 (grub_env_sorted_var): Likewise.
17141 (current_context): Renamed from this ...
17142 (grub_current_context): ...to this. 'static' removed. All users updated.
17143 (grub_env_find): Removed 'static'.
17144 (grub_env_context_open): Moved to normal/context.c.
17145 (grub_env_context_close): Likewise.
17146 (grub_env_export): Likewise.
17147 (mangle_data_slot_name): Removed.
17148 (grub_env_set_data_slot): Likewise.
17149 (grub_env_get_data_slot): Likewise.
17150 (grub_env_unset_data_slot): Likewise.
17151 * kern/main.c (grub_set_root_dev): Don't export root.
17152 It will be done later.
17153 (grub_main): Don't export prefix.
17154 It will be done later.
17155 * normal/context.c: New file.
17156 * normal/main.c (free_menu): Use grub_env_unset_menu.
17157 (grub_normal_add_menu_entry): Use grub_env_get_menu.
17158 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
17159 (GRUB_MOD_INIT(normal)): Call grub_context_init.
17160 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
17161
8dd35b8c
VS
171622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17163
17164 setpci support.
17165
17166 * commands/setpci.c: New file.
17167 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
17168 (setpci_mod_SOURCES): New variable.
17169 (setpci_mod_CFLAGS): Likewise.
17170 (setpci_mod_LDFLAGS): Likewise.
17171
449193d5
VS
171722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 Byte-addressable PCI configuration space.
17175
17176 * bus/pci.c (grub_pci_make_address): Use byte address instead of
17177 dword address.
17178 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
17179 GRUB_PCI_REG_CACHELINE.
17180 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
17181 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
17182 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
17183 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
17184 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
17185 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
17186 grub_pci_make_address.
17187 (lock_rom_area): Likewise.
17188 * commands/lspci.c (grub_lspci_iter): Use macroses
17189 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
17190 of grub_pci_make_address.
17191 * disk/ata.c (grub_ata_pciinit): Likewise.
17192 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
17193 (GRUB_PCI_REG_VENDOR): Likewise.
17194 (GRUB_PCI_REG_DEVICE): Likewise.
17195 (GRUB_PCI_REG_COMMAND): Likewise.
17196 (GRUB_PCI_REG_STATUS): Likewise.
17197 (GRUB_PCI_REG_REVISION): Likewise.
17198 (GRUB_PCI_REG_CLASS): Likewise.
17199 (GRUB_PCI_REG_CACHELINE): Likewise.
17200 (GRUB_PCI_REG_LAT_TIMER): Likewise.
17201 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
17202 (GRUB_PCI_REG_BIST): Likewise.
17203 (GRUB_PCI_REG_ADDRESSES): Likewise.
17204 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17205 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17206 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17207 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17208 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17209 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17210 (GRUB_PCI_REG_CIS_POINTER): Likewise.
17211 (GRUB_PCI_REG_SUBVENDOR): Likewise.
17212 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
17213 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
17214 (GRUB_PCI_REG_CAP_POINTER): Likewise.
17215 (GRUB_PCI_REG_IRQ_LINE): Likewise.
17216 (GRUB_PCI_REG_IRQ_PIN): Likewise.
17217 (GRUB_PCI_REG_MIN_GNT): Likewise.
17218 (GRUB_PCI_REG_MAX_LAT): Likewise.
17219 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
17220 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
17221 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 17222 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
17223 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
17224 space.
17225
96d73208
RM
172262010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17227
17228 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
17229 can be reliably determined to be supported.
17230
d4484482
RM
172312010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17232
17233 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
17234 that VESA is supported.
17235 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
17236 supported.
17237
00308ecf
VS
172382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17239
17240 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
17241
f66924a4
RM
172422010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17243
17244 * util/misc.c (make_system_path_relative_to_its_root): Work around
17245 special-casing of "/", as previous incarnation of this routine did.
17246
cbca0ada
VS
172472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 Fix any-emu compilation.
17250
17251 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
17252 * grub_bin2h_SOURCES: New variable.
17253
34a66d99
RM
172542010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17255
17256 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
17257
94fabf58
RM
172582010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17259
17260 * util/grub.d/00_header.in: Fix handling of locale_dir.
17261
02cf98ca
VS
172622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17263
17264 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
17265 as possible unifont location (Gentoo).
17266 Reported by: Alexander Brüning
17267
327dbcd7
VS
172682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 Don't try to generate lists for kernel.img.
17271
17272 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
17273 (pkglib_MODULES): Remove kernel.img.
17274 (kernel_img_EXPORTS): Removed.
17275 (kernel_img_RELOCATABLE): New variable.
17276 * conf/x86_64-efi.rmk: Likewise.
17277 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
17278
ca467290
VS
172792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
17282 grub_xasprintf or grub_snprintf.
17283 (grub_vsprintf): Likewise.
17284 (grub_snprintf): New proto.
17285 (grub_vsnprintf): Likewise.
17286 (grub_xasprintf): Likewise.
17287 (grub_xvasprintf): Likewise.
17288 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
17289 (grub_sprintf): Removed.
17290 (grub_vsnprintf): New function.
17291 (grub_snprintf): Likewise.
17292 (grub_xvasprintf): Likewise.
17293 (grub_xasprintf): Likewise.
17294 (grub_vsprintf): Renamed to ...
17295 (grub_vsnprintf_real): ...this. New argument max_len.
17296
aca655fd
BC
172972010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
17298
17299 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
17300 fix grub-script-check warning.
17301
7ee92c32
VS
173022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 * include/grub/font.h (grub_font_load): Fix prototype.
17305
f80927ca
VS
173062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17307
17308 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
17309
119c50ea
VS
173102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 * include/grub/x86_64/at_keyboard.h: New file.
17313
47d5f3c1
VS
173142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17315
17316 * loader/mips/linux.c: Include missing grub/i18n.h.
17317
55ff5266
RM
173182009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17319
17320 * normal/menu.c (notify_execution_failure): Clarify error message.
17321
c893cc87
RM
173222009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17323
17324 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
17325 return value (and revert all return statements). Update users.
17326
917dd370
CW
173272010-01-20 Dan Merillat <debian@dan.merillat.org>
17328
17329 * kern/device.c (grub_device_iterate): Allocate new part_ent
17330 structure based on sizeof (*p) rather than sizeof (p->next), to
17331 account for structure padding.
17332
17333 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
17334 disk is NULL, which might happen for LVM physical volumes with no
17335 LVM signature.
17336
d4a4ee57
RM
173372009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17338
17339 * loader/mips/linux.c (grub_cmd_initrd)
17340 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
17341
173422009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17343
17344 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
17345 (grub_video_video_init, grub_video_bitmap_init)
17346 (grub_font_manager_init, grub_term_gfxterm_init)
17347 (grub_at_keyboard_init): New extern declarations.
17348 (grub_machine_init): Initialize gfxterm and at_keyboard.
17349
17350 * kern/main.c (grub_main): Revert grub_printf delay kludge.
17351
17352 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
17353 `gfxterm.mod' into core image.
17354
17355 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17356 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17357 (kernel_img_FORMAT): Copy to ...
17358
17359 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17360 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17361 (kernel_img_FORMAT): ... here, and ...
17362
17363 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17364 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17365 (kernel_img_FORMAT): ... here.
17366
17367 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
17368 and input (at_keyboard) terminals in kernel.
17369 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
17370
17371 (pkglib_MODULES): Remove `pci.mod'.
17372 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
17373 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
17374 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
17375 (at_keyboard_mod_LDFLAGS): Remove variables.
17376
173772010-01-11 Felix Zielcke <fzielcke@z-51.de>
17378
17379 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
17380
173812009-12-10 Robert Millan <rmh.grub@aybabtu.com>
17382
17383 * include/grub/mips/libgcc.h: Only export symbols for functions
17384 that libgcc provides.
17385
173862009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
17387
17388 MIPS support.
17389
17390 * bus/bonito.c: New file.
17391 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
17392 GRUB_PCI_NUM_DEVICES.
17393 * term/i386/pc/serial.c: Move to ...
17394 * term/serial.c: ... here. All users updated.
17395 * util/i386/pc/grub-mkimage.c: Move to ...
17396 * util/grub-mkrawimage.c: ... here. All users updated.
17397 * term/i386/pc/at_keyboard.c: Move to ...
17398 * term/at_keyboard.c: ... here. All users updated.
17399 * conf/mips-qemu-mips.rmk: New file.
17400 * conf/mips-yeeloong.rmk: Likewise.
17401 * conf/mips.rmk: Likewise.
17402 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
17403 mipsel-qemu-mips.
17404 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
17405 to port addresses.
17406 (grub_ata_pciinit): Support CS5536.
17407 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
17408 * font/font_cmd.c (loadfont_command): Open file before passing it to
17409 grub_font_load.
17410 (pseudo_file_read): New function.
17411 (pseudo_file_close): Likewise.
17412 (pseudo_fs): New structure.
17413 (load_font_module): New function.
17414 (GRUB_MOD_INIT(font_manager)): Load embedded font.
17415 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
17416 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
17417 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
17418 * include/grub/i386/at_keyboard.h: Split into ...
17419 * include/grub/at_keyboard.h: ... this ...
17420 * include/grub/i386/at_keyboard.h: ... and this.
17421 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
17422 New prototype.
17423 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
17424 updated.
17425 (grub_elf64_size): Likewise.
17426 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
17427 filename.
17428 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
17429 * include/grub/i386/coreboot/serial.h: Rewritten.
17430 * include/grub/i386/ieee1275/serial.h: Include
17431 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
17432 * include/grub/i386/pc/serial.h: Moved from here ...
17433 * include/grub/serial.h: ... to here. All users updated.
17434 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
17435 (GRUB_PCI_NUM_BUS): Likewise.
17436 (GRUB_PCI_NUM_DEVICES): Likewise.
17437 (grub_pci_device_map_range): Add missing volatile keyword.
17438 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
17439 * include/grub/mips/at_keyboard.h: New file.
17440 * include/grub/mips/cache.h: Likewise.
17441 * include/grub/mips/io.h: Likewise.
17442 * include/grub/mips/kernel.h: Likewise.
17443 * include/grub/mips/libgcc.h: Likewise.
17444 * include/grub/mips/pci.h: Likewise.
17445 * include/grub/mips/qemu-mips/boot.h: Likewise.
17446 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17447 * include/grub/mips/qemu-mips/loader.h: Likewise.
17448 * include/grub/mips/qemu-mips/memory.h: Likewise.
17449 * include/grub/mips/qemu-mips/serial.h: Likewise.
17450 * include/grub/mips/qemu-mips/time.h: Likewise.
17451 * include/grub/mips/relocator.h: Likewise.
17452 * include/grub/mips/time.h: Likewise.
17453 * include/grub/mips/types.h: Likewise.
17454 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
17455 * include/grub/mips/yeeloong/boot.h: Likewise.
17456 * include/grub/mips/yeeloong/kernel.h: Likewise.
17457 * include/grub/mips/yeeloong/loader.h: Likewise.
17458 * include/grub/mips/yeeloong/memory.h: Likewise.
17459 * include/grub/mips/yeeloong/pci.h: Likewise.
17460 * include/grub/mips/yeeloong/serial.h: Likewise.
17461 * include/grub/mips/yeeloong/time.h: Likewise.
17462 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
17463 * kern/elf.c (grub_elf32_size): New parameter. All users
17464 updated.
17465 (grub_elf64_size): Likewise.
17466 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
17467 Load modules before saying "Welcome to GRUB!".
17468 Call grub_refresh after saying "Welcome to GRUB!".
17469 * kern/mips/cache.S: New file.
17470 * kern/mips/cache_flush.S: Likewise.
17471 * kern/mips/dl.c: Likewise.
17472 * kern/mips/init.c: Likewise.
17473 * kern/mips/qemu-mips/init.c: Likewise.
17474 * kern/mips/startup.S: Likewise.
17475 * kern/mips/yeeloong/init.c: Likewise.
17476 * kern/term.c (grub_putcode): Handle NULL terminal.
17477 (grub_getcharwidth): Likewise.
17478 (grub_getkey): Likewise.
17479 (grub_checkkey): Likewise.
17480 (grub_getkeystatus): Likewise.
17481 (grub_getxy): Likewise.
17482 (grub_getwh): Likewise.
17483 (grub_gotoxy): Likewise.
17484 (grub_cls): Likewise.
17485 (grub_setcolorstate): Likewise.
17486 (grub_setcolor): Likewise.
17487 (grub_getcolor): Likewise.
17488 (grub_refresh): Likewise.
17489 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
17490 (write_jump): Add hatch nop.
17491 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
17492 * lib/mips/setjmp.S: New file.
17493 * loader/mips/linux.c: Likewise.
17494 * term/i386/pc/at_keyboard.c: Move from here ...
17495 * term/at_keyboard.c: ... to here.
17496 * term/i386/pc/serial.c: Moved from here ...
17497 * term/serial.c: ... to here. All users updated.
17498 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
17499 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
17500 (serial_translate_key_sequence): Avoid deadlock.
17501 (grub_serial_getkey): Handle backspace.
17502 (grub_serial_putchar): Fix newline handling.
17503 * util/i386/pc/grub-mkimage.c: Move from here ...
17504 * util/grub-mkrawimage.c: ... to here. All users updated.
17505 (generate_image): New parameters 'font_path' and 'format'.
17506 Support embedding font.
17507 Use grub_host_to_target* instead of grub_cpu_to_le*.
17508 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
17509 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
17510 (options): New option "--font".
17511 (usage): Likewise.
17512 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
17513 (main): Handle "--font".
17514 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
17515 (grub_virtual_screen_setup): Set bg_color_display.
17516 (redraw_screen_rect): Use bg_color_display instead of incorrect
17517 bg_color.
17518 (grub_gfxterm_cls): Likewise.
17519 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
17520 Support embedding config file.
17521 (add_segments): Likewise.
17522 (options): New option "--config".
17523 (main): Handle "--config".
17524 * video/sm712.c: New file.
17525
25c2b5b3
RM
175262010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17527
17528 Fix parallel builds.
17529
17530 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
17531 font.c depend on ascii.h).
17532
175332010-01-12 Carles Pina i Estany <carles@pina.cat>
17534
17535 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
17536
175372010-01-11 Carles Pina i Estany <carles@pina.cat>
17538
17539 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
17540 By default: disabled.
17541 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
17542 parameter.
17543
175442010-01-10 Carles Pina i Estany <carles@pina.cat>
17545
17546 * font/font.c: Update copyright years.
17547 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
17548
175492010-01-10 Carles Pina i Estany <carles@pina.cat>
17550
17551 * font/font.c: Include `ascii.h'.
17552 (ASCII_BITMAP_SIZE): New macro.
17553 (ascii_font_glyph): Define.
17554 (ascii_glyph_lookup): New function.
17555 (grub_font_get_string_width): Change comment. If glyph not found, use
17556 ascii_glyph_lookup.
17557 (grub_font_get_glyph_with_fallback): If glyph not available returns
17558 ascii_glyph_lookup.
17559 * util/grub-mkfont.c (file_formats): New enum.
17560 (options): Add `ascii-bitmaps' new option.
17561 (usage): Add `asii-bitmaps' new option.
17562 (write_font_ascii_bitmap): New function.
17563 (write_font): Rename to ...
17564 (write_font_p2): ... this. Remove print_glyphs call.
17565 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
17566 used. Call print_glyphs.
17567 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
17568
175692010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17570
17571 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
17572 (grub_bin2h_SOURCES): New variable.
17573 * util/bin2h.c: New file.
17574
915fc1b8
VS
175752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17576
17577 * include/multiboot.h: Resynced with spec.
17578 * include/multiboot2.h: Likewise.
17579 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
17580 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
17581
9444b678
RM
175822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17583
17584 * include/grub/term.h (grub_term_register_input,
17585 grub_term_register_output): Check return of terminal init()
17586 routines, and abort if errors are raised.
17587
17588 * commands/terminal.c: Update copyright year.
17589
cba98e8d
RM
175902010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17591
17592 * commands/terminal.c (grub_cmd_terminal_input)
17593 (grub_cmd_terminal_output): Check return of terminal init()
17594 routines, and abort if errors are raised.
17595
6f7db5d6
VS
175962010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17597
17598 * include/grub/i386/bsd.h: Fix include pathes.
17599
262bff8d
VS
176002010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 Add missing *BSD copyright headers.
17603
17604 * include/grub/aout.h: Add BSD licence.
17605 * include/grub/i386/bsd.h: Parts under different licences moved to ...
17606 * include/grub/i386/freebsd_linker.h: ... here,
17607 * include/grub/i386/freebsd_reboot.h: ... here,
17608 * include/grub/i386/netbsd_bootinfo.h: ... here,
17609 * include/grub/i386/netbsd_reboot.h: ... here,
17610 * include/grub/i386/openbsd_bootarg.h: ... here,
17611 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
17612 licence to each file.
17613
b2cab848
RM
176142010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17615
17616 * acinclude.m4: Remove `nop' assembly instruction; it's not
17617 implemented by all architectures.
17618
2cb6be4b
RM
176192010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17620
17621 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
17622 ELILO. This is no longer necessary.
17623
a2eaee15
BC
176242010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
17625
17626 Added new tool, grub-scrit-check to verify grub.cfg syntax.
17627
17628 * util/grub-script-check.c: grub-script-check tool.
17629 * conf/common.rmk: Make rules for grub-script-check.
17630
88d17012
RM
176312010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17632
17633 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
17634 spotting it back in 2008. Shame on me for forgetting he did.
17635
17636 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
17637
8040619d
RM
176382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17639
17640 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
17641 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
17642 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
17643 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
17644 (GRUB_VIDEO_TYPE_EFI): Rename to ...
17645 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
17646
a0c2a0f6
RM
176472010-01-17 Robert Millan <rmh.grub@aybabtu.com>
17648
17649 * include/grub/test.h: Add license header.
17650 * tests/example_functional_test.c: Likewise.
17651 * tests/example_unit_test.c: Likewise.
17652 * tests/lib/functional_test.c: Likewise.
17653 * tests/lib/test.c: Likewise.
17654 * tests/lib/unit_test.c: Likewise.
17655
b0b13907
VS
176562010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 Use flag-based instead of hook-based video mode selection and "auto"
17659 keyword.
17660
17661 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
17662 (grub_video_set_mode): Changed prototype. All users updated.
17663 (grub_video_check_mode_flag): New inline function.
17664 * video/video.c (parse_modespec): New function.
17665 (grub_video_set_mode): Parse flags and keywords.
17666
ea379330 176672010-01-17 Carles Pina i Estany <carles@pina.cat>
17668
17669 * util/misc.c (grub_util_info): Fix the order of the parameters in a
17670 fprintf call.
17671
e15c215e
FZ
176722010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
17673
17674 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
17675
409ae1c9 176762010-01-16 Carles Pina i Estany <carles@pina.cat>
17677
17678 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
17679 string.
17680 * util/grub-emu.c (usage): Likewise.
17681 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
17682 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17683 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17684 * util/i386/pc/grub-setup.c (usage): Likewise.
17685
70a14d3d 176862010-01-16 Carles Pina i Estany <carles@pina.cat>
17687
17688 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
17689 the message.
17690 (grub_util_info): Likewise.
17691 (grub_util_error): Likewise.
17692 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
17693 and/or new lines in `grub_util_warna', `grub_util_info',
17694 `grub_util_error' calls.
17695 * util/getroot.c: Likewise.
17696 * util/grub-editenv.c: Likewise.
17697 * util/grub-emu.c: Likewise.
17698 * util/grub-fstest.c: Likewise.
17699 * util/grub-mkdevicemap.c: Likewise.
17700 * util/grub-mkfont.c: Likewise.
17701 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17702 * util/grub-mkrelpath.c: Likewise.
17703 * util/grub-pe2elf.c: Likewise.
17704 * util/grub-probe.c: Likewise.
17705 * util/hostdisk.c: Likewise.
17706 * util/i386/efi/grub-mkimage.c: Likewise.
17707 * util/i386/pc/grub-mkimage.c: Likewise.
17708 * util/i386/pc/grub-setup.c: Likewise.
17709 * util/ieee1275/ofpath.c: Likewise.
17710 * util/mkisofs/eltorito.c: Likewise.
17711 * util/mkisofs/rock.c: Likewise.
17712 * util/mkisofs/write.c: Likewise.
17713 * util/raid.c: Likewise.
17714 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17715 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17716
a0b766fc
VS
177172010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17718
17719 Enable multiboot on non-pc.
17720
17721 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
17722 multiboot.mod and multiboot2.mod to ...
17723 * conf/i386.rmk (pkglib_MODULES): ... here.
17724 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
17725 Moved to ...
17726 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
17727 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
17728 Moved to ...
17729 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
17730 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
17731 Moved to ...
17732 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
17733 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
17734 Moved to ...
17735 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
17736 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
17737 relocator.mod.
17738 (ata_mod_SOURCES): Removed.
17739 (ata_mod_CFLAGS): Likewise.
17740 (ata_mod_LDFLAGS): Likewise.
17741 (relocator_mod_SOURCES): Removed.
17742 (relocator_mod_CFLAGS): Likewise.
17743 (relocator_mod_ASFLAGS): Likewise.
17744 (relocator_mod_LDFLAGS): Likewise.
17745 Include i386.mk.
17746 * include/grub/x86_64/multiboot.h: New file.
17747 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
17748 Terminate EFI.
17749
884ade56
VS
177502010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17751
17752 Video multiboot support.
17753
17754 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
17755 New prototype.
17756 * include/multiboot.h: Resynced with multiboot specification.
17757 * include/multiboot2.h: Likewise.
17758 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
17759 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
17760 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
17761 (HAS_VGA_TEXT): Likewise.
17762 (accepts_video): New variable.
17763 (grub_multiboot_set_accepts_video): New function.
17764 (grub_multiboot_get_mbi_size): Account for video structures.
17765 (set_video_mode): New function.
17766 (retrieve_video_parameters): Likewise.
17767 (grub_multiboot_make_mbi): Fill video fields.
17768
0d90e8a6
VS
177692010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17770
17771 Video driver ids.
17772
17773 * include/grub/video.h (grub_video_driver_id): New type.
17774 (grub_video_adapter): New member 'id'. All users updated.
17775 (grub_video_get_driver_id): New proto.
17776 * video/video.c (grub_video_get_driver_id): New function.
17777
5c71db1b 177782010-01-14 Carles Pina i Estany <carles@pina.cat>
17779
17780 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
17781 `var=val'.
17782
cca15b52 177832010-01-14 Carles Pina i Estany <carles@pina.cat>
17784
17785 * normal/cmdline.c (print_completion): Gettextizze.
17786
c586fbb2 177872001-01-14 Carles Pina i Estany <carles@pina.cat>
17788
17789 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
17790
ba2f6848 177912010-01-14 Carles Pina i Estany <carles@pina.cat>
17792
17793 * gettext/gettext.c (grub_gettext_translate): Push and pop
17794 grub_errno.
17795 (grub_gettext_delete_list): Change comment style.
17796 * kern/err.c (grub_error): Gettextizze.
17797 (grub_fatal): Gettextizze.
17798
0a46429a
RM
177992010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17800
17801 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17802 (grub_linux16_real_boot): ... this.
17803 * kern/i386/loader.S: Likewise.
17804 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17805 (grub_linux16_boot): New function. Switches to text mode and calls
17806 grub_linux16_real_boot().
17807
17808 * loader/i386/bsd.c: Include `<grub/video.h>'.
17809 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17810 text mode before calling grub_unix_real_boot().
17811
17812 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17813 (grub_multiboot_boot): Switch to text mode before calling
17814 grub_relocator32_boot().
17815
17816 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17817 (grub_chainloader_boot): Switch to text mode before calling
17818 grub_chainloader_real_boot().
17819
d6f93a66
RM
178202010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
178212010-01-05 Colin Watson <cjwatson@ubuntu.com>
17822
17823 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17824 non-empty value.
17825
178262010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
178272010-01-05 Colin Watson <cjwatson@ubuntu.com>
17828
17829 * util/grub.d/00_header.in: Define a "savedefault" function for use
17830 in menu entries.
17831 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17832
178332010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
178342010-01-05 Colin Watson <cjwatson@ubuntu.com>
17835
17836 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17837 saved_entry if boot_once is unset.
17838 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17839 previous saved entry (i.e. grub-reboot).
17840
178412009-12-08 Colin Watson <cjwatson@ubuntu.com>
17842
17843 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17844
178452009-12-08 Colin Watson <cjwatson@ubuntu.com>
17846
17847 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17848 `var=val'.
17849 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17850
178512009-12-08 Colin Watson <cjwatson@ubuntu.com>
17852
17853 * util/grub-reboot.in: Fix --version output.
17854 * util/grub-set-default.in: Likewise.
17855
178562009-12-08 Colin Watson <cjwatson@ubuntu.com>
17857
17858 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17859 blocks.
17860
178612009-12-08 Colin Watson <cjwatson@ubuntu.com>
17862
17863 * util/grub.d/00_header.in: Quote the value assigned to `default',
17864 in case it contains spaces.
17865
178662009-12-08 Colin Watson <cjwatson@ubuntu.com>
17867
17868 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17869 `save_default_entry' call from the macosx case to the linux case.
17870
178712009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
178722009-10-25 Colin Watson <cjwatson@ubuntu.com>
17873
17874 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17875 in `chosen' environment variable.
17876 * normal/menu_text.c (get_entry_number): Check if the variable
17877 matches the title of a menu entry.
17878 (run_menu): Pass menu to get_entry_number.
17879
17880 * util/grub-reboot.in: New file.
17881 * util/grub-set-default.in: New file.
17882 * conf/common.rmk (grub-reboot): New utility.
17883 (grub-set-default): New utility.
17884
17885 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17886 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17887 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17888 move it to `saved_entry' for the next boot. Load environment on
17889 initialisation.
17890 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17891 * util/grub.d/10_hurd.in: Likewise.
17892 * util/grub.d/10_linux.in (linux_entry): Likewise.
17893 * util/grub.d/10_windows.in: Likewise.
17894 * util/grub.d/30_os-prober.in: Likewise.
17895
17896 * util/grub-install.in: Create environment block.
17897 * util/i386/efi/grub-install.in: Likewise.
17898 * util/ieee1275/grub-install.in: Likewise.
17899 * util/sparc64/ieee1275/grub-install.in: Likewise.
17900
0934d184
BC
179012010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17902
17903 Unit testing framework for GRUB.
17904
17905 * Makefile.in: Test framework build rules for 'make check'.
17906 * conf/tests.rmk: Build rules for individual tests and framework.
17907
17908 * include/grub/test.h: Header file for whitebox tests.
17909 * tests/lib/functional_test.c: Framework support for whitebox
17910 functional tests.
17911 * tests/lib/test.c: Common whitebox testing code for unit and
17912 functional tests.
17913 * tests/lib/unit_test.c: Framework support for whitebox unit
17914 tests.
17915
17916 * tests/util/grub-shell-tester.in: Support utility for grub-script
17917 tests.
17918 * tests/util/grub-shell.in: Utility to execute grub-script
17919 commands in a Qemu instance.
17920
17921 * tests/example_functional_test.c: Example whitebox functional
17922 test.
17923 * tests/example_grub_script_test.in: Example grub-script test.
17924 * tests/example_scripted_test.in: Example scripted test.
17925 * tests/example_unit_test.c: Example whitebox unit test.
17926
9c4ffeeb
VS
179272010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17928
17929 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17930 Add loader/i386/multiboot_mbi.c.
17931 (multiboot2_mod_SOURCES): Likewise.
17932 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17933 (multiboot2_mod_SOURCES): Likewise.
17934 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17935 (grub_multiboot_make_mbi): Likewise.
17936 (grub_multiboot_free_mbi): Likewise.
17937 (grub_multiboot_init_mbi): Likewise.
17938 (grub_multiboot_add_module): Likewise.
17939 (grub_multiboot_set_bootdev): Likewise.
17940 * loader/i386/multiboot.c (mbi): Removed.
17941 (mbi_dest): Likewise.
17942 (alloc_mbi): New variable.
17943 (grub_multiboot_payload_size): Removed. All users updated.
17944 (grub_multiboot_pure_size): New variable.
17945 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17946 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17947 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17948 (grub_fill_multiboot_mmap): Likewise.
17949 (grub_multiboot_get_bootdev): Likewise.
17950 (grub_multiboot): Use multiboot_mbi functions.
17951 * loader/i386/multiboot_mbi.c: New file.
17952
17383dfe
VS
179532010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17956 it would result in module crash.
17957
c1f28820
VS
179582010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17961 (grub_ofconsole_getwh): Split to ...
17962 (grub_ofconsole_getwh): ... this.
17963 (grub_ofconsole_dimensions): ...and this.
17964 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17965
58655a16
RM
179662010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17967
17968 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17969
10891398
VS
179702010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17971
17972 * loader/i386/pc/multiboot2.c: Removed stalled file.
17973
0b8a223c
VS
179742010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17975
17976 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17977 Reported by: Grégoire Sutre
17978
92ab12b0
RM
179792010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17980
17981 * util/misc.c (canonicalize_file_name): New function.
17982 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17983 instead of realpath().
17984
a788afb6
CW
179852010-01-11 Colin Watson <cjwatson@ubuntu.com>
17986
17987 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17988 and make it clearer that it's optional. Based on confusion
17989 witnessed on IRC.
17990
ffa8e3d2
VS
179912010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17994 in premature implicit newline.
17995
e9060a9d
VS
179962010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17999 which resulted in garbled command line at the end of screen.
18000
f0d0c0b7
RM
180012010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18002
18003 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
18004 initialization with similar approach as with other Linux loaders.
18005
0e60bae7
RM
180062010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18007
18008 Fix i386-ieee1275 build.
18009
18010 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
18011 and grub_term_height() for video_{width,height} initialization.
18012
180132010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
18014
18015 Fix grub-emu build.
18016
18017 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
18018
cdb3f378
RM
180192010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
180202010-01-09 Robert Millan <rmh.grub@aybabtu.com>
18021
18022 Support for multiple terminals.
18023
18024 * Makefile.in (pkglib_DATA): terminal.lst.
18025 (terminal.lst): New target.
18026 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
18027 (GRUB_MOD_INIT(handler)): Likewise.
18028 (GRUB_MOD_FINI(handler)): Likewise.
18029 * commands/help.c (grub_cmd_help): Handle multiple terminals.
18030 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
18031 * commands/sleep.c (do_print): Use grub_term_restore_pos.
18032 (grub_cmd_sleep): Use grub_term_save_pos.
18033 * commands/terminal.c: New file.
18034 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
18035 commands/terminal.c and lib/charset.c.
18036 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
18037 (pkglib_MODULES): Add terminal.mod.
18038 (terminal_mod_SOURCES): New variable.
18039 (terminal_mod_CFLAGS): Likewise.
18040 (terminal_mod_LDFLAGS): Likewise.
18041 * genhandlerlist.sh: Don't handle terminals.
18042 * genmk.rb: Generate terminal-*.lst.
18043 * genterminallist.sh: New file.
18044 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
18045 (grub_is_valid_utf8): Likewise.
18046 (grub_utf8_to_ucs4_alloc): Likewise.
18047 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
18048 (grub_menu_register_viewer): Changed argument.
18049 (grub_menu_try_text): New proto.
18050 (grub_gfxmenu_try_hook): New declaration.
18051 * include/grub/normal.h (grub_normal_exit_level): New declaration.
18052 (grub_menu_init_page): Additional argument term.
18053 (grub_normal_init_page): Likewise.
18054 (grub_cmdline_get): Arguments simplified.
18055 (grub_utf8_to_ucs4_alloc): Removed.
18056 (grub_print_ucs4): Additional argument term.
18057 (grub_getstringwidth): Likewise.
18058 (grub_print_message_indented): Likewise.
18059 (grub_menu_text_register_instances): New proto.
18060 (grub_show_menu): Likewise.
18061 (read_terminal_list): Likewise.
18062 (grub_set_more): Likewise.
18063 * include/grub/parser.h: Include handler.h.
18064 * include/grub/reader.h: Rewritten.
18065 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
18066 (GRUB_TERM_WIDTH): Changed to function.
18067 (GRUB_TERM_HEIGHT): Likewise.
18068 (GRUB_TERM_BORDER_WIDTH): Likewise.
18069 (GRUB_TERM_BORDER_HEIGHT): Likewise.
18070 (GRUB_TERM_NUM_ENTRIES): Likewise.
18071 (GRUB_TERM_ENTRY_WIDTH): Likewise.
18072 (GRUB_TERM_CURSOR_X): Likewise.
18073 (grub_term_input_class): Likewise.
18074 (grub_term_output_class): Likewise.
18075 (grub_term_outputs_disabled): New declaration.
18076 (grub_term_inputs_disabled): Likewise.
18077 (grub_term_outputs): Likewise.
18078 (grub_term_inputs): Likewise.
18079 (grub_term_register_input): Rewritten.
18080 (grub_term_register_output): Likewise.
18081 (grub_term_unregister_input): Likewise.
18082 (grub_term_unregister_output): Likewise.
18083 (FOR_ACTIVE_TERM_INPUTS): New macro.
18084 (FOR_DISABLED_TERM_INPUTS): Likewise.
18085 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18086 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18087 * include/grub/terminfo.h: Add oterm argument to all protypes.
18088 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
18089 Use grub_rescue_run.
18090 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
18091 All users updated.
18092 * kern/reader.c: Removed. All users updated.
18093 * kern/rescue_reader.c (grub_rescue_init): Removed.
18094 (grub_rescue_reader): Likewise.
18095 (grub_register_rescue_reader): Likewise.
18096 (grub_rescue_run): New function based on kern/reader.c.
18097 * kern/term.c: Adapted for multiterm.
18098 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
18099 (grub_is_valid_utf8): Likewise.
18100 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
18101 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
18102 right terminal.
18103 * loader/i386/linux.c (grub_linux_boot): Likewise.
18104 * normal/auth.c (grub_username_get): New function.
18105 (grub_auth_check_authentication): Use grub_username_get.
18106 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
18107 * normal/color.c: Adapt for multiterm.
18108 * normal/main.c (read_config_file): Don't use grub_reader_loop.
18109 (grub_normal_init_page): Additional argument term.
18110 (read_lists): Call read_terminal_lists.
18111 (grub_enter_normal_mode): Call grub_cmdline_run.
18112 Handle grub_normal_exit_level.
18113 (grub_cmd_normal): Make reentrant.
18114 (grub_cmd_normal_exit): New function.
18115 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
18116 * normal/menu.c: Adapt for multiterm.
18117 * normal/menu_entry.c: Likewise.
18118 * normal/menu_text.c: Likewise.
18119 * normal/menu_viewer.c: Removed. All users updated.
18120 * normal/term.c: New file.
18121 * util/console.c: Change order of includes to workaround a bug in
18122 ncurses headers.
18123 * term/terminfo.c: New argument oterm on all exported functions.
18124 All users updated.
18125 * util/grub-editenv.c (grub_term_input_class): Removed.
18126 (grub_term_output_class): Likewise.
18127
1a064917
RM
181282010-01-09 Robert Millan <rmh.grub@aybabtu.com>
18129
18130 Make loader output a bit more user-friendly.
18131
18132 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
18133 is being loaded. Likewise for the Hurd.
18134
18135 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
18136 that kernel of FreeBSD ${version} is being loaded.
18137
18138 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
18139 grub_dprintf().
18140 (grub_cmd_initrd): Likewise.
18141 * util/grub.d/10_linux.in (linux_entry): Print message indicating
18142 that Linux ${version} is being loaded. Likewise for initrd.
18143
5ce0a83a 181442010-01-09 Carles Pina i Estany <carles@pina.cat>
18145
18146 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
18147
809bbfeb 181482010-01-08 Carles Pina i Estany <carles@pina.cat>
18149
18150 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
18151 (GRUB_MOD_INIT): Gettextizze.
18152 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
18153 (GRUB_MOD_INIT): Gettextizze.
18154 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
18155 (grub_cmd_linux): Capitalise Linux.
18156 (GRUB_MOD_INIT): Gettextizze.
18157 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
18158 (grub_cmd_linux): Capitalise Linux.
18159 (GRUB_MOD_INIT): Gettextizze.
18160 * loader/i386/linux.c: Include `<grub/i18n.h>'.
18161 (grub_cmd_linux): Capitalise Linux.
18162 (GRUB_MOD_INIT): Gettextizze.
18163 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
18164 (GRUB_MOD_INIT): Gettextizze.
18165 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
18166 (grub_cmd_linux): Capitalise Linux.
18167 (GRUB_MOD_INIT): Gettextizze.
18168 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
18169 (grub_cpu_xnu_init): Gettextizze.
18170 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
18171 (GRUB_MOD_INIT): Gettextizze.
18172 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
18173 (GRUB_MOD_INIT): Gettextizze.
18174 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
18175 (grub_linux_load64): Capitalise Linux.
18176 (GRUB_MOD_INIT): Gettextizze.
18177 * loader/xnu.c: Include `<grub/i18n.h>'.
18178 (GRUB_MOD_INIT): Gettextizze.
18179 * po/POTFILES: Add `loader/efi/appleloader.c',
18180 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
18181 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
18182 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
18183 `loader/i386/xnu.c', `loader/multiboot_loader.c',
18184 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
18185 and `loader/xnu.c'.
18186
b394b2ca
RM
181872010-01-08 Robert Millan <rmh.grub@aybabtu.com>
18188
18189 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
18190
181912010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
18192
18193 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
18194 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
18195 * util/mkisofs/mkisofs.c (main): Readjust --version output.
18196
bc8b32b3
RM
181972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
18198
18199 Reset Multiboot 2 support. New loader implements the draft in
18200 /branches/multiboot2 and shares as much code as possible with the
18201 production Multiboot 1 implementation.
18202
18203 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
18204 * loader/multiboot2.c: Likewise.
18205 * loader/i386/multiboot_helper.S: Likewise.
18206 * include/multiboot2.h: Replace with latest version from the draft
18207 in /branches/multiboot2.
18208
18209 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
18210 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
18211 and `loader/multiboot2.c'.
18212 (pkglib_MODULES): Add `multiboot2.mod'.
18213 (multiboot2_mod_SOURCES): New variable.
18214 (multiboot2_mod_LDFLAGS): Likewise.
18215 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
18216
18217 * conf/i386-pc.rmk: Likewise.
18218
18219 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18220 (multiboot_mod_SOURCES): Remove variable.
18221 (multiboot_mod_LDFLAGS): Likewise.
18222 (multiboot_mod_CFLAGS): Likewise.
18223
18224 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
18225 `<multiboot2.h>' instead of `<multiboot.h>'.
18226 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
18227 (MULTIBOOT_HEADER_MAGIC): New macros.
18228
18229 * loader/multiboot_loader.c (module_version_status): Remove variable.
18230 (find_multi_boot2_header): Remove function.
18231 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
18232 logic. Always check for the Multiboot version we're compiling for.
18233 (grub_cmd_module_loader): Likewise.
18234 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
18235 command instead of `multiboot'.
18236
5d2c52b8
RM
182372010-01-07 Robert Millan <rmh.grub@aybabtu.com>
18238
18239 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
18240 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
18241 all users.
18242
53108d92
RM
182432010-01-07 Robert Millan <rmh.grub@aybabtu.com>
182442010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 Fix breakage introduced with previous commit.
18247
18248 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
18249 commands.
18250 * normal/handler.c (read_handler_list): Revert part of previous commit
18251 affecting this file.
18252 * normal/main.c (read_lists): Move read_handler_list() call back to ...
18253 (grub_normal_execute): ... here.
18254
e2e936b2
RM
182552010-01-07 Robert Millan <rmh.grub@aybabtu.com>
18256
18257 Merge prefix-redefinition-fix branch.
18258
18259 * normal/autofs.c (read_fs_list): Make function capable of being
18260 run multiple times, gracefuly replacing the previous data
18261 structures.
18262 * normal/dyncmd.c (read_command_list): Likewise.
18263 * normal/handler.c (read_handler_list): Likewise.
18264 * normal/main.c (read_lists): New function. Calls all the
18265 list reading functions.
18266 (grub_normal_execute): Use read_lists() instead of calling all
18267 list reading functions explicitly. Register read_lists() as a
18268 variable hook attached to ${prefix}.
18269
607a3701
VS
182702010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18271
18272 Merge crypto branch.
18273
18274 * Makefile.in (pkglib_DATA): Add crypto.lst.
18275 (crypto.lst): New target.
18276 * commands/hashsum.c: New file.
18277 * commands/password.c (check_password): Use grub_crypto_memcmp.
18278 * commands/password_pbkdf2.c: New file.
18279 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
18280 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
18281 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
18282 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
18283 -I$(srcdir)/lib/libgcrypt_wrap.
18284 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
18285 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
18286 password_pbkdf2.mod.
18287 (crypto_mod_SOURCES): New variable.
18288 (crypto_mod_CFLAGS): Likewise.
18289 (crypto_mod_LDFLAGS): Likewise.
18290 (hashsum_mod_SOURCES): New variable.
18291 (hashsum_mod_CFLAGS): Likewise.
18292 (hashsum_mod_LDFLAGS): Likewise.
18293 (pbkdf2_mod_SOURCES): New variable.
18294 (pbkdf2_mod_CFLAGS): Likewise.
18295 (pbkdf2_mod_LDFLAGS): Likewise.
18296 (password_pbkdf2_mod_SOURCES): New variable.
18297 (password_pbkdf2_mod_CFLAGS): Likewise.
18298 (password_pbkdf2_mod_LDFLAGS): Likewise.
18299 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
18300 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
18301 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
18302 Include conf/gcry.rmk.
18303 * include/grub/auth.h: Rewritten.
18304 * include/grub/crypto.h: New file.
18305 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
18306 * include/grub/normal.h (read_crypto_list): New prototype.
18307 * lib/crypto.c: New file.
18308 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18309 * lib/pbkdf2.c: Likewise.
18310 * normal/auth.c (grub_auth_strcmp): Removed.
18311 (grub_iswordseparator): Likewise.
18312 (grub_auth_strword): Likewise.
18313 (is_authenticated): Use grub_strword.
18314 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
18315 and grub_strword. Pass entered password to authentication callback.
18316 * normal/crypto.c: New file.
18317 * normal/main.c: Call read_crypto_list.
18318 * util/grub-mkpasswd-pbkdf2.c: New file.
18319 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
18320
42841caa
VS
183212010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 Fix descent and ascent calculation.
18324
18325 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
18326 (options): New option "asce".
18327 (usage): Likewise.
18328 (add_char): Ignore invalid glyphs for descent calculation.
18329 Calculate ascent from actual content.
18330 (print_glyphs): Use 'asce'.
18331 (write_font): Likewise. Allow ascent override.
18332 (main): Handle "asce" option.
18333
e7730de7 183342010-01-06 Carles Pina i Estany <carles@pina.cat>
18335
18336 * kern/err.c: Include `<grub/i18n.h>'.
18337 (grub_print_error): Add full stop. Gettextizze.
18338 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
18339 (grub_bsd_load_elf): Capitalise ELF.
18340 (grub_cmd_freebsd_loadenv): Add `s' in error string.
18341 (grub_cmd_freebsd_module): Likewise.
18342 (grub_cmd_freebsd_module_elf): Likewise.
18343 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
18344
40e3a41f 183452010-01-06 Carles Pina i Estany <carles@pina.cat>
18346
18347 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
18348 * commands/search_file.c (HELP_MESSAGE): New macro.
18349 * commands/search_label.c (HELP_MESSAGE): Likewise.
18350 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
18351 * po/POTFILES: Add `commands/search_file.c',
18352 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
18353 `commands/search.c'.
18354
83507e68
RM
183552010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18356
18357 * config.rpath: Update from Gnulib.
18358
465c787b
YB
183592010-01-05 Yves Blusseau <blusseau@zetam.org>
18360
18361 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
18362
6581dd3a
YB
183632010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
18364
18365 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
18366
3bff18c5
CW
183672010-01-05 Colin Watson <cjwatson@ubuntu.com>
18368
18369 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
18370 arguments to fread so that we get a return value in bytes, rather
18371 than something that will normally be rounded down to 0.
18372 Adjust error handling to avoid producing garbage when size_t is not
18373 the same size as long long.
18374
a1368118
CW
183752010-01-05 Colin Watson <cjwatson@ubuntu.com>
18376
18377 * util/mkisofs/write.c (padblock_write): Check return value of
18378 fread.
18379
7c302978
RM
183802010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18381
18382 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
18383 floppy images now.
18384
18385 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
18386
e33ace06
RM
183872010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18388
18389 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
18390 instead of manual alignment.
18391 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
18392 verbose). Avoid attempts to read past end of the device
18393 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
18394 but GRUB_DISK_CACHE_SIZE may exceed that).
18395
4b856776
RM
183962010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18397
18398 * commands/crc.c (grub_cmd_crc): Abort on read errors.
18399 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
18400 it to upper layer.
18401
52c2d97f
VS
184022010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
18405 New constant.
18406 (grub_efi_piwg_device_path): New structure
18407 (grub_efi_piwg_device_path_t): New type.
18408 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
18409 (devpath_1): Transform to a structure. All users updated.
18410 (devpath_2): Likewise.
18411 (devpath_3): Likewise.
18412 (devpath_4): Likewise.
18413 (devpath_5): Likewise.
18414
98ff6a54
VS
184152010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18416
18417 * loader/efi/appleloader.c: Restored. Update all users.
18418
3a73dcb6
RM
184192010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18420
18421 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
18422
18423 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
18424 (struct boot_blocklist): Move from here ...
18425 * include/grub/i386/pc/boot.h [ASM_FILE]
18426 (struct grub_boot_blocklist): ... to here. Update all users.
18427 (setup): Only initialize `start' member of `first_block'
18428 structure. Add assert() calls to verify the other members.
18429
18430 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
18431 (generate_image): Fix broken blocklist length initialization.
18432 Add assert() call to verify blocklist `segment' field.
18433
ab0eeb0c
RM
184342010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18435
18436 * loader/efi/appleloader.c: Remove. Update all users.
18437
58bc8bd5
RM
184382010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18439
18440 * boot/i386/pc/boot.S: Update copyright year.
18441 * boot/i386/pc/cdboot.S: Likewise.
18442 * boot/i386/pc/diskboot.S: Likewise.
18443 * boot/i386/pc/lnxboot.S: Likewise.
18444 * boot/i386/pc/pxeboot.S: Likewise.
18445 * bus/pci.c: Likewise.
18446 * commands/cmp.c: Likewise.
18447 * commands/help.c: Likewise.
18448 * commands/hexdump.c: Likewise.
18449 * commands/i386/pc/halt.c: Likewise.
18450 * commands/i386/pc/play.c: Likewise.
18451 * commands/i386/pc/vbeinfo.c: Likewise.
18452 * commands/ls.c: Likewise.
18453 * commands/test.c: Likewise.
18454 * disk/dmraid_nvidia.c: Likewise.
18455 * disk/i386/pc/biosdisk.c: Likewise.
18456 * disk/ieee1275/nand.c: Likewise.
18457 * disk/ieee1275/ofdisk.c: Likewise.
18458 * disk/lvm.c: Likewise.
18459 * disk/raid.c: Likewise.
18460 * disk/raid6_recover.c: Likewise.
18461 * disk/scsi.c: Likewise.
18462 * fs/affs.c: Likewise.
18463 * fs/cpio.c: Likewise.
18464 * fs/ext2.c: Likewise.
18465 * fs/hfs.c: Likewise.
18466 * fs/iso9660.c: Likewise.
18467 * fs/ntfs.c: Likewise.
18468 * fs/sfs.c: Likewise.
18469 * fs/udf.c: Likewise.
18470 * fs/ufs.c: Likewise.
18471 * fs/xfs.c: Likewise.
18472 * gencmdlist.sh: Likewise.
18473 * genmk.rb: Likewise.
18474 * include/grub/disk.h: Likewise.
18475 * include/grub/efi/api.h: Likewise.
18476 * include/grub/efi/efi.h: Likewise.
18477 * include/grub/efi/pe32.h: Likewise.
18478 * include/grub/elf.h: Likewise.
18479 * include/grub/fs.h: Likewise.
18480 * include/grub/i386/at_keyboard.h: Likewise.
18481 * include/grub/i386/pc/memory.h: Likewise.
18482 * include/grub/i386/pc/vbe.h: Likewise.
18483 * include/grub/i386/pci.h: Likewise.
18484 * include/grub/i386/tsc.h: Likewise.
18485 * include/grub/ieee1275/ieee1275.h: Likewise.
18486 * include/grub/ntfs.h: Likewise.
18487 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18488 * include/grub/sparc64/libgcc.h: Likewise.
18489 * include/grub/symbol.h: Likewise.
18490 * include/grub/types.h: Likewise.
18491 * include/multiboot2.h: Likewise.
18492 * io/gzio.c: Likewise.
18493 * kern/device.c: Likewise.
18494 * kern/disk.c: Likewise.
18495 * kern/efi/efi.c: Likewise.
18496 * kern/efi/mm.c: Likewise.
18497 * kern/elf.c: Likewise.
18498 * kern/file.c: Likewise.
18499 * kern/i386/dl.c: Likewise.
18500 * kern/i386/pc/init.c: Likewise.
18501 * kern/i386/pc/startup.S: Likewise.
18502 * kern/ieee1275/ieee1275.c: Likewise.
18503 * kern/ieee1275/init.c: Likewise.
18504 * kern/main.c: Likewise.
18505 * kern/mm.c: Likewise.
18506 * kern/powerpc/dl.c: Likewise.
18507 * kern/sparc64/dl.c: Likewise.
18508 * kern/x86_64/dl.c: Likewise.
18509 * lib/hexdump.c: Likewise.
18510 * loader/efi/appleloader.c: Likewise.
18511 * loader/i386/ieee1275/linux.c: Likewise.
18512 * loader/i386/pc/chainloader.c: Likewise.
18513 * loader/i386/pc/linux.c: Likewise.
18514 * loader/i386/pc/multiboot2.c: Likewise.
18515 * loader/ieee1275/multiboot2.c: Likewise.
18516 * loader/multiboot2.c: Likewise.
18517 * loader/multiboot_loader.c: Likewise.
18518 * loader/powerpc/ieee1275/linux.c: Likewise.
18519 * normal/completion.c: Likewise.
18520 * normal/menu_entry.c: Likewise.
18521 * partmap/apple.c: Likewise.
18522 * util/grub.d/10_hurd.in: Likewise.
18523 * util/hostfs.c: Likewise.
18524 * video/readers/png.c: Likewise.
18525
e2d70b5c
CW
185262010-01-03 Colin Watson <cjwatson@ubuntu.com>
18527
18528 * include/grub/misc.h (GNUC_PREREQ): New macro.
18529 (ATTRIBUTE_ERROR): New macro.
18530 * include/grub/list.h (grub_bad_type_cast_real): Use
18531 ATTRIBUTE_ERROR.
18532
a173283f 185332010-01-03 Carles Pina i Estany <carles@pina.cat>
18534
18535 * normal/menu_text.c (print_message): Change messages.
18536
7fa7ff74 185372010-01-03 Carles Pina i Estany <carles@pina.cat>
18538
18539 * normal/menu_entry.c (store_completion): Gettextizze.
18540
136d24f6 185412010-01-03 Carles Pina i Estany <carles@pina.cat>
18542
18543 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
18544
f936862e 185452010-01-03 Carles Pina i Estany <carles@pina.cat>
18546
18547 * po/POTFILES: Sort correctly.
18548
29c44ad1 185492010-01-03 Carles Pina i Estany <carles@pina.cat>
18550
18551 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
18552 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
18553 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
18554 full stop.
18555 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
18556 summary. Gettextizze the strings.
18557 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
18558 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
18559 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
18560 full stop.
18561 (GRUB_MOD_INIT): Remove command name from summary.
18562 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
18563 summary.
18564 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
18565 * term/i386/pc/serial.c (options): Add full stops.
18566 (GRUB_MOD_INIT): Remove command name from the summary.
18567
77a79592 185682010-01-03 Carles Pina i Estany <carles@pina.cat>
18569
18570 * commands/acpi.c: Gettextizze help strings and/or options. Include
18571 `grub/i18n.h' if needed.
18572 * commands/blocklist.c: Likewise.
18573 * commands/boot.c: Likewise.
18574 * commands/cat.c: Likewise.
18575 * commands/cmp.c: Likewise.
18576 * commands/configfile.c: Likewise.
18577 * commands/crc.c: Likewise.
18578 * commands/date.c: Likewise.
18579 * commands/echo.c: Likewise.
18580 * commands/efi/fixvideo.c: Likewise.
18581 * commands/efi/loadbios.c: Likewise.
18582 * commands/gptsync.c: Likewise.
18583 * commands/halt.c: Likewise.
18584 * commands/handler.c: Likewise.
18585 * commands/hdparm.c: Likewise.
18586 * commands/hexdump.c: Likewise.
18587 * commands/i386/cpuid.c: Likewise.
18588 * commands/i386/pc/drivemap.c: Likewise.
18589 * commands/i386/pc/halt.c: Likewise.
18590 * commands/i386/pc/pxecmd.c: Likewise.
18591 * commands/i386/pc/vbeinfo.c: Likewise.
18592 * commands/i386/pc/vbetest.c: Likewise.
18593 * commands/ieee1275/suspend.c: Likewise.
18594 * commands/keystatus.c: Likewise.
18595 * commands/loadenv.c: Likewise.
18596 * commands/ls.c: Likewise.
18597 * commands/lsmmap.c: Likewise.
18598 * commands/lspci.c: Likewise.
18599 * commands/memrw.c: Likewise.
18600 * commands/minicmd.c: Likewise.
18601 * commands/parttool.c: Likewise.
18602 * commands/password.c: Likewise.
18603 * commands/probe.c: Likewise.
18604 * commands/read.c: Likewise.
18605 * commands/reboot.c: Likewise.
18606 * commands/search.c: Likewise.
18607 * commands/sleep.c: Likewise.
18608 * commands/test.c: Likewise.
18609 * commands/true.c: Likewise.
18610 * commands/usbtest.c: Likewise.
18611 * commands/videotest.c: Likewise.
18612 * commands/xnu_uuid.c: Likewise.
18613 * disk/loopback.c: Likewise.
18614 * hello/hello.c: Likewise.
18615 * loader/i386/bsd.c: Likewise.
18616 * term/i386/pc/serial.c: Likewise.
18617 * po/POTFILES: Add new files.
18618
da8d5c53
CW
186192010-01-02 Colin Watson <cjwatson@ubuntu.com>
18620
18621 * term/i386/pc/at_keyboard.c
18622 (keyboard_controller_wait_untill_ready): Rename to ...
18623 (keyboard_controller_wait_until_ready): ... this. Update all users.
18624
33937904 186252010-01-01 Carles Pina i Estany <carles@pina.cat>
18626
18627 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
18628 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
18629 string using string width.
18630 * normal/menu_text.c (grub_print_message_indented): Use
18631 grub_print_spaces and not print_spaces.
18632 (print_timeout): Likewise.
18633 (print_spaces): Move to...
18634 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
18635
3fd3b8d8
RM
186362010-01-01 Robert Millan <rmh.grub@aybabtu.com>
18637
18638 Import from Gnulib.
18639
18640 * gnulib/getdelim.c: New file.
18641 * gnulib/getline.c: Likewise.
18642
33433555
VS
186432009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
18644
18645 * include/grub/list.h (grub_assert_fail): Removed.
18646 (grub_bad_type_cast_real): New function.
18647 (grub_bad_type_cast): New macro.
18648 (GRUB_AS_LIST): Use grub_bad_type_cast.
18649 (GRUB_AS_LIST_P): Likewise.
e44721e8 18650 (GRUB_AS_NAMED_LIST): Likewise.
33433555 18651 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 18652 (GRUB_AS_PRIO_LIST): Likewise.
33433555 18653 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 18654 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 18655
f5a51306
VS
186562009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
18657
18658 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
18659 Fix syntax error.
18660
90d1e879
RM
186612009-12-29 Robert Millan <rmh.grub@aybabtu.com>
18662
18663 * configure.ac: Check for TARGET_CFLAGS initialization before we
18664 initialize it ourselves (sigh).
18665 Move a few modifications to TARGET_CFLAGS to be unconditional
18666 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
18667 eh_frame)
18668
18669 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
18670 * term/i386/pc/at_keyboard.c
18671 (keyboard_controller_wait_untill_ready): Likewise.
18672 (keyboard_controller_led): Rename `led_status' paramter to avoid
18673 name conflict.
18674
465b5a81 186752009-12-28 Carles Pina i Estany <carles@pina.cat>
18676
18677 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
18678 quotes.
18679
c181849b
VS
186802009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18681
18682 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
18683
9c8739a4
VS
186842009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18685
18686 * normal/menu_text.c (grub_print_message_indented): Prevent
18687 past-the-end-of-array dereference.
18688
3e74249c
VS
186892009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18690
18691 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
18692 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
18693
64fd18ed 186942009-12-27 Carles Pina i Estany <carles@pina.cat>
18695
18696 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
18697 * normal/main.c (grub_normal_read_line): Remove a space from the
18698 default prompt.
18699
714af9b9 187002009-12-27 Carles Pina i Estany <carles@pina.cat>
18701
18702 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
18703 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18704 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18705 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18706 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18707 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18708 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18709
82f3e412 187102009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 18711
18712 * video/readers/jpeg.c (cmd): Declare.
18713 (grub_cmd_jpegtest): Use `grub_command_t' type.
18714 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18715 Assign to `cmd'.
18716 (GRUB_MOD_FINI): Use `cmd' to unregister.
18717 * video/readers/png.c (cmd): Declare.
18718 (grub_cmd_pngtest): Use `grub_command_t' type.
18719 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18720 Assign to `cmd'.
18721 (GRUB_MOD_FINI): Use `cmd' to unregister.
18722 * video/readers/tga.c (cmd): Declare.
18723 (grub_cmd_tgatest): Use `grub_command_t' type.
18724 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18725 Assign to `cmd'.
18726 (GRUB_MOD_FINI): Use `cmd' to unregister.
18727
82f3e412 187282009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 18729
18730 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
18731 stops.
18732 * kern/corecmd.c (grub_register_core_commands): Likewise.
18733 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
18734 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18735 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
18736 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18737 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18738 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
18739 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18740 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
18741 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18742 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18743 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18744 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18745 * normal/handler.c (insert_handler): Likewise.
18746 * normal/main.c (GRUB_MOD_INIT): Likewise.
18747 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18748
fdcdbb66 187492009-12-26 Carles Pina i Estany <carles@pina.cat>
18750
18751 * commands/help.c (grub_cmd_help): Print the command name before the
18752 summary.
18753 (GRUB_MOD_INIT): Remove command name from the summary.
18754 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 18755 string as summary.
fdcdbb66 18756 * lib/arg.c (find_long): Print the command name before the summary.
18757 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
18758 summary.
18759 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
18760 * commands/cat.c (GRUB_MOD_INIT): Likewise.
18761 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
18762 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18763 * commands/crc.c (GRUB_MOD_INIT): Likewise.
18764 * commands/date.c (GRUB_MOD_INIT): Likewise.
18765 * commands/echo.c (GRUB_MOD_INIT): Likewise.
18766 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
18767 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18768 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18769 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
18770 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
18771 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
18772 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
18773 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18774 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
18775 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
18776 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
18777 * commands/ls.c (GRUB_MOD_INIT): Likewise.
18778 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18779 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18780 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18781 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
18782 * commands/password.c (GRUB_MOD_INIT): Likewise.
18783 * commands/probe.c (GRUB_MOD_INIT): Likewise.
18784 * commands/read.c (GRUB_MOD_INIT): Likewise.
18785 * commands/search.c (GRUB_MOD_INIT): Likewise.
18786 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
18787 * commands/test.c (GRUB_MOD_INIT): Likewise.
18788 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
18789 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18790 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18791 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
18792 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18793 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18794 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18795 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18796 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18797 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18798 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18799 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18800 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18801 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18802
9c288be2
VS
188032009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18804
18805 Use search command for preliminar UUID search.
18806
18807 * commands/search.c: Split into ...
18808 * commands/search_wrap.c: ...this
18809 * commands/search.c: ...and this.
18810 * commands/search_file.c: New file.
18811 * commands/search_label.c: New file.
18812 * commands/search_uuid.c: New file.
18813 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18814 Add commands/search_wrap.c, commands/search_file.c,
18815 commands/search_label.c and commands/search_uuid.c.
18816 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18817 (search_mod_SOURCES): Set to commands/search_wrap.c.
18818 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18819 search_label.mod.
18820 (search_fs_file_mod_SOURCES): New variable.
18821 (search_fs_file_mod_CFLAGS): Likewise.
18822 (search_fs_file_mod_LDFLAGS): Likewise.
18823 (search_label_mod_SOURCES): Likewise.
18824 (search_label_mod_CFLAGS): Likewise.
18825 (search_label_mod_LDFLAGS): Likewise.
18826 (search_fs_uuid_mod_SOURCES): New variable.
18827 (search_fs_uuid_mod_CFLAGS): Likewise.
18828 (search_fs_uuid_mod_LDFLAGS): Likewise.
18829 (fs_file_mod_SOURCES): Removed.
18830 (fs_file_mod_CFLAGS): Likewise.
18831 (fs_file_mod_LDFLAGS): Likewise.
18832 (fs_uuid_mod_SOURCES): Removed.
18833 (fs_uuid_mod_CFLAGS): Likewise.
18834 (fs_uuid_mod_LDFLAGS): Likewise.
18835 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18836 Set to util/grub-install.in.
18837 * disk/fs_file.c: Removed.
18838 * disk/fs_uuid.c: Likewise.
18839 * include/grub/search.h: New file.
18840 * util/grub-install.in: Handle sparc64.
18841 Create and use load.cfg.
18842 * util/sparc64/ieee1275/grub-install.in: Removed.
18843
db943399
VS
188442009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18847 Ignore return status if CF is cleared.
18848 (grub_biosdisk_get_diskinfo_standard): Likewise.
18849
3fdae612
RM
188502009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18851
18852 * term/i386/pc/at_keyboard.c
18853 (keyboard_controller_wait_untill_ready): New function.
18854 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18855 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18856 for keyboard polling, rather than duplicate the same loop. This
18857 saves a few bytes in code size.
18858
7ebaa2b4
VS
188592009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18860
18861 Support for (pxe[:server[:gateway]]) syntax and
18862 use environment variable for PXE.
18863
18864 * commands/i386/pc/pxecmd.c (options): Removed.
18865 (print_ip): Removed.
18866 (grub_cmd_pxe): Removed
18867 (grub_cmd_pxe_unload): New function.
18868 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18869 (grub_pxe_your_ip): Made static.
18870 (grub_pxe_default_server_ip): Likewise.
18871 (grub_pxe_default_gateway_ip): Likewise.
18872 (grub_pxe_blksize): Likewise.
18873 (parse_ip): New function.
18874 (grub_pxe_open): Support server and gateway specification.
18875 (grub_pxe_close): Free disk->data.
18876 (grub_pxefs_open): Use disk->data.
18877 (grub_pxefs_read): Likewise.
18878 (grub_env_write_readonly): New function.
18879 (set_mac_env): Likewise.
18880 (set_env_limn_ro): Likewise.
18881 (parse_dhcp_vendor): Likewise.
18882 (grub_pxe_detect): Set the environment variables.
18883 (set_ip_env): New function.
18884 (write_ip_env): Likewise.
18885 (grub_env_write_pxe_default_server): Likewise.
18886 (grub_env_write_pxe_default_gateway): Likewise.
18887 (grub_env_write_pxe_blocksize): Likewise.
18888 (GRUB_MOD_INIT(pxe)): Set environment variables.
18889 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18890 (grub_pxe_mac_addr_t): ... this. All users updated.
18891 (grub_pxe_your_ip): Removed.
18892 (grub_pxe_server_ip): Likewise.
18893 (grub_pxe_gateway_ip): Likewise.
18894 (grub_pxe_blksize): Likewise.
18895
ec5f98ab 188962009-12-25 Carles Pina i Estany <carles@pina.cat>
18897
18898 * commands/help.c: Include `<grub/i18n.h>'.
18899 (grub_cmd_help): Gettextizze.
18900 (GRUB_MOD_INIT): Likewise.
18901 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18902 (GRUB_MOD_INIT): Gettextizze.
18903 * commands/search.c: Include `<grub/i18n.h>'.
18904 (options): Gettextizze.
18905 (GRUB_MOD_INIT): Gettextizze.
18906 * lib/arg.c: Include `<grub/i18n.h>'.
18907 (help_options): Gettextizze.
18908 (find_long): Likewise.
18909 (grub_arg_show_help): Likewise.
18910 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18911 (read_command_list): Gettextizze.
18912 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 18913 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 18914
22815526
RM
189152009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18916
18917 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18918 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18919 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18920 (led_status): New variable.
18921 (keyboard_controller_led): New function.
18922 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18923 update led status for caps lock, num lock and scroll lock.
18924
0ad46fd7
FZ
189252009-12-25 Felix Zielcke <fzielcke@z-51.de>
18926
18927 * util/hostdisk.c (open_device): Fix a comment.
18928
d0e158c2
RM
189292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18930
18931 * util/grub-install.in (host_os): New variable.
18932 * util/i386/efi/grub-install.in (host_os): Likewise.
18933
401c0ad6
RM
189342009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18935
18936 * util/mkisofs/write.c (padblock_write): Abort when given an
18937 excedingly large embed image, instead of silently truncating it.
18938
d14d3370
RM
189392009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18940
18941 * include/multiboot.h: Indentation fixes.
18942
eeed10b4
RM
189432009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18944
18945 * include/multiboot.h (struct multiboot_aout_symbol_table)
18946 (struct multiboot_elf_section_header_table): New structure
18947 declarations (stolen from GRUB Legacy).
18948 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18949 table information.
18950
18951 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18952 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18953 type aliases.
18954
681c70ab
RM
189552009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18956
18957 * include/multiboot.h: Make comments src2texi-friendly.
18958
e4d47d8d
RM
189592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18960
18961 For consistency with [multiboot]/docs/boot.S.
18962
18963 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18964 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18965 (MULTIBOOT_MAGIC2): Rename from this ...
18966 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18967
a0b70bda
RM
189682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18969
18970 * include/multiboot.h: Remove `<grub/types.h>'.
18971 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18972 types. Update all users.
18973
61ba42be 189742009-12-25 Carles Pina i Estany <carles@pina.cat>
18975
18976 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18977 `couldn't' and `can not' by `cannot'.
18978 * commands/i386/pc/drivemap.c: Likewise.
18979 * disk/ata.c: Likewise.
18980 * disk/ieee1275/nand.c: Likewise.
18981 * fs/affs.c: Likewise.
18982 * fs/fat.c: Likewise.
18983 * fs/hfs.c: Likewise.
18984 * fs/hfsplus.c: Likewise.
18985 * fs/iso9660.c: Likewise.
18986 * fs/jfs.c: Likewise.
18987 * fs/minix.c: Likewise.
18988 * fs/reiserfs.c: Likewise.
18989 * fs/sfs.c: Likewise.
18990 * fs/udf.c: Likewise.
18991 * fs/ufs.c: Likewise.
18992 * fs/xfs.c: Likewise.
18993 * loader/powerpc/ieee1275/linux.c: Likewise.
18994 * loader/sparc64/ieee1275/linux.c: Likewise.
18995 * util/grub-probe.c: Likewise.
18996 * util/misc.c: Likewise.
18997
7fd0baee 189982009-12-24 Carles Pina i Estany <carles@pina.cat>
18999
19000 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
19001 grub_errno calls.
19002 * commands/acpi.c: Likewise.
19003 * commands/blocklist.c: Likewise.
19004 * commands/efi/loadbios.c: Likewise.
19005 * commands/i386/pc/drivemap.c: Likewise.
19006 * commands/loadenv.c: Likewise.
19007 * commands/memrw.c: Likewise.
19008 * commands/password.c: Likewise.
19009 * commands/videotest.c: Likewise.
19010 * disk/ata.c: Likewise.
19011 * disk/ata_pthru.c: Likewise.
19012 * disk/dmraid_nvidia.c: Likewise.
19013 * disk/ieee1275/nand.c: Likewise.
19014 * disk/ieee1275/ofdisk.c: Likewise.
19015 * disk/loopback.c: Likewise.
19016 * disk/lvm.c: Likewise.
19017 * disk/mdraid_linux.c: Likewise.
19018 * disk/raid.c: Likewise.
19019 * disk/raid6_recover.c: Likewise.
19020 * disk/scsi.c: Likewise.
19021 * efiemu/main.c: Likewise.
19022 * efiemu/mm.c: Likewise.
19023 * efiemu/pnvram.c: Likewise.
19024 * efiemu/symbols.c: Likewise.
19025 * font/font.c: Likewise.
19026 * fs/cpio.c: Likewise.
19027 * fs/hfsplus.c: Likewise.
19028 * fs/iso9660.c: Likewise.
19029 * fs/jfs.c: Likewise.
19030 * fs/minix.c: Likewise.
19031 * fs/ntfs.c: Likewise.
19032 * fs/ntfscomp.c: Likewise.
19033 * fs/reiserfs.c: Likewise.
19034 * fs/ufs.c: Likewise.
19035 * fs/xfs.c: Likewise.
19036 * gettext/gettext.c: Likewise.
19037 * include/grub/auth.h: Likewise.
19038 * kern/elf.c: Likewise.
19039 * kern/file.c: Likewise.
19040 * kern/ieee1275/init.c: Likewise.
19041 * kern/ieee1275/mmap.c: Likewise.
19042 * kern/ieee1275/openfw.c: Likewise.
19043 * kern/powerpc/dl.c: Likewise.
19044 * kern/sparc64/dl.c: Likewise.
19045 * lib/arg.c: Likewise.
19046 * loader/i386/bsd.c: Likewise.
19047 * loader/i386/bsdXX.c: Likewise.
19048 * loader/i386/efi/linux.c: Likewise.
19049 * loader/i386/efi/xnu.c: Likewise.
19050 * loader/i386/ieee1275/linux.c: Likewise.
19051 * loader/i386/linux.c: Likewise.
19052 * loader/i386/multiboot.c: Likewise.
19053 * loader/i386/pc/linux.c: Likewise.
19054 * loader/i386/pc/multiboot2.c: Likewise.
19055 * loader/i386/xnu.c: Likewise.
19056 * loader/ieee1275/multiboot2.c: Likewise.
19057 * loader/macho.c: Likewise.
19058 * loader/machoXX.c: Likewise.
19059 * loader/multiboot2.c: Likewise.
19060 * loader/multiboot_loader.c: Likewise.
19061 * loader/powerpc/ieee1275/linux.c: Likewise.
19062 * loader/sparc64/ieee1275/linux.c: Likewise.
19063 * loader/xnu.c: Likewise.
19064 * loader/xnu_resume.c: Likewise.
19065 * mmap/i386/pc/mmap.c: Likewise.
19066 * normal/menu_viewer.c: Likewise.
19067 * partmap/acorn.c: Likewise.
19068 * partmap/amiga.c: Likewise.
19069 * partmap/apple.c: Likewise.
19070 * script/lexer.c: Likewise.
19071 * term/gfxterm.c: Likewise.
19072 * term/i386/pc/serial.c: Likewise.
19073 * term/i386/pc/vga.c: Likewise.
19074 * term/ieee1275/ofconsole.c: Likewise.
19075 * term/terminfo.c: Likewise.
19076 * video/bitmap.c: Likewise.
19077 * video/efi_gop.c: Likewise.
19078 * video/efi_uga.c: Likewise.
19079 * video/fb/video_fb.c: Likewise.
19080 * video/i386/pc/vbe.c: Likewise.
19081 * video/readers/tga.c: Likewise.
19082 * video/video.c: Likewise.
19083
0ad46fd7 190842009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
19085
19086 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
19087 * commands/lspci.c: Likewise.
19088 * commands/probe.c: Likewise.
19089 * commands/xnu_uuid.c: Likewise.
19090 * conf/i386-coreboot.rmk: Likewise.
19091 * conf/i386-efi.rmk: Likewise.
19092 * conf/i386-ieee1275.rmk: Likewise.
19093 * conf/i386-pc.rmk: Likewise.
19094 * conf/powerpc-ieee1275.rmk: Likewise.
19095 * conf/sparc64-ieee1275.rmk: Likewise.
19096 * conf/x86_64-efi.rmk: Likewise.
19097 * fs/i386/pc/pxe.c: Likewise.
19098 * gettext/gettext.c: Likewise.
19099 * include/grub/efi/graphics_output.h: Likewise.
19100 * include/grub/i386/pc/memory.h: Likewise.
19101 * kern/env.c: Likewise.
19102 * kern/i386/qemu/startup.S: Likewise.
19103 * lib/i386/pc/biosnum.c: Likewise.
19104 * lib/i386/relocator.c: Likewise.
19105 * lib/i386/relocator_asm.S: Likewise.
19106 * lib/relocator.c: Likewise.
19107 * loader/i386/bsd.c: Likewise.
19108 * loader/i386/multiboot.c: Likewise.
19109 * loader/i386/pc/chainloader.c: Likewise.
19110 * loader/i386/xnu.c: Likewise.
19111 * loader/xnu.c: Likewise.
19112 * normal/main.c: Likewise.
19113 * normal/menu_text.c: Likewise.
19114 * util/getroot.c: Likewise.
19115 * util/grub-mkconfig_lib.in: Likewise.
19116 * util/grub.d/00_header.in: Likewise.
19117 * util/i386/pc/grub-mkimage.c: Likewise.
19118 * util/mkisofs/eltorito.c: Likewise.
19119 * util/mkisofs/exclude.h: Likewise.
19120 * util/mkisofs/hash.c: Likewise.
19121 * util/mkisofs/iso9660.h: Likewise.
19122 * util/mkisofs/joliet.c: Likewise.
19123 * util/mkisofs/mkisofs.c: Likewise.
19124 * util/mkisofs/mkisofs.h: Likewise.
19125 * util/mkisofs/multi.c: Likewise.
19126 * util/mkisofs/name.c: Likewise.
19127 * util/mkisofs/rock.c: Likewise.
19128 * util/mkisofs/tree.c: Likewise.
19129 * util/mkisofs/write.c: Likewise.
19130 * video/efi_gop.c: Likewise.
19131
009ec743
VS
191322009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
19133
19134 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
19135 size counting.
19136
0ad46fd7 191372009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
19138
19139 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
19140 * genmk.rb (class SCRIPT): Modify the target file instead of source.
19141
d3d30ea0
VS
191422009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19143
19144 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
19145 (GRUB_MOD_INIT(memrw)): Update help line.
19146
a34f5c70
VS
191472009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19148
19149 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
19150 Use grub_extcmd_t. All users updated.
19151 (options): New variable.
19152 (grub_cmd_read): Restructure for readability. Support "-v" option.
19153 (grub_cmd_write): Restructure for readability.
19154
0ad46fd7 191552009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
19156
19157 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
19158
0ad46fd7 191592009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
19160
19161 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
19162 with the actual contents of the correspondending make variable.
19163 * util/grub-mkrescue.in (pkglib_DATA): New variable.
19164 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
19165 specifying `*.lst' and `efiemu??.o'
19166
0ad46fd7 191672009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
19168
19169 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
19170 after function name.
19171 Noticed by Rene Engelhard <rene@debian.org>.
19172
dc77a799
VS
191732009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
19176 (options): New variable.
19177 (iospace): Likewise.
19178 (grub_lspci_iter): List IO spaces if "-i" was given.
19179 (grub_cmd_lspci): Parse options.
19180 (GRUB_MOD_INIT(lspci)): Use extcmd.
19181 (GRUB_MOD_FINI(lspci)): Likewise.
19182
0ad46fd7 191832009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
19184
19185 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
19186 `function' keyword.
19187 Patch by Tony Mancill <tmancill@debian.org>.
19188
b5d5993b
VS
191892009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19190
19191 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
19192 (grub_uhci_portstatus): Likewise.
19193 (grub_uhci_portstatus): Add necessary delay.
11d18281 19194 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 19195
941903f2 191962009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 19197
941903f2 19198 * commands/acpi.c (options): Fix capitalizations and/or full stops.
19199 (GRUB_MOD_INIT): Likewise.
19200 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 19201 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
19202 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 19203 * commands/efi/loadbios.c (enable_rom_area): Likewise.
19204 (enable_rom_area): Likewise.
19205 (GRUB_MOD_INIT): Likewise.
19206 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
19207 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
19208 * commands/handler.c (GRUB_MOD_INIT): Likewise.
19209 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
19210 * commands/hexdump.c (options): Likewise.
19211 * commands/i386/cpuid.c (options): Likewise.
19212 (GRUB_MOD_INIT): Likewise.
19213 * commands/i386/pc/drivemap.c (options): Likewise.
19214 (GRUB_MOD_INIT): Likewise.
19215 * commands/i386/pc/halt (options): Likewise.
19216 (GRUB_MOD_INIT): Likewise.
19217 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
19218 * commands/i386/pc/pxecmd.c (options): Likewise.
19219 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
19220 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
19221 * commands/keystatus.c (options): Likewise.
19222 (GRUB_MOD_INIT): Likewise.
19223 * commands/loadenv.c (options): Likewise.
19224 * commands/ls.c (options): Likewise.
19225 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
19226 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
19227 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
19228 * commands/parttool.c (helpmsg): Likewise.
19229 * commands/probe.c (options): Likewise.
19230 * commands/read.c (GRUB_MOD_INIT): Likewise.
19231 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
19232 * commands/search.c (options): Likewise.
19233 * commands/sleep.c (options): Likewise.
19234 * commands/test.c (GRUB_MOD_INIT): Likewise.
19235 * commands/true.c (GRUB_MOD_INIT): Likewise.
19236 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
19237 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
19238 * lib/arg.c (help_options): Likewise.
e9bbb4e7 19239 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
19240 `$(XGETTEXT)'.
98a50553 19241 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 19242
0ad46fd7 192432009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 19244
ef3c2c3a 19245 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
19246 instead of specifying them explicit.
19247
7922f68b
RM
192482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19249
19250 * NEWS: Add grub-probe support for GNU/Hurd.
19251
537ce47f
RM
192522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19253
19254 * NEWS: gettext was added after 1.97.
19255
9b214e3a
RM
192562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19257
19258 * util/mkisofs/msdos_partition.h: New file (based on
19259 include/grub/msdos_partition.h).
19260 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
19261 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
19262 (ld_options, main): Recognize --protective-msdos-label.
19263 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
19264 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
19265 (padblock_write): If `use_protective_msdos_label' is set, patch a
19266 protective DOS-style label in the output image.
19267
19268 * util/grub-mkrescue.in: Use --protective-msdos-label.
19269
e9309813
RM
192702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19271
19272 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
19273 boot.
19274
0ae56929
RM
192752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19276
19277 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
19278 variables.
19279 (ld_options, main): Recognize `--embedded-boot'.
19280 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
19281 declarations.
19282 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
19283 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
19284 (padblock_write): Likewise. Rewrite to support embedded boot image.
19285
19286 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
19287 for BIOS-based disk boot instead of only ElTorito.
19288
b15937b1
RM
192892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19290
19291 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
19292 build (not needed for bootstrap).
19293
52cc3ce0
RM
192942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19295
19296 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
19297 from i386-pc build (not needed for bootstrap).
19298 Rewrite a pair of strings.
19299
36f5ff04
RM
193002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19301
19302 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
19303
973c6c85 193042009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
19305
19306 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
19307
05d21547
AB
193082009-12-21 Andreas Born <futur.andy@googlemail.com>
19309
19310 * kern/env.c (grub_env_context_open): Mark exported variable for
19311 reexport.
19312
0175d51f
AB
193132009-12-21 Andreas Born <futur.andy@googlemail.com>
19314
19315 * kern/env.c (grub_env_export): Create nonexistent variables before
19316 exporting.
19317
7f39d92f 193182009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 19319
7f39d92f 19320 * include/grub/auth.h: Include `<grub/i18n.h>'.
19321 (GRUB_GET_PASSWORD): Gettextizze string.
19322 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
19323 menu_text.c.
19324 (grub_utf8_to_ucs4_alloc): Fix indentation.
19325 (grub_print_ucs4): Likewise.
19326 (grub_getstringwidth): Likewise.
19327 (print_message_indented): New declaration.
19328 * normal/auth.c: Include `<grub/i18n.h>'.
19329 (grub_auth_check_authentication): Gettexttize string.
19330 * normal/cmdline.c: Include `<grub/i18n.h>'.
19331 (grub_cmdline_get): Gettextizze.
19332 * normal/color.c: Include `<grub/i18n.h>'.
19333 (grub_parse_color_name_pair): Gettexttize strings.
19334 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
19335 string (use `print_message_indented').
19336 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
19337 `include/grub/normal.h'.
19338 (print_message_indented): Renamed to ...
19339 (grub_print_message_indented): ... this. Remove `static' qualifer (now
19340 used in normal/main.c).
19341 (print_message): Use `grub_print_message_indented' instead of
19342 `print_message_indented'.
19343 (print_timeout): Likewise.
19344 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
19345 (grub_normal_print_device_info): Gettexttize strings.
19346 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
19347
3041d898
VS
193482009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
19351 of arguments. Return number of tokens and not arguments. All users
19352 updated.
19353
de15bf8e
VS
193542009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
19357 non-MSDOS paritions.
19358
e0a6ca52
VS
193592009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19360
19361 * include/grub/types.h (UNUSED): Removed since it conflicts with
19362 NetBSD headers. All users changed to direct __attribute__ ((unused)).
19363 Reported by Grégoire Sutre.
19364
b99518d1 193652009-12-19 Carles Pina i Estany <carles@pina.cat>
19366
19367 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
19368 (grub_print_ucs4_alloc): Likewise.
19369 (grub_getstringwidth): Likewise.
19370 * normal/main.c (grub_normal_init_page): Gettextize version string.
19371 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
19372 (getstringwidth): Renamed to ...
19373 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
19374 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
19375 (grub_print_ucs4): Remove `static' qualifer (now used in
19376 normal/main.c).
19377 * po/POTFILES: Add normal/main.c.
19378
bfd5e52b 193792009-12-19 Carles Pina i Estany <carles@pina.cat>
19380
19381 * normal/menu_text.c (STANDARD_MARGIN): New macro.
19382 (print_message_indented): Add `margin_left' and `margin_right'
19383 parameters.
19384 (print_message): Update `print_message_indented' calls. Adds '\n' to the
19385 strings.
19386 (print_timeout): Use `print_message_indented' to print the message.
19387 Deletes `second_stage' parameter.
19388 (run_menu): Update `print_timeout' calls.
19389
5a1ad2b9
VS
193902009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19391
19392 Fix console palette on OpenFirmware.
19393
19394 * term/ieee1275/ofconsole.c (MAX): Removed.
19395 (colors): Redone based on VGA palette.
19396 (grub_ofconsole_setcolor): Discard brightness bit since only 8
19397 colors are supported.
19398 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
19399
b045f00a
VS
194002009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19401
19402 Fix potential EfiEmu double prepare.
19403
19404 * efiemu/main.c (prepared): New variable
19405 (grub_efiemu_unload): Set prepare to '0'.
19406 (grub_efiemu_prepare): Return if already prepared. Set prepared.
19407
19408 set_virtual_address_map support.
19409
19410 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
19411 prototype.
19412 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
19413 prototype.
19414 (grub_efiemu_crc32): Likewise.
19415 (grub_efiemu_crc64): Likewise.
19416 (grub_efiemu_set_virtual_address_map): Likewise.
19417 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
19418 New definition.
19419 (grub_autoefi_set_virtual_address_map): Likewise.
19420 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
19421 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
19422 Restructure flow to accomodate it.
19423 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
19424 (grub_efiemu_crc): Recompute CRC32.
19425 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
19426 (efiemu_ptv_relocated): ... this. Made global. All users updated.
19427 * efiemu/symbols.c (relocated_handle): New variable.
19428 (grub_efiemu_free_syms): Free relocated_handle.
19429 (grub_efiemu_alloc_syms): Allocate relocated_handle.
19430 (grub_efiemu_write_sym_markers): New function.
19431 (grub_efiemu_set_virtual_address_map): Likewise.
19432
19433 Newer XNU parameters.
19434
19435 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
19436 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
19437 (grub_xnu_fill_devicetree): New prototype.
19438 (grub_xnu_heap_real_start): New variable.
19439 * loader/xnu.c (get_name_ptr): New function.
19440 (grub_xnu_load_driver): Fill namelen and name.
19441
19442 64-bit xnu support.
19443
19444 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
19445 and 'loader/macho64.c'.
19446 * conf/i386-pc.rmk: Likewise.
19447 * conf/x86_64-efi.rmk: Likewise.
19448 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
19449 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
19450 * include/grub/macho.h (grub_macho_segment64): New structure.
19451 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
19452 (grub_macho_size32): ... to this.
19453 (grub_macho32_get_entry_point): Renamed from ...
19454 (grub_macho_get_entry_point32): ... to this.
19455 (grub_macho_contains_macho64): New prototype.
19456 (grub_macho_size64): Likewise.
19457 (grub_macho_get_entry_point64): Likewise.
19458 (grub_macho32_load): Renamed from ...
19459 (grub_macho_load32): ... to this.
19460 (grub_macho32_filesize): Renamed from ...
19461 (grub_macho_filesize32): ... to this.
19462 (grub_macho32_readfile): Renamed from ...
19463 (grub_macho_readfile32): ... to this.
19464 (grub_macho_filesize64): New prototype.
19465 (grub_macho_readfile64): Likewise.
19466 (grub_macho_parse32): Likewise.
19467 (grub_macho_parse64): Likewise.
19468 * loader/macho.c: Split into ...
19469 * loader/machoXX.c: ... and this. Replace 32 with XX.
19470 * loader/macho32.c: New file.
19471 * loader/macho64.c: Likewise.
19472 * loader/xnu.c (grub_xnu_is_64bit): New variable.
19473 (grub_cmd_xnu_kernel): Make 32-bit only.
19474 (grub_cmd_xnu_kernel64): New function.
19475 (grub_xnu_load_driver): Support Mach-O 64.
19476 (grub_cmd_xnu_mkext): Likewise.
19477 * util/grub.d/30_os-prober.in (osx_entry): New function.
19478 Generate entries for 64-bit boot too.
19479
19480 Eliminate ad-hoc tree format in XNU and EfiEmu.
19481
19482 * efiemu/main.c (grub_efiemu_prepare): Update comment.
19483 * efiemu/pnvram.c: Rewritten to use environment variables.
19484 All users updated.
19485
19486 Inline utf16_to_utf8.
19487
19488 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
19489 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
19490 All users updated.
19491 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
19492
19493 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
19494 * commands/usbtest.c (grub_usb_get_string): ... move here.
19495 (usb_print_str): Fix error handling.
19496 * include/grub/usb.h (grub_usb_get_string): Remove.
19497
19498 UTF-8 to UTF-16 transformation.
19499
19500 * conf/common.rmk (pkglib_MODULES): Add charset.mod
19501 (charset_mod_SOURCES): New variable.
19502 (charset_mod_CFLAGS): Likewise.
19503 (charset_mod_LDFLAGS): Likewise.
19504 * include/grub/utf.h: New file.
19505 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
19506
19507 Support for device properties.
19508
19509 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
19510 (grub_xnu_devprop_device_header): Likewise.
19511 (grub_xnu_devprop_device_descriptor): Likewise.
19512 (grub_xnu_devprop_add_device): New prototype.
19513 (grub_xnu_devprop_remove_device): Likewise.
19514 (grub_xnu_devprop_remove_property): Likewise.
19515 (grub_xnu_devprop_add_property_utf8): Likewise.
19516 (grub_xnu_devprop_add_property_utf16): Likewise.
19517 (grub_cpu_xnu_init): Likewise.
19518 (grub_cpu_xnu_fini): Likewise.
19519 (grub_cpu_xnu_unload): Likewise.
19520 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
19521 (property_descriptor): Likewise.
19522 (devices): New variable.
19523 (grub_xnu_devprop_remove_property): New function.
19524 (grub_xnu_devprop_add_device): Likewise.
19525 (grub_xnu_devprop_remove_device): Likewise.
19526 (grub_xnu_devprop_add_property): Likewise.
19527 (grub_xnu_devprop_add_property_utf8): Likewise.
19528 (grub_xnu_devprop_add_property_utf16): Likewise.
19529 (hextoval): Likewise.
19530 (grub_cpu_xnu_fill_devprop): Likewise.
19531 (grub_cmd_devprop_load): Likewise.
19532 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
19533 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
19534 (cmd_devprop_load): New variable.
19535 (grub_cpu_xnu_init): New function.
19536 (grub_cpu_xnu_fini): Likewise.
19537 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
19538 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
19539 (grub_cmd_xnu_devtree): Likewise.
19540 (hextoval): New function.
19541 (unescape): Likewise.
19542 (grub_xnu_fill_devicetree): Likewise.
19543
19544 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
19545 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
19546
0945f181
VS
195472009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19548
19549 Workaround for broken ATI VBE.
19550
19551 * video/i386/pc/vbe.c (last_set_mode): New variable.
19552 (grub_vbe_set_video_mode): Set 'last_set_mode'.
19553 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
19554 (grub_video_vbe_setup): Don't check for reserved flag.
19555
0ad46fd7 195562009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
19557
19558 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
19559 the `find' command.
19560
c179ebe4
VS
195612009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
19562
19563 UUID support for HFS.
19564
19565 * fs/hfs.c (grub_hfs_uuid): New function.
19566 (grub_hfs_fs): New value .uuid.
19567 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
19568
0ad46fd7 195692009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
19570
19571 Fix a segfault with parsing unknown long options.
19572
19573 * util/grub-mkrelpath.c (options): Zero terminate it.
19574
c4a3e41a
CPE
195752009-12-13 Carles Pina i Estany <carles@pina.cat>
19576
19577 * include/grub/misc.h (grub_puts): New declaration.
19578 (grub_puts_): Likewise.
a22008a6 19579 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
19580 (grub_puts_): Likewise.
19581
2e8a7602
RM
195822009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19583
19584 * util/grub-probe.c (probe): Improve error message.
19585
b50b77b9
RM
195862009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19587
19588 * loader/i386/multiboot_elfxx.c
19589 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
19590 initialization.
19591
195922009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19593
19594 Relocator framework
19595
19596 * loader/i386/xnu_helper.S: Removed. All users updated.
19597 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
19598 (relocator_mod_SOURCES): New variable.
19599 (relocator_mod_CFLAGS): Likewise.
19600 (relocator_mod_LDFLAGS): Likewise.
19601 (relocator_mod_ASFLAGS): Likewise.
19602 * conf/x86_64.rmk: Likewise.
19603 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
19604 (grub_multiboot_payload_entry_offset): Likewise.
19605 (grub_multiboot_forward_relocator): Likewise.
19606 (grub_multiboot_forward_relocator_end): Likewise.
19607 (grub_multiboot_backward_relocator): Likewise.
19608 (grub_multiboot_backward_relocator_end): Likewise.
19609 (grub_multiboot_payload_eip): New variable.
19610 (grub_multiboot_payload_orig): Likewise.
19611 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
19612 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
19613 * include/grub/i386/memory.h
19614 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
19615 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
19616 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
19617 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
19618 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
19619 * include/grub/i386/relocator.h: New file.
19620 * include/grub/x86_64/relocator.h: Likewise.
19621 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
19622 (XNU_RELOCATOR): New macro.
19623 (grub_xnu_launcher_start): Remove.
19624 (grub_xnu_launcher_end): Likewise.
19625 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
19626 (grub_xnu_heap_real_start): Remove.
19627 (grub_xnu_heap_start): Change to void *. All users updated.
19628 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
19629 * lib/i386/relocator.c: New file.
19630 * lib/i386/relocator_asm.S: Likewise.
19631 * lib/i386/relocator_backward.S: Likewise.
19632 * lib/mips/relocator.c: Likewise.
19633 * lib/mips/relocator_asm.S: Likewise.
19634 * lib/relocator.c: Likewise.
19635 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
19636 (entry): Removed.
19637 (playground): Likewise.
19638 (grub_multiboot_payload_orig): New variable.
19639 (grub_multiboot_payload_dest): Likewise.
19640 (grub_multiboot_payload_size): Likewise.
19641 (grub_multiboot_payload_eip): Likewise.
19642 (grub_multiboot_payload_esp): Likewise.
19643 (grub_multiboot_boot): Use grub_relocator32_boot.
19644 (grub_multiboot_unload): Free relocators.
19645 (grub_multiboot): Setup stack. Use relocators.
19646 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
19647 (grub_multiboot_load_elfXX): Use relocators.
19648 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
19649 (grub_multiboot_payload_size): Likewise.
19650 (grub_multiboot_payload_dest): Likewise.
19651 (grub_multiboot_payload_entry_offset): Likewise.
19652 (grub_multiboot_forward_relocator): Likewise.
19653 (grub_multiboot_backward_relocator): Likewise.
19654 (grub_multiboot_real_boot): Likewise.
19655 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
19656 (grub_xnu_entry_point): Likewise.
19657 (grub_xnu_arg1): Likewise.
19658 (grub_xnu_stack): Likewise.
19659 (grub_xnu_launch): Removed.
19660 (grub_xnu_boot_resume): New function.
19661 (grub_xnu_boot): Use relocators.
19662 * loader/i386/xnu_helper.S: Removed.
19663 * loader/xnu.c (grub_xnu_heap_start): New variable.
19664 (grub_xnu_heap_size): Likewise.
19665 (grub_xnu_heap_malloc): Use relocators.
19666 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
19667
29eb90c6
VS
196682009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19669
19670 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
19671 anything.
19672
31027430
CPE
196732009-12-13 Carles Pina i Estany <carles@pina.cat>
19674
19675 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
19676 GRUB_ERR_NONE before calling grub_env_set.
19677
dc0c71d9
RM
196782009-12-12 Robert Millan <rmh@aybabtu.com>
19679
19680 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
19681 * genmk.rb (video): New variable.
19682 (CLEANFILES, VIDEOFILES): Add #{video}.
19683 (#{video}): New target rule.
19684 * genvideolist.sh: New file.
19685 * Makefile.in (pkglib_DATA): Add video.lst.
19686 (video.lst): New target rule.
19687 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
19688 `video.lst'.
19689 * util/grub.d/30_os-prober.in: Replace `vbe' with
19690 ${GRUB_VIDEO_BACKEND}.
19691
2a4bfcf0
RM
196922009-12-11 Robert Millan <rmh.grub@aybabtu.com>
19693
19694 * THANKS: Add David Miller.
19695
2a3aa4d5
RM
196962009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
19697
19698 libpciaccess support.
19699
19700 * Makefile.in (LIBPCIACCESS): New variable.
19701 (enable_grub_emu_pci): Likewise.
19702 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
19703 util/pci.c and commands/lspci.c.
19704 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
19705 * configure.ac (grub-emu-pci): New option.
19706 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
19707 (grub_pci_device_unmap_range): Likewise.
19708 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
19709 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
19710 (grub_pci_address_t) [!GRUB_UTIL]: New type.
19711 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
19712 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
19713 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
19714 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
19715 * include/grub/pciutils.h: New file.
19716 * util/pci.c: Likewise.
19717
0ad46fd7 197182009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
19719
19720 * util/misc.c: Don't include <errno.h> twice.
19721
0ad46fd7 197222009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
19723
19724 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
19725 name in an error message.
19726 (grub_biosdisk_rw): Likewise.
19727
2e59983c
VS
197282009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19729
19730 Eliminate NTFS 4Gib barrier.
19731
19732 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
19733 (read_run_data): Likewise.
19734 (grub_ntfs_read_run_list): Likewise.
19735 (grub_ntfs_read_block): Likewise.
19736 (grub_ntfs_iterate_dir): Likewise.
19737 (read_mft): Likewise.
19738 (read_data): Likewise.
19739 Use COM_LOG_LEN.
19740 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
19741 to avoid 64-bit division
19742 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
19743 (grub_ntfs_rlst): Use grub_disk_addr_t.
19744
71ee178a
VS
197452009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19746
19747 Eliminate grub-fstest 4Gib barrier.
19748
19749 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
19750 (read_file): Fix error reporting.
19751
2520d4b8
VS
197522009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19753
19754 Eliminate hexdump 4Gib barrier.
19755
19756 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
19757 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
19758
e1f27065
VS
197592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19760
19761 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
19762 Fixes amarsh bug.
19763
1a0f7f45
RM
197642009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
19765
19766 Remove miscellaneous files in distclean target.
19767
19768 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
19769
c631d9fb
CW
197702009-12-09 Colin Watson <cjwatson@ubuntu.com>
19771
19772 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
19773 if they're already set. This resolves the conflict between my
19774 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
19775 fixing the --grub-probe option again.
19776 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
19777 change on 2009-10-06, so that we now once again source
19778 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19779
7c7b6106
RM
197802009-12-08 Robert Millan <rmh.grub@aybabtu.com>
19781
19782 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
19783 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
19784 `util/devicemap.c'.
19785
e3069ec1
CPE
197862009-12-08 Carles Pina i Estany <carles@pina.cat>
19787
19788 * include/grub/misc.h (grub_printf_): New declaration.
19789 * kern/misc.c (grub_printf_): New definition.
19790 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
19791 instead of `grub_printf' and `_'.
19792 * normal/menu_entry.c (store_completion): Likewise.
19793 (run): Likewise.
19794 (grub_menu_entry_run): Likewise.
19795 * normal/menu_text.c (grub_wait_after_message): Likewise.
19796 (notify_booting): Likewise.
19797 (notify_fallback): Likewise.
19798 (notify_execution_failure): Likewise.
19799
d6ceebf1
CW
198002009-12-07 Colin Watson <cjwatson@ubuntu.com>
19801
19802 * configure.ac: Check for vasprintf.
19803 * util/misc.c (asprintf): Move allocation from here ...
19804 (vasprintf): ... to here. New function.
19805 (xasprintf): New function.
19806 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19807 prototypes.
19808 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19809 * util/grub-mkfont.c (write_font): Likewise.
19810 * util/grub-probe.c (probe): Likewise.
19811 * util/hostdisk.c (make_device_name): Likewise.
19812
de6daa8b
DM
198132009-12-06 David S. Miller <davem@sunset.davemloft.net>
19814
19815 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19816 anything even prefixed with 'cdrom' as a cdrom.
19817
0ad46fd7 198182009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
19819
19820 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19821 mount points.
19822
98d3dc02
CPE
198232009-12-05 Carles Pina i Estany <carles@pina.cat>
19824
19825 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19826 grub_gettext_msg_list.
19827 (grub_gettext_gettranslation_from_position): Return const char *
19828 and not char *.
a2c1332b 19829 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
19830 returns from the list if existing there.
19831 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19832 (grub_gettext_delete_list): Delete the list.
19833 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19834 lang environment variable is changed.
19835 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19836
b283f108
VS
198372009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19838
19839 Rename kernel.mod to kernel.img.
19840
19841 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19842 (kernel_mod_EXPORTS): Rename to ...
19843 (kernel_img_EXPORTS): ... this.
19844 (kernel_mod_SOURCES): Rename to ...
19845 (kernel_img_SOURCES): ... this.
19846 (kernel_mod_HEADERS): Rename to ...
19847 (kernel_img_HEADERS): ... this. All users updated.
19848 (kernel_mod_CFLAGS): Rename to ...
19849 (kernel_img_CFLAGS): ... this.
19850 (kernel_mod_ASFLAGS): Rename to ...
19851 (kernel_img_ASFLAGS): ... this.
19852 (kernel_mod_LDFLAGS): Rename to ...
19853 (kernel_img_LDFLAGS): ... this.
19854 * conf/x86_64-efi.rmk: Likewise.
19855 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19856 (read_kernel_image): ... this. All users updated.
19857 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19858
69055f8a
CPE
198592009-12-05 Carles Pina i Estany <carles@pina.cat>
19860
19861 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19862 (print_spaces): New function.
19863 (grub_print_ucs4): New function.
19864 (getstringwidth): New function.
19865 (print_message_indented): New function.
19866 (print_message): Gettexttize strings using print_message_indented.
19867 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19868 width.
19869 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 19870 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
19871 Gettextize.
19872 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19873 string.
19874 (run): Likewise.
19875 (grub_menu_entry_run): Likewise.
19876 * PO/POTFILES: Add normal/menu_entry.c.
19877
f616f51c
VS
198782009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19881
57bbe3be
CPE
198822009-12-05 Carles Pina i Estany <carles@pina.cat>
19883
19884 * util/grub-install.in: Install gettext .mo files.
19885 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19886
013d67a1
CPE
198872009-12-05 Carles Pina i Estany <carles@pina.cat>
19888
19889 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19890 grub_dprintf.
19891
fb954db0
RM
198922009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19893
19894 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19895 non-firmware-dependant one in realmode.S takes precedence.
19896
6b8474f8
RM
198972009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19898
19899 * commands/halt.c: Replace misc arch-specific headers with
19900 `<grub/misc.h>'.
19901 * commands/reboot.c: Likewise.
19902 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19903 `<grub/misc.h>'.
19904 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19905 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19906 (kernel_img_SOURCES): ... to here.
19907
19908 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19909 * include/grub/i386/pc/init.h: Likewise.
19910 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19911 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19912
19913 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19914
19915 * include/grub/i386/halt.h: Remove.
19916 * include/grub/i386/reboot.h: Likewise.
19917
19918 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19919
4b2e6ca2
DM
199202009-12-03 David S. Miller <davem@sunset.davemloft.net>
19921
19922 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19923 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19924 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19925 "progname.h"
19926 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19927 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19928 (usage): Add missing comma in printf.
19929
5239348f
RM
199302009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19931
19932 Use the same reboot approach on i386 coreboot and qemu as we do on
19933 BIOS.
19934
19935 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19936 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19937 * kern/i386/reboot.c: Remove.
19938 * include/grub/i386/reboot.h (grub_reboot): Export function.
19939 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19940 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19941 0xf000:0xfff0 instead of 0xffff:0x0000.
19942 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19943 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19944
ef34cbd4
RM
199452009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19946
19947 Fix $srcdir != $objdir build.
19948
19949 * Makefile.in (po/%.po): Rewrite as ...
19950 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19951
dc9837ea
ST
199522009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19953
19954 Fix GNU/Hurd grub-install crash.
19955 * util/grub-probe.c (probe): Try to access `path' only when it is not
19956 NULL.
19957
2f857f98
VS
199582009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19959
19960 Correct module naming.
19961
19962 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19963 (GRUB_MOD_INIT(efi_uga)): ... to this
19964 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19965 (GRUB_MOD_FINI(efi_uga)): ... to this
19966 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19967 (GRUB_MOD_INIT(efi_gop)): ... to this
19968 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19969 (GRUB_MOD_FINI(efi_gop)): ... to this
19970
c5448046
RM
199712009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19972
19973 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19974 translatable.
19975 (usage): Translate `arg' strings using gettext().
19976 Thanks to Jordi Mallach for the suggestion.
19977
c85184ad
VS
199782009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19979
19980 GOP support. Based on patch from Bean
19981 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19982
19983 * video/efi_gop.c: New file.
19984 * include/grub/efi/graphics_output.h: Likewise.
19985 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19986 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19987 variables.
19988 * conf/x86_64-efi.rmk: Likewise.
19989
8a4c48d8
VS
199902009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19991
19992 Rename efi_fb to efi_uga.
19993
19994 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19995 'efi_uga.mod'.
19996 (efi_fb_mod_SOURCES): Rename this ...
19997 (efi_uga_mod_SOURCES): ... to this.
19998 (efi_fb_mod_CFLAGS): Rename this ...
19999 (efi_uga_mod_CFLAGS): ... to this.
20000 (efi_fb_mod_LDFLAGS): Rename this ...
20001 (efi_uga_mod_LDFLAGS): ... to this.
20002 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
20003 'efi_uga.mod'.
20004 (efi_fb_mod_SOURCES): Rename this ...
20005 (efi_uga_mod_SOURCES): ... to this.
20006 (efi_fb_mod_CFLAGS): Rename this ...
20007 (efi_uga_mod_CFLAGS): ... to this.
20008 (efi_fb_mod_LDFLAGS): Rename this ...
20009 (efi_uga_mod_LDFLAGS): ... to this.
20010 * video/efi_fb.c: Move this ...
20011 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
20012
fb6c1a7b
RM
200132009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20014
20015 * po/README: New file. Explain our PO file workflow.
20016
3bc7896c
RM
200172009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20018
20019 * po/ChangeLog: Remove. Move relevant entries back to ...
20020 * ChangeLog: ... here.
20021 * po/ca.po: Remove (now handled by TLP).
20022 * po/id.po: Likewise.
20023 * po/zh_CN.po: Likewise.
20024 * Makefile.in (LINGUAS): Initialize in a way that supports
20025 empty set.
20026
9ed4841d
RM
200272009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20028
20029 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
20030 reliing on po/LINGUAS.
20031 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
20032 (po/%.po): ... this.
20033
0ad46fd7 200342009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
20035
20036 * util/i386/efi/grub-mkimage.c: Include "progname.h".
20037 (main): Use `program_name' instead of nonexistent `progname'.
20038
e30dd392
FZ
200392009-11-26 Felix Zielcke <fzielcke@z-51.de>
20040
20041 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20042 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
20043
7656de4f
RM
200442009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20045
20046 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
20047 commit.
20048 * conf/i386-efi.rmk: Likewise.
20049 * conf/i386-ieee1275.rmk: Likewise.
20050 * conf/powerpc-ieee1275.rmk: Likewise.
20051 * conf/sparc64-ieee1275.rmk: Likewise.
20052 * conf/x86_64-efi.rmk: Likewise.
20053
db77c4d4
FZ
200542009-11-26 Felix Zielcke <fzielcke@z-51.de>
20055
20056 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
20057
a755bb04
FZ
200582009-11-26 Felix Zielcke <fzielcke@z-51.de>
20059
20060 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
20061
8a4c07fd
RM
200622009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20063
20064 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
20065 (grub_mkdevicemap_SOURCES): New variable.
20066 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
20067 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
20068 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
20069 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
20070 (grub_mkdevicemap_SOURCES): Remove.
20071 * conf/i386-efi.rmk: Likewise.
20072 * conf/i386-ieee1275.rmk: Likewise.
20073 * conf/i386-pc.rmk: Likewise.
20074 * conf/powerpc-ieee1275.rmk: Likewise.
20075 * conf/sparc64-ieee1275.rmk: Likewise.
20076 * conf/x86_64-efi.rmk: Likewise.
20077 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
20078 (usage): Fix strings to use `program_name'.
20079 (main): Initialize gettext.
20080 * util/grub-editenv.c: Likewise.
20081 * util/grub-emu.c: Likewise.
20082 * util/grub-fstest.c: Likewise.
20083 * util/grub-mkdevicemap.c: Likewise.
20084 * util/grub-mkfont.c: Likewise.
20085 * util/grub-mkrelpath.c: Likewise.
20086 * util/grub-pe2elf.c: Likewise.
20087 * util/grub-probe.c: Likewise.
20088 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20089 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20090 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20091
20092 * util/misc.c: Include `"progname.h"'.
20093 (progname): Remove variable.
20094 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
20095
6f61ed55
FZ
200962009-11-25 Felix Zielcke <fzielcke@z-51.de>
20097
20098 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
20099 printf and print a newline after the menuentry header line.
20100 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20101
f022876b
FZ
201022009-11-25 Felix Zielcke <fzielcke@z-51.de>
20103
20104 autoconf >= 2.60 support $(localedir).
20105
20106 * INSTALL: Note that autoconf 2.60 is required.
20107 * configure.ac (AC_PREREQ): Bump to 2.60.
20108 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
20109 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20110
6717926e
YB
201112009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
20112
20113 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
20114 aclocal is run.
20115
08806a54
RM
201162009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20117
20118 * normal/main.c (grub_normal_read_line): Fix off-by-one
20119 buffer overflow.
20120
13b33fba
RM
201212009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20122
20123 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
20124 "parser.grub" in grub_command_execute() call.
20125
4a8572e9
CPE
201262009-11-24 Carles Pina i Estany <carles@pina.cat>
20127
20128 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
20129 * conf/i386-efi.rmk: Likewise.
20130 * conf/i386-ieee1275.rmk: Likewise.
20131 * conf/i386-pc.rmk: Likewise.
20132 * conf/powerpc-ieee1275.rmk: Likewise.
20133 * conf/sparc64-ieee1275.rmk: Likewise.
20134 * conf/x86_64-efi.rmk: Likewise.
20135 * gettext/gettex.c: Include <grub/i18n.h>.
20136 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
20137 here ...
20138 * include/grub/i18n.h: ... to here
20139 * include/grub/i18n.h: ... to here.
20140 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 20141 (grub_gettext_dummy): Move above user.
4a8572e9 20142
bee48093
FZ
201432009-11-24 Felix Zielcke <fzielcke@z-51.de>
20144
20145 * util/Makefile.in (install-local): Convert a `for' into a normal
20146 shell expansion.
20147
a031e91c
RM
201482009-11-24 Robert Millan <rmh.grub@aybabtu.com>
20149
20150 * autogen.sh: Add automake call.
20151 * config.guess: Remove.
20152 * config.sub: Likewise.
20153 * install-sh: Likewise.
20154
26bec39d
FZ
201552009-11-24 Felix Zielcke <fzielcke@z-51.de>
20156
20157 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
20158
8e2532fd
FZ
201592009-11-24 Felix Zielcke <fzielcke@z-51.de>
20160
20161 * util/Makefile.in (install-local): Convert a make `$(foreach)'
20162 function to a normal shell `for'.
20163
fefa1b7d
FZ
201642009-11-24 Felix Zielcke <fzielcke@z-51.de>
20165
20166 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20167
4501250b
FZ
201682009-11-24 Felix Zielcke <fzielcke@z-51.de>
20169
20170 * util/grub-mkrelpath.c: New file.
20171 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
20172 (grub_mkrelpath_SOURCES): New variable.
20173 * include/grub/util/misc.h: New function prototype.
20174 * util/misc.c (make_system_path_relative_to_its_root): New function.
20175
20176 * util/grub-mkconfig_lib.in (bindir): New variable.
20177 (grub_mkrelpath): Likewise.
20178 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
20179
20180 * util/probe.c (probe): Make the file path relative to its root.
20181 Change a info message to use the GRUB path. Enable again the
20182 check if we can read the file with GRUB facilities.
20183
20184 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
20185 to its root.
20186
11d9778b
FZ
201872009-11-24 Felix Zielcke <fzielcke@z-51.de>
20188
20189 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
20190 platform.
20191
4465287d
FZ
201922009-11-24 Felix Zielcke <fzielcke@z-51.de>
20193
20194 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
20195 strncmp().
20196
62b47f22
FZ
201972009-11-24 Felix Zielcke <fzielcke@z-51.de>
20198
20199 * util/getroot.c (grub_util_is_dmraid): New function.
20200 (grub_util_get_dev_abstraction): Treat dmraid and multipath
20201 devices as normal ones, not as LVM.
20202
1eafb9b9 202032009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
20204
20205 * conf/common.rmk: Add grub-gettext_lib target and updates
20206 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
20207 LDFLAGS.
20208 * gettext/gettext.c: New file. (Reads mo files).
20209 * include/grub/file.h (grub_file_pread): New prototype.
20210 * include/grub/i18n.h (_): New prototype.
20211 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
20212 prototypes.
20213 * kern/misc.c (grub_gettext_dummy): New function.
20214 * normal/menu_text.c: Include <grub/i18n.h>.
20215 * normal/menu_text.c (print_timeout): Gettexttize string.
20216 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
20217 * po/POTFILES: Add `normal/menu_text.c'.
20218 * po/ca.po: Add new translations.
c3ea6bd4
CPE
20219 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
20220 gettext module and defines locale_dir and lang in grub.cfg.
20221 * NEWS: Add gettext support.
20222
0fdb2568
RM
202232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20224
20225 * util/hostdisk.c: Include `<grub/i18n.h>'.
20226 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
20227 (make_device_name): Rewrite using asprintf.
20228 (convert_system_partition_to_system_disk): Replace 0 with NULL.
20229 (find_system_device): If a device is not found, generate one just
20230 by reusing the OS path name.
20231 (read_device_map): Make it permissible for device.map not to exist.
20232
f515aa62
RM
202332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20234
20235 * script/sh/execute.c: Move from here ...
20236 * script/execute.c: ... to here. Update all users.
20237 * script/sh/function.c: Move from here ...
20238 * script/function.c: ... to here. Update all users.
20239 * script/sh/lexer.c: Move from here ...
20240 * script/lexer.c: ... to here. Update all users.
20241 * script/sh/main.c: Move from here ...
20242 * script/main.c: ... to here. Update all users.
20243 * script/sh/parser.y: Move from here ...
20244 * script/parser.y: ... to here. Update all users.
20245 * script/sh/script.c: Move from here ...
20246 * script/script.c: ... to here. Update all users.
20247
f84b481b
RM
202482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20249
20250 * configure.ac: Detect all `emu' platforms. Define
20251 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
20252 --enable-grub-emu logic. Disable include/grub/machine
20253 symlink on `emu' platforms.
20254
20255 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
20256 * gensymlist.sh.in: Likewise.
20257
20258 * include/grub/i386/coreboot/machine.h: Remove file.
20259 * include/grub/i386/efi/machine.h: Likewise.
20260 * include/grub/i386/ieee1275/machine.h: Likewise.
20261 * include/grub/i386/pc/machine.h: Likewise.
20262 * include/grub/i386/qemu/machine.h: Likewise.
20263 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20264 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20265 * include/grub/x86_64/efi/machine.h: Likewise.
20266
20267 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
20268 * commands/halt.c: Likewise.
20269 * commands/reboot.c: Likewise.
20270 * include/grub/autoefi.h: Likewise.
20271 * include/grub/i386/at_keyboard.h: Likewise.
20272 * include/grub/i386/kernel.h: Likewise.
20273 * include/grub/i386/loader.h: Likewise.
20274 * include/grub/i386/pc/memory.h: Likewise.
20275 * kern/dl.c: Likewise.
20276 * kern/i386/coreboot/init.c: Likewise.
20277 * loader/i386/bsd.c: Likewise.
20278 * loader/i386/linux.c: Likewise.
20279 * loader/multiboot_loader.c: Likewise.
20280 * term/i386/pc/serial.c: Likewise.
20281 * term/usb_keyboard.c: Likewise.
20282
20283 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
20284 `<grub/machine/machine.h>'
20285 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
20286 * util/misc.c: Remove `<grub/machine/machine.h>' and
20287 `<grub/machine/time.h>'.
20288
20289 * Makefile.in (enable_grub_emu): Remove variable.
20290 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
20291
20292 * conf/any-emu.rmk: New file.
20293 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
20294 (grub_emu_init.c): Move from here ...
20295 * conf/any-emu.rmk: ... to here.
20296
20297 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
20298 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
20299 * conf/any-emu.rmk: ... to here.
20300
4efeab03
RM
203012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20302
20303 * include/grub/parser.h (grub_parser_register): Document need
20304 of `name' parameter.
20305 * normal/main.c (grub_normal_read_line): Simplify prompt string.
20306 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
20307 "sh" to "grub".
20308
ea1dd8bf
RM
203092009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20310
20311 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
20312 `$(XGETTEXT)'.
20313 * include/grub/i18n.h (N_): New macro.
20314 * util/mkisofs/mkisofs.h: Likewise.
20315 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
20316 around N_().
20317 (usage): Use gettext() to translate help strings when printing them.
20318
0c140626
RM
203192009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20320
20321 Based on patch from Bean
20322 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
20323
20324 * video/efi_fb.c: New file.
20325 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
20326 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
20327 variables.
20328 * conf/x86_64-efi.rmk: Likewise.
20329
87d58298
RM
203302009-11-22 Robert Millan <rmh.grub@aybabtu.com>
20331
20332 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
20333 * util/i386/pc/grub-setup.c: Likewise.
20334
994cc3a3
ST
203352009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20336
20337 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
20338 <hurd/fs.h>
20339 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
20340 file_get_storage_info to implement grub_guess_root_device.
20341
26a61d6a
FZ
203422009-11-21 Felix Zielcke <fzielcke@z-51.de>
20343
20344 * Makefile.in (target): Use make's builtin $(shell) function
20345 instead of calling directly $(SHELL) to create the locale directories,
20346 inside the $(foreach) function.
20347
74ff1dd5
FZ
203482009-11-21 Felix Zielcke <fzielcke@z-51.de>
20349
20350 * util/grub-mkrescue.in: Print an error and usage if output option
20351 has not been given.
20352
0b787d0e
FZ
203532009-11-21 Felix Zielcke <fzielcke@z-51.de>
20354
20355 Patch from Loïc Minier <loic.minier@ubuntu.com>.
20356 * util/grub.d/30_os-prober.in: Cope with Linux entries where
20357 root and /boot are on different devices.
20358
1164b270
RM
203592009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20360
20361 Fix build for srcdir != objdir.
20362
20363 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
20364 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
20365 $(srcdir).
20366 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
20367 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
20368 reference for input.
20369
13774a2f
RM
203702009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20371
20372 * util/grub-mkrescue.in: Use source directory direcly (without copiing
20373 or hardlinking it). Remove -J option, Joliet is not compatible with
20374 multiple source directories.
20375
efda854e
RM
203762009-11-21 Carles Pina i Estany <carles@pina.cat>
203772009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20378
20379 * util/grub-mkrescue.in: Recognize `--override-directory' option.
20380 (process_input_dir): New function. Process an arbitrary input
20381 directory.
20382 Misc adjustments to support both "override mode" and system-wide mode.
20383
6c09890c
FZ
203842009-11-20 Felix Zielcke <fzielcke@z-51.de>
20385
20386 * configure.ac (UNIFONT_BDF): Rename to ...
20387 (FONT_SOURCE): ... this. Update all users.
20388
a797824f
FZ
203892009-11-20 Felix Zielcke <fzielcke@z-51.de>
20390
20391 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
20392 to the list of unifont files to look for.
20393
cd4f42b0
RM
203942009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20395
20396 Patch from Joe Auricchio <jauricchio@gmail.com>
20397 * commands/minicmd.c (grub_mini_cmd_clear): New function.
20398 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
20399 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
20400
393c783d
FZ
204012009-11-19 Felix Zielcke <fzielcke@z-51.de>
20402
20403 * Makefile.in (install-local): Add a missing backslash.
20404
b2f1e327
FZ
204052009-11-19 Felix Zielcke <fzielcke@z-51.de>
20406
20407 * include/grub/x86_64/io.h: New file.
20408
f577f7a0
RM
204092009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20410
20411 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
20412 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
20413 Include `"progname.h"'.
20414 (main): Initialize gettext.
20415 * util/i386/pc/grub-setup.c: Gettexttize.
20416 * util/i386/pc/grub-mkimage.c: Likewise.
20417
20418 * Makefile.in (po/*.po): Redefine as ...
20419 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
20420
3bc7896c
RM
20421 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
20422
c37943b6
RM
204232009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20424
20425 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
20426 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
20427 (program_name): Remove.
20428 (main): Initialize gettext support.
6323f705
RM
20429 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
20430 Include `<libintl.h>'.
20431 (_): New macro.
c37943b6
RM
20432
20433 * util/mkisofs/eltorito.c: Gettexttize.
20434 * util/mkisofs/joliet.c: Likewise.
20435 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
20436 * util/mkisofs/multi.c: Likewise.
20437 * util/mkisofs/rock.c: Likewise.
20438 * util/mkisofs/tree.c: Likewise.
20439 * util/mkisofs/write.c: Likewise.
20440
3bc7896c
RM
20441 * po/POTFILES: Update with new files.
20442
5ce77c6e
RM
204432009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20444
20445 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
20446 * util/mkisofs/iso9660.h: Likewise.
20447 * util/mkisofs/joliet.c: Likewise.
20448 * util/mkisofs/mkisofs.c: Likewise.
20449 * util/mkisofs/mkisofs.h: Likewise.
20450 * util/mkisofs/rock.c: Likewise.
20451 * util/mkisofs/tree.c: Likewise.
20452 * util/mkisofs/write.c: Likewise.
20453
20454 * util/mkisofs/eltorito.c (rcsid): Remove.
20455 * util/mkisofs/hash.c: Likewise.
20456 * util/mkisofs/joliet.c: Likewise.
20457 * util/mkisofs/name.c: Likewise.
20458 * util/mkisofs/rock.c: Likewise.
20459 * util/mkisofs/tree.c: Likewise.
20460 * util/mkisofs/write.c: Likewise.
20461
1dabbc77
RM
204622009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20463
20464 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
20465 instead of static allocation.
20466 * util/mkisofs/match.h: Likewise.
20467
633877cb
RM
204682009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20469
3bc7896c
RM
20470 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
20471 and `util/grub.d/10_linux.in'.
633877cb
RM
20472 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
20473 translatable Shell files.
20474
af1c0c85
RM
204752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20476
20477 * Makefile.in ($(srcdir)/aclocal.m4): New target.
20478
769ae37b
RM
204792009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20480
20481 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 20482 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
20483 * util/grub.d/10_kfreebsd.in (bindir): New variable.
20484 Add gettext initialization.
20485 (kfreebsd_entry): Make menuentry output translatable.
20486
204872009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20488
20489 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
20490 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
20491 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
20492 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
20493 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 20494 * po/LINGUAS: New file.
769ae37b
RM
20495
204962009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20497
20498 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
20499 other things).
20500 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
20501 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
20502 bindtextdomain() calls for gettext initialization.
20503
205042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20505
20506 * gnulib/progname.c: New file (imported from Gnulib).
20507 * gnulib/progname.h: Likewise.
20508 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20509 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
20510 (usage): Replace `progname' with `program_name'.
20511 (main): Use set_program_name() for program name initialization.
20512
205132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20514
20515 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
20516 from here ...
20517 * Makefile.in (CPPFLAGS): ... to here.
20518
205192009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20520
20521 * aclocal.m4: Move from here ...
20522 * acinclude.m4: ... to here.
20523 * autogen.sh: Add call to `aclocal'.
20524 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
20525
205262009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20527
20528 * Makefile.in (CLEANFILES): Add `po/*.mo'.
20529 (LINGUAS): New variable.
20530 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
20531 (install-local): Install MO files.
20532 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
20533 * include/grub/i18n.h: New file.
3bc7896c
RM
20534 * po/POTFILES: New file.
20535 * po/ca.po: New file.
769ae37b
RM
20536 * util/grub.d/10_linux.in (bindir): New variable.
20537 Add gettext initialization.
20538 (linux_entry): Make menuentry output translatable.
20539 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
20540 (usage): Make --help output translatable.
20541 (main): Initialize gettext.
20542
02c0a6ad
RM
205432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20544
20545 * import_gcry.py: New file (written by Vladimir with minor
20546 adjustments).
20547 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
20548 ciphers.
20549 * INSTALL: Document that Python is required for bootstrap.
20550
205512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20552
20553 Import ciphers from libgcrypt 1.4.4.
20554
20555 * lib/libgcrypt/cipher/ChangeLog
20556 * lib/libgcrypt/cipher/ac.c
20557 * lib/libgcrypt/cipher/arcfour.c
20558 * lib/libgcrypt/cipher/bithelp.h
20559 * lib/libgcrypt/cipher/blowfish.c
20560 * lib/libgcrypt/cipher/camellia-glue.c
20561 * lib/libgcrypt/cipher/camellia.c
20562 * lib/libgcrypt/cipher/camellia.h
20563 * lib/libgcrypt/cipher/cast5.c
20564 * lib/libgcrypt/cipher/cipher.c
20565 * lib/libgcrypt/cipher/crc.c
20566 * lib/libgcrypt/cipher/des.c
20567 * lib/libgcrypt/cipher/dsa.c
20568 * lib/libgcrypt/cipher/ecc.c
20569 * lib/libgcrypt/cipher/elgamal.c
20570 * lib/libgcrypt/cipher/hash-common.c
20571 * lib/libgcrypt/cipher/hash-common.h
20572 * lib/libgcrypt/cipher/hmac-tests.c
20573 * lib/libgcrypt/cipher/md.c
20574 * lib/libgcrypt/cipher/md4.c
20575 * lib/libgcrypt/cipher/md5.c
20576 * lib/libgcrypt/cipher/primegen.c
20577 * lib/libgcrypt/cipher/pubkey.c
20578 * lib/libgcrypt/cipher/rfc2268.c
20579 * lib/libgcrypt/cipher/rijndael-tables.h
20580 * lib/libgcrypt/cipher/rijndael.c
20581 * lib/libgcrypt/cipher/rmd.h
20582 * lib/libgcrypt/cipher/rmd160.c
20583 * lib/libgcrypt/cipher/rsa.c
20584 * lib/libgcrypt/cipher/seed.c
20585 * lib/libgcrypt/cipher/serpent.c
20586 * lib/libgcrypt/cipher/sha1.c
20587 * lib/libgcrypt/cipher/sha256.c
20588 * lib/libgcrypt/cipher/sha512.c
20589 * lib/libgcrypt/cipher/tiger.c
20590 * lib/libgcrypt/cipher/twofish.c
20591 * lib/libgcrypt/cipher/whirlpool.c
20592
af2f93ac
RM
205932009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20594
20595 Fix build for systems without error().
20596
20597 * gnulib/error.c: New file (imported from Gnulib).
20598 * gnulib/error.h: Likewise.
20599 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
20600 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
20601 (this variable is now used by error()).
20602
73fb3dd5
FZ
206032009-11-16 Felix Zielcke <fzielcke@z-51.de>
20604
814f5e96
FZ
20605 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
20606 instead of relying that char is signed.
73fb3dd5 20607
a691ca33
VS
206082009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
20611 blocksize different from specified.
20612 (grub_pxefs_read): Likewise.
20613
2af8f0f4
FZ
206142009-11-16 Felix Zielcke <fzielcke@z-51.de>
20615
20616 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
20617
20618 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
20619 (grub_ata_readwrite): Likewise. Update 2 format strings.
20620 (grub_atapi_read): Likewise.
20621
20622 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
20623 * conf/i386.rmk (pkglib_MODULES): ... to here ...
20624 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
20625 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
20626 (ata_mod_LDFLAGS): Move from here ...
20627 * conf/i386.rmk: ... to here ...
20628 * conf/x86_64-efi.rmk: ... and here.
20629 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
20630 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
20631
83bdecaf
RM
206322009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20633
20634 Relicense multiboot.h, with RMS' blessing.
20635
20636 * include/multiboot.h: Change to X11 license.
20637
fd6fd3d7
RM
206382009-11-15 Robert Millan <rmh.grub@aybabtu.com>
20639
20640 Support --version in grub-mkisofs.
20641
20642 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
20643 (OPTION_VERSION): New macro.
20644 (ld_options): Recognize --version.
20645 (usage): Move `program_name' from here ...
20646 (program_name): ... to here. Add `static' qualifier.
20647 (main): Recognize `OPTION_VERSION'.
20648
16a88c49
FZ
206492009-11-15 Felix Zielcke <fzielcke@z-51.de>
20650
20651 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
20652 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
20653
a4158476
RM
206542009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20655
20656 Fix help2man generation for mkisofs.
20657
20658 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
20659 (usage): Send output to stdout (rather than stderr).
20660
fc2208b0
RM
206612009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20662
20663 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
20664 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20665 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
20666 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20667 (bin_SCRIPTS): Add `grub-mkfloppy'.
20668 (grub_mkfloppy_SOURCES): New variable.
20669
20670 * util/grub-mkrescue.in: New file.
20671 * util/i386/pc/grub-mkfloppy.in: New file.
20672
20673 * util/i386/coreboot/grub-mkrescue.in: Remove.
20674 * util/i386/pc/grub-mkrescue.in: Remove.
20675
8d0edf4a
RM
206762009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20677
20678 * include/grub/multiboot.h (struct grub_multiboot_header): Move
20679 from here ...
20680 * include/multiboot.h (struct multiboot_header): ... to here. Update
20681 all users.
20682 * include/grub/multiboot.h (struct grub_multiboot_info): Move
20683 from here ...
20684 * include/multiboot.h (struct multiboot_info): ... to here. Update
20685 all users.
20686 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
20687 from here ...
20688 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
20689 Update all users.
20690 * include/grub/multiboot.h (struct grub_mod_list): Move
20691 from here ...
20692 * include/multiboot.h (struct multiboot_mod_list): ... to here.
20693 Update all users.
20694
a73f5969
RM
206952009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20696
20697 * include/multiboot2.h (multiboot_word): Rename from this ...
20698 (multiboot2_word): ... to this. Update all users.
20699 (multiboot_header): Rename from this ...
20700 (multiboot2_header): ... to this. Update all users.
20701 (multiboot_tag_header): Rename from this ...
20702 (multiboot2_tag_header): ... to this. Update all users.
20703 (multiboot_tag_start): Rename from this ...
20704 (multiboot2_tag_start): ... to this. Update all users.
20705 (multiboot_tag_name): Rename from this ...
20706 (multiboot2_tag_name): ... to this. Update all users.
20707 (multiboot_tag_module): Rename from this ...
20708 (multiboot2_tag_module): ... to this. Update all users.
20709 (multiboot_tag_memory): Rename from this ...
20710 (multiboot2_tag_memory): ... to this. Update all users.
20711 (multiboot_tag_unused): Rename from this ...
20712 (multiboot2_tag_unused): ... to this. Update all users.
20713 (multiboot_tag_end): Rename from this ...
20714 (multiboot2_tag_end): ... to this. Update all users.
20715
1c8927f0
RM
207162009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20717
20718 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
20719 this platform we should support Multiboot1 first.
20720
20721 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20722 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
20723 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
20724
6e1e0d89
RM
207252009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20726
20727 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
20728 of write calls (converting them to fwrite() if they aren't already).
20729 (get_torito_desc): Likewise.
20730 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
20731
7f2b34d8
RM
207322009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20733
20734 * util/i386/pc/grub-install.in: Move from here ...
20735 * util/grub-install.in: ... to here. Update all users.
20736
c0ef3311
CW
207372009-11-11 Colin Watson <cjwatson@ubuntu.com>
20738
20739 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
20740
e1f240ff
RM
207412009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20742
20743 Support for El Torito without floppy emulation.
20744
20745 * util/mkisofs/eltorito.c: Include `<errno.h>'.
20746 (init_boot_catalog): Improve error handling.
20747 (get_torito_desc): Don't use floppy emulation unless requested by
20748 user. Patch boot information table when requested via
20749 `-boot-info-table'.
20750 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
20751 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
20752 (use_boot_info_table): New variables.
20753 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
20754 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
20755 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
20756 `--eltorito-emul-floppy'.
20757 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
20758 and `OPTION_ELTORITO_EMUL_FLOPPY'.
20759 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
20760 (use_boot_info_table, get_731): New prototypes.
20761 * util/mkisofs/write.c (get_731): New function.
20762
af7d4de5
FZ
207632009-11-11 Felix Zielcke <fzielcke@z-51.de>
20764
20765 Fix the generation of the man page.
20766
20767 * util/pc/i386/grub-install.in: Source
20768 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20769
2c55dbc0
RM
207702009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20771
20772 Large file support for grub-mkisofs.
20773
20774 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
20775 * util/mkisofs/mkisofs.c (next_extent, last_extent)
20776 (session_start): Upgrade type to `uint64_t'. Update all users.
20777 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
20778 (struct directory_entry): Upgrade type of `starting_block' and
20779 `size' to `uint64_t'. Update all users.
20780 (struct deferred): Remove unused structure.
20781 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
20782 Update all users.
20783 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
20784 file is larger than `UINT32_MAX'.
20785 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
20786 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
20787 return value.
20788 (struct deferred_write): Upgrade type of `extent' and `size' to
20789 `uint64_t'. Update all users.
20790 (last_extent_written): Upgrade type to `uint64_t'. Update all
20791 users.
20792 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20793 Update all users. Upgrade type of `remain' to `int64_t' and
20794 `use' to `size_t'. Use error() to handle fread() errors.
20795 (write_files): Rely on write_one_file() rather than calling
20796 xfwrite() directly.
20797
6a9cead5
FZ
207982009-11-09 Felix Zielcke <fzielcke@z-51.de>
20799
20800 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20801
4825d790
RM
208022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20803
20804 * util/mkisofs/fnmatch.c: Remove.
20805 * util/mkisofs/getopt1.c: Likewise.
20806 * util/mkisofs/getopt.c: Likewise.
20807 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20808 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20809 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20810 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20811 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20812
20813 * configure.ac: Detect `mingw32msvc' host_os.
20814 Check for lstat(), getuid() and getgid().
20815
20816 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20817 instances of `u_char' with `uint8_t'.
20818
20819 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20820 [!HAVE_GETUID] (getuid): New function (stub).
20821 [!HAVE_GETGID] (getgid): Likewise.
20822 [!HAVE_LSTAT] (lstat): Likewise.
20823 [!S_IROTH] (S_IROTH): New macro (dummy).
20824 [!S_IRGRP] (S_IRGRP): Likewise.
20825
84b860d8
RM
208262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20827
20828 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20829 conditional expression).
20830
66e9b712
RM
208312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20832
20833 Import from Gnulib.
20834
20835 * gnulib/fnmatch.c: New file.
20836 * gnulib/fnmatch.h: Likewise.
20837 * gnulib/fnmatch_loop.c: Likewise.
20838 * gnulib/getopt.c: Likewise.
20839 * gnulib/getopt.h: Likewise.
20840 * gnulib/getopt1.c: Likewise.
20841 * gnulib/getopt_int.h: Likewise.
20842 * gnulib/gettext.h: Likewise.
20843
34f4a5b0
RM
208442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20845
20846 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20847 * normal/handler.c (read_handler_list): Likewise.
20848
ac451143
RM
208492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20850
20851 Misc cleanup.
20852
20853 * kern/command.c (grub_register_command_prio): Use
20854 grub_zalloc() instead of explicitly zeroing data.
20855 * kern/list.c: Include `<grub/mm.h>'.
20856 (grub_named_list_find): Replace `0' with `NULL'.
20857 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20858 (fs_module_list): Change type to `grub_named_list_t'. Update all
20859 users.
20860 * normal/dyncmd.c (read_command_list): Add space between function
20861 call and parenthesis.
20862 * normal/handler.c (read_handler_list): Likewise.
20863
4089b167
RM
208642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20865
20866 * normal/auth.c (punishment_delay): Moved from here ...
20867 (grub_auth_strcmp): ... to here (inside function).
20868
325f5037
RM
208692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20870
20871 * include/grub/list.h (struct grub_named_list): Remove `const'
20872 qualifier from `name'.
20873 (struct grub_prio_list): Likewise.
20874
7aea29a3
RM
208752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20876
20877 * normal/auth.c: Include `<grub/time.h>'.
20878 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20879
3fd6f044
RM
208802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20881
20882 * normal/auth.c (punishment_delay): New variable.
20883 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20884 (grub_auth_check_authentication): Punish failed login attempts with
20885 an incremental (2^N) delay.
20886
a4cd68e4
RM
208872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20888
20889 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20890 path with $(srcdir).
20891
7ad12f43
VS
208922009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20893
20894 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20895
c1129f03
RM
208962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20897
20898 * util/i386/coreboot/grub-mkrescue.in: New file.
20899 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20900 variables.
20901
20902 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20903 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20904 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20905 requirements.
20906 * util/mkisofs/defaults.h: New file.
20907 * util/mkisofs/eltorito.c: Likewise.
20908 * util/mkisofs/exclude.h: Likewise.
20909 * util/mkisofs/fnmatch.c: Likewise.
20910 * util/mkisofs/getopt.c: Likewise.
20911 * util/mkisofs/getopt1.c: Likewise.
20912 * util/mkisofs/hash.c: Likewise.
20913 * util/mkisofs/include/fctldefs.h: Likewise.
20914 * util/mkisofs/include/mconfig.h: Likewise.
20915 * util/mkisofs/include/prototyp.h: Likewise.
20916 * util/mkisofs/include/statdefs.h: Likewise.
20917 * util/mkisofs/iso9660.h: Likewise.
20918 * util/mkisofs/joliet.c: Likewise.
20919 * util/mkisofs/match.c: Likewise.
20920 * util/mkisofs/match.h: Likewise.
20921 * util/mkisofs/mkisofs.c: Likewise.
20922 * util/mkisofs/mkisofs.h: Likewise.
20923 * util/mkisofs/multi.c: Likewise.
20924 * util/mkisofs/name.c: Likewise.
20925 * util/mkisofs/rock.c: Likewise.
20926 * util/mkisofs/tree.c: Likewise.
20927 * util/mkisofs/write.c: Likewise.
20928
ec8bb77d
VS
209292009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20930
20931 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20932 being insecure.
20933
3716b12c
RM
209342009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20935
20936 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20937 `grub-mkimage' (and use $0 when possible).
20938
b97b7b91
RM
209392009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20940
20941 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20942 error message for excessively large memory map.
20943
04114812
RM
209442009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20945
20946 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20947 executable bit.
20948
e4eb2373
RM
209492009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20950
20951 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20952 message for coreboot users.
20953
c926e1d5 209542009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20955
20956 Fix build with GNU gold.
20957
20958 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20959 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20960 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20961 link addresses.
20962 * aclocal.m4: Likewise.
20963
86e5b1db 209642009-11-04 Felix Zielcke <fzielcke@z-51.de>
20965
20966 * configure.ac (AC_PREREQ): Bump to 2.59d.
20967 * INSTALL: Make it more clear when Autoconf and Ruby are
20968 needed and when to run `./autogen.sh'.
20969
246cd78f 209702009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20971
20972 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20973 OSes.
20974
4f9dfb37 209752009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20976
20977 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20978
b82bd5e1 209792009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20980
20981 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20982 giving it to GNU Mach.
20983
ff1a9bca 209842009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20985
20986 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20987 GNU partition number to get internal GRUB partition number.
20988
61697d9c 209892009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20990
20991 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20992 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20993
a50569e1 209942009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20995
20996 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20997 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20998 case.
20999
5b153867 210002009-11-01 Felix Zielcke <fzielcke@z-51.de>
21001
21002 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
21003
d9e2cd70 210042009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21005
21006 Fix build problem.
21007
21008 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
21009 `-isystem=$(srcdir)/include'.
21010
805111a4 210112009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21012
21013 * util/i386/pc/grub-install.in: Remove hint that device.map should be
21014 checked (grub-install doesn't currently rely on it).
21015
fa6e945f 210162009-10-29 Robert Millan <rmh.grub@aybabtu.com>
21017
21018 Revert SVN r2660.
21019
21020 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
21021 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21022 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
21023 * conf/i386-ieee1275.rmk: Likewise.
21024 * conf/i386-pc.rmk: Likewise.
21025 * conf/powerpc-ieee1275.rmk: Likewise.
21026 * conf/sparc64-ieee1275.rmk: Likewise.
21027 * conf/x86_64-efi.rmk: Likewise.
21028
cee15086 210292009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21030
21031 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
21032
95b9239e 210332009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21034
21035 * include/grub/misc.h: Stop checking for APPLE_CC.
21036
2ed19dfd 210372009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21038
21039 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
21040 doesn't cause an infinite call loop.
21041
fdcdde19 210422009-10-28 Felix Zielcke <fzielcke@z-51.de>
21043
21044 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
21045 strings.
21046
cefabfe1 210472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21048
21049 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
21050 variable.
21051 * Makefile.in: Likewise.
21052
ed96ab6d 210532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21054
21055 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
21056
0579b753 210572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21058
21059 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
21060
478df409 210612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21062
21063 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
21064
083d1679 210652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21066
21067 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
21068 from here ...
21069 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
21070
5947ae32 210712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21072
21073 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
21074 in $(MAKEINFO) invocation. This makes it clear in output that
21075 errors are being ignored.
21076
94180ff6 210772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21078
21079 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
21080 from here ...
21081 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21082 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
21083 * conf/i386-ieee1275.rmk: Likewise.
21084 * conf/i386-pc.rmk: Likewise.
21085 * conf/powerpc-ieee1275.rmk: Likewise.
21086 * conf/sparc64-ieee1275.rmk: Likewise.
21087 * conf/x86_64-efi.rmk: Likewise.
21088
9031b03a 210892009-10-26 Colin Watson <cjwatson@ubuntu.com>
21090
21091 * util/grub-editenv.c (main): If only a command is given, use
21092 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
21093 (usage): FILENAME is now optional and has a default.
21094
e4f6809b 210952009-10-26 Colin Watson <cjwatson@ubuntu.com>
21096
21097 Improve grub-mkconfig performance when there are several menu
21098 entries on a single filesystem.
21099
21100 * util/grub.d/10_linux.in (linux_entry): Cache the output of
21101 prepare_grub_to_access_device.
21102 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21103 * util/grub.d/30_os-prober.in: Likewise.
21104
67937d4d 211052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21106
21107 * util/grub.d/10_freebsd.in: Remove.
21108 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
21109 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
21110
ee3756cc 211112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21112
5c35048e 21113 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 21114
4dea1c6f 211152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21116
21117 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
21118 grub_util_error() call.
21119
042484d7 211202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21121
21122 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
21123 `reserved_first_sector' member.
21124 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
21125 `reserved_first_sector' to 1.
21126 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
21127 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
21128 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
21129 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
21130 filesystems which begin at first sector.
21131 (options): New option --skip-fs-probe.
21132 (main): Handle --skip-fs-probe and pass it to setup().
21133
d64448a7 211342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21135
21136 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
21137 (memset): Fix function prototype.
21138
508d42ec 211392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
211402009-10-25 Vasily Averin <vvs@parallels.com>
21141
21142 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
21143 `dirent.direntlen == 0'.
21144
b240e30c 211452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21146
21147 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
21148 `cpio'.
21149 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
21150
346e7fbe 211512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21152
21153 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
21154 `__trampoline_setup' and `__ucmpdi2'.
21155 * include/grub/powerpc/libgcc.h: Only export symbols for functions
21156 that libgcc provides.
21157
cdb308b0 211582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21159
21160 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
21161 * include/grub/sparc64/libgcc.h (memset): Likewise.
21162 * include/grub/misc.h (memset, memcmp): New function prototypes.
21163
fb26abc2 211642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21165
21166 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
21167 `cpio'.
21168 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
21169
f6693890 211702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21171
21172 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
21173 * docs/grub.cfg: Compensate for recent change in multiboot
21174 loader (since 2009-08-14 it won't pass filename to payload).
21175 * util/grub.d/10_hurd.in: Likewise.
21176
0933cdc0 211772009-10-21 Felix Zielcke <fzielcke@z-51.de>
21178
21179 * config.guess: Update to latest version from config git
21180 repository.
21181 * config.sub: Likewise.
21182
3b2fe8c2 211832009-10-20 Robert Millan <rmh.grub@aybabtu.com>
21184
21185 Fix build on sparc64.
21186
21187 * configure.ac: Perform checks for libgcc symbols before
21188 adding `-nostdlib' to LDFLAGS.
21189
46695a62 211902009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21191
21192 Let user specify OpenBSD root device.
21193
21194 * loader/i386/bsd.c (openbsd_root): New variable.
21195 (openbsd_opts): New option 'root'.
21196 (OPENBSD_ROOT_ARG): New macro.
21197 (grub_openbsd_boot): Use 'openbsd_root'.
21198 (grub_cmd_openbsd): Fill 'openbsd_root'.
21199
d2b6b7fc 212002009-10-16 Robert Millan <rmh.grub@aybabtu.com>
21201
21202 * NEWS: Misc adjustments.
21203
421bd7ac 212042009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21205
21206 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
21207
f1d29d87 212082009-10-16 Robert Millan <rmh.grub@aybabtu.com>
21209
21210 * configure.ac: Bump version to 1.97.
21211
6f3cd880 212122009-10-16 Colin Watson <cjwatson@ubuntu.com>
21213
21214 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
21215 -mno-3dnow on x86 architectures. Some toolchains enable these
21216 features by default, but they rely on registers that aren't enabled
21217 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
21218
035f7122 212192009-10-15 Robert Millan <rmh.grub@aybabtu.com>
21220
21221 Make entry text a bit more readable.
21222
21223 * util/grub.d/10_linux.in: Add `with' before `Linux'.
21224
44998e58 212252009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21226
21227 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
21228
cd2851b3 212292009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21230
21231 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
21232 operations.
21233
c6f3b249 212342009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21235
21236 * configure.ac: Add missing dollar.
21237
6b5886ba 212382009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21239
21240 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
21241
21242 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
21243 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
21244 exports.
21245 * include/grub/sparc64/libgcc.h: Likewise. Use
21246 preprocessor conditionals.
21247
e9d66f6d 212482009-10-14 Robert Millan <rmh.grub@aybabtu.com>
21249
21250 * conf/common.rmk (grub-dumpbios): Remove rule.
21251 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
21252 * util/grub-dumpbios.in: Remove file.
21253
9155bc17 212542009-10-14 Robert Millan <rmh.grub@aybabtu.com>
21255
21256 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
21257 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
21258
21259 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
21260 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
21261 users.
21262
21263 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
21264 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
21265 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
21266 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
21267 users.
21268
bf7f7a18 212692009-10-12 Robert Millan <rmh.grub@aybabtu.com>
21270
21271 * term/tparm.c: Switch to GPLv3.
21272
86564c26 212732009-10-09 Robert Millan <rmh.grub@aybabtu.com>
21274
21275 * include/grub/i386/cpuid.h: Add header protection.
21276
5c936493 212772009-10-09 Robert Millan <rmh.grub@aybabtu.com>
21278
21279 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
21280
21281 * include/grub/i386/cpuid.h: New file.
21282 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
21283 (has_longmode): Rename to ...
21284 (grub_cpuid_has_longmode): ... this. Update all users. Remove
21285 `static' attribute.
21286 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
21287 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
21288 on a CPU that doesn't implement AMD64 instruction set.
21289
186e7cf2 212902009-10-06 Colin Watson <cjwatson@ubuntu.com>
21291
21292 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
21293 that version.texi is rebuilt on version number changes.
21294
83b65c4a 212952009-10-06 Colin Watson <cjwatson@ubuntu.com>
21296
21297 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
21298 Fixes bug #27602.
21299
d244281c 213002009-10-06 Colin Watson <cjwatson@ubuntu.com>
21301
21302 * util/i386/pc/grub-install.in: Source
21303 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
21304 that the --grub-probe option will work.
21305 * util/sparc64/ieee1275/grub-install.in: Likewise.
21306
da25306d 213072009-10-05 Robert Millan <rmh.grub@aybabtu.com>
21308
21309 * configure.ac: Bump version to 1.97~beta4.
21310
e8ee83c0 213112009-10-03 Robert Millan <rmh.grub@aybabtu.com>
21312
21313 Resync grub-mkdevicemap in x86_64-efi.
21314
21315 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
21316 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
21317 `util/devicemap.c'.
21318
50dcabcf 213192009-10-01 Colin Watson <cjwatson@ubuntu.com>
21320
21321 * util/grub-editenv.c (create_envblk_file): Write new block with a
21322 .new suffix and then rename it into place, to ensure atomic
21323 creation.
21324
0e51c3a7 213252009-09-28 Robert Millan <rmh.grub@aybabtu.com>
21326
21327 Do not automatically install headers.
21328
21329 * Makefile.in (include_DATA): Remove. Update all users.
21330
31299a95 213312009-09-26 Robert Millan <rmh.grub@aybabtu.com>
21332
21333 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
21334 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
21335
21336 * util/osdetect.lua: Remove.
21337 * script/lua/lauxlib.c: Likewise.
21338 * script/lua/ldebug.c: Likewise.
21339 * script/lua/grub_main.c: Likewise.
21340 * script/lua/lauxlib.h: Likewise.
21341 * script/lua/ldebug.h: Likewise.
21342 * script/lua/ltablib.c: Likewise.
21343 * script/lua/liolib.c: Likewise.
21344 * script/lua/lstrlib.c: Likewise.
21345 * script/lua/lualib.h: Likewise.
21346 * script/lua/ldo.c: Likewise.
21347 * script/lua/ldump.c: Likewise.
21348 * script/lua/ldo.h: Likewise.
21349 * script/lua/loslib.c: Likewise.
21350 * script/lua/lundump.c: Likewise.
21351 * script/lua/grub_lib.c: Likewise.
21352 * script/lua/ldblib.c: Likewise.
21353 * script/lua/lundump.h: Likewise.
21354 * script/lua/lmem.c: Likewise.
21355 * script/lua/grub_lib.h: Likewise.
21356 * script/lua/lmathlib.c: Likewise.
21357 * script/lua/lstate.c: Likewise.
21358 * script/lua/ltm.c: Likewise.
21359 * script/lua/lvm.c: Likewise.
21360 * script/lua/lmem.h: Likewise.
21361 * script/lua/lstate.h: Likewise.
21362 * script/lua/ltm.h: Likewise.
21363 * script/lua/ltable.c: Likewise.
21364 * script/lua/lvm.h: Likewise.
21365 * script/lua/llex.c: Likewise.
21366 * script/lua/lgc.c: Likewise.
21367 * script/lua/grub_lua.h: Likewise.
21368 * script/lua/loadlib.c: Likewise.
21369 * script/lua/lfunc.c: Likewise.
21370 * script/lua/lopcodes.c: Likewise.
21371 * script/lua/lparser.c: Likewise.
21372 * script/lua/ltable.h: Likewise.
21373 * script/lua/llex.h: Likewise.
21374 * script/lua/lgc.h: Likewise.
21375 * script/lua/lfunc.h: Likewise.
21376 * script/lua/lbaselib.c: Likewise.
21377 * script/lua/lopcodes.h: Likewise.
21378 * script/lua/lparser.h: Likewise.
21379 * script/lua/lzio.c: Likewise.
21380 * script/lua/linit.c: Likewise.
21381 * script/lua/lobject.c: Likewise.
21382 * script/lua/llimits.h: Likewise.
21383 * script/lua/lstring.c: Likewise.
21384 * script/lua/lzio.h: Likewise.
21385 * script/lua/lapi.c: Likewise.
21386 * script/lua/lcode.c: Likewise.
21387 * script/lua/lua.h: Likewise.
21388 * script/lua/lobject.h: Likewise.
21389 * script/lua/lstring.h: Likewise.
21390 * script/lua/lapi.h: Likewise.
21391 * script/lua/lcode.h: Likewise.
21392 * script/lua/luaconf.h: Likewise.
21393
cb8a2c38 213942009-09-26 Colin Watson <cjwatson@ubuntu.com>
21395
21396 * docs/grub.texi (Command-line and menu entry commands): Document
21397 date and echo commands.
21398
6b9b6276 213992009-09-24 Pavel Roskin <proski@gnu.org>
21400
21401 * include/grub/kernel.h (struct grub_module_header): Remove
21402 `grub_module_header_types'. Make `type' unsigned. Make `size'
21403 32-bit on all platforms.
21404 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
21405 8-bit field. Use grub_host_to_target32() for `size'.
21406 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
21407 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
21408 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
21409
4e5a02a7 214102009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21411
21412 Fix "lost keypress" bug in at_keyboard.
21413
21414 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
21415 Checks for readyness of input buffer (without flushing it).
21416 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
21417 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
21418
c6dcedf6 214192009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21420
21421 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
21422 size check within GRUB_MACHINE_PCBIOS section.
21423
74c958b1 214242009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21425
21426 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
21427 return value.
21428 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
21429 KEYBOARD_ISREADY check.
21430 (grub_at_keyboard_checkkey): Rename to ...
21431 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
21432 Remove gratuitous cast.
21433
ff420223 214342009-09-23 Colin Watson <cjwatson@ubuntu.com>
21435
21436 * configure.ac: Call AC_PROG_MKDIR_P.
21437 * Makefile.in (docs/stamp-vti): Create docs directory. Create
21438 version.texi in $(builddir) rather than $(srcdir).
21439 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
21440 to makeinfo's @include search path.
21441
d96875df 214422009-09-23 Felix Zielcke <fzielcke@z-51.de>
21443
21444 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
21445
9b3f8365 214462009-09-23 Felix Zielcke <fzielcke@z-51.de>
21447
21448 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
21449 for `*.dpkg-new'.
21450
c44c90db 214512009-09-21 Colin Watson <cjwatson@ubuntu.com>
21452
21453 Build info documentation. Some code borrowed from Automake.
21454
21455 * configure.ac: Check for makeinfo.
21456 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
21457 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
21458 docs/version.texi.
21459 (MOSTLYCLEANFILES): Add vti.tmp.
21460 (docs/version.texi, docs/stamp-vti): Update automatically.
21461 (docs/grub.info): Build info documentation. Use --force and ignore
21462 errors for now.
21463 (all-local): Add $(INFOS).
21464 (install-local): Install info files.
21465 (uninstall): Uninstall info files.
21466 * docs/version.texi: Remove from revision control. This file is
21467 automatically generated on build now.
21468 * gendistlist.sh: Add `*.info'.
21469
e0b37bb5 214702009-09-21 Felix Zielcke <fzielcke@z-51.de>
21471
21472 * kern/term.c: Fix indentation.
21473
5a78865b 214742009-09-21 Felix Zielcke <fzielcke@z-51.de>
21475
21476 * util/hostdisk.c: Fix a comment.
21477
dace7e8a 214782009-09-20 Robert Millan <rmh.grub@aybabtu.com>
21479
21480 Fix regression introduced in r2539.
21481
21482 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
21483 to 0xA1.
21484
a83d079b 214852009-09-19 Colin Watson <cjwatson@ubuntu.com>
21486
21487 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 21488 os-prober. Under normal operation, it does not print anything to
21489 stderr; if it does, we need to debug it, and throwing away stderr
21490 makes that excessively difficult.
a83d079b 21491
be94a509 214922009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
21493
21494 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
21495
63f745e8 214962009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21497
21498 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
21499 AC_LANG_PROGRAM from autoconf.
21500 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
21501 prototypes (fixes warning).
21502
21503 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
21504 `--disable-werror' was used.
21505
bbb2a70f 215062009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21507
21508 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
21509 uninitialized `lastaddr'.
21510
77c24f1d 215112009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21512
0f0b8c87 21513 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 21514
07197f23 215152009-09-14 Colin Watson <cjwatson@ubuntu.com>
21516
21517 * commands/test.c (get_fileinfo): Return immediately if
21518 grub_fs_probe fails.
21519
dabf1798 215202009-09-14 José Martínez <xosemp@gmail.com>
21521
21522 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
21523
d52109a7 215242009-09-14 Colin Watson <cjwatson@ubuntu.com>
21525
21526 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
21527 output.
21528
56532179 215292009-09-13 Robert Millan <rmh.grub@aybabtu.com>
21530
21531 * configure.ac: Remove --enable-grub-pe2elf. Only build
21532 grub-pe2elf when needed by the build system itself.
21533 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
21534
8ef070f5 215352009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21536
21537 * configure.ac: Bump version to 1.97~beta3.
21538 * docs/version.texi: Likewise.
21539
61229557 215402009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21541
21542 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
21543 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
21544 from here ...
21545 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
21546 (grub_linux_setup_video): ... to here (with some adjustments).
21547
5c9f8d84 215482009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21549
21550 Fix memory corruption issue (spotted by Colin Watson).
21551
21552 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
21553 causing returned size to be stored in an incorrect memory location.
21554 Fix use of uninitialized value when storing the returned size.
21555
e8f5d6e9 215562009-09-12 Yves Blusseau <blusseau@zetam.org>
21557
21558 Change clean rules to properly remove files
21559
21560 * genmk.rb: add new clean rules
21561 * Makefile.in (clean): add the new targets
21562 (mostlyclean): likewise
21563
cda2a409 215642009-09-11 Colin Watson <cjwatson@ubuntu.com>
21565
21566 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
21567 to grub_uint64_t.
21568 * fs/ntfs.c (init_file): Understand 64-bit sizes for
21569 non-resident files.
21570
86695375 215712009-09-11 Colin Watson <cjwatson@ubuntu.com>
21572
21573 * configure.ac: Don't look for help2man when cross-compiling. Fixes
21574 part of bug #27349.
21575
8aa1541a 215762009-09-10 Felix Zielcke <fzielcke@z-51.de>
21577
21578 * util/grub-mkconfig.in: Make the created config mode 400 and
21579 print a warning if it fails.
21580
48d9bb0a 215812009-09-10 Robert Millan <rmh.grub@aybabtu.com>
21582
21583 * util/grub.d/40_custom.in: Ask user to type custom entries below
21584 comment, rather than below 'exec tail' line.
21585
3b0521be 215862009-09-10 Colin Watson <cjwatson@ubuntu.com>
21587
21588 * util/grub.d/40_custom.in: Make sure that the explanatory text is
21589 visible in grub.cfg.
21590
50051d55 215912009-09-10 Colin Watson <cjwatson@ubuntu.com>
21592
21593 * util/grub.d/40_custom.in: Make it a little clearer how to use this
21594 file.
21595
c0d34387 215962009-09-10 Felix Zielcke <fzielcke@z-51.de>
21597
21598 * docs/grub.cfg: Add an example menu entry for memtest86+.
21599
80a608f3 216002009-09-09 Felix Zielcke <fzielcke@z-51.de>
21601
a2094832 21602 * config.guess: Update to latest version from config git.
80a608f3 21603 * config.sub: Likewise.
21604
99423078 216052009-09-08 Colin Watson <cjwatson@ubuntu.com>
21606
21607 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
21608 unknown-command case. Fixes bug #27320.
21609
44454e4c 216102009-09-08 Felix Zielcke <fzielcke@z-51.de>
21611
21612 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
21613 `help' if the command exists.
21614
e30d87ad 216152009-09-06 Robert Millan <rmh.grub@aybabtu.com>
21616
21617 * INSTALL: Require GCC 4.1.3 or later.
21618
9a86f1ec 216192009-09-06 Yves Blusseau <blusseau@zetam.org>
21620
21621 * Makefile.in (RMKFILES): add i386-qemu.rmk
21622 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
21623 $(srcdir)/stamp-h.in
21624
7f26d466 216252009-09-05 Robert Millan <rmh.grub@aybabtu.com>
21626
21627 * util/grub-probe.c (probe): Comment out buggy codepath, which
21628 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
21629 should be re-enabled after 1.97.
21630
3a613259 216312009-09-05 Felix Zielcke <fzielcke@z-51.de>
21632
21633 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
21634 find searches for.
21635
197f76c7 216362009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
21639 unnecessary calls to grub_error.
21640
70ba68ce 216412009-09-04 Colin Watson <cjwatson@ubuntu.com>
21642
21643 * NEWS: Mention `keystatus' and Unicode fonts.
21644
4ff0d7a4 216452009-09-04 Robert Millan <rmh.grub@aybabtu.com>
21646
21647 * configure.ac: Bump version to 1.97~beta2.
21648 * docs/version.texi: Likewise.
21649
77c55a87 216502009-09-03 Colin Watson <cjwatson@ubuntu.com>
21651
21652 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
21653 containing unwind information in some cases where it previously did
21654 not. Use -fno-dwarf2-cfi-asm if available to restore the old
21655 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
21656 discussion.
21657
f79572cd 216582009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
21659
21660 Embedding loadenv module into grub-emu
21661
21662 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
21663 commands/loadenv.c
21664 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
21665 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
21666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
21667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
21668 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
21669 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
21670
93a81088 216712009-09-03 Magnus Granberg <zorry@ume.nu>
21672
21673 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
21674 include -fPIE in the default specs.
21675 * configure.ac: Check if pie_possible is yes and add -fno-PIE
21676 to TARGET_CFLAGS.
21677
160034b2 216782009-09-03 Felix Zielcke <fzielcke@z-51.de>
21679
21680 * INSTALL: Note that GNU Bison 2.3 or later is required.
21681
087c07c4 216822009-09-03 Colin Watson <cjwatson@ubuntu.com>
21683
21684 * kern/i386/pc/startup.S: Fix typo.
21685
cbf978c0 216862009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21687
21688 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
21689 according to GCS.
21690
216912009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 21692
21693 * docs/grub.texi (Naming convention): Describe one-based partition
21694 numbering.
21695 (Device syntax): Likewise.
21696 (File name syntax): Likewise.
21697 (Block list syntax): Likewise.
21698 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
21699 menu.lst.
21700 (File name syntax): Likewise.
21701 (Command-line and menu entry commands): Document acpi, blocklist,
21702 crc, export, insmod, keystatus, ls, set, and unset commands.
21703
f3e8cdfd 217042009-09-02 Colin Watson <cjwatson@ubuntu.com>
21705
21706 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
21707 to avoid implying that only one of --shift, --ctrl, or --alt may be
21708 used.
21709
c0bc232b 217102009-09-02 Colin Watson <cjwatson@ubuntu.com>
21711
21712 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
21713 rather than comparing against S_IFREG, which will almost never work.
21714
aa0f752d 217152009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21716
21717 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
21718 (write_blocklists): Likewise.
21719
ecb3166a 217202009-09-01 Colin Watson <cjwatson@ubuntu.com>
21721
21722 * script/lua/grub_lua.h (fputs): Supply a format string as the first
21723 argument to grub_printf.
21724
c403a125 217252009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 21726
21727 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 21728 non GNU test.
31aba781 21729
b5e7312c 217302009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21731
21732 * kern/file.c (grub_file_read): Spelling fix
21733
fe00f472 217342009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
21737 loading of headers in some cases.
21738
cc55302e 217392009-08-30 Robert Millan <rmh.grub@aybabtu.com>
21740
21741 * configure.ac: Bump version to 1.97~beta1.
21742 * docs/version.texi: Likewise.
21743
5c90cdd2 217442009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 21745
21746 * include/grub/i386/xnu.h: Add license header.
21747 include grub/err.h explicitly.
21748
c90edae4 217492009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21750
21751 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
21752 to `ufs' in the vfs.root.mountfrom kernel parameter.
21753
d8888b5c 217542009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21755
21756 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
21757
21758 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
21759 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
21760
21761 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
21762 `ARRAY_SIZE' macro.
21763
6f07b921 217642009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21765
21766 * kern/file.c (grub_file_read): Check offset.
21767 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
21768 * fs/jfs.c (grub_jfs_read_file): Likewise.
21769 * fs/ntfs.c (grub_ntfs_read): Likewise.
21770 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
21771 * fs/minix.c (grub_minix_read_file): Correct offset check.
21772 * fs/ufs.c (grub_ufs_read_file): Likewise.
21773
b4f34077 217742009-08-28 Colin Watson <cjwatson@ubuntu.com>
21775
21776 * term/i386/pc/console.c (bios_data_area): Cast
21777 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
21778
e7c69859 217792009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21780
21781 1-bit optimised blitters.
21782
21783 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
21784 prototype.
21785 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21786 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21787 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21788 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21789 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21790 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21791 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
21792 function.
21793 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21794 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21795 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21796 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21797 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21798 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21799 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21800 when possible.
21801 * video/video.c (grub_video_get_blit_format): Return
21802 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21803
a57da43f 218042009-08-28 Colin Watson <cjwatson@ubuntu.com>
21805
21806 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21807 the first argument to grub_printf.
21808
4cbe67e5 218092009-08-28 Colin Watson <cjwatson@ubuntu.com>
218102009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21811
21812 Add `getkeystatus' terminal method. Add a new `keystatus' command
21813 to query it.
21814
21815 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21816 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21817 modifier key bitmasks.
21818 (struct grub_term_input): Add `getkeystatus' member.
21819 (grub_getkeystatus): Add prototype.
21820 * kern/term.c (grub_getkeystatus): New function.
21821
21822 * include/grub/i386/pc/memory.h
21823 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21824 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21825 Data Area layout.
21826 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21827 (grub_console_term_input): Set `getkeystatus' member.
21828 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21829 constants.
21830 (grub_usb_keyboard_getreport): Likewise.
21831 (grub_usb_keyboard_checkkey): Likewise.
21832 (grub_usb_keyboard_getkeystatus): New function.
21833 (grub_usb_keyboard_term): Set `getkeystatus' member.
21834
21835 * commands/keystatus.c: New file.
21836 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21837 (keystatus_mod_SOURCES): New variable.
21838 (keystatus_mod_CFLAGS): Likewise.
21839 (keystatus_mod_LDFLAGS): Likewise.
21840 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21841 commands/keystatus.c.
21842 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21843 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21844 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21846 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21847 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 21848
6e2a9085 218492009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21850
21851 Split befs.mod and afs.mod into *_be.mod and *.mod
21852
21853 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21854 (grub_fstest_SOURCES): Likewise.
21855 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21856 (afs_be_mod_SOURCES): New variable.
21857 (afs_be_mod_CFLAGS): Likewise.
21858 (afs_be_mod_LDFLAGS): Likewise.
21859 (befs_be_mod_SOURCES): Likewise.
21860 (befs_be_mod_CFLAGS): Likewise.
21861 (befs_be_mod_LDFLAGS): Likewise.
21862 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21863 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21864 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21865 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21866 (grub_emu_SOURCES): Likewise.
21867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21868 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21869 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21870 * fs/afs_be.c: New file.
21871 * fs/befs_be.c: New file.
21872 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21873 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21874 (U16): Replaced with ...
21875 (grub_afs_to_cpu16): ...this. All users updated.
21876 (U32): Replaced with ...
21877 (grub_afs_to_cpu32): ...this. All users updated.
21878 (U64): Replaced with ...
21879 (grub_afs_to_cpu64): ...this. All users updated.
21880 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21881 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 21882 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 21883 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21884 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21885 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21886 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21887 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21888 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21889 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21890 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21891
32a71655 218922009-08-26 Bean <bean123ch@gmail.com>
21893
21894 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21895 64-bit number.
21896 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21897 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21898 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21899
552bf6c5 219002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21901
21902 NetBSD memory map support.
21903
21904 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21905 (grub_netbsd_btinfo_mmap_header): New structure.
21906 (grub_netbsd_btinfo_mmap_entry): Likewise.
21907 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21908
1ae2078c 219092009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21910
21911 Enable bsd.mod on coreboot.
21912
21913 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21914 (bsd_mod_SOURCES): New variable.
21915 (bsd_mod_CFLAGS): Likewise.
21916 (bsd_mod_LDFLAGS): Likewise.
21917 (bsd_mod_ASFLAGS): Likewise.
21918 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21919 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21920
beefc598 219212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21922
21923 Cleanup NetBSD root support.
21924
21925 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21926 grub_bsd_get_device.
21927 Fix typo.
21928
3b76e68b 219292009-08-25 Felix Zielcke <fzielcke@z-51.de>
21930
21931 * util/grub.d/00_header.in: Move check for the video backend of
21932 gfxterm from here ...
21933 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21934 a suitable video backend.
21935
aea664ea 219362009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21937
21938 Fix breakage in grub-setup.
21939
21940 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21941 "msdos_partition_map".
21942
ff747d50 219432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21944
21945 Fix breakage in normal/auth.c.
21946
21947 * normal/auth.c (grub_iswordseparator): New function.
21948
e7e1f93f 219492009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21950
21951 Authentication support.
21952
21953 * commands/password.c: New file.
21954 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21955 (password_mod_SOURCES): New variable.
21956 (password_mod_CFLAGS): Likewise.
21957 (password_mod_LDFLAGS): Likewise.
21958 (normal_mod_SOURCES): Add normal/auth.c.
21959 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21960 normal/auth.c.
21961 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21962 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21963 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21965 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21966 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21967 * include/grub/auth.h: New file.
21968 * include/grub/err.h (grub_err_t): New enum value
21969 GRUB_ERR_ACCESS_DENIED.
21970 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21971 'users'.
21972 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21973 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21974 users updated.
21975 * normal/auth.c: New file.
21976 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21977 (grub_cmdline_run): Don't allow to go to command line without
21978 authentication.
21979 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21980 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21981 menuentry without superuser rights.
21982 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21983 user isn't a superuser.
21984
70f1161d 219852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21986
21987 Save space by inlining misc.c functions.
21988
21989 * kern/misc.c (grub_iswordseparator): Made static.
21990 * kern/misc.c (grub_strcat): Moved from here ...
21991 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21992 * kern/misc.c (grub_strncat): Moved from here ...
21993 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21994 * kern/misc.c (grub_strcasecmp): Moved from here ...
21995 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21996 * kern/misc.c (grub_strncasecmp): Moved from here ...
21997 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21998 * kern/misc.c (grub_isalpha): Moved from here ...
21999 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
22000 * kern/misc.c (grub_isdigit): Moved from here ...
22001 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
22002 * kern/misc.c (grub_isgraph): Moved from here ...
22003 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
22004 * kern/misc.c (grub_tolower): Moved from here ...
22005 * include/grub/misc.h (grub_tolower): ... here. Inlined.
22006
48e40bff 220072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22008
22009 * script/sh/function.c (grub_script_function_find): Cut error message
22010 not to flood terminal.
22011 * script/sh/lexer.c (grub_script_yylex): Remove command line length
22012 limit.
22013 * script/sh/script.c (grub_script_arg_add): Duplicate string.
22014
c385bfc3 220152009-08-24 Colin Watson <cjwatson@ubuntu.com>
22016
22017 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
22018 `report' grub_uint8_t *.
22019 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
22020 Use a 50-millisecond timeout rather than just repeating
22021 grub_usb_keyboard_getreport 50 times.
22022 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
22023
2d21e3e8 220242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22025
22026 Rename *_partition_map to part_*
22027
22028 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
22029 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
22030 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
22031 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
22032 All users updated.
22033 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
22034 All users updated.
22035 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
22036 * util/grub-probe.c (probe_partmap): Don't transform partition name
22037 to get module name.
22038
dd103c4e 220392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22040
22041 Fix OpenBSD and NetBSD support.
22042
22043 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
22044 memory address conflict.
22045 (OPENBSD_MMAP_ACPI): New definition.
22046 (OPENBSD_MMAP_NVS): Likewise.
22047 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
22048 and OPENBSD_MMAP_NVS.
22049 Add memory map terminator
22050 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 22051 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 22052
16c84d74 220532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22054
22055 Let user specify NetBSD root device.
22056
22057 * loader/i386/bsd.c (netbsd_root): New variable.
22058 (netbsd_opts): New option 'root'.
22059 (NETBSD_ROOT_ARG): New macro.
22060 (grub_netbsd_boot): Use 'netbsd_root'.
22061 (grub_bsd_unload): Free 'netbsd_root'.
22062 (grub_cmd_netbsd): Fill 'netbsd_root'.
22063
adb29902 220642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22065
22066 Support for 64-bit NetBSD.
22067
22068 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
22069 point when booting non-FreeBSD.
22070
f5ae9f74 220712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22072
22073 Support --no-smp and --no-acpi for NetBSD.
22074
22075 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
22076 (NETBSD_AB_NOACPI): Likewise.
22077 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
22078 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
22079
de74f136 220802009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22081
22082 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
22083 errors.
22084 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
22085 errors. Call grub_error when needed.
22086
e9a925da 220872009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 * commands/search.c (search_fs): Try searching without autoload first.
22090 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
22091 filesystem module explicitly for faster booting.
22092
5174302b 220932009-08-23 Colin Watson <cjwatson@ubuntu.com>
22094
22095 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
22096
c8c80635 220972009-08-23 Colin Watson <cjwatson@ubuntu.com>
22098
22099 * util/grub.d/30_os-prober.in: Disable os-prober if
22100 `GRUB_DISABLE_OS_PROBER' was set to true.
22101
71acf5e5 221022009-08-23 Robert Millan <rmh.grub@aybabtu.com>
22103
22104 * partmap/pc.c: Rename to ...
22105 * partmap/msdos.c: ... this. Update all users.
22106 (grub_pc_partition_map): Rename to ...
22107 (grub_msdos_partition_map): ... this. Update all users.
22108
22109 * parttool/pcpart.c: Rename to ...
22110 * parttool/msdospart.c: ... this. Update all users.
22111
22112 * include/grub/pc_partition.h: Rename to ...
22113 * include/grub/msdos_partition.h: ... this. Update all users.
22114 (grub_pc_partition_bsd_entry): Rename to ...
22115 (grub_msdos_partition_bsd_entry): ... this. Update all users.
22116 (grub_pc_partition_disk_label): Rename to ...
22117 (grub_msdos_partition_disk_label): ... this. Update all users.
22118 (grub_pc_partition_entry): Rename to ...
22119 (grub_msdos_partition_entry): ... this. Update all users.
22120 (grub_pc_partition_mbr): Rename to ...
22121 (grub_msdos_partition_mbr): ... this. Update all users.
22122 (grub_pc_partition): Rename to ...
22123 (grub_msdos_partition): ... this. Update all users.
22124 (grub_pc_partition_is_empty): Rename to ...
22125 (grub_msdos_partition_is_empty): ... this. Update all users.
22126 (grub_pc_partition_is_extended): Rename to ...
22127 (grub_msdos_partition_is_extended): ... this. Update all users.
22128 (grub_pc_partition_is_bsd): Rename to ...
22129 (grub_msdos_partition_is_bsd): ... this. Update all users.
22130
22131 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
22132 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
22133 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
22134 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
22135 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
22136 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
22137 (gpt_mod_LDFLAGS): Rename to ...
22138 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
22139 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
22140 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
22141 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
22142 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
22143 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
22144 (part_gpt_mod_LDFLAGS): ... this.
22145 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
22146 `pcpart.mod' to `msdospart.mod'.
22147 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
22148 to ...
22149 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
22150 (msdospart_mod_LDFLAGS): ... this.
22151
c11fded5 221522009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22153
22154 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
22155 (openbsd_opts): Likewise.
22156 (netbsd_opts): Likewise.
22157 (freebsd_flags): Added 0 terminator.
22158 (openbsd_flags): Likewise.
22159 (netbsd_flags): Likewise.
22160 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
22161 (grub_cmd_freebsd): Transformed into extended command.
22162 (grub_cmd_openbsd): Likewise.
22163 (grub_cmd_netbsd): Likewise.
22164 (cmd_freebsd): Changed type to grub_extcmd_t.
22165 (cmd_openbsd): Likewise.
22166 (cmd_netbsd): Likewise.
22167 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
22168 grub_cmd_openbsd as extended commands.
22169 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
22170 cmd_netbsd and cmd_openbsd
22171
11d1c769 221722009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22173
22174 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
22175
7a9094e5 221762009-08-21 Pavel Roskin <proski@gnu.org>
22177
5496c37e 22178 * Makefile.in (install-local): When checking if a file is in the
22179 build directory, use "test -e" to detect symlinks.
22180
7a9094e5 22181 * Makefile.in (install-local): Remove all files in
22182 $(DESTDIR)$(pkglibdir) before installing new files there.
22183
e53cea11 221842009-08-18 Felix Zielcke <fzielcke@z-51.de>
22185
22186 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
22187 grub-mkelfimage.
22188
9aced544 221892009-08-18 Felix Zielcke <fzielcke@z-51.de>
22190
22191 * util/grub-mkconfig.in: Don't use gfxterm by default if not
22192 explicitly specified by the user.
22193
b7da6bab 221942009-08-18 Pavel Roskin <proski@gnu.org>
22195
22196 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
22197 grub_uint8_t pointer for data.
22198 * include/grub/fbutil.h (struct grub_video_fbblit_info):
22199 Likewise.
22200 * video/fb/fbutil.c: Remove unnecessary casts.
22201
19f1b335 222022009-08-17 Michal Suchanek <hramrach@centrum.cz>
22203
22204 VBE cleanup.
22205
22206 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
22207 (grub_vbe_set_video_mode): Save active mode info
22208 only after setting the mode.
22209 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
22210 second argument.
22211
2f467aa9 222122009-08-17 Michal Suchanek <hramrach@centrum.cz>
22213
22214 Rename variables for clarity.
22215
22216 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
22217 (active_vbe_mode_info): ... this. All users updated.
22218 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
22219 All users updated.
22220 (initial_mode): Rename to ...
22221 (initial_vbe_mode): ... this. All users updated.
22222 (mode_in_use): Rename to ..
22223 (vbe_mode_in_use): ... this. All users updated.
22224 (mode_list): Rename to ..
22225 (vbe_mode_list): ... this. All users updated.
22226 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
22227 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
22228 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
22229 'mode_list_size' to 'vbe_mode_list_size'.
22230 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
22231 'best_mode_info' to 'best_vbe_mode_info' and
22232 'best_mode' to 'best_vbe_mode'
22233
6025fcd7 222342009-08-17 Michal Suchanek <hramrach@centrum.cz>
22235
22236 Remove duplicate grub_video_fb_get_video_ptr.
22237
22238 * include/grub/fbutil.h (get_data_ptr): Rename to ...
22239 (grub_video_fb_get_video_ptr): ... this.
22240 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
22241 * video/fb/fbutil.c: Add comment about addressing.
22242 (get_data_ptr): Rename to ...
22243 (grub_video_fb_get_video_ptr): ... this. All users updated.
22244 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
22245
cc8c6faf 222462009-08-17 Robert Millan <rmh.grub@aybabtu.com>
22247
22248 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
22249 grub_dprintf() that was just added.
22250
08aa61f0 222512009-08-17 Robert Millan <rmh.grub@aybabtu.com>
22252
22253 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
22254 (DEFAULT_VIDEO_MODE): Remove macros.
22255 (grub_linux_boot): Remove assumption that Linux has FB support,
22256 and use "text" as default video mode.
22257
7cef4f75 222582009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
22259
22260 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
22261 grub_dprintf.
22262 * fs/fat.c (grub_fat_read_data): Likewise.
22263
e1f39873 222642009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22265
22266 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
22267 payload.
22268 (grub_module): Likewise.
22269
c166d79e 222702009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22271
22272 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
22273 mbi->cmdline but free playground.
22274
c60cee8e 222752009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22276
22277 Handle group offset on UFS1.
22278
22279 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
22280 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
22281
c0d8b5d4 222822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22283
22284 Split ufs.mod into ufs1.mod and ufs2.mod.
22285
22286 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
22287 (grub_fstest_SOURCES): Likewise.
22288 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
22289 (ufs_mod_SOURCES): Remove.
22290 (ufs_mod_CFLAGS): Likewise.
22291 (ufs_mod_LDFLAGS): Likewise.
22292 (ufs1_mod_SOURCES): New variable.
22293 (ufs1_mod_CFLAGS): Likewise.
22294 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 22295 (ufs2_mod_SOURCES): New variable.
22296 (ufs2_mod_CFLAGS): Likewise.
22297 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 22298 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
22299 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
22300 Likewise.
22301 (grub_emu_SOURCES): Likewise.
22302 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22303 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22304 (grub_setup_SOURCES): Likewise.
22305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22306 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
22307 (grub_setup_SOURCES): Likewise.
22308 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
22309 Likewise.
22310 * fs/ufs2.c: New file.
22311 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
22312
d3539132 223132009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22314
22315 Framebuffer split.
22316
22317 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
22318 subsystem at the end.
22319 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
22320 (video_fb_mod_SOURCES): New variable.
22321 (video_fb_mod_CFLAGS): Likewise.
22322 (video_fb_mod_LDFLAGS): Likewise.
22323 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
22324 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
22325 * video/i386/pc/vbeblit.c: Moved from here ...
22326 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
22327 * video/i386/pc/vbefill.c: Moved from here ...
22328 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
22329 * video/i386/pc/vbeutil.c: Moved from here ...
22330 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
22331 * include/grub/i386/pc/vbeblit.h: Moved from here ...
22332 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
22333 * include/grub/i386/pc/vbefill.h: Moved from here ...
22334 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
22335 * include/grub/i386/pc/vbeutil.h: Moved from here ...
22336 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
22337 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
22338 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
22339 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
22340 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
22341 (grub_video_adapter): Added 'get_info_and_fini'.
22342 (grub_video_get_info_and_fini): New prototype.
22343 (grub_video_set_mode): make modestring const char *.
22344 * loader/i386/linux.c (grub_linux_setup_video): Use
22345 grub_video_get_info_and_fini.
22346 (grub_linux_boot): Move modesetting just before booting.
22347 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
22348 grub_video_get_info_and_fini.
22349 * video/i386/pc/vbe.c: Moved framebuffer part ...
22350 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
22351 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
22352 grub_video_fbstd_colors and grub_video_fb_set_palette.
22353 (grub_video_vbe_init): Clear 'framebuffer' variable and use
22354 grub_video_fb_init.
22355 (grub_video_vbe_fini): Use grub_video_fb_fini.
22356 (grub_video_vbe_setup): Use framebuffer.render_target instead of
22357 render_target and use grub_video_fb_set_active_render_target and
22358 grub_video_fb_set_palette.
22359 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
22360 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
22361 (grub_video_vbe_adapter): Use framebuffer.
22362 * video/video.c (grub_video_get_info_and_fini): New function.
22363 (grub_video_set_mode): Make modestring const char *.
22364 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
22365 values are already initialised.
22366
d404ee56 223672009-08-14 Pavel Roskin <proski@gnu.org>
22368
22369 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
22370 ABS and APPLE_CC.
22371 * boot/i386/pc/diskboot.S: Likewise.
22372 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
22373 sectors allow compilation on MacOSX.
22374 * conf/i386-pc.rmk: Enable unconditional compilation of
22375 lnxboot.img.
22376
9a10df16 223772009-08-13 Colin Watson <cjwatson@ubuntu.com>
22378
22379 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
22380 * util/grub.d/00_header.in: Enter interruptible sleep if
22381 GRUB_HIDDEN_TIMEOUT is set.
22382
be3c9ca7 223832009-08-13 Yves Blusseau <blusseau@zetam.org>
22384
22385 * include/grub/symbol.h: Add the LOCAL macro.
22386 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
22387 starting with "L_".
22388
1f9e557e 223892009-08-13 Pavel Roskin <proski@gnu.org>
22390
9ca62843 22391 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
22392 any modern compilers we support.
22393
1f9e557e 22394 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
22395 Use local labels starting with "L_" so that Apple assembler
22396 knows they are local.
22397
81623db6 223982009-08-10 Robert Millan <rmh.grub@aybabtu.com>
22399
22400 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
22401 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
22402 (bsd_kernel_types): ... this enum.
22403
22404 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
22405 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
22406 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
22407
22408 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
22409 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
22410 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
22411 messages.
22412
f5d35e7a 224132009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22414
22415 * util/grub-dumpdevtree: Moved from here ...
22416 * util/i386/efi/grub-dumpdevtree: ... to here.
22417 (hexify): New function. Converts a string to its hex version.
22418 Generate hex versions of "efi" and "device-properties" by calling
22419 hexify() on the ASCII strings rather than by hardcoding numbers.
22420
d1e1d527 224212009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22422
22423 * fs/jfs.c: Update copyright year.
22424
1ebbe064 224252009-08-08 Felix Zielcke <fzielcke@z-51.de>
22426
22427 * util/grub.d/00_header.in: Fix a comment.
22428 * util/grub.d/10_linux.in: Likewise.
22429 * util/grub.d/10_windows.in: Likewise.
22430 * util/grub.d/10_hurd.in: Likewise.
22431
a78c8d24 224322009-08-08 Felix Zielcke <fzielcke@z-51.de>
22433
22434 * util/grub-mkconfig.in: Allow the user to specify the used font
22435 with GRUB_FONT.
22436
29a6b9e8 224372009-08-08 Pavel Roskin <proski@gnu.org>
22438
b5f16cc4 22439 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
22440 available, xfs.mod needs it now.
22441
2f5cb827 22442 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
22443 the "g" modifier in sed when the intention is to strip something
22444 once. This fixes comparison of kernels with multiple dashes.
22445
29a6b9e8 22446 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
22447 on it. Add missing space before closing bracket. Fix
22448 misleading formatting.
22449
892a3d98 224502009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22451
22452 * docs/grub.texi: Major overhaul. Remove all sections that are
22453 specific to GRUB Legacy, or mostly composed of Legacy-specific
22454 information.
22455
ed94253f 224562009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22457
22458 * docs/version.texi: New file. Provides version information for
22459 grub.texi.
22460
126d6628 224612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22462
22463 * docs/grub.texi: Update CVS information to SVN.
22464 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
22465
998b5aa9 224662009-08-07 Felix Zielcke <fzielcke@z-51.de>
22467
22468 * util/grub-mkconfig.in: Remove a wrong `fi'.
22469
818e094a 224702009-08-07 Felix Zielcke <fzielcke@z-51.de>
22471
22472 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
22473 (grub_jfs_uuid): New function.
22474 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
22475
b969c52f 224762009-08-07 Felix Zielcke <fzielcke@z-51.de>
22477
22478 * util/grub-mkconfig_lib.in (font_path): Move the functionality
22479 of it to ...
22480 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
22481 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
22482
7a4894cc 224832009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22484
22485 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
22486 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
22487 Update all users.
22488
22489 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
22490 not just "vmlinu[zx]".
22491 Moved from here ...
22492 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
22493 all users.
22494
22495 * util/grub.d/10_linux.in (find_latest): Moved from here ...
22496 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
22497 all users.
22498
4e2171f8 224992009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22500
22501 * util/grub.d/10_freebsd.in: Use an absolute device path for
22502 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
22503
6dcfcb32 225042009-08-06 Felix Zielcke <fzielcke@z-51.de>
22505
22506 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
22507 handling of multiple abstraction modules.
22508
f56a8756 225092009-08-04 Robert Millan <rmh.grub@aybabtu.com>
22510
22511 Fix a bug resulting in black screen when loading Linux using a
22512 packed video mode.
22513
22514 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
22515 function.
22516
22517 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
22518 (grub_vbe_bios_getset_dac_palette_width): New function.
22519 (grub_vbe_bios_get_dac_palette_width)
22520 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
22521 grub_vbe_bios_getset_dac_palette_width()).
22522
22523 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
22524 check for return status.
22525 (grub_vbe_get_video_mode_info): When getting information for a packed
22526 mode (<= 8 bpp), obtain DAC palette width using
22527 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
22528 {red,green,blue}_mark_size.
22529
222671b2 225302009-08-04 Felix Zielcke <fzielcke@z-51.de>
22531
ecb1a6d9 22532 * commands/search.c (options): Fix help output to match actual code.
222671b2 22533
f84114f5 225342009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
22535
22536 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
22537 of homegrown code.
22538
bd288a20 225392009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 22540
22541 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
22542 on XFS or ReiserFS.
22543
8aab5e25 225442009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22545
22546 Support Apple partition map with sector size different from 512 bytes.
22547
22548 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
22549 (apple_partition_map_iterate): Respect 'aheader.blocksize'
22550 and 'apart.partmap_size'.
22551
6ad6258a 225522009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
225532009-08-01 Robert Millan <rmh.grub@aybabtu.com>
22554
22555 Fix cpuid command.
22556
22557 * commands/i386/cpuid.c (options): New variable.
22558 (grub_cmd_cpuid): Return real error.
22559 (GRUB_MOD_INIT(cpuid)): Declare options.
22560
67459bc6 225612009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
22562
22563 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
22564 valid.
22565
fbc6ab54 225662009-07-31 Bean <bean123ch@gmail.com>
22567
22568 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
22569 log2_inode.
22570 (grub_fshelp_node): Move inode field to the end.
22571 (grub_xfs_data): Remove inode field.
22572 (grub_xfs_inode_block): Calculate inode size using sblock.
22573 (grub_xfs_inode_offset): Likewise.
22574 (grub_xfs_read_inode): Calculate inode size using sblock.
22575 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
22576 (grub_xfs_iterate_dir): Calculate inode size using sblock.
22577 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
22578 to match inode size.
22579 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
22580 not accessible when data is null.
22581 (grub_xfs_open): Likewise.
22582
f45d6cfc 225832009-07-31 Bean <bean123ch@gmail.com>
22584
22585 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
22586 Don't change pv->disk if it's already set.
22587
22588 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
22589 (grub_raid_register): ... here.
22590 (grub_raid_rescan): Removed.
22591
22592 * include/grub/raid.h (grub_raid_rescan): Removed.
22593
22594 * util/grub-fstest.c: Remove include file <grub/raid.h>.
22595 (fstest): Replace grub_raid_rescan with module fini function followed
22596 by init function.
22597
22598 * util/grub-probe.c: Add include file <grub/raid.h>.
22599 (probe_raid_level): New function.
22600 (probe): Detect abstraction by walking the disk device, support two
22601 level of abstraction (LVM on RAID) when detecting partition map.
22602
24443b5a 226032009-07-31 Pavel Roskin <proski@gnu.org>
22604
22605 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
22606 to grub_zalloc(), it was erroneous.
22607 Reported by Bean <bean123ch@gmail.com>
22608
a275d9e7 226092009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
22610
22611 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 22612 embedding zone, not only the first one.
a275d9e7 22613
56c5a47f 226142009-07-29 Joe Auricchio <jauricchio@gmail.com>
22615
22616 * term/gfxterm.c (clear_char): New function.
22617 (grub_virtual_screen_setup): Use clear_char.
22618 (scroll_up): Likewise.
22619 (grub_virtual_screen_cls): Likewise.
22620
67bb323a 226212009-07-29 Felix Zielcke <fzielcke@z-51.de>
22622
22623 * util/deviceiter.c (get_acceleraid_disk_name): New static
22624 function.
22625 (grub_util_iterate_devices): Handle Accelraid devices.
22626 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
22627
388a7c75 226282009-07-28 Robert Millan <rmh.grub@aybabtu.com>
22629
22630 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
22631 separator for the suggested gfxpayload string (';' collides with the
22632 parser and needs escaping).
22633
3bb7abcf 226342009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22635
22636 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
22637 Clear direction flag before jumping to OS.
22638 (grub_multiboot2_real_boot): Likewise.
22639
2ddd36d7 226402009-07-28 Felix Zielcke <fzielcke@z-51.de>
22641
22642 * util/i386/pc/grub-install: Fix parsing of --disk-module
22643 option.
22644
c521b62b 226452009-07-28 Felix Zielcke <fzielcke@z-51.de>
22646
22647 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
22648 when embedding.
22649
880e0a0c 226502009-07-26 Felix Zielcke <fzielcke@z-51.de>
22651
22652 * util/grub-mkconfig.in (package_version): New variable.
22653 Use it do display the version.
22654
2366e356 226552009-07-25 Felix Zielcke <fzielcke@z-51.de>
22656
22657 * kern/file.c (grub_file_open): Revert to previous check with
22658 grub_errno.
22659
7ad8c80e 226602009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22661
22662 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
22663 from help line. It's out of sync with code.
22664
72b9658b 226652009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22666
22667 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
22668 entries on failed boot.
22669
77435277 226702009-07-25 Felix Zielcke <fzielcke@z-51.de>
22671
22672 * kern/file.c (grub_file_open): Fix an error check.
22673
fcaa8b21 226742009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
22675
35d16c74 22676 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
22677 partition map couldn't be identified.
fcaa8b21 22678
48904cd1 226792009-07-23 Pavel Roskin <proski@gnu.org>
22680
ef3c317f 22681 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
22682 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
22683 case of little endian words becomes just an optimization.
22684 Respect const modifier.
ad8ea1f4 22685 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 22686
48904cd1 22687 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
22688 to avoid loss of upper bits if align is unsigned and shorter
22689 than addr.
22690
260c9a89 226912009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22692
22693 UUID support for UFS
22694
22695 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
22696 (grub_ufs_uuid): New function.
22697 (grub_ufs_fs): add .uuid
22698
f76ce889 226992009-07-21 Pavel Roskin <proski@gnu.org>
22700
22701 * kern/dl.c (grub_dl_check_header): Make static.
22702
6a6cbcaf 227032009-07-21 Felix Zielcke <fzielcke@z-51.de>
22704
22705 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
22706 add drivemap for Vista. It breaks Windows 7.
22707
cffcddb2 227082009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22709
22710 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
22711 128 bytes
22712
1ef44b80 227132009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22714
22715 Add BFS support
22716
22717 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
22718 (grub_fstest_SOURCES): Likewise.
22719 (pkglib_MODULES): Add befs.mod.
22720 (befs_mod_SOURCES): New variable.
22721 (befs_mod_CFLAGS): Likewise.
22722 (befs_mod_LDFLAGS): Likewise.
22723 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22726 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22727 (grub_setup_SOURCES): Likewise.
22728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22729 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22730 (grub_setup_SOURCES): Likewise.
22731 * fs/befs.c: New file.
22732 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
22733 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
22734 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
22735 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
22736 (B_KEY_INDEX_ALIGN): New declaration.
22737 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
22738 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
22739 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
22740 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
22741 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
22742 (grub_afs_mount) [MODE_BFS]: Likewise.
22743 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
22744 (grub_afs_fs): Use GRUB_AFS_FSNAME
22745 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
22746 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
22747 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
22748 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
22749
4f253044 227502009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
22751
22752 * util/getroot.c (find_root_device): Add support for MacOSX.
22753 * util/hostdisk.c: Likewise.
22754
57a55913 227552009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22756
22757 * font/font.c (find_glyph): Check whether a font is present to avoid
22758 segmentation fault.
75421ca9 22759
227602009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 22761
22762 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
22763
e98cd0c2 227642009-07-20 Pavel Roskin <proski@gnu.org>
22765
22766 * configure.ac: Trim excessively wordy excuses.
22767
1d2d169a 227682009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22769
22770 Add symlink, mtime and label support to AtheFS.
22771
22772 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
22773 (grub_afs_iterate_dir): Handle symlinks.
22774 (grub_afs_open): Use grub_afs_read_symlink.
22775 (grub_afs_dir): Likewise.
22776 Pass mtime.
22777 (grub_afs_label): New function.
22778 (grub_afs_fs): Add grub_afs_label.
22779 (grub_afs_read_symlink): New function.
22780
186f3189 227812009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22782
22783 Fix AtheFS support.
22784
22785 * fs/afs.c: Fix comments style.
22786 (grub_afs_blockrun): Declare as packed.
22787 (grub_afs_datastream): Likewise.
22788 (grub_afs_bnode): Likewise.
22789 (grub_afs_btree): Likewise.
22790 (grub_afs_sblock): Likewise.
22791 Declare `name' as char.
22792 (grub_afs_inode): Declare as packed.
22793 Change void *vnode to grub_uint32_t unused.
22794 (grub_afs_iterate_dir): Check that key_size is positive.
22795 (grub_afs_mount): Don't read superblock twice.
75421ca9 22796 (grub_afs_dir): Don't free node in case of error,
186f3189 22797 grub_fshelp_find_file already handles this.
22798 (grub_afs_open): Likewise.
22799
5680109e 228002009-07-19 Pavel Roskin <proski@gnu.org>
22801
22802 * Makefile.in: Remove LIBLZO and enable_lzo.
22803 * conf/i386-pc.rmk: Remove lzo support.
22804 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22805 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22806 support.
22807 * kern/i386/pc/lzo1x.S: Remove.
22808 * kern/i386/pc/startup.S: Remove lzo support.
22809 * util/i386/pc/grub-mkimage.c: Likewise.
22810
ac70fa32 228112009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22812
22813 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22814 * fs/xfs.c (grub_xfs_dir): Likewise.
22815 * fs/afs.c (grub_afs_dir): Likewise.
22816 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22817 (grub_iso9660_open): Likewise.
22818 * fs/jfs.c (grub_jfs_open): Likewise.
22819 * fs/ext2.c (grub_ext2_dir): Likewise.
22820 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22821 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 22822
eab58da2 228232009-07-16 Pavel Roskin <proski@gnu.org>
22824
d2838156 22825 * configure.ac: Never add "-c" to CFLAGS.
22826
55c70904 22827 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22828
43e6200c 22829 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22830 grub_cv_cc_efiemu should be used.
22831
ce7a733d 22832 * configure.ac: Typo fixes.
22833
eab58da2 22834 * kern/mm.c (grub_zalloc): New function.
22835 (grub_debug_zalloc): Likewise.
22836 * include/grub/mm.h: Declare grub_zalloc() and
22837 grub_debug_zalloc().
22838 * util/misc.c (grub_zalloc): New function.
22839 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22840 instead of grub_malloc(), remove unneeded initializations.
22841 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22842 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22843 * commands/parttool.c (grub_cmd_parttool): Likewise.
22844 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22845 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22846 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22847 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22848 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22849 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22850 (grub_cmd_efiemu_pnvram): Likewise.
22851 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22852 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22853 (grub_iso9660_iterate_dir): Likewise.
22854 * fs/jfs.c (grub_jfs_opendir): Likewise.
22855 * fs/ntfs.c (list_file): Likewise.
22856 (grub_ntfs_mount): Likewise.
22857 * kern/disk.c (grub_disk_open): Likewise.
22858 * kern/dl.c (grub_dl_load_core): Likewise.
22859 * kern/elf.c (grub_elf_file): Likewise.
22860 * kern/env.c (grub_env_context_open): Likewise.
22861 (grub_env_set): Likewise.
22862 (grub_env_set_data_slot): Likewise.
22863 * kern/file.c (grub_file_open): Likewise.
22864 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22865 * loader/i386/multiboot.c (grub_module): Likewise.
22866 * loader/xnu.c (grub_xnu_create_key): Likewise.
22867 (grub_xnu_create_value): Likewise.
22868 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22869 (read_config_file): Likewise.
22870 * normal/menu_entry.c (make_screen): Likewise.
22871 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22872 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22873 * script/sh/script.c (grub_script_parse): Likewise.
22874 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22875 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22876 * video/readers/png.c (grub_png_output_byte): Likewise.
22877 (grub_video_reader_png): Likewise.
22878
830afef7 228792009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 22880
22881 Enable all targets that can be built by default
22882
830afef7 22883 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 22884 grub-mkfont and grub-fstest if they can be built
22885
ee293aee 228862009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22887
22888 Fix hang and segmentation fault in grub-emu-usb
22889
22890 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22891 * util/usb.c (grub_libusb_devices): likewise
22892 (grub_libusb_init): rename to ...
22893 (GRUB_MOD_INIT (libusb)):...this
22894 (grub_libusb_fini): rename to ..
22895 (GRUB_MOD_FINI (libusb)):...this
22896 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22897 * include/grub/disk.h (grub_raid_init): removed, it's useless
22898 (grub_raid_fini): likewise
22899 (grub_lvm_init): likewise
22900 (grub_lvm_fini): likewise
22901 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22902 by grub_init_all
22903
94414221 229042009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22905
22906 Fix libusb
22907
22908 * Makefile.in (LIBUSB): new macro
22909 * genmk.rb (Utility/print_tail): new method
22910 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22911 (top level): call util.print_tail at the end.
22912
59ade63d 229132009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22914
22915 Make FreeBSD accept zpool.cache
22916
22917 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22918 type is /boot/zfs/zpool.cache
22919
a58da8c7 229202009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22921
22922 Fix 64-bit efiemu
22923
22924 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22925 correct wrong typedef
22926 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22927
20591577 229282009-07-15 Pavel Roskin <proski@gnu.org>
22929
560ca572 22930 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22931 * kern/disk.c (struct grub_disk_cache): Likewise.
22932
e8e8e4fd 22933 * commands/probe.c (options): Typo fix.
22934
fde24e10 22935 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22936 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22937 accordingly.
22938 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22939
379c54c1 22940 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22941 the end of "Error" to make the message more readable.
22942
7bd8f5bf 22943 * boot/i386/pc/boot.S (kernel_segment): Remove.
22944 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22945 for destination.
22946
40b132c5 22947 * boot/i386/pc/boot.S (boot_version): Remove.
22948 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22949 Remove.
22950
20591577 22951 * include/grub/i386/pc/boot.h: Sort all offsets.
22952 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22953 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22954 * boot/i386/pc/boot.S: Assert location of every offset listed in
22955 include/grub/i386/pc/boot.h.
22956
2df32b2c 229572009-07-13 Pavel Roskin <proski@gnu.org>
22958
44b5d879 22959 * include/grub/i386/coreboot/machine.h: Rename
22960 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22961 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22962 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22963
17dc3751 22964 * kern/dl.c: Force native word size to suppress warnings when
22965 compiling grub-emu.
22966
2df32b2c 22967 * kern/device.c (grub_device_iterate): Change struct part_ent to
22968 hold the name, not a pointer to it. Use one grub_malloc() per
22969 partition, not two. Free partition_name if grub_malloc() fails.
22970 Set ents to NULL only before grub_partition_iterate() is called.
22971
75c59f59 229722009-07-11 Bean <bean123ch@gmail.com>
22973
22974 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22975 childname.
22976
0ae1bf88 229772009-07-10 Bean <bean123ch@gmail.com>
229782009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22979
22980 * kern/ieee1275/openfw.c (grub_children_iterate)
22981 (grub_devalias_iterate): Fix size evaluation for property or path
22982 strings, which was broken since r2132.
22983
8279cade 229842009-07-07 Pavel Roskin <proski@gnu.org>
22985
7d8a52d3 22986 * commands/search.c (search_file): Merge into ...
22987 (search_fs): ... this. Accept search type as argument.
22988 (grub_cmd_search): Pass search type to search_fs().
22989
25f9a05a 22990 * include/grub/util/console.h: New file.
22991 * util/console.c: Use it instead of grub/machine/console.h.
22992 * util/grub-emu.c: Likewise.
22993
8279cade 22994 * lib/arg.c (find_long_option): Remove.
22995 (find_long): Add `len' argument, make `s' const char *.
22996 (grub_arg_parse): Parse long options in place, not in a
22997 temporary buffer.
22998
4a11b60f 229992009-07-06 Pavel Roskin <proski@gnu.org>
23000
99f68041 23001 * commands/search.c (search_fs): Fix potential NULL pointer
23002 dereference.
23003
4a11b60f 23004 * commands/search.c (search_fs): Replace QUID macro with quid_fn
23005 function pointer.
23006
e110f4de 230072009-07-06 Daniel Mierswa <impulze@impulze.org>
23008
23009 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
23010 comparison.
23011
46eeb6a2 230122009-07-05 Pavel Roskin <proski@gnu.org>
23013
bab74958 23014 * include/grub/i386/linux.h (struct linux_kernel_params):
23015 Restore padding3, it's still needed.
23016
46eeb6a2 23017 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
23018 FreeBSD.
23019 * util/osdetect.lua: Likewise.
23020
b4a1dc79 230212009-07-05 Bean <bean123ch@gmail.com>
23022
23023 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
23024
23025 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
23026 (grub_lua_getenv): Likewise.
23027 (grub_lua_setenv): Likewise.
23028 (save_errno): New function.
23029 (push_result): Likewise.
23030 (grub_lua_enum_device): Likewise.
23031 (grub_lua_enum_file): Likewise.
23032 (grub_lua_file_open): Likewise.
23033 (grub_lua_file_close): Likewise.
23034 (grub_lua_file_seek): Likewise.
23035 (grub_lua_file_read): Likewise.
23036 (grub_lua_file_getline): Likewise.
23037 (grub_lua_file_getsize): Likewise.
23038 (grub_lua_file_getpos): Likewise.
23039 (grub_lua_file_eof): Likewise.
23040 (grub_lua_file_exist): Likewise.
23041 (grub_lua_add_menu): Likewise.
23042
23043 * script/lua/grub_lua.h (isupper): New inline function.
23044 (islower): Likewise.
23045 (ispunct): Likewise.
23046 (isxdigit): Likewise.
23047 (strcspn): Change to normal function.
23048 (strpbkr): New function declaration.
23049 (memchr): Likewise.
23050
23051 * script/lua/grub_main.c (scan_str): New function.
23052 (strcspn): Likewise.
23053 (strpbrk): Likewise.
23054 (memchr): Likewise.
23055
23056 * script/lua/linit.c (lualibs): Enable the string library.
23057
23058 * util/osdetect.lua: New file.
23059
2da92295 230602009-07-04 Robert Millan <rmh.grub@aybabtu.com>
23061
23062 * include/grub/i386/linux.h (struct linux_kernel_params): Add
23063 `capabilities' member.
23064
b2582ec9 230652009-07-02 Pavel Roskin <proski@gnu.org>
23066
23067 * genparttoollist.sh: Add missing newline at the end.
23068
32622956 230692009-07-01 Pavel Roskin <proski@gnu.org>
23070
87a7339e 23071 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
23072
d23af54e 23073 * util/hostdisk.c (open_device): Remove `const' from
23074 `sysctl_size', as sysctlbyname() can change it (in this case it
23075 doesn't actually happen).
23076
c94b18a9 23077 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
23078 using signed long int constants.
23079
c6cd3ef0 23080 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
23081 constant to avoid a warning on FreeBSD.
23082
0df63420 23083 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
23084 where it's needed.
23085
999577f1 23086 * Makefile.in: Install include/grub/machine symlink.
23087
6f41557f 23088 * Makefile.in: When installing symlinks, use "cp -fR", which
23089 works on FreeBSD and MacOSX.
23090 From Yves Blusseau <cl7m42e02@sneakemail.com>
23091
c8d22988 23092 * kern/dl.c (grub_dl_resolve_symbol): Make static.
23093 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
23094
1b96e952 23095 * util/misc.c: Move grub_reboot() and grub_halt() ...
23096 * util/grub-emu.c: ... here. Make main_env static.
23097 * include/grub/util/misc.h: Remove main_env.
23098
2ef0084d 23099 * kern/mm.c: Use correct format to print size_t.
23100
32622956 23101 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
23102 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
23103 * kern/powerpc/dl.c: Likewise.
23104 * kern/sparc64/dl.c: Likewise.
23105 * kern/x86_64/dl.c: Likewise.
23106
3f7f0cd0 231072009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23108
23109 Fix grub-emu build on sparc64-ieee1275.
23110
75421ca9 23111 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 23112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
23113
211d06b5 231142009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23115
23116 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
23117 (grub_reboot, grub_halt): New functions.
23118
23119 * util/i386/pc/misc.c: Delete. Update all users.
23120 * util/sparc64/ieee1275/misc.c: Likewise.
23121 * util/powerpc/ieee1275/misc.c: Likewise.
23122
aaf53e3c 231232009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23124
23125 * conf/i386.rmk (setjmp_mod_SOURCES)
23126 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
23127 * conf/common.rmk (setjmp_mod_SOURCES)
23128 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
23129 to use $(target_cpu).
23130 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
23131 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
23132 * conf/powerpc-ieee1275.rmk: Likewise.
23133 * conf/sparc64-ieee1275.rmk: Likewise.
23134
23135 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
23136 $(target_cpu) for kern/$(target_cpu)/dl.c.
23137 * conf/i386-efi.rmk: Likewise.
23138 * conf/i386-ieee1275.rmk: Likewise.
23139 * conf/x86_64-efi.rmk: Likewise.
23140 * conf/i386-coreboot.rmk: Likewise.
23141 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
23142 $(target_cpu) for kern/$(target_cpu)/dl.c and for
23143 kern/$(target_cpu)/cache.S.
23144 * conf/sparc64-ieee1275.rmk: Likewise.
23145
a337130b 231462009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23147
23148 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
23149 type to `grub_uint8_t', and adjust `padding9' accordingly.
23150
c6fe4d53 231512009-06-29 Robert Millan <rmh.grub@aybabtu.com>
23152
b09db61d 23153 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
23154
c6fe4d53 23155 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
23156 assembly in final jump, using register constraints.
23157
b09db61d 23158 (grub_linux_boot): For text mode, initialize `have_vga' using
23159 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
23160
23161 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
23162 right before the final jump.
23163
23164 Set `video_mode' to 0x3.
23165
23166 Document initialization of `video_page', `video_mode' and
23167 `video_ega_bx'.
23168
28333ad0 231692009-06-29 Robert Millan <rmh.grub@aybabtu.com>
23170
23171 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
23172 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 23173 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 23174
02164e1b 231752009-06-29 Robert Millan <rmh.grub@aybabtu.com>
23176
23177 Fix build on Debian / sparc.
23178
23179 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
23180
18b6c557 231812009-06-28 Pavel Roskin <proski@gnu.org>
23182
85f2aab6 23183 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
23184 fix a warning.
23185
18b6c557 23186 * util/grub.d/10_linux.in: Match SUSE style initrd names.
23187
ad760f81 231882009-06-27 Robert Millan <rmh.grub@aybabtu.com>
23189
23190 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
23191 `err'.
23192
87a4623b 231932009-06-27 Robert Millan <rmh.grub@aybabtu.com>
23194
23195 Revert r2338.
23196
23197 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
23198 file can't be opened. grub_file_open() is already supposed to set
75421ca9 23199 grub_errno / grub_errmsg appropriately.
87a4623b 23200 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23201
8231fb77 232022009-06-27 Pavel Roskin <proski@gnu.org>
232032009-06-27 Robert Millan <rmh.grub@aybabtu.com>
23204
23205 * include/grub/dl.h: Include grub/elf.h.
23206 (struct grub_dl): Add symtab field.
23207 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
23208 GRUB_MODULES_MACHINE_READONLY.
23209 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
23210 of the header for read-only modules.
23211 (grub_dl_unload): Free mod->symtab for read-only modules.
23212 * kern/i386/dl.c: Use mod->symtab.
23213 * kern/powerpc/dl.c: Likewise.
23214 * kern/sparc64/dl.c: Likewise.
23215 * kern/x86_64/dl.c: Likewise.
23216
23217 * conf/i386-qemu.rmk: New file.
23218 * kern/i386/qemu/startup.S: Likewise.
23219 * kern/i386/qemu/mmap.c: Likewise.
23220 * boot/i386/qemu/boot.S: Likewise.
23221 * include/grub/i386/qemu/time.h: Likewise.
23222 * include/grub/i386/qemu/serial.h: Likewise.
23223 * include/grub/i386/qemu/kernel.h: Likewise.
23224 * include/grub/i386/qemu/console.h: Likewise.
23225 * include/grub/i386/qemu/boot.h: Likewise.
23226 * include/grub/i386/qemu/init.h: Likewise.
23227 * include/grub/i386/qemu/machine.h: Likewise.
23228 * include/grub/i386/qemu/loader.h: Likewise.
23229 * include/grub/i386/qemu/memory.h: Likewise.
23230
23231 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
23232 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
23233 [qemu] (pkglib_IMAGES): Add `boot.img'.
23234 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
23235 [qemu] (boot_img_FORMAT): New variables.
23236 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
23237 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
23238 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
23239 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23240 [qemu] (kernel_img_FORMAT): New variables.
23241
23242 * configure.ac: Recognise `i386-qemu'.
23243
23244 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
23245 (for no compression).
23246 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
23247 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
23248 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
23249 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
23250 ifdefs).
23251
97fe384e 232522009-06-27 Pavel Roskin <proski@gnu.org>
23253
23254 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
23255 read.
23256 * efiemu/prepare32.c: Likewise.
23257 * efiemu/prepare64.c: Likewise.
23258
c402ab17 232592009-06-26 Pavel Roskin <proski@gnu.org>
23260
23261 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
23262 * include/grub/elf.h: Define symbols without "32" or "64" based
23263 on GRUB_TARGET_WORDSIZE.
23264 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
23265 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
23266 ELF definitions.
23267 * efiemu/loadcore64.c: Likewise.
23268 * loader/i386/bsd32.c: Likewise.
23269 * loader/i386/bsd64.c: Likewise.
23270 * kern/dl.c: Remove own ELF definitions.
23271 * util/i386/efi/grub-mkimage.c: Likewise.
23272
9bbdfd4d 232732009-06-23 Robert Millan <rmh.grub@aybabtu.com>
23274
23275 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
23276 segment 0x0 unconditionally, because the reference generated by
23277 GAS is an absolute address.
23278
a42ce6e9 232792009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23280
23281 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
23282 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
23283
c952cf92 232842009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23285
23286 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
23287 indexes. Check for -f explicitly.
cc3752ad 23288 (search_file): Improve error message.
23289 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 23290
132a0a59 232912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23292
23293 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
23294 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
23295
387a140c 232962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23297
23298 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
23299 * conf/i386-ieee1275.rmk: Likewise.
23300 * conf/i386-coreboot.rmk: Likewise.
23301
23302 * kern/i386/pc/startup.S (grub_stop): Remove function.
23303 * kern/i386/ieee1275/startup.S: Likewise.
23304 * kern/i386/coreboot/startup.S: Likewise.
23305 * kern/i386/misc.S (grub_stop): New function.
23306
41da9665 233072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23308
23309 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
23310 * kern/i386/realmode.S (real_to_prot): ... to here.
23311
bf337234 233122009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23313
23314 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
23315 with `kernel.img'.
23316 (kernel_elf_SOURCES): Rename to ...
23317 (kernel_img_SOURCES): ... this.
23318 (kernel_elf_HEADERS): Rename to ...
23319 (kernel_img_HEADERS): ... this. Update all users.
23320 (kernel_elf_ASFLAGS): Rename to ...
23321 (kernel_img_ASFLAGS): ... this.
23322 (kernel_elf_CFLAGS): Rename to ...
23323 (kernel_img_CFLAGS): ... this.
23324 (kernel_elf_LDFLAGS): Rename to ...
23325 (kernel_img_LDFLAGS): ... this.
23326 * conf/i386-coreboot.rmk: Likewise.
23327 * conf/powerpc-ieee1275.rmk: Likewise.
23328
23329 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
23330 with "kernel.img".
23331
f52196ff 233322009-06-21 Pavel Roskin <proski@gnu.org>
23333
c3cee413 23334 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
23335 to match nested functions.
23336 * loader/sparc64/ieee1275/linux.c: Likewise.
23337
f52196ff 23338 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
23339
58750afc 233402009-06-21 Robert Millan <rmh.grub@aybabtu.com>
23341
23342 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
23343 all i386 platforms.
23344
15355c7d 233452009-06-21 Robert Millan <rmh.grub@aybabtu.com>
23346
23347 Fix asm file handling on ELF, and remove workarounds.
23348
23349 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 23350 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 23351 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
23352 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
23353
3f3ec72b 233542009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
23355
23356 Load BSD ELF modules
23357
23358 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
23359 and loader/i386/bsd64.c
23360 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
23361 (FREEBSD_MODTYPE_ELF_MODULE): New definition
23362 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
23363 (grub_freebsd_load_elfmodule32): New declaration
23364 (grub_freebsd_load_elfmoduleobj64): Likewise
23365 (grub_freebsd_load_elf_meta32): Likewise
23366 (grub_freebsd_load_elf_meta64): Likewise
23367 (grub_freebsd_add_meta): Likewise
23368 (grub_freebsd_add_meta_module): Likewise
23369 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
23370 (grub_freebsd_add_meta_module): Likewise and move module-specific
23371 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
23372 (grub_cmd_freebsd): Add elf-kernel specific parts
23373 based on grub_freebsd_add_meta_module
23374 (grub_cmd_freebsd_module): Add type parsing moved from
23375 grub_freebsd_add_meta_module
23376 (grub_cmd_freebsd_module_elf): New function
23377 (cmd_freebsd_module_elf): New variable
23378 (GRUB_MOD_INIT): Register freebsd_module_elf
23379 * loader/i386/bsd32.c: New file
23380 * loader/i386/bsd64.c: Likewise
23381 * loader/i386/bsdXX.c: Likewise
23382 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
23383 (grub_elf64_load): Likewise
23384 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
23385 All users updated
23386 (grub_elf64_load_hook_t): Likewise
23387
0db15301 233882009-06-21 Colin Watson <cjwatson@ubuntu.com>
23389
23390 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
23391 variable.
23392 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
23393 don't write a menu entry for recovery mode.
23394
546796c1 233952009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23396
23397 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
23398 after it's no longer needed.
23399
cd7310d5 234002009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23401
23402 * include/grub/i386/loader.h (grub_linux_prot_size)
23403 (grub_linux_tmp_addr, grub_linux_real_addr)
23404 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
23405 GRUB_MACHINE_PCBIOS.
23406 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
23407 common grub_util_info() call to ...
23408 (generate_image): ... here.
23409 Fix use of uninitialized memory, comparison of signed with
23410 unsigned integers and memory leak.
23411 Remove bogus module address message.
23412
ab32d3b5 234132009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23414
23415 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
23416 grub_raid_register
23417 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
23418
024ef597 234192009-06-19 Pavel Roskin <proski@gnu.org>
23420
23421 * configure.ac: Remove stray AC_MSG_CHECKING.
23422
3ac72b51 234232009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
23424
23425 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 23426
e14cd814 234272009-06-18 Pavel Roskin <proski@gnu.org>
23428
23429 * conf/common.rmk: Add fs_file.mod.
23430 * disk/fs_file.c: New file.
23431 * include/grub/disk.h (enum grub_disk_dev_id): Add
23432 GRUB_DISK_DEVICE_FILE_ID.
23433
26586d98 234342009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23435
23436 Fix build with Apple's toolchain. Part 2
23437
23438 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
23439 a fake start
23440
26de2bcd 234412009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23442
23443 Fix build with Apple's toolchain. Part 1
23444
23445 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
23446 for long calls
23447 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 23448 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 23449 Apple's toolchain
23450
09b3490b 234512009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 Fix warnings
23454
23455 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
23456 (decomp_block): initialize ch
23457 use grub_memcpy instead of memcpy
23458
c22a006a 234592009-06-17 Pavel Roskin <proski@gnu.org>
23460
d3638678 23461 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
23462 version, use declarations needed to use vga_text as the startup
23463 console.
23464
c22a006a 23465 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
23466 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
23467 the kernel.
23468 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
23469 and grub_at_keyboard_fini(), it's done on module load and
23470 unload.
23471
05b129e0 234722009-06-17 Felix Zielcke <fzielcke@z-51.de>
23473
23474 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
23475 file can't be found.
23476 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23477
cf24ed9e 234782009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23479
23480 Fix newline handling
23481
23482 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 23483 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 23484 (grub_script_yylex): don't segfault on unterminated script
23485 newline terminates command and variable
23486
74aa8e4b 234872009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23488
23489 avoid double grub_adjust_range call. Bug reported by David Simner
23490
23491 * kern/disk.c (grub_disk_write): change to raw disk access before
23492 calling disk_read
23493
1bd265f3 234942009-06-17 Colin Watson <cjwatson@ubuntu.com>
23495
23496 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
23497 spaces, for the benefit of help2man.
23498 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23499
a2d08c06 235002009-06-16 Pavel Roskin <proski@gnu.org>
23501
23502 * kern/i386/halt.c: Include grub/machine/init.h.
23503 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
23504
b97bcb19 235052009-06-16 Felix Zielcke <fzielcke@z-51.de>
23506
23507 * util/grub.d/30_os-prober.in: Use ${root} in the generated
23508 drivemap menuentry.
23509
0644f96c 235102009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
23511
23512 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
23513 `echo' command.
23514
3ef17a2e 235152009-06-16 Pavel Roskin <proski@gnu.org>
23516
23517 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
23518 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
23519 save %dx, we only need %dl and we never change it.
23520 * boot/i386/pc/cdboot.S: Don't set the root drive.
23521 * boot/i386/pc/pxeboot.S: Likewise.
23522 * include/grub/i386/pc/boot.h: Remove
23523 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
23524 GRUB_BOOT_MACHINE_DRIVE_CHECK.
23525 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
23526 * kern/i386/pc/init.c (make_install_device): Remove references
23527 to grub_root_drive.
23528 * kern/i386/pc/startup.S: Likewise.
23529 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
23530
693fe637 235312009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23532
23533 xnu_uuid command
23534
23535 * commands/xnu_uuid.c: new file
23536 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
23537 (xnu_uuid_mod_SOURCES): new variable
23538 (xnu_uuid_mod_CFLAGS): likewise
23539 (xnu_uuid_mod_LDFLAGS): likewise
23540 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23541 * conf/i386-ieee1275.rmk: likewise
23542 * conf/i386-pc.rmk: likewise
23543 * conf/powerpc-ieee1275.rmk: likewise
23544 * conf/sparc64-ieee1275.rmk: likewise
23545 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
23546
c9da87d0 235472009-06-16 Pavel Roskin <proski@gnu.org>
23548
23549 * configure.ac: Avoid '==' in test command, it's not portable.
23550
9c6f4596 235512009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23552
23553 Probe command
23554
23555 * commands/probe.c: new file
23556 * conf/common.rmk (pkglib_MODULES): add probe.mod
23557 (probe_mod_SOURCES): new variable
23558 (probe_mod_CFLAGS): likewise
23559 (probe_mod_LDFLAGS): likewise
23560 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23561 * conf/i386-ieee1275.rmk: likewise
23562 * conf/i386-pc.rmk: likewise
23563 * conf/powerpc-ieee1275.rmk: likewise
23564 * conf/sparc64-ieee1275.rmk: likewise
23565
70b7f9fd 235662009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
23567
23568 Fix handling of string like \"hello\" and "a
23569 b"
23570
23571 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
23572 (grub_script_yylex): fix parsing of quoting, escaping and newline
23573
71c79a6b 235742009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
23575
dd74360c 23576 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 23577 handling
dd74360c 23578
0644f96c 235792009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 23580
23581 * util/grub-mkconfig.in: Fix parsing of --output option.
23582
e40893c3 235832009-06-12 Pavel Roskin <proski@gnu.org>
23584
23585 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
23586 genmk.rb don't need to be generated or installed.
23587
3a1acfe2 235882009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23589
23590 * commands/i386/pc/drivemap_int13h.S: add more comments
23591
3a4575d4 235922009-06-11 Pavel Roskin <proski@gnu.org>
23593
0658e928 23594 * Makefile.in (uninstall): Uninstall manuals.
23595
ca0388f0 23596 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
23597 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
23598 and update-grub_lib in two places.
23599 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
23600
e3b27c39 23601 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
23602 a compiler warning.
23603
3a4575d4 23604 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
23605 `entry_lo' to fix variable shadowing.
23606
af1f4f55 236072009-06-11 Christian Franke <franke@computer.org>
23608
23609 * kern/misc.c (__enable_execute_stack): Add missing return type
23610 to prevent gcc warning.
23611
5225e649 236122009-06-11 Felix Zielcke <fzielcke@z-51.de>
23613
23614 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
23615
7d83bd47 236162009-06-11 Pavel Roskin <proski@gnu.org>
23617
c1cb63ba 23618 * Makefile.in: Don't rely on any scripts being executable.
23619 Always use $(SHELL) to run shell scripts.
23620
7d83bd47 23621 * configure.ac: Always define ___main if using -nostdlib. This
23622 fixes tests on Cygwin.
23623
948f48e7 236242009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
23625
23626 UDF fix
23627
7d83bd47 23628 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 23629 is in bytes and not in blocks
7d83bd47 23630
8ada9bc1 236312009-06-11 Pavel Roskin <proski@gnu.org>
23632
23633 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
23634 warning.
23635
25ad2323 236362009-06-11 Felix Zielcke <fzielcke@z-51.de>
23637
23638 * util/grub.d/30_os-prober.in: Fix a comment. Source
23639 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
23640 to set the root device. Place drivemap command in the generated
23641 chain entry.
23642
e65acb0c 236432009-06-11 Pavel Roskin <proski@gnu.org>
23644
23645 * configure.ac: Remove host_m32. Issues with 64-bit utilities
23646 have long been resolved.
23647
f285fe2d 236482009-06-11 Colin Watson <cjwatson@ubuntu.com>
23649
bd47b0b5 23650 * util/grub.d/10_linux.in: Capitalise "Linux".
23651
f285fe2d 23652 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
23653
a0c62e4e 236542009-06-11 Pavel Roskin <proski@gnu.org>
23655
b6783cb2 23656 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
23657 fix a gcc warning and ensure that the function won't ever exit.
23658
dde032e8 23659 * kern/i386/ieee1275/init.c: Add missing prototype for
23660 grub_stop_floppy().
23661
22cd079d 23662 * loader/ieee1275/multiboot2.c [__i386__]: Include
23663 grub/cpu/multiboot.h.
23664
a0c62e4e 23665 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
23666 casts to short - they are not portable and cause warnings. Fix
23667 use of uninitialized values in input_buf. Use ARRAY_SIZE.
23668
63963d17 236692009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
23670
23671 Drivemap fixes
23672
23673 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
23674 new function
23675 (grub_get_root_biosnumber_saved): new variable
23676 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
23677 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 23678 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 23679 %dx after the call if necessary
23680 * conf/common.rmk (pkglib_MODULES): remove boot.mod
23681 (boot_mod_SOURCES): remove
23682 (boot_mod_CFLAGS): remove
23683 (boot_mod_LDFLAGS): remove
23684 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
23685 (boot_mod_SOURCES): new variable
23686 (boot_mod_CFLAGS): likewise
23687 (boot_mod_LDFLAGS): likewise
23688 * conf/i386-efi.rmk: likewise
23689 * conf/i386-ieee1275.rmk: likewise
23690 * conf/i386-pc.rmk: likewise
23691 * conf/powerpc-ieee1275.rmk: likewise
23692 * conf/sparc64-ieee1275.rmk: likewise
23693 * conf/x86_64-efi.rmk: likewise
23694 * include/grub/i386/pc/biosnum.h: new file
23695 * lib/i386/pc/biosnum.c: likewise
23696 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
23697 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
23698 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 23699
33abf7ae 237002009-06-10 Pavel Roskin <proski@gnu.org>
23701
5ac35b35 23702 * io/gzio.c (test_header): Don't reuse one buffer for all data.
23703 Use separate variables. Read only the file size at the end, but
23704 not the checksum that we don't use.
23705
5c5215d5 23706 * kern/file.c (grub_file_read): Use void pointer for the buffer.
23707 Adjust all callers.
23708
27d5fef7 23709 * kern/ieee1275/openfw.c: Remove libc includes.
23710 * kern/ieee1275/cmain.c: Likewise.
23711 * include/grub/ieee1275/ieee1275.h: Likewise.
23712
33abf7ae 23713 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
23714 compiler warnings.
23715
19d50c2b 237162009-06-10 Felix Zielcke <fzielcke@z-51.de>
23717
23718 * Makefile.in: Remove all trailing whitespace.
23719 * conf/i386-pc.rmk: Likewise.
23720 * conf/powerpc-ieee1275.rmk: Likewise.
23721 * conf/sparc64-ieee1275.rmk: Likewise.
23722 * docs/grub.texi: Likewise.
23723 * docs/texinfo.tex: Likewise.
23724 * disk/fs_uuid.c: Likewise.
23725 * disk/lvm.c: Likewise.
23726 * disk/scsi.c: Likewise.
23727 * disk/ata.c: Likewise.
23728 * disk/ieee1275/ofdisk.c: Likewise.
23729 * disk/i386/pc/biosdisk.c: Likewise.
23730 * disk/host.c: Likewise.
23731 * disk/raid.c: Likewise.
23732 * disk/efi/efidisk.c: Likewise.
23733 * disk/usbms.c: Likewise.
23734 * disk/memdisk.c: Likewise.
23735 * disk/loopback.c: Likewise.
23736 * kern/powerpc/dl.c: Likewise.
23737 * kern/device.c: Likewise.
23738 * kern/dl.c: Likewise.
23739 * kern/sparc64/dl.c: Likewise.
23740 * kern/ieee1275/ieee1275.c: Likewise.
23741 * kern/term.c: Likewise.
23742 * kern/fs.c: Likewise.
23743 * kern/i386/dl.c: Likewise.
23744 * kern/i386/pc/startup.S: Likewise.
23745 * kern/i386/pc/init.c: Likewise.
23746 * kern/i386/pc/mmap.c: Likewise.
23747 * kern/i386/pc/lzo1x.S: Likewise.
23748 * kern/i386/ieee1275/init.c: Likewise.
23749 * kern/i386/realmode.S: Likewise.
23750 * kern/i386/tsc.c: Likewise.
23751 * kern/partition.c: Likewise.
23752 * kern/corecmd.c: Likewise.
23753 * kern/file.c: Likewise.
23754 * kern/efi/efi.c: Likewise.
23755 * kern/efi/init.c: Likewise.
23756 * kern/efi/mm.c: Likewise.
23757 * kern/main.c: Likewise.
23758 * kern/err.c: Likewise.
23759 * kern/env.c: Likewise.
23760 * kern/disk.c: Likewise.
23761 * kern/generic/millisleep.c: Likewise.
23762 * kern/generic/rtc_get_time_ms.c: Likewise.
23763 * kern/misc.c: Likewise.
23764 * kern/parser.c: Likewise.
23765 * genmk.rb: Likewise.
23766 * configure.ac: Likewise.
23767 * boot/i386/pc/diskboot.S: Likewise.
23768 * boot/i386/pc/pxeboot.S: Likewise.
23769 * boot/i386/pc/boot.S: Likewise.
23770 * boot/i386/pc/lnxboot.S: Likewise.
23771 * boot/i386/pc/cdboot.S: Likewise.
23772 * parttool/pcpart.c: Likewise.
23773 * video/readers/tga.c: Likewise.
23774 * video/video.c: Likewise.
23775 * video/bitmap.c: Likewise.
23776 * lib/envblk.c: Likewise.
23777 * lib/i386/setjmp.S: Likewise.
23778 * fs/xfs.c: Likewise.
23779 * fs/afs.c: Likewise.
23780 * fs/fat.c: Likewise.
23781 * fs/ntfs.c: Likewise.
23782 * fs/udf.c: Likewise.
23783 * fs/affs.c: Likewise.
23784 * fs/iso9660.c: Likewise.
23785 * fs/hfs.c: Likewise.
23786 * fs/fshelp.c: Likewise.
23787 * fs/ext2.c: Likewise.
23788 * fs/jfs.c: Likewise.
23789 * fs/reiserfs.c: Likewise.
23790 * fs/hfsplus.c: Likewise.
23791 * fs/minix.c: Likewise.
23792 * fs/cpio.c: Likewise.
23793 * fs/sfs.c: Likewise.
23794 * fs/ufs.c: Likewise.
23795 * efiemu/prepare.c: Likewise.
23796 * efiemu/loadcore_common.c: Likewise.
23797 * efiemu/runtime/efiemu.sh: Likewise.
23798 * efiemu/runtime/efiemu.S: Likewise.
23799 * efiemu/runtime/efiemu.c: Likewise.
23800 * efiemu/pnvram.c: Likewise.
23801 * efiemu/main.c: Likewise.
23802 * efiemu/i386/pc/cfgtables.c: Likewise.
23803 * efiemu/i386/loadcore64.c: Likewise.
23804 * efiemu/i386/loadcore32.c: Likewise.
23805 * efiemu/loadcore.c: Likewise.
23806 * efiemu/symbols.c: Likewise.
23807 * efiemu/mm.c: Likewise.
23808 * include/grub/autoefi.h: Likewise.
23809 * include/grub/datetime.h: Likewise.
23810 * include/grub/term.h: Likewise.
23811 * include/grub/hfs.h: Likewise.
23812 * include/grub/lvm.h: Likewise.
23813 * include/grub/i386/tsc.h: Likewise.
23814 * include/grub/i386/linux.h: Likewise.
23815 * include/grub/i386/xnu.h: Likewise.
23816 * include/grub/i386/efiemu.h: Likewise.
23817 * include/grub/i386/pc/biosdisk.h: Likewise.
23818 * include/grub/i386/pc/memory.h: Likewise.
23819 * include/grub/i386/pc/vbe.h: Likewise.
23820 * include/grub/parttool.h: Likewise.
23821 * include/grub/video.h: Likewise.
23822 * include/grub/memory.h: Likewise.
23823 * include/grub/fs.h: Likewise.
23824 * include/grub/partition.h: Likewise.
23825 * include/grub/xnu.h: Likewise.
23826 * include/grub/efi/api.h: Likewise.
23827 * include/grub/efi/pe32.h: Likewise.
23828 * include/grub/efi/memory.h: Likewise.
23829 * include/grub/multiboot.h: Likewise.
23830 * include/grub/usbdesc.h: Likewise.
23831 * include/grub/multiboot2.h: Likewise.
23832 * include/grub/acpi.h: Likewise.
23833 * include/grub/efiemu/efiemu.h: Likewise.
23834 * include/grub/disk.h: Likewise.
23835 * include/grub/ieee1275/ieee1275.h: Likewise.
23836 * include/grub/net.h: Likewise.
23837 * include/grub/machoload.h: Likewise.
23838 * include/grub/macho.h: Likewise.
23839 * include/multiboot.h: Likewise.
23840 * genmoddep.awk: Likewise.
23841 * normal/main.c: Likewise.
23842 * normal/menu_entry.c: Likewise.
23843 * normal/menu_viewer.c: Likewise.
23844 * normal/completion.c: Likewise.
23845 * normal/cmdline.c: Likewise.
23846 * normal/misc.c: Likewise.
23847 * normal/datetime.c: Likewise.
23848 * bus/usb/usbtrans.c: Likewise.
23849 * bus/usb/ohci.c: Likewise.
23850 * bus/usb/uhci.c: Likewise.
23851 * bus/usb/usb.c: Likewise.
23852 * mmap/efi/mmap.c: Likewise.
23853 * mmap/i386/pc/mmap_helper.S: Likewise.
23854 * mmap/i386/pc/mmap.c: Likewise.
23855 * mmap/i386/mmap.c: Likewise.
23856 * mmap/i386/uppermem.c: Likewise.
23857 * mmap/mmap.c: Likewise.
23858 * commands/acpi.c: Likewise.
23859 * commands/echo.c: Likewise.
23860 * commands/blocklist.c: Likewise.
23861 * commands/loadenv.c: Likewise.
23862 * commands/usbtest.c: Likewise.
23863 * commands/boot.c: Likewise.
23864 * commands/parttool.c: Likewise.
23865 * commands/search.c: Likewise.
23866 * commands/cat.c: Likewise.
23867 * commands/i386/pc/play.c: Likewise.
23868 * commands/i386/pc/drivemap.c: Likewise.
23869 * commands/i386/pc/vbeinfo.c: Likewise.
23870 * commands/i386/pc/acpi.c: Likewise.
23871 * commands/i386/pc/vbetest.c: Likewise.
23872 * commands/ls.c: Likewise.
23873 * commands/cmp.c: Likewise.
23874 * commands/test.c: Likewise.
23875 * commands/efi/acpi.c: Likewise.
23876 * commands/gptsync.c: Likewise.
23877 * commands/help.c: Likewise.
23878 * partmap/amiga.c: Likewise.
23879 * partmap/apple.c: Likewise.
23880 * partmap/acorn.c: Likewise.
23881 * partmap/pc.c: Likewise.
23882 * partmap/sun.c: Likewise.
23883 * partmap/gpt.c: Likewise.
23884 * script/sh/lexer.c: Likewise.
23885 * script/sh/function.c: Likewise.
23886 * font/font.c: Likewise.
23887 * font/font_cmd.c: Likewise.
23888 * loader/powerpc/ieee1275/linux.c: Likewise.
23889 * loader/efi/chainloader.c: Likewise.
23890 * loader/multiboot_loader.c: Likewise.
23891 * loader/macho.c: Likewise.
23892 * loader/i386/multiboot.c: Likewise.
23893 * loader/i386/linux.c: Likewise.
23894 * loader/i386/pc/linux.c: Likewise.
23895 * loader/i386/pc/multiboot2.c: Likewise.
23896 * loader/i386/pc/chainloader.c: Likewise.
23897 * loader/i386/pc/xnu.c: Likewise.
23898 * loader/i386/bsd_trampoline.S: Likewise.
23899 * loader/i386/efi/linux.c: Likewise.
23900 * loader/i386/multiboot_elfxx.c: Likewise.
23901 * loader/i386/bsd_helper.S: Likewise.
23902 * loader/i386/bsd.c: Likewise.
23903 * loader/i386/linux_trampoline.S: Likewise.
23904 * loader/i386/xnu_helper.S: Likewise.
23905 * loader/i386/xnu.c: Likewise.
23906 * loader/i386/bsd_pagetable.c: Likewise.
23907 * loader/i386/multiboot_helper.S: Likewise.
23908 * loader/xnu.c: Likewise.
23909 * loader/xnu_resume.c: Likewise.
23910 * io/gzio.c: Likewise.
23911 * term/efi/console.c: Likewise.
23912 * term/terminfo.c: Likewise.
23913 * term/ieee1275/ofconsole.c: Likewise.
23914 * term/i386/pc/serial.c: Likewise.
23915 * term/i386/pc/vesafb.c: Likewise.
23916 * term/i386/pc/vga.c: Likewise.
23917 * term/usb_keyboard.c: Likewise.
23918 * term/gfxterm.c: Likewise.
23919 * aclocal.m4: Likewise.
23920 * util/lvm.c: Likewise.
23921 * util/grub.d/30_os-prober.in: Likewise.
23922 * util/grub.d/10_hurd.in: Likewise.
23923 * util/console.c: Likewise.
23924 * util/grub-macho2img.c: Likewise.
23925 * util/grub-probe.c: Likewise.
23926 * util/hostfs.c: Likewise.
23927 * util/i386/pc/grub-mkimage.c: Likewise.
23928 * util/i386/pc/grub-setup.c: Likewise.
23929 * util/i386/efi/grub-mkimage.c: Likewise.
23930 * util/grub-mkconfig.in: Likewise.
23931 * util/raid.c: Likewise.
23932 * util/resolve.c: Likewise.
23933 * util/grub-mkdevicemap.c: Likewise.
23934 * util/grub-emu.c: Likewise.
23935 * util/getroot.c: Likewise.
23936 * util/hostdisk.c: Likewise.
23937 * util/usb.c: Likewise.
23938 * util/grub-editenv.c: Likewise.
23939 * util/misc.c: Likewise.
23940
d2d49665 239412009-06-10 Felix Zielcke <fzielcke@z-51.de>
23942
23943 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23944 `genparttoollist.sh'.
23945 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23946 Add `*.sh' to the list find searches for and change `mdate.sh'
23947 to `mdate-sh'.
23948
fe052e37 239492009-06-10 Pavel Roskin <proski@gnu.org>
23950
2763ac18 23951 * include/grub/multiboot2.h: Provide compatibility defines for
23952 multiboot2.h.
23953 * include/multiboot2.h: Include stdint.h only if needed, using
23954 angle brackets.
23955 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23956 grub/multiboot2.h.
23957 * loader/ieee1275/multiboot2.c: Likewise.
23958 * loader/multiboot2.c: Likewise.
23959 * loader/multiboot_loader.c: Likewise.
23960
437e6adc 23961 * configure.ac: Use -nostdlib when probing for the target. It
23962 should not be required to have libc for the target.
23963
06a6836c 23964 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23965 they fail without libc headers for the target.
23966 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23967 exports.
23968 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23969 preprocessor conditionals.
23970
fe052e37 23971 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23972 build system doesn't need to be aware of the tar.c internals.
23973
afd22553 239742009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 23975
afd22553 23976 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 23977
6b787c4f 239782009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23979
23980 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23981 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23982
239832009-06-09 Felix Zielcke <fzielcke@z-51.de>
23984
23985 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 23986 aren't available if ata.mod gets used.
6b787c4f 23987
473d1e45 239882009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 23989
473d1e45 23990 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 23991 initialising controller.
473d1e45 23992 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 23993
255a27d4 239942009-06-08 Felix Zielcke <fzielcke@z-51.de>
23995
23996 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23997 to choose between ata and biosdisk module on i386-pc.
23998
473d1e45 239992009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 24000
d55842d8 24001 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
24002 Subclass and Programming Interface fields in terms of the 3 byte
24003 Class Code register.
24004 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24005
fa5db0b1 24006 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
24007 interface is OHCI. Add grub_dprintf for symmetry with
24008 bus/usb/uhci.c.
24009 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
24010 interface is UHCI. Add interf variable for programming
24011 interface. Print interface with class/subclass.
24012
c0947beb 24013 * bus/usb/ohci.c: Set interf with correct field.
24014
69da8877 24015 * bus/usb/uhci.c: Remove unneeded doubled lines.
24016 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
24017 Remove whitespace inside comment.
24018
9e172e30 240192009-06-08 Robert Millan <rmh.grub@aybabtu.com>
24020
24021 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
24022 as fallback an equivalent option without depth.
24023
de65ee2b 240242009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24025
24026 Not fail if unable to retrieve C/H/S on LBA disks
24027
473d1e45 24028 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 24029 if unable to retrieve C/H/S on LBA disks
24030
b57ea2c9 240312009-06-08 Pavel Roskin <proski@gnu.org>
24032
24033 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
24034 about aliasing.
24035
af361263 240362009-06-08 Felix Zielcke <fzielcke@z-51.de>
24037
24038 * Makefile.in (uninstall): Remove all $lib_DATA files.
24039
4c9ec6b3 240402009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24041
24042 Bugfix: install on partitionless device
24043
24044 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
24045 is a whole disk
24046
e76fc924 240472009-06-08 Felix Zielcke <fzielcke@z-51.de>
24048
24049 * Makefile.in (uninstall): Remove all $include_DATA files.
24050
ba5a0d05 240512009-06-08 Felix Zielcke <fzielcke@z-51.de>
24052
24053 * commands/true.c: New file. Implement the true and false commands.
24054 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
24055 (true_mod_SOURCES): New variable.
24056 (true_mod_CFLAGS): Likewise.
24057 (true_mod_LDFLAGS): Likewise.
24058
c8048e32 240592009-06-05 Colin D Bennett <colin@gibibit.com>
24060
24061 Optimized font character lookup using binary search instead of linear
24062 search. Fonts now are required to have the character index ordered by
24063 code point.
24064
24065 * font/font.c (load_font_index): Verify that fonts have ordered
24066 character indices.
24067 (find_glyph): Use binary search instead of linear search to find a
24068 character in a font.
24069
408305be 240702009-06-05 Michael Scherer <misc@mandriva.org>
24071
24072 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
24073 uses case sensitive btree.
24074 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
24075 only for case insensitive filesystems.
24076
8ee1e0d9 240772009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
24078
24079 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
24080 * conf/common.rmk (search_mod_CFLAGS): likewise
24081
a9966eb1 240822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24083
473d1e45 24084 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 24085 compensate a compiler bug
24086
9e7100fb 240872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24088
473d1e45 24089 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 24090 instead of '\b'
473d1e45 24091
ede21d71 240922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24093
24094 Definitions for creating asm symbols with Apple's CC
24095
24096 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
24097 [APPLE_CC] (VARIABLE): likewise
24098
9dbf7653 240992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24100
24101 Disable lnxboot.img when compiled
24102 with Apple's CC
24103
24104 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
24105 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
24106 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
24107 [! APPLE_CC] (CODE_LENG): skip
24108 [! APPLE_CC] (setup_sects): likewise
24109 [! APPLE_CC]: skip filling
473d1e45 24110
e93cdc3d 241112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24112
24113 Address in trampolines based on 32-bit registers when compiled
24114 with Apple's CC
24115
473d1e45 24116 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 24117 for addresses
24118 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
24119
6c688477 241202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24121
24122 Avoid aliases when compiling with Apple's CC for PCBIOS machine
24123
24124 * kern/misc.c [APPLE_CC] (memcpy): new function
24125 [APPLE_CC] (memmove): likewise
24126 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 24127 (memcpy): define alias conditionally on !APPLE_CC
6c688477 24128 (memset): likewise
24129 (abort): likewise
24130 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
24131 APPLE_CC are defined
24132 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
24133 (grub_assert_fail): make prototype conditional
24134
e37ffc5c 241352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24136
24137 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
24138
473d1e45 24139 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
24140 grub-macho2img
e37ffc5c 24141 (CLEANFILES): add grub-macho2img
24142 (grub_macho2img_SOURCES): new variable
24143 * kern/i386/pc/startup.S (bss_start): new variable
24144 (bss_end): likewise
24145 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
24146 * util/grub-macho2img.c: new file
24147
cf00df31 241482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24149
24150 Use objconv when compiling with Apple's CC
24151
24152 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
24153 (efiemu64.o): likewise
24154 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
24155 when compiling with Apple's CC
24156 (efiemu64_s.o): likewise
24157 * configure.ac: check for objconv when compiling with Apple's CC
24158 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 24159
d119a20c 241602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24161
24162 Define segment as well as section when compiling with
24163 Apple's CC
24164
24165 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
24166 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
24167 (efiemu_convert_pointer): likewise
24168 (efiemu_set_virtual_address_map): likewise
24169 (efiemu_convert_pointer): likewise
24170 (efiemu_getcrc32): likewise
24171 (init_crc32_table): likewise
24172 (reflect): likewise
24173 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
24174 (GRUB_MOD_DEP): likewise
473d1e45 24175
c8600122 241762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24177
24178 Allow a compilation without -mcmodel=large
24179
24180 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
24181 when compiled without -mcmodel=large
473d1e45 24182 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 24183 without -mcmodel=large
473d1e45 24184 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 24185 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 24186
e8df1d4e 241872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24188
24189 Remove nested functions in efiemu core
24190
24191 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 24192
cc6c3ac1 241932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24194
24195 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
24196
24197 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
24198 temporary storage
473d1e45 24199 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
24200 using Apple's CC
cc6c3ac1 24201 (grub_cpu_is_tsc_supported): likewise
24202 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 24203
3e325901 242042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24205
24206 Absolute addressing through constant with Apple's cc
24207
24208 * kern/i386/pc/startup.S: Define necessary constants
24209 and address through it when using ABS with Apple's CC
24210 * boot/i386/pc/diskboot.S: likewise
24211 * boot/i386/pc/boot.S: likewise
24212 * boot/i386/pc/lnxboot.S: likewise
24213 * boot/i386/pc/cdboot.S: likewise
24214 * mmap/i386/pc/mmap_helper.S: likewise
24215 * commands/i386/pc/drivemap_int13h.S: likewise
24216
2b167a72 242172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24218
24219 Check if compiler is apple cc
24220
24221 * Makefile.in (ASFLAGS): new variable
24222 (TARGET_ASFLAGS): likewise
24223 (TARGET_MODULE_FORMAT): likewise
24224 (TARGET_APPLE_CC): likewise
24225 (OBJCONV): likewise
24226 (TARGET_IMG_CFLAGS): likewise
24227 (TARGET_CPPFLAGS): add includedir
24228 * configure.ac: call grub_apple_cc and grub_apple_target_cc
24229 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
24230 Check for linker script only if compiler isn't Apple's CC
24231 (TARGET_MODULE_FORMAT): set
24232 (TARGET_APPLE_CC): likewise
24233 (TARGET_ASFLAGS): likewise
24234 (ASFLAGS): likewise
24235 Check for objcopy only if compiler isn't Apple's CC
24236 Check for BSS symbol only if compiler isn't Apple's CC
24237 * genmk.rb: adapt nm options if we use Apple's utils
24238 * aclocal.m4 (grub_apple_cc): new test
24239 (grub_apple_target_cc): likewise
473d1e45 24240
fb14123e 242412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24242
24243 Simplify sed expressions and improve awk
24244
24245 * Makefile.in (install-local): simplify sed expression
24246 * gencmdlist.sh: likewise
24247 * genmoddep.awk: avoid adding module as a dependency of itself
24248
5b889789 242492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24250
24251 Add missing start symbols
24252
24253 * boot/i386/pc/boot.S: add start
fb14123e 24254 * boot/i386/pc/pxeboot.S: likewise
473d1e45 24255
fd2bf2e3 242562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24257
24258 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 24259
24260 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 24261 (relocate_addresses): consider both r_addend and value at offset
24262 (make_mods_section): zerofill modinfo and header
24263 (convert_elf): write prefix here
473d1e45 24264
5389763d 242652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24266
24267 Use .asciz instead of .string
24268
24269 * i386/pc/diskboot.S: use .asciz instead of .string
24270 * i386/pc/boot.S: likewise
24271 * include/grub/dl.h (GRUB_MOD_DEP): likewise
24272 (GRUB_MOD_NAME): likewise
473d1e45 24273
3eb5ed4e 242742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24275
24276 gfxpayload support
24277
24278 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
24279 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
24280 (grub_video_setup): remove
24281 (grub_video_set_mode): new prototype
24282 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
24283 (vid_mode): remove
24284 (linux_vesafb_res): compile only on PCBIOS
24285 (grub_linux_boot): support gfxpayload
24286 * loader/i386/pc/xnu.c (video_hook): new function
24287 (grub_xnu_set_video): support gfxpayload
24288 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
24289 (DEFAULT_VIDEO_HEIGHT): likewise
24290 (DEFAULT_VIDEO_FLAGS): likewise
24291 (DEFAULT_VIDEO_MODE): new definition
24292 (video_hook): new function
24293 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 24294 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 24295 loading xnu
24296 * video/video.c (grub_video_setup): removed
473d1e45 24297 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 24298 grub_video_setup
24299
4b0e1143 243002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24301
24302 Avoid calling biosdisk in drivemap
24303
24304 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
24305 (revparse_biosdisk): likewise
24306 (list_mappings): derive name from id directly
24307 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 24308
fda6cb98 243092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24310
24311 Script fixes
24312
24313 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
24314 (grub_lexer_param): add tokenonhold
24315 (grub_script_create_cmdline): remove cmdline. All callers updated
24316 (grub_script_function_create): make functionname
24317 grub_script_arg. All callers updated
24318 (grub_script_execute_argument_to_string): new prototype
24319 * kern/parser.c (state_transitions): reorder
24320 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 24321 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 24322 make global
24323 (grub_script_execute_cmdline): use new format
24324 * script/sh/function.c (grub_script_function_create): make functionname
24325 grub_script_arg. All callers updated
473d1e45 24326 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 24327 (grub_script_yylex): remove
24328 (grub_script_yylex2): renamed to ...
24329 (grub_script_yylex): ...renamed
24330 parse the expressions like a${b}c
24331 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
24332 (GRUB_PARSER_TOKEN_VAR): remove
24333 (GRUB_PARSER_TOKEN_NAME): likewise
24334 ("if"): declare as typeless
24335 ("while"): likewise
24336 ("function"): likewise
24337 ("else"): likewise
24338 ("then"): likewise
24339 ("fi"): likewise
24340 (text): remove
24341 (argument): likewise
24342 (script): accept empty scripts and make exit on error
24343 (arguments): use GRUB_PARSER_TOKEN_ARG
24344 (function): likewise
24345 (command): move error handling to script
24346 (menuentry): move grub_script_lexer_ref before
473d1e45 24347 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 24348 argument. All callers updated
24349
f4448a07 243502009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24351
24352 Prevent GRUB from probing floppies during boot.
24353
24354 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
24355 * commands/search.c (options): Add --no-floppy.
24356 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
24357 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
24358 --no-floppy when searching for UUIDs.
24359
2bf5885a 243602009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24361
24362 Simplify the code duplication in commands/search.c.
24363
24364 * commands/search.c (search_label, search_fs_uuid): Merge into ...
24365 (search_fs): ... this. Update all users.
24366
f6fd460a 243672009-06-03 Felix Zielcke <fzielcke@z-51.de>
24368
24369 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
24370
cbb3c83e 243712009-05-28 Pavel Roskin <proski@gnu.org>
24372
57788cfd 24373 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
24374 Remove the original symlink explicitly.
24375
cbb3c83e 24376 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
24377 just one slash. That's how grub_fshelp_find_file() does it.
24378
cd0d5e30 243792009-05-26 Pavel Roskin <proski@gnu.org>
24380
f0f8bbe2 24381 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
24382 to `str'.
24383
cd0d5e30 24384 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
24385 possibly unused.
24386
8c2cab51 243872009-05-25 Christian Franke <franke@computer.org>
24388
24389 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
24390 register.
24391 (grub_atapi_identify): Add wait after drive select.
24392 (grub_ata_identify): Do more strict status register check before
24393 calling grub_atapi_identify (). Suppress error message if status
24394 register is 0x00 after command failure. Add status register
24395 check after PIO read to avoid bogus identify due to stuck DRQ.
24396 Thanks to Pavel Roskin for testing.
24397 (grub_device_initialize): Remove unsafe status register check.
24398 Thanks to 'phcoder' for problem report and patch.
24399 Prevent sign extension in debug message.
24400
230c0ad6 244012009-05-23 Colin D Bennett <colin@gibibit.com>
24402
24403 Cleaned up `include/grub/normal.h'. Grouped prototypes by
24404 definition file, and functions defined in `normal/menu.c' have had
24405 their prototypes moved to `include/grub/menu.h' for consistency.
24406
24407 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
24408 from normal.h.
24409 (grub_menu_get_entry): Likewise.
24410 (grub_menu_get_timeout): Likewise.
24411 (grub_menu_set_timeout): Likewise.
24412 (grub_menu_execute_entry): Likewise.
24413 (grub_menu_execute_with_fallback): Likewise.
24414 (grub_menu_entry_run): Likewise.
24415
24416 * include/grub/normal.h: Re-ordered and grouped function
24417 prototypes by file that the function is defined in.
24418 (grub_menu_execute_callback): Removed; moved to menu.h.
24419 (grub_menu_get_entry): Likewise.
24420 (grub_menu_get_timeout): Likewise.
24421 (grub_menu_set_timeout): Likewise.
24422 (grub_menu_execute_entry): Likewise.
24423 (grub_menu_execute_with_fallback): Likewise.
24424 (grub_menu_entry_run): Likewise.
24425 (grub_menu_addentry): Renamed from this ...
24426 (grub_normal_add_menu_entry): ... to this.
24427
24428 * normal/main.c (grub_menu_addentry): Renamed from this ...
24429 (grub_normal_add_menu_entry): ... to this.
24430
24431 * script/sh/execute.c (grub_script_execute_menuentry): Update
24432 reference to renamed grub_menu_addentry function.
24433
861f03a5 244342009-05-23 Felix Zielcke <fzielcke@z-51.de>
24435
24436 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
24437
96b1619a 244382009-05-22 Pavel Roskin <proski@gnu.org>
24439
bf6a5fb2 24440 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
24441 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
24442 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
24443 compiling for the i386 targets, but not for the utilities.
24444
96b1619a 24445 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
24446 to grub_uint8_t.
24447 (grub_root_drive): Likewise.
24448 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
24449 remove alignment.
24450 (grub_root_drive): Change size to byte.
24451 (grub_start_addr): Remove.
24452 (grub_end_addr): Likewise.
24453 (grub_apm_bios_info): Likewise.
24454
b729776b 244552009-05-21 Felix Zielcke <fzielcke@z-51.de>
24456
24457 * normal/i386: Remove.
24458 * normal/powerpc: Likewise.
24459 * normal/sparc64: Likewise.
24460 * normal/x86_64: Likewise.
24461
0a15ce80 244622009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
24463
24464 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 24465 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 24466 * loader/i386/xnu_helper.S: Likewise
d6da58e6 24467
33db9015 244682009-05-18 Colin D Bennett <colin@gibibit.com>
24469
d6da58e6 24470 Display error messages when parsing a Lua statement fails.
24471 Previously, executing a syntactically invalid statement like
24472 ")foo" or "bar;" would silently fail.
33db9015 24473
24474 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 24475 (grub_lua_parse_line): Improved reporting of Lua parser and
24476 execution errors.
33db9015 24477
46422c89 244782009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24479
24480 Remove -Werror which causes build to fail on some systems
24481
24482 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
24483 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
24484 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 24485
22f53a96 244862009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24487
24488 trampoline for linux on 64-bit platform
24489
18f547ad 24490 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
24491 loader/i386/efi/linux_trampoline.S
24492 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 24493 declaration
d6da58e6 24494 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
24495 here
22f53a96 24496 * loader/i386/linux_trampoline.S: moved here
d6da58e6 24497 * loader/i386/efi/linux.c (allocate_pages): reserve space for
24498 trampoline
22f53a96 24499 (jumpvector): removed
24500 (grub_linux_trampoline_start): new declaration
24501 (grub_linux_trampoline_end): likewise
24502 (grub_linux_boot): use trampoline when on 64-bit platform
24503 * loader/i386/linux.c: likewise
24504
cb5a0f40 245052009-05-16 Pavel Roskin <proski@gnu.org>
24506
24507 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
24508 const to avoid a warning.
24509 (grub_lua_setenv): Likewise.
24510 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
24511 lmsg to fix a warning.
24512
334f2c28 245132009-05-16 Felix Zielcke <fzielcke@z-51.de>
24514
24515 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 24516 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24517 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
24518 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24519 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24520 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24521 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24522 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 24523
59e5d3ec 245242009-05-16 Felix Zielcke <fzielcke@z-51.de>
24525
24526 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
24527
9d87a1ba 245282009-05-16 Bean <bean123ch@gmail.com>
24529
24530 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
24531 (lua_mod_SOURCES): New variable.
24532 (lua_mod_CFLAGS): Likewise.
24533 (lua_mod_LDFLAGS): Likewise.
24534
24535 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
24536 (setjmp_mod_SOURCES): New variable.
24537 (setjmp_mod_CFLAGS): Likewise.
24538 (setjmp_LDFLAGS): Likewise.
24539
24540 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
24541 (setjmp_mod_SOURCES): New variable.
24542 (setjmp_mod_CFLAGS): Likewise.
24543 (setjmp_LDFLAGS): Likewise.
24544
24545 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24546 (setjmp_mod_SOURCES): New variable.
24547 (setjmp_mod_CFLAGS): Likewise.
24548 (setjmp_LDFLAGS): Likewise.
24549
24550 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24551 (setjmp_mod_SOURCES): New variable.
24552 (setjmp_mod_CFLAGS): Likewise.
24553 (setjmp_LDFLAGS): Likewise.
24554
24555 * normal/i386/setjmp.S: Moved from here ...
24556 * lib/i386/setjmp.S: ... Moved here
24557 * normal/x86_64/setjmp.S: Moved from here ...
24558 * lib/x86_64/setjmp.S: ... Moved here
24559 * normal/powerpc/setjmp.S: Moved from here ...
24560 * lib/powerpc/setjmp.S: ... Moved here
24561 * normal/sparc64/setjmp.S: Moved from here ...
24562 * lib/sparc64/setjmp.S: ... Moved here
24563
24564 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
24565 returns_twice in mingw.
24566
24567 * script/lua/grub_lib.c: New file.
24568 * script/lua/grub_lib.h: Likewise.
24569 * script/lua/grub_lua.h: Likewise.
24570 * script/lua/grub_main.c: Likewise.
24571 * script/lua/lapi.c: Likewise.
24572 * script/lua/lapi.h: Likewise.
24573 * script/lua/lauxlib.c: Likewise.
24574 * script/lua/lauxlib.h: Likewise.
24575 * script/lua/lbaselib.c: Likewise.
24576 * script/lua/lcode.c: Likewise.
24577 * script/lua/lcode.h: Likewise.
24578 * script/lua/ldblib.c: Likewise.
24579 * script/lua/ldebug.c: Likewise.
24580 * script/lua/ldebug.h: Likewise.
24581 * script/lua/ldo.c: Likewise.
24582 * script/lua/ldo.h: Likewise.
24583 * script/lua/ldump.c: Likewise.
24584 * script/lua/lfunc.c: Likewise.
24585 * script/lua/lfunc.h: Likewise.
24586 * script/lua/lgc.c: Likewise.
24587 * script/lua/lgc.h: Likewise.
24588 * script/lua/linit.c: Likewise.
24589 * script/lua/liolib.c: Likewise.
24590 * script/lua/llex.c: Likewise.
24591 * script/lua/llex.h: Likewise.
24592 * script/lua/llimits.h: Likewise.
24593 * script/lua/lmathlib.c: Likewise.
24594 * script/lua/lmem.c: Likewise.
24595 * script/lua/lmem.h: Likewise.
24596 * script/lua/loadlib.c: Likewise.
24597 * script/lua/lobject.c: Likewise.
24598 * script/lua/lobject.h: Likewise.
24599 * script/lua/lopcodes.c: Likewise.
24600 * script/lua/lopcodes.h: Likewise.
24601 * script/lua/loslib.c: Likewise.
24602 * script/lua/lparser.c: Likewise.
24603 * script/lua/lparser.h: Likewise.
24604 * script/lua/lstate.c: Likewise.
24605 * script/lua/lstate.h: Likewise.
24606 * script/lua/lstring.c: Likewise.
24607 * script/lua/lstring.h: Likewise.
24608 * script/lua/lstrlib.c: Likewise.
24609 * script/lua/ltable.c: Likewise.
24610 * script/lua/ltable.h: Likewise.
24611 * script/lua/ltablib.c: Likewise.
24612 * script/lua/ltm.c: Likewise.
24613 * script/lua/ltm.h: Likewise.
24614 * script/lua/lua.h: Likewise.
24615 * script/lua/luaconf.h: Likewise.
24616 * script/lua/lualib.h: Likewise.
24617 * script/lua/lundump.c: Likewise.
24618 * script/lua/lundump.h: Likewise.
24619 * script/lua/lvm.c: Likewise.
24620 * script/lua/lvm.h: Likewise.
24621 * script/lua/lzio.c: Likewise.
24622 * script/lua/lzio.h: Likewise.
24623
5e898c9d 246242009-05-16 Bean <bean123ch@gmail.com>
24625
24626 * include/grub/kernel.h (grub_module_header_types): Add type
24627 OBJ_TYPE_CONFIG.
24628
24629 * kern/main.c (grub_load_config): New function.
24630 (grub_main): Call grub_load_config to read boot config.
24631
24632 * grub-mkimage (generate_image): New parameter config_path.
24633 (options): New option --config.
24634 (main): Parse --config option, and pass it to generate_image.
24635
cf353a47 246362009-05-14 Christian Franke <franke@computer.org>
24637
24638 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
24639 This fixes build on Cygwin.
24640
3834887f 246412009-05-14 Pavel Roskin <proski@gnu.org>
24642
24643 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
24644 jump. This saves two bytes, so the typical case of 2 swapped
24645 drives would fit 32 bytes.
24646
8090fc01 246472009-05-13 Pavel Roskin <proski@gnu.org>
24648
ac963883 24649 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
24650 grub_uint32_t to avoid a warning.
24651
8090fc01 24652 * loader/i386/linux.c (allocate_pages): When assigning
24653 real_mode_mem, cast through grub_size_t to fix a warning. The
24654 code already makes sure that the value would fit a pointer.
24655 (grub_linux_setup_video): Cast render_target->data to
24656 grub_size_t to fix a warning.
24657
18f547ad 246582009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 24659
24660 * commands/i386/pc/drivemap.c: New file - implement drivemap
24661 command.
24662 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
24663 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
24664
6f6a8b28 246652009-05-13 Pavel Roskin <proski@gnu.org>
24666
24667 * util/i386/pc/grub-setup.c (setup): Remove unused variable
24668 embedding_area_exists.
24669
15fbf4c4 246702009-05-13 Robert Millan <rmh.grub@aybabtu.com>
24671
24672 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
24673 it easier to understand / work with.
59978c8a 24674 Improve warning messages for cases where there's no embedding area,
24675 or when it is too small (or core.img too large).
15fbf4c4 24676
238e871f 246772009-05-13 Pavel Roskin <proski@gnu.org>
24678
0ab3a9a4 24679 * loader/i386/pc/multiboot2.c: Add necessary includes for
24680 grub_multiboot2_real_boot().
24681
a2c8c5f8 24682 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
24683 PX record is always little-endian. We only need the lower 2
24684 bytes of the mode.
24685
faec96af 24686 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
24687 facilitate code reuse.
24688 (grub_cpio_mount): Use "struct head", not a char buffer. This
24689 fixes a warning reported by gcc 4.4.
24690
238e871f 24691 * kernel/disk.c (grub_disk_read): Use void pointer for the
24692 buffer.
24693 (grub_disk_write): Use const void pointer for the buffer.
24694 Adjust all callers. Remove unnecessary casts.
24695
901d2f0c 246962009-05-10 Robert Millan <rmh.grub@aybabtu.com>
24697
24698 * util/i386/pc/grub-install.in: Update copyright year.
24699
18f547ad 247002009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 24701
24702 gptsync
24703
24704 * commands/gptsync.c: new file
24705 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
24706 (gptsync_mod_SOURCES): new variable
24707 (gptsync_mod_CFLAGS): likewise
24708 (gptsync_mod_LDFLAGS): likewise
18f547ad 24709 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 24710 new definition
24711 (GRUB_PC_PARTITION_TYPE_HFS): likewise
24712 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
24713 * conf/i386-ieee1275.rmk: likewise
24714 * conf/i386-pc.rmk: likewise
24715 * conf/powerpc-ieee1275.rmk: likewise
24716
b4ba690a 247172009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24718
24719 Fixed grub-emu
24720
24721 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
24722 (grub_dl_ref): likewise
24723
317e1a44 247242009-05-08 Robert Millan <rmh.grub@aybabtu.com>
24725
24726 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
24727 split in two functions (one for msdos and one for gpt).
24728
041b8094 247292009-05-08 Pavel Roskin <proski@gnu.org>
24730
752473c2 24731 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
24732 not modified.
24733
041b8094 24734 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
24735 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
24736 Initialize them with -1. Add sanity check for bad1. Eliminate
24737 nerr variable.
24738
172800ce 247392009-05-08 David S. Miller <davem@davemloft.net>
24740
24741 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
24742
29aa5e81 247432009-05-06 Robert Millan <rmh.grub@aybabtu.com>
24744
24745 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 24746 existence.
29aa5e81 24747
96613b62 247482009-05-05 Felix Zielcke <fzielcke@z-51.de>
24749
24750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 24751 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 24752
eef73c8a 247532009-05-05 David S. Miller <davem@davemloft.net>
24754
24755 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
24756
119494b5 247572009-05-05 Pavel Roskin <proski@gnu.org>
24758
24759 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
24760 of grub_dl_ref() and grub_dl_unref().
24761 * commands/parttool.c: Remove preprocessor conditionals around
24762 grub_dl_ref() and grub_dl_unref().
24763 * fs/affs.c: Likewise.
24764 * fs/afs.c: Likewise.
24765 * fs/cpio.c: Likewise.
24766 * fs/ext2.c: Likewise.
24767 * fs/fat.c: Likewise.
24768 * fs/hfs.c: Likewise.
24769 * fs/hfsplus.c: Likewise.
24770 * fs/iso9660.c: Likewise.
24771 * fs/jfs.c: Likewise.
24772 * fs/minix.c: Likewise.
24773 * fs/ntfs.c: Likewise.
24774 * fs/reiserfs.c: Likewise.
24775 * fs/sfs.c: Likewise.
24776 * fs/udf.c: Likewise.
24777 * fs/ufs.c: Likewise.
24778 * fs/xfs.c: Likewise.
24779 * include/grub/dl.h: Likewise.
24780 * loader/xnu.c: Likewise.
24781
de5fd76e 247822009-05-04 Pavel Roskin <proski@gnu.org>
24783
24784 * commands/acpi.c: Remove unused variable my_mod.
24785 * partmap/amiga.c: Likewise.
24786 * partmap/apple.c: Likewise.
24787 * partmap/gpt.c: Likewise.
24788 * partmap/pc.c: Likewise.
24789 * partmap/sun.c: Likewise.
24790 * term/gfxterm.c: Likewise.
24791 * term/i386/pc/vesafb.c: Likewise.
24792 * term/i386/pc/vga.c: Likewise.
24793
983598ad 247942009-05-04 David S. Miller <davem@davemloft.net>
24795
24796 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24797 pointer args to grub_ieee1275_get_property().
24798
8aadec43 24799 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24800
9554b15e 24801 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24802 devices, and do not traverse down under controller nodes.
24803
67e23c90 24804 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24805 (grub_ofdisk_open): Use it to un-escape "," characters.
24806 * kern/disk.c (find_part_sep): New.
24807 (grub_disk_open): Use it to find the first non-escaped ','
24808 character in the disk name.
24809 * util/ieee1275/devicemap.c (escape_of_path): New.
24810 (grub_util_emit_devicemap_entry): Use it.
24811 * util/sparc64/ieee1275/grub-install.in: Update script to
24812 strip partition specifiers properly by not triggering on
24813 '\' escaped ',' characters.
24814
74bfdd2f 248152009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24816
24817 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24818 to 0x300.
24819 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24820 resolutions.
24821 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24822 on documentation from Wikipedia).
24823
4241d2b1 248242009-05-04 Pavel Roskin <proski@gnu.org>
24825
24826 * disk/ata.c: Spelling fixes.
24827 * disk/raid.c: Likewise.
24828 * disk/usbms.c: Likewise.
24829 * disk/dmraid_nvidia.c: Likewise.
24830 * kern/ieee1275/openfw.c: Likewise.
24831 * kern/ieee1275/init.c: Likewise.
24832 * kern/ieee1275/cmain.c: Likewise.
24833 * boot/i386/pc/cdboot.S: Likewise.
24834 * video/readers/png.c: Likewise.
24835 * video/i386/pc/vbe.c: Likewise.
24836 * fs/udf.c: Likewise.
24837 * fs/hfs.c: Likewise.
24838 * fs/reiserfs.c: Likewise.
24839 * efiemu/runtime/efiemu.c: Likewise.
24840 * efiemu/main.c: Likewise.
24841 * efiemu/mm.c: Likewise.
24842 * include/grub/elf.h: Likewise.
24843 * include/grub/xnu.h: Likewise.
24844 * include/grub/usbdesc.h: Likewise.
24845 * include/grub/usb.h: Likewise.
24846 * include/grub/script_sh.h: Likewise.
24847 * include/grub/lib/LzmaEnc.h: Likewise.
24848 * include/grub/efiemu/efiemu.h: Likewise.
24849 * include/grub/command.h: Likewise.
24850 * normal/menu.c: Likewise.
24851 * normal/main.c: Likewise.
24852 * normal/datetime.c: Likewise.
24853 * bus/usb/uhci.c: Likewise.
24854 * mmap/i386/uppermem.c: Likewise.
24855 * mmap/mmap.c: Likewise.
24856 * commands/acpi.c: Likewise.
24857 * commands/test.c: Likewise.
24858 * partmap/apple.c: Likewise.
24859 * font/font.c: Likewise.
24860 * loader/sparc64/ieee1275/linux.c: Likewise.
24861 * loader/macho.c: Likewise.
24862 * loader/i386/bsd_trampoline.S: Likewise.
24863 * loader/i386/bsd.c: Likewise.
24864 * loader/xnu.c: Likewise.
24865 * term/i386/pc/vesafb.c: Likewise.
24866 * term/usb_keyboard.c: Likewise.
24867 * util/resolve.c: Likewise.
24868 * util/getroot.c: Likewise.
24869
0cfc0083 248702009-05-04 Felix Zielcke <fzielcke@z-51.de>
24871
24872 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24873
7c1d00cd 248742009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24875
24876 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24877 build error.
24878
b01f0548 248792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24880
24881 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24882 parameter only available on BIOS.
24883
ecc3eb22 248842009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24885
24886 Removed wrong semicolon in declaration
24887
24888 * grub/misc.h (grub_dprintf): remove semicolon
24889
112972a9 248902009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24891
24892 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24893 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24894 is done by grub_cmd_linux() now).
24895 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24896 restore video to text mode.
24897 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24898 indicates lack of "vga=" parameter. "vga=0" is mapped to
24899 `GRUB_LINUX_VID_MODE_NORMAL'.
24900
afd5c115 249012009-05-04 Felix Zielcke <fzielcke@z-51.de>
24902
24903 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24904 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24905 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 24906 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 24907 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24908 `grub_script.tab.c'.
24909
24910 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24911 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24913 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24914 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24915
faa517ce 24916 * Makefile.in: Remove duplicated 2008 in Copyright line.
24917
ae0c0bdc 249182009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24919
473d1e45 24920 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 24921 unconditionally.
24922 * include/grub/util/misc.h (grub_util_warn): New declaration.
24923
24924 * util/i386/pc/grub-install.in: Understand --force and pass it down
24925 to grub-setup.
24926
24927 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24928 down to setup().
24929 (setup): Improve error messages and add warnings when requested to
24930 install in odd layouts. Refuse to install using blocklists unless
24931 --force was set.
24932
18f547ad 249332009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 24934
24935 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24936
6d260daa 249372009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24938
24939 Updated copyright year
24940
24941 * fs/hfsplus.c: updated copyright year
18f547ad 24942
69f853f8 249432009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24944
24945 HFS+ UUID
24946
18f547ad 24947 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 24948 in the space previously used by unused3
24949 (grub_hfsplus_uuid): new function
24950 (grub_hfsplus_fs): added uuid field
24951
4c402e73 249522009-05-03 Pavel Roskin <proski@gnu.org>
24953
24954 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24955 suppress warnings. It's no longer needed.
24956 * disk/host.c: Likewise.
24957 * disk/ata_pthru.c: Likewise.
24958 * disk/loopback.c: Likewise.
24959 * hook/datehook.c: Likewise.
24960 * parttool/pcpart.c: Likewise.
24961 * fs/i386/pc/pxe.c: Likewise.
24962 * fs/ntfscomp.c: Likewise.
24963 * efiemu/main.c: Likewise.
24964 * mmap/mmap.c: Likewise.
24965 * commands/crc.c: Likewise.
24966 * commands/hexdump.c: Likewise.
24967 * commands/hdparm.c: Likewise.
24968 * commands/acpi.c: Likewise.
24969 * commands/echo.c: Likewise.
24970 * commands/minicmd.c: Likewise.
24971 * commands/blocklist.c: Likewise.
24972 * commands/memrw.c: Likewise.
24973 * commands/loadenv.c: Likewise.
24974 * commands/usbtest.c: Likewise.
24975 * commands/lsmmap.c: Likewise.
24976 * commands/boot.c: Likewise.
24977 * commands/parttool.c: Likewise.
24978 * commands/configfile.c: Likewise.
24979 * commands/search.c: Likewise.
24980 * commands/ieee1275/suspend.c: Likewise.
24981 * commands/cat.c: Likewise.
24982 * commands/i386/pc/pxecmd.c: Likewise.
24983 * commands/i386/pc/play.c: Likewise.
24984 * commands/i386/pc/halt.c: Likewise.
24985 * commands/i386/pc/vbeinfo.c: Likewise.
24986 * commands/i386/pc/vbetest.c: Likewise.
24987 * commands/lspci.c: Likewise.
24988 * commands/date.c: Likewise.
24989 * commands/handler.c: Likewise.
24990 * commands/ls.c: Likewise.
24991 * commands/test.c: Likewise.
24992 * commands/cmp.c: Likewise.
24993 * commands/efi/loadbios.c: Likewise.
24994 * commands/efi/fixvideo.c: Likewise.
24995 * commands/halt.c: Likewise.
24996 * commands/help.c: Likewise.
24997 * commands/reboot.c: Likewise.
24998 * hello/hello.c: Likewise.
24999 * script/sh/main.c: Likewise.
25000 * loader/xnu.c: Likewise.
25001 * term/terminfo.c: Likewise.
25002 * term/i386/pc/serial.c: Likewise.
25003 * term/usb_keyboard.c: Likewise.
25004
515b5079 250052009-05-03 David S. Miller <davem@davemloft.net>
25006
25007 * normal/menu.c: Include grub/parser.h
25008
dfc31a22 250092009-05-03 Pavel Roskin <proski@gnu.org>
25010
2fee74f1 25011 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
25012 not char*.
25013 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
25014 Suggested by Javier Martín <lordhabbit@gmail.com>
25015
dfc31a22 25016 * util/i386/pc/grub-mkrescue.in: Allow for the case when
25017 efiemu??.o doesn't exist.
25018 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
25019 copying.
25020
18f547ad 250212009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 25022
25023 FreeBSD 64-bit support
25024
18f547ad 25025 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 25026 and loader/i386/bsd_trampoline.S
25027 (bsd_mod_ASFLAGS): new variable
25028 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
25029 (FREEBSD_MODTYPE_KERNEL64): likewise
25030 (grub_bsd64_trampoline_start): likewise
25031 (grub_bsd64_trampoline_end): likewise
25032 (grub_bsd64_trampoline_selfjump): likewise
25033 (grub_bsd64_trampoline_gdt): likewise
25034 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
25035 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
25036 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
25037 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 25038 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 25039 of "attrib" member
25040 * loader/i386/bsd_pagetable.c: new file
25041 * loader/i386/bsd_trampoline.S: likewise
25042 * loader/i386/bsd.c (ALIGN_QWORD): new macro
25043 (ALIGN_VAR): likewise
25044 (entry_hi): new variable
25045 (kern_end_mdofs): likewise
25046 (is_64bit): likewise
25047 (grub_freebsd_add_meta): use ALIGN_VAR
25048 (grub_e820_mmap): new declaration
25049 (grub_freebsd_add_mmap): new function
25050 (grub_freebsd_add_meta_module): support 64 bit kernels
25051 (grub_freebsd_list_modules): use ALIGN_VAR
25052 (gdt_descriptor): new declaration
25053 (grub_freebsd_boot): support 64 bit kernels
25054 (grub_bsd_elf64_hook): new function
25055 (grub_bsd_load_elf): support elf64
25056
038c5720 250572009-05-03 Bean <bean123ch@gmail.com>
25058
25059 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
25060 after we get the result of if statement.
25061
fc45fb58 250622009-05-03 Bean <bean123ch@gmail.com>
25063
25064 * Makefile.in (enable_efiemu): New variable.
25065
25066 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
25067 set.
25068 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
25069 path.
25070 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
25071 path, add -mno-red-zone option.
25072 (efiemu64_s.o): Likewise.
25073 (efiemu64.o): Use macro $^ for source file.
25074
25075 * configure.ac (--enable-efiemu): New option.
25076
bbee0f2b 250772009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25078
25079 xnu support
25080
25081 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
25082 (pkglib_MODULES): add xnu.mod
25083 (xnu_mod_SOURCES): new variable
25084 (xnu_mod_CFLAGS): likewise
25085 (xnu_mod_LDFLAGS): likewise
25086 (xnu_mod_ASFLAGS): likewise
25087 * conf/i386-pc.rmk: likewise
25088 * conf/x86_64-efi.rmk: likewise
7dd4a573 25089 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 25090 new declaration
25091 * include/grub/i386/macho.h: new file
25092 * include/grub/i386/xnu.h: likewise
25093 * include/grub/macho.h: likewise
25094 * include/grub/machoload.h: likewise
25095 * include/grub/x86_64/macho.h: likewise
25096 * include/grub/x86_64/xnu.h: likewise
25097 * include/grub/xnu.h: likewise
25098 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
25099 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
25100 * loader/i386/efi/xnu.c: new file
25101 * loader/i386/pc/xnu.c: likewise
25102 * loader/i386/xnu.c: likewise
25103 * loader/i386/xnu_helper.S: likewise
25104 * loader/macho.c: likewise
25105 * loader/xnu.c: likewise
25106 * loader/xnu_resume.c: likewise
25107 * util/grub-dumpdevtree: likewise
25108 * include/grub/i386/pit.h: include grub/err.h
25109 (grub_pit_wait): export
25110 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 25111
5caf964d 251122009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25113
25114 Efiemu
7dd4a573 25115
5caf964d 25116 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 25117 _linux_efi, linux_efi.
25118 new files in grub-emu
5caf964d 25119 new targets efiemu32.o and efiemu64.o
25120 * loader/linux_normal_efiemu.c: likewise
25121 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 25122 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 25123 files to copy
25124 * include/grub/autoefi.h: new file
7dd4a573 25125 * include/grub/i386/efiemu.h: likewise
5caf964d 25126 * include/grub/i386/pc/efiemu.h: likewise
25127 * include/grub/efi/api.h: add LL suffix when necessary
25128 new definitions relating to tables
25129 * include/grub/efiemu/efiemu.h: new file
25130 * include/grub/efiemu/runtime.h: likewise
25131 * efiemu/prepare.c: likewise
25132 * efiemu/loadcore_common.c: likewise
25133 * efiemu/loadcore64.c: likewise
25134 * efiemu/runtime/efiemu.sh: likewise
25135 * efiemu/runtime/efiemu.S: likewise
25136 * efiemu/runtime/efiemu.c: likewise
25137 * efiemu/runtime/config.h: likewise
25138 * efiemu/prepare32.c: likewise
25139 * efiemu/main.c: likewise
25140 * efiemu/modules/pnvram.c: likewise
25141 * efiemu/modules/i386: likewise
25142 * efiemu/modules/i386/pc: likewise
25143 * efiemu/modules/acpi.c: likewise
25144 * efiemu/i386/pc/cfgtables.c: likewise
25145 * efiemu/i386/loadcore64.c: likewise
25146 * efiemu/i386/loadcore32.c: likewise
25147 * efiemu/prepare64.c: likewise
25148 * efiemu/loadcore.c: likewise
25149 * efiemu/symbols.c: likewise
25150 * efiemu/mm.c: likewise
25151 * efiemu/loadcore32.c: likewise
7dd4a573 25152
251532009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 25154
25155 ACPI spoofing
25156
25157 * commands/acpi.c: new file
25158 * commands/i386/pc/acpi.c: likewise
25159 * commands/efi/acpi.c: likewise
25160 * include/grub/acpi.h: likewise
25161 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
25162 (acpi_mod_SOURCES): new variable
25163 (acpi_mod_CFLAGS): likewise
25164 (acpi_mod_LDFLAGS): likewise
25165 * conf/i386-efi.rmk: likewise
25166 * conf/x86_64-efi.rmk: likewise
25167
7dd4a573 251682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 25169
25170 Missing part from mmap patch
25171
25172 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
25173 (grub_mmap_unregister)
25174 (grub_mmap_free_and_unregister): use grub_mmap_register
25175
7dd4a573 251762009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 25177
25178 Mmap services
25179
25180 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
25181 * loader/i386/linux.c (find_mmap_size): likewise
25182 (allocate_pages): likewise
25183 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
25184 (grub_fill_multiboot_mmap): likewise
25185 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
25186 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
25187 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
25188 (OPENBSD_MMAP_RESERVED): likewise
25189 * include/grub/i386/pc/memory.h: include grub/memory.h
25190 (grub_lower_mem): removed
25191 (grub_upper_mem): likewise
25192 (GRUB_MACHINE_MEMORY_ACPI): new definition
25193 (GRUB_MACHINE_MEMORY_NVS): likewise
25194 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
25195 (GRUB_MACHINE_MEMORY_HOLE): likewise
25196 (grub_machine_mmap_register): likewise
25197 (grub_machine_mmap_unregister): likewise
25198 (grub_machine_get_upper): likewise
25199 (grub_machine_get_lower): likewise
25200 (grub_machine_get_post64): likewise
25201 * include/grub/i386/efi/memory.h: new file
25202 * include/grub/x86_64/efi/memory.h: likewise
25203 * include/grub/efi/memory.h: likewise
25204 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
25205 (mmap_mod_SOURCES): new variable
25206 (mmap_mod_LDFLAGS): likewise
25207 (mmap_mod_ASFLAGS): likewise
25208 * conf/i386-coreboot.rmk: likewise
25209 * conf/i386-ieee1275.rmk: likewise
25210 * conf/i386-efi.rmk: likewise
25211 * conf/x86_64-efi.rmk: likewise
25212 * include/grub/types.h (UINT_TO_PTR): new macro
25213 (PTR_TO_UINT32): likewise
25214 (PTR_TO_UINT64): likewise
25215 * include/grub/memory.h: new file
25216 * mmap/i386/pc/mmap.c: likewise
25217 * mmap/i386/pc/mmap_helper.S: likewise
25218 * mmap/i386/uppermem.c: likewise
25219 * mmap/mmap.c: likewise
25220 * mmap/efi/mmap.c: likewise
7dd4a573 25221 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 25222 grub_upper_mem
25223 * kern/i386/pc/init.c (grub_lower_mem): removed variable
25224 (grub_upper_mem): likewise
25225 (grub_machine_init): don't use grub_upper_mem,
25226 make grub_lower_mem local
25227 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
25228 grub_mmap_iterate and grub_mmap_get_upper
25229 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
25230
d558e6b5 252312009-05-02 Bean <bean123ch@gmail.com>
25232
25233 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
25234 script/sh/parser.y.
25235 (pkglib_MODULES): Add normal.mod and sh.mod.
25236 (normal_SOURCES): New variable.
25237 (normal_mod_CFLAGS): Likewise.
25238 (normal_mod_LDFLAGS): Likewise.
25239 (sh_mod_SOURCES): Likewise.
25240 (sh_mod_CFLAGS): Likewise.
25241 (sh_mod_LDFLAGS): Likewise.
25242
25243 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
25244 script/sh/lexer.c_DEPENDENCIES.
25245 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
25246 kern/rescue_reader.c and kern/rescue_parser.c.
25247 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
25248 (grub_emu_SOURCES): Change source files.
25249 (pkglib_MODULES): Remove normal.mod.
25250 (normal_SOURCES): Removed.
25251 (normal_mod_CFLAGS): Likewise.
25252 (normal_mod_LDFLAGS): Likewise.
25253 * conf/i386-coreboot.rmk: Likewise.
25254 * conf/i386-efi.rmk: Likewise.
25255 * conf/i386-ieee1276.rmk: Likewise.
25256 * conf/powerpc-ieee1275.rmk: Likewise.
25257 * conf/sparc64-ieee1275.rmk: Likewise.
25258 * conf/x86_64-efi.rmk: Likewise.
25259
25260 * include/grub/command.h (grub_command_execute): New inline function.
25261
25262 * include/grub/menu.h (grub_menu_entry): Removed commands field.
25263
25264 * include/grub/normal.h: Remove <grub/setjmp.h>.
25265 (grub_fs_module_list): Moved to normal/autofs.c.
25266 (grub_exit_env): Removed.
25267 (grub_command_execute): Likewise.
25268 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
25269 parameter script.
25270 (read_command_list): New function declaration.
25271 (read_fs_list): Likewise.
25272
25273 * include/parser.h: Include <grub/reader.h>.
25274 (grub_parser_split_cmdline): Change type of getline parameter.
25275 (grub_parser): New structure.
25276 (grub_parser_class): New variable.
25277 (grub_parser_execute): New function declaration.
25278 (grub_register_rescue_parser): Likewise.
25279 (grub_parser_register): New inline function.
25280 (grub_parser_unregister): Likewise.
25281 (grub_parser_get_current): Likewise.
25282 (grub_parser_set_current): Likewise.
25283
25284 * include/grub/reader.h: New file.
25285 * kern/reader.c: Likewise.
25286 * kern/rescue_parser.c: Likewise.
25287 * kern/rescue_reader.c: Likewise.
25288 * normal/autofs.c: Likewise.
25289 * normal/dyncmd.c: Likewise.
25290
25291 * include/grub/rescue.h: Removed.
25292 * normal/command.h: Likewise.
25293
25294 * include/grub/script.h: Moved to ...
25295 * include/grub/script_sh.h: ... Moved here.
25296 * normal/execute.c: Moved to ...
25297 * script/sh/execute.c: ... Moved here.
25298 * normal/function.c: Moved to ...
25299 * script/sh/function.c: ... Moved here.
25300 * normal/lexer.c: Moved to ...
25301 * script/sh/lexer.c: ... Moved here.
25302 * normal/parser.y: Moved to ...
25303 * script/sh/parser.y: ... Moved here.
25304 * normal/script.c: Moved to ...
25305 * script/sh/script.c: ... Moved here.
25306
25307 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
25308 <grub/reader.h>.
25309 (grub_exit_env): Removed.
25310 (fs_module_list): Moved to normal/autofs.c.
25311 (grub_file_getline): Don't handle comment here.
25312 (free_menu): Skip removed field entry->commands.
25313 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
25314 script parameter.
25315 (read_config_file): Removed nested parameter, change getline function.
25316 (grub_enter_normal_mode): Removed.
25317 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
25318 (read_command_list): Likewise.
25319 (autoload_fs_module): Moved to normal/autofs.c.
25320 (read_fs_list): Likewise.
25321 (reader_nested): New variable.
25322 (grub_normal_execute): Run parser.sh to switch to sh parser.
25323 (grub_cmd_rescue): Removed.
25324 (cmd_normal): Removed.
25325 (grub_cmd_normal): Unregister itself at the beginning. Don't register
25326 rescue command.
25327 (grub_cmdline_run): New function.
25328 (grub_normal_reader_init): Likewise.
25329 (grub_normal_read_line): Likewise.
25330 (grub_env_write_pager): Likewise.
25331 (cmdline): New variable.
25332 (grub_normal_reader): Likewise.
25333 (GRUB_MOD_INIT): Register normal reader and set as current, register
25334 pager hook, register normal command with grub_register_command_prio,
25335 so that it won't show up in command.lst.
25336 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
25337 grub_fs_autoload_hook.
25338
25339 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
25340 (grub_menu_execute_entry): Replace grub_script_execute with
25341 grub_parser_execute, change parameter to grub_command_execute.
25342
25343 * normal/menu_text.c: Remove <grub/script.h>.
25344
25345 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
25346 and <grub/parser.h>.
25347 (run): Change editor_getline to use new parser interface. Change
25348 parameter to grub_command_execute.
25349
25350 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
25351 <grub/reader.h> and <grub/parser.h>.
25352 (grub_load_normal_mode): Execute normal command.
25353 (grub_main): Call grub_register_core_commands,
25354 grub_register_rescue_parser and grub_register_rescue_reader, use
25355 grub_reader_loop to enter input loop.
25356
7dd4a573 25357 * kern/parser.c (grub_parser_split_cmdline): Change type of
25358 getline parameter.
d558e6b5 25359 (grub_parser_class): New variable.
25360 (grub_parser_execute): New function.
25361
25362 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
25363 * loader/multiboot2.c: Likewise.
25364 * loader/sparc64/ieee1275/linux.c: Likewise.
25365
25366 * util/grub-emu.c (read_command_list): New dummy function.
25367
18db813d 253682009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25369
25370 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
25371 count to 16 for CCISS and IDA.
25372
6c67de15 253732009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25374
25375 * normal/menu_text.c (grub_wait_after_message): Print a newline
25376 after waiting for user input.
25377
25378 * loader/i386/linux.c: Include `<grub/normal.h>'.
25379 (grub_cmd_linux): Improve the error message about `ask' mode, by
25380 waiting for user input so it's not missed (we can do this, since
25381 user requested interaction).
25382
d9dc87b0 253832009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25384
25385 Added missing lst to grub-mkrescue
25386
25387 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
25388 and ${input_dir}/parttool.lst
25389
ac8a2baa 253902009-04-30 David S. Miller <davem@davemloft.net>
25391
ad22a610 25392 * util/hostdisk.c (device_is_wholedisk): New function.
25393 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
25394 zero only if device_is_wholedisk() returns true.
25395
6966215d 25396 * util/hostdisk.c (convert_system_partition_to_system_disk):
25397 Handle virtual disk devices named /dev/vdiskX as found on sparc
25398 and powerpc.
25399
ac8a2baa 25400 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
25401 lettered partition specifier is found, convert to numbered.
25402
979b4fb4 254032009-04-29 David S. Miller <davem@davemloft.net>
25404
e2bf39b2 25405 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
25406 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25407
3c64e104 25408 * normal/command.c: Add missing newline at end of file.
25409
979b4fb4 25410 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
25411 warnings.
25412 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
25413 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
25414 grub_ofdisk_read): Likewise, and deal similarly with the fact that
25415 ihandles have a 32-bit type but need to be stored in a "void *".
25416
136d9f82 254172009-04-28 Pavel Roskin <proski@gnu.org>
25418
9459c306 25419 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
25420 not disk. Adjust all dependencies.
2e08a26a 25421 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 25422 grub_disk_close().
25423
136d9f82 25424 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
25425 parent's partition, don't copy it by reference, as it gets freed
25426 on close.
25427
7dd4a573 254282009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 25429
25430 Preboot hooks support
25431
25432 * commands/boot.c (struct grub_preboot_t): new declaration
25433 (preboots_head): new variable
25434 (preboots_tail): likewise
25435 (grub_loader_register_preboot_hook): new function
25436 (grub_loader_unregister_preboot_hook): likewise
25437 (grub_loader_set): launch preboot hooks
25438 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
25439 (grub_loader_register_preboot_hook): new declaration
25440 (grub_loader_unregister_preboot_hook): likewise
25441
5af922b5 254422009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25443
25444 Warning fix
25445
7dd4a573 25446 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 25447 calling grub_dprintf
25448
a5562c30 254492009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
25450
25451 Bug and warning fixes
25452
7dd4a573 25453 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 25454 declaration
25455 * commands/test.c (test_parse): fixed bug with file tests and corrected
25456 declaration of find_file
25457
4006f85c 254582009-04-26 Pavel Roskin <proski@gnu.org>
25459
25460 * Makefile.in: Don't install empty manual pages if help2man is
25461 missing. Use help2man option for output, not shell redirection.
25462
5c77c3de 254632009-04-26 David S. Miller <davem@davemloft.net>
25464
25465 * util/grub-mkdevicemap.c (make_device_map): Add missing
25466 NESTED_FUNC_ATTR to process_device().
25467
033b10a8 254682009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25469
25470 Test command
25471
25472 * commands/test.c: rewritten to use bash-like test
25473
e4343593 254742009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25475
25476 Parttool autoloading and improvements
25477
7dd4a573 25478 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 25479 (parttool.lst): new target
25480 * genmk.rb: generate parttool-*
25481 (CLEANFILES): add #{parttool}
25482 (PARTTOOLFILES): new variable
25483 * genparttoollist.sh: new file
7dd4a573 25484 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 25485 (grub_pcpart_type): likewise
25486 * commands/parttool.c (helpmsg): new variable
25487 (grub_cmd_parttool): output help if not enough arguments are supplied
25488 autoload modules
25489 (GRUB_MOD_INIT(parttool)): use helpmsg
25490
0d312500 254912009-04-24 David S. Miller <davem@davemloft.net>
25492
7dd4a573 25493 Avoiding opening same device multiple times in device iterator.
0d312500 25494
25495 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 25496 and use it to build a list of partitions in iterate_disk() and
0d312500 25497 iterate_partition().
25498
ac20caff 25499 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
25500 on disk->data.
25501
0dcf7495 25502 * disk/ieee1275/nand.c (grub_nand_iterate): Return
25503 grub_devalias_iterate() result instead of unconditional 0.
25504 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
25505 Also, capture hook return value, either directly or via
25506 grub_children_iterate(), and propagate to caller.
25507 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
25508 grub_children_iterate): Return value is now 'int' instead of
25509 'grub_err_t'.
25510 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
25511 like a proper iterator, stopping when hooks return non-zero.
25512 (grub_devalias_iterate): Likewise.
25513
c8c08833 255142009-04-23 David S. Miller <davem@davemloft.net>
25515
25516 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
25517
f01005a8 255182009-04-22 David S. Miller <davem@davemloft.net>
25519
25520 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
25521 is larger than address_cells, use that value for address_cells too.
25522
4e8269da 25523 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
25524 IEEE1275_MAX_PATH_LEN): Define.
25525 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
25526 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
25527 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
25528 'devtype'. Explicitly NULL terminate devalias expansion.
25529
a1447506 25530 * util/sparc64/ieee1275/misc.c: New file.
25531 * util/sparc64/ieee1275/grub-setup.c: New file.
25532 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
25533 * util/sparc64/ieee1275/grub-mkimage.c: New file.
25534 * util/sparc64/ieee1275/grub-install.in: New file.
25535 * util/ieee1275/ofpath.c: New file.
25536 * util/ieee1275/devicemap.c: New file.
25537 * util/devicemap.c: New file.
25538 * util/deviceiter.c: New file.
25539 * kern/sparc64/ieee1275/init.c: New file.
25540 * include/grub/util/ofpath.h: New file.
25541 * include/grub/util/deviceiter.h: New file.
25542 * util/grub-mkdevicemap.c: Include deviceiter.h.
25543 Implement using grub_util_emit_devicemap_entry and
25544 grub_util_iterate_devices.
25545 * conf/i386-corebook.rmk: Build util/deviceiter.c and
25546 util/devicemap.c into grub-mkdevicemap
25547 * conf/i386-efi.rmk: Likewise.
25548 * conf/i386-ieee1275.rmk: Likewise.
25549 * conf/i386-pc.rmk: Likewise.
25550 * conf/powerpc-ieee1275.rmk: Likewise.
25551 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
25552 images and installation utilities. Build kernel as image
25553 instead of as elf binary. Use common rules as much as possible.
25554
7dd4a573 255552009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 25556
25557 Correct GPT definition
25558
7dd4a573 25559 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 25560 of "attrib" member
25561
c6c5219f 255622009-04-19 Felix Zielcke <fzielcke@z-51.de>
25563
25564 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
25565
0552ff9f 255662009-04-19 David S. Miller <davem@davemloft.net>
25567
25568 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
25569 (grub_rescue_cmd_linux): Rename to...
25570 (grub_cmd_linux): and fix prototype.
25571 (grub_rescue_cmd_initrd): Rename to...
25572 (grub_cmd_initrd): and fix prototype.
25573 (cmd_linux, cmd_initrd): New.
25574 (GRUB_MOD_INIT(linux)): Use grub_register_command().
25575 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
25576
d1a282fc 255772009-04-17 Pavel Roskin <proski@gnu.org>
25578
07c5039f 25579 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
25580 format.
25581 (grub_ohci_transfer): Likewise.
25582
b012002d 25583 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
25584
1bc09c35 25585 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
25586 return without a value. Fix inconsistent indentation.
25587
e0ff9126 25588 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
25589 match struct grub_fs.
25590
d1a282fc 25591 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
25592 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
25593 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25594 * commands/lspci.c (grub_lspci_iter): Likewise.
25595
a96df3f2 255962009-04-16 Bean <bean123ch@gmail.com>
25597
25598 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
25599 value.
25600
41bb0fe9 256012009-04-15 Pavel Roskin <proski@gnu.org>
25602
25603 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
25604 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
25605 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
25606 definitions.
25607
596c6970 256082009-04-15 Felix Zielcke <fzielcke@z-51.de>
25609
25610 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 25611 that no multiple data or metadata areas are supported and `Unknown
596c6970 25612 metadata header'.
25613
7dd4a573 256142009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 25615
25616 Move loader out of the kernel
25617
25618 * kern/loader.c: moved to ...
25619 * commands/boot.c: ... moved here
25620 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
25621 * commands/boot.c (grub_cmd_boot): moved here. All users updated
25622 * include/grub/kernel.h (grub_machine_fini): export
25623 * include/grub/loader.h (grub_loader_is_loaded): update declaration
25624 (grub_loader_set): likewise
25625 (grub_loader_unset): likewise
25626 (grub_loader_boot): likewise
25627 * conf/common.rmk: new module boot.mod
25628 (pkglib_MODULES): add boot.mod
25629 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
25630 (grub_emu_SOURCES): likewise
25631 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
25632 (grub_emu_SOURCES): likewise
25633 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
25634 (grub_emu_SOURCES): likewise
25635 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
25636 (grub_emu_SOURCES): likewise
25637 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
25638 (grub_emu_SOURCES): likewise
7dd4a573 25639 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
25640 (grub_emu_SOURCES): likewise
0d5d5653 25641 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 25642 (grub_emu_SOURCES): likewise
0d5d5653 25643
7dd4a573 256442009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 25645
25646 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 25647
5999d619 25648 * kern/misc.c (grub_itoa): Removed function
25649 (grub_ltoa): likewise
25650 (grub_vsprintf): use grub_lltoa
25651
7dd4a573 256522009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 25653
25654 Restore grub-emu
25655
25656 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
25657 * conf/i386-coreboot.rmk: likewise
25658 * conf/i386-ieee1275.rmk: likewise
25659 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25660
20318222 256612009-04-15 Felix Zielcke <fzielcke@z-51.de>
25662
25663 * INSTALL: Add that `./autogen.sh' needs to be run before
25664 `./configure.'.
25665
d05f0df3 256662009-04-14 Bean <bean123ch@gmail.com>
25667
25668 * Makefile.in (pkglib_DATA): Add handler.lst.
25669 (handler.lst): New rule.
25670
25671 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
25672 * conf/i386-coreboot.rmk: Likewise.
25673 * conf/i386-ieee1275.rmk: Likewise.
25674 * conf/i386-efi.rmk: Likewise.
25675 * conf/x86_64-efi.rmk: Likewise.
25676 * conf/powerpc-ieee1275.rmk: Likewise.
25677 * conf/sparc64-ieee1275.rmk: Likewise.
25678
25679 * genhandlerlist.sh: New file.
25680
25681 * genmk.rb: Add rules to generate handler.lst.
25682
25683 * include/grub/normal.h (grub_file_getline): New function definition.
25684 (read_handler_list): Likewise.
25685 (free_handler_list): Likewise.
25686
25687 * include/grub/term.h (grub_term_register_input): Add name parameter
25688 for auto generation of handler.lst.
25689 (grub_term_register_output): Likewise.
25690
25691 * normal/handler.c: New file.
25692
25693 * normal/main.c (get_line): Renamed to grub_file_getline.
25694 (read_config_file): Use the newly renamed grub_file_getline.
25695 (read_command_list): Likewise.
25696 (read_fs_list): Likewise.
25697 (grub_normal_execute): Call read_handler_list to parse handler.lst.
25698 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
25699
25700 * term/efi/console.c (grub_console_init): Add name parameter for auto
25701 generation of handler.lst.
25702 * term/gfxterm.c: Likewise.
25703 * term/i386/pc/at_keyboard.c: Likewise.
25704 * term/i386/pc/console.c: Likewise.
25705 * term/i386/pc/serial.c: Likewise.
25706 * term/i386/pc/vesafb.c: Likewise.
25707 * term/i386/pc/vga.c: Likewise.
25708 * term/i386/pc/vga_text.c: Likewise.
25709 * term/ieee1275/ofconsole.c: Likewise.
25710 * term/usb_keyboard.c: Likewise.
25711
33c846be 257122009-04-14 Bean <bean123ch@gmail.com>
25713
25714 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
25715 properly with null character.
25716
4484e01e 257172009-04-14 Felix Zielcke <fzielcke@z-51.de>
25718
25719 * configure: Remove.
25720 * config.h.in: Likewise.
f93d668e 25721 * stamp-h.in: Likewise.
4484e01e 25722 * DISTLIST: Likewise.
25723 * conf/common.mk: Likewise.
25724 * conf/i386-coreboot.mk: Likewise.
25725 * conf/i386-efi.mk: Likewise.
25726 * conf/i386-ieee1275.mk: Likewise.
25727 * conf/i386.mk: Likewise.
25728 * conf/i386-pc.mk: Likewise.
25729 * conf/powerpc-ieee1275.mk: Likewise.
25730 * conf/sparc64-ieee1275.mk: Likewise.
25731 * conf/x86_64-efi.mk: Likewise.
25732
25733 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
25734 develop on GRUB.
25735
7dd4a573 257362009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 25737 David S. Miller <davem@davemloft.net>
25738
25739 * util/hostdisk.c (make_device_name): Fix buffer length
25740 calculations.
25741
e25b5a8c 257422009-04-14 Felix Zielcke <fzielcke@z-51.de>
25743
25744 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
25745 <sys/param.h> and <sys/sysctl.h>.
25746 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
25747 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
25748 opening the device and reset them afterwards.
25749
1f1f580c 257502009-04-13 Pavel Roskin <proski@gnu.org>
25751
25752 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
25753 Reported by John Stanley <jpsinthemix@verizon.net>
25754
7ebc2d6b 257552009-04-13 Robert Millan <rmh@aybabtu.com>
25756
25757 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 25758 that name for menuentries when appropriate.
7ebc2d6b 25759
d8ba3667 257602009-04-13 Felix Zielcke <fzielcke@z-51.de>
25761
25762 * util/grub.d/10_freebsd.in: Add a missing `fi'.
25763
cba416eb 257642009-04-13 Robert Millan <rmh@aybabtu.com>
25765
25766 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
25767 to Linux, simply abort telling the user it's no longer supported.
25768
a547a745 257692009-04-13 Felix Zielcke <fzielcke@z-51.de>
25770
25771 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 25772 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 25773 `freebsd_loadenv' only when devices.hints exist.
25774
232a769c 257752009-04-13 Pavel Roskin <proski@gnu.org>
25776
25777 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
25778
c3012039 257792009-04-13 Felix Zielcke <fzielcke@z-51.de>
25780
25781 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
25782 partition number.
25783 (grub_drive): Likewise.
25784
234022fe 257852009-04-13 David S. Miller <davem@davemloft.net>
25786
25787 * kern/sparc64/ieee1275/ieee1275.c: New file.
25788 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
25789 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
25790 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
25791 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
25792 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25793 grub_ieee1275_alloc_physmem): Declare new exported functions.
25794
d8e1836c 25795 * include/grub/sparc64/ieee1275/loader.h: New file.
25796 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25797 * include/grub/sparc64/kernel.h: Likewise.
25798 * loader/sparc64/ieee1275/linux.c: Likewise.
25799
96bd81ec 25800 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25801 (grub_fstest_SOURCES): Likewise.
25802
6a4737e5 25803 * util/hostdisk.c (make_device_name): Do not make any assumptions
25804 about the length of drive names.
25805
1d7a72fd 25806 * kern/dl.c (grub_dl_load_file): Close file immediately when
25807 we are done using it.
25808
56bc2471 258092009-04-12 David S. Miller <davem@davemloft.net>
25810
25811 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25812 values. Noticed by Pavel Roskin.
25813
df38d0bb 25814 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25815 target compiler.
7dd4a573 25816
e382e93a 25817 * genmk.rb: Add more flexible image type specification, also
25818 pass --strip-unneeded to objcopy.
25819 * conf/i386-pc.rmk: Use *_FORMAT.
25820 * conf/i386-pc.mk: Rebuilt.
25821
f5dbbca9 25822 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25823 (OFDISK_HASH_SZ): Define.
25824 (ofdisk_hash): New hash table.
25825 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25826 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25827 instead of device phandle which is not unique.
25828
91c88b12 25829 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25830 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25831 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25832 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25833 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25834 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25835 GRUB_KERNEL_MACHINE_DATA_END): Define.
25836 (grub_kernel_image_size, grub_total_module_size): Declare.
25837
5b5d4aa5 258382009-04-12 Pavel Roskin <proski@gnu.org>
25839
7dd4a573 25840 * configure.ac: Change the logic when we check for target tools.
25841 Do it when the target is specified and it's different from the
25842 specified value of the host.
5b5d4aa5 25843
c91e1793 258442009-04-11 Felix Zielcke <fzielcke@z-51.de>
25845
25846 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25847 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25848 GNU/kFreeBSD. Check if a device is a character device. Use
25849 DIOCGMEDIASIZE to get the size.
25850 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25851 support for GNU/kFreeBSD.
25852 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25853 is a character device instead of a block device. Add support for
25854 FreeBSD device names.
25855
25856 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25857 is a character device instead of a block device.
25858
25859 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25860 is a character device instead of a block device.
25861
b1ac8644 258622009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25863
25864 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25865 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25866 FreeBSD. Check if a device is a character device. Use
25867 DIOCGMEDIASIZE to get the size.
25868 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25869 support for FreeBSD.
25870 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25871 is a character device instead of a block device. Add support for
25872 FreeBSD device names.
25873
25874 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25875 a character device instead of a block device.
25876 (grub_util_check_char_device): New function.
25877
25878 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25879 a character device instead of a block device.
25880
25881 * include/grub/util/getroot.h (grub_util_check_char_device): New
25882 prototype.
25883
a3f7515a 258842009-04-11 David S. Miller <davem@davemloft.net>
25885
25886 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25887 static libgcc.
25888 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25889 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25890 function, if present.
25891 (__bswapdi2): Likewise.
25892
0d44993d 25893 * include/grub/sparc64/ieee1275/boot.h: New file.
25894 * boot/sparc64/ieee1275/boot.S: Likewise.
25895 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25896
ed3d2bc2 25897 * kern/misc.c (grub_ltoa): New function.
25898 (grub_vsprintf): Use it to format 'long' integers.
25899
d3bfb59c 259002009-04-10 David S. Miller <davem@davemloft.net>
25901
25902 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25903 slots are of type grub_ieee1275_cell_t.
25904 (grub_nand_read): Likewise.
25905 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25906 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25907 macros are used to compare values in arg/ret block of the call.
25908 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25909 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25910 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25911 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25912 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25913 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25914 grub_ieee1275_close, grub_ieee1275_set_property,
25915 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25916 grub_ieee1275_cell_t.
25917 * kern/ieee1275/openfw.c (grub_map): Likewise.
25918 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25919 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25920
450e2238 25921 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25922 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25923 (grub_devalias_iterate): Likewise.
25924
7dd4a573 259252009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 25926
25927 UFS improvements
25928
25929 * fs/ufs.c (INODE_NBLOCKS): new definition
25930 (struct grub_ufs_dirent): added fields for non-BSD dirents
25931 (grub_ufs_get_file_block): fixed double indirect handling
25932 (grub_ufs_lookup_symlink): use more robust way to determine whether
25933 symlink is inline
25934 (grub_ufs_find_file): support for non-BSD dirents
25935 (grub_ufs_dir): support for non-BSD dirents
25936
e7e6862a 259372009-04-10 Bean <bean123ch@gnail.com>
25938
25939 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25940 attribute, otherwise the size would be wrong for i386 platform.
25941
25942 * include/grub/pci.h (grub_pci_read_word): New inline function.
25943 (grub_pci_read_byte): Likewise.
25944 (grub_pci_write): Likewise.
25945 (grub_pci_write_word): Likewise.
25946 (grub_pci_write_byte): Likewise.
25947
25948 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25949
25950 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25951 (find_framebuf): Scan pci to locate the frame buffer address.
25952
25953 * commands/efi/fixvideo.c: New file.
25954
25955 * commands/efi/loadbios.c: Likewise.
25956
25957 * commands/memrw.c: Likewise.
25958
25959 * util/grub-dumpbios.in: Likewise.
25960
25961 * conf/common.rmk (grub-dumpbios): New utility.
25962 (pkglib_MODULES): New module memrw.mod.
25963 (memrw_mod_SOURCE): New macro.
25964 (memrw_mod_CFLAGS): Likewise.
25965 (memrw_mod_LDFLAGS): Likewise.
25966
7dd4a573 25967 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25968 fixvideo.mod.
25969 (loadbios_mod_SOURCE): New macro.
25970 (loadbios_mod_CFLAGS): Likewise.
25971 (loadbios_mod_LDFLAGS): Likewise.
25972 (fixvideo_mod_SOURCE): Likewise.
25973 (fixvideo_mod_CFLAGS): Likewise.
25974 (fixvideo_mod_LDFLAGS): Likewise.
25975
7dd4a573 25976 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25977 fixvideo.mod.
25978 (loadbios_mod_SOURCE): New macro.
25979 (loadbios_mod_CFLAGS): Likewise.
25980 (loadbios_mod_LDFLAGS): Likewise.
25981 (fixvideo_mod_SOURCE): Likewise.
25982 (fixvideo_mod_CFLAGS): Likewise.
25983 (fixvideo_mod_LDFLAGS): Likewise.
25984
af63ada2 259852009-04-08 Felix Zielcke <fzielcke@z-51.de>
25986
25987 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25988
c2cdde70 259892009-04-07 David S. Miller <davem@davemloft.net>
25990
25991 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25992 support for R_SPARC_OLO10 relocations. Fix compile warning for
25993 R_SPARC_WDISP30 case.
ea3f72cf 25994 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 25995
761319cf 259962009-04-06 Pavel Roskin <proski@gnu.org>
25997
1007d1f5 25998 * include/grub/misc.h (ARRAY_SIZE): New macro.
25999 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
26000 New macro.
26001 * loader/i386/linux.c (allocate_pages): Use free_pages().
26002 (grub_linux_unload): Don't use free_pages().
26003 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
26004 wrong index. Treat all other modes as text modes.
26005 (grub_cmd_linux): Initialize vid_mode unconditionally to
26006 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
26007
761319cf 26008 * commands/help.c (print_command_help): Use cmd->prio, not
26009 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
26010
ea761d40 260112009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 26012
ea761d40 26013 Parttool
26014
26015 * parttool/pcpart.c: new file
26016 * commands/parttool.c: likewise
26017 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
26018 (parttool_mod_SOURCES): new variable
26019 (parttool_mod_CFLAGS): likewise
26020 (parttool_mod_LDFLAGS): likewise
26021 (pcpart_mod_SOURCES): likewise
26022 (pcpart_mod_CFLAGS): likewise
26023 (pcpart_mod_LDFLAGS): likewise
7dd4a573 26024 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 26025 and parttool/pcpart.c
26026 * conf/i386-efi.rmk: likewise
26027 * conf/i386-ieee1275.rmk: likewise
26028 * conf/i386-pc.rmk: likewise
26029 * conf/powerpc-ieee1275.rmk: likewise
26030 * conf/sparc64-ieee1275.rmk: likewise
26031 * conf/x86_64-ieee1275.rmk: likewise
26032
05aaebfb 260332009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26034
26035 Support for mtime and further expandability of dir command
26036
26037 * include/grub/lib/datetime.h: moved to ...
7dd4a573 26038 * include/grub/datetime.h: ... moved here and added
05aaebfb 26039 declaration of grub_unixtime2datetime. All users updated
7dd4a573 26040 * include/grub/fs.h: new syntax for dir and mtime functions in
26041 struct grub_fs
05aaebfb 26042 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
26043 and GRUB_FSHELP_FLAGS_MASK
26044 * commands/ls.c (grub_ls_list_files): Write mtime in long format
26045 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
26046 (grub_ext2_mtime): new function
26047 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
26048 (grub_hfsplus_mtime): new function
26049 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
26050 (GRUB_UFS_ATTR_FILE): likewise
26051 (GRUB_UFS_ATTR_LNK): likewise
26052 (struct grub_ufs_sblock): new fields mtime
26053 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
26054 all users updated
26055 (grub_ufs_dir): mtime support
26056 (grub_ufs_mtime): new function
26057 * fs/affs.c (grub_affs_dir): use new dir syntax
26058 * fs/afs.c (grub_afs_dir): likewise
26059 * fs/cpio.c (grub_cpio_dir): likewise
26060 * fs/fat.c (grub_fat_find_dir): likewise
26061 * fs/hfs.c (grub_hfs_dir): likewise
26062 * fs/iso9660.c (grub_iso9660_dir): likewise
26063 * fs/jfs.c (grub_jfs_dir): likewise
26064 * fs/minix.c (grub_minix_dir): likewise
26065 * fs/ntfs.c (grub_ntfs_dir): likewise
26066 * fs/reiserfs.c (grub_reiserfs_dir): likewise
26067 * fs/sfs.c (grub_sfs_dir): likewise
26068 * fs/xfs.c (grub_xfs_dir): likewise
26069 * util/hostfs.c (grub_hostfs_dir): likewise
26070 * lib/datetime.c: moved to ...
26071 * normal/datetime.c: ... moved here
26072 (grub_unixtime2datetime): new function
26073 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 26074 * normal/completion.c (iterate_dir): use new dir syntax
26075 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 26076 last modification time of a volume
7dd4a573 26077 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 26078 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 26079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 26080 (normal_mod_SOURCES): likewise
26081 (datetime_mod_SOURCES): Removed lib/datetime.c
26082 * conf/i386-efi.rmk: likewise
7dd4a573 26083 * conf/i386-ieee1275.rmk: likewise
05aaebfb 26084 * conf/i386-pc.rmk: likewise
26085 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 26086 * conf/sparc64-ieee1275.rmk: likewise
26087 * conf/x86_64-efi.rmk: likewise
05aaebfb 26088
8a7e1a14 260892009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26090
26091 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 26092
26093 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 26094 on grub_fat_find_dir
26095 (grub_fat_find_dir): use grub_fat_iterate_dir
26096 (grub_fat_label): likewise
26097
04186a9c 260982009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26099
7dd4a573 26100 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 26101 and command.h
26102 remove extraneous kernel_elf_HEADERS
26103
da4c0bb6 261042009-04-04 Bean <bean123ch@gnail.com>
26105
26106 * include/grub/util/misc.h: Add dummy function fsync for mingw.
26107
26108 * util/misc.c: Likewise.
26109
54ad9555 261102009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26111
26112 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
26113 instead of grub_printf.
26114
7a6bf9f2 261152009-04-03 Robert Millan <rmh@aybabtu.com>
26116
26117 * loader/i386/linux.c (grub_linux_setup_video): Fill
26118 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
26119 values from `mode info' structure instead of hardcoded
26120 values.
26121
3fcc2083 261222009-04-01 Pavel Roskin <proski@gnu.org>
26123
26124 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
26125 unused now.
26126 * genmk.rb: Likewise.
26127 * configure.ac: Likewise.
26128
5ec9740b 261292009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
26130
26131 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
26132 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
26133
5270cec8 261342009-04-01 David S. Miller <davem@davemloft.net>
26135
26136 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 26137 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 26138 (grub_setjmp): Mark with 'returns_twice' attribute.
26139 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
26140 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
26141 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
26142
9c3dd854 261432009-04-01 Robert Millan <rmh@aybabtu.com>
26144
26145 Reapply fix from 2008-07-28 which was accidentally reverted; also
26146 perform the same fix to a similar check in same function.
26147
26148 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
26149 with the same number are found, just use issue a warning with
26150 grub_dprintf(), as this error has been reported to be non-fatal.
26151
0d818b7e 261522009-03-31 Pavel Roskin <proski@gnu.org>
26153
26154 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
26155 for cross-compilation.
26156
95646d92 261572009-03-30 Robert Millan <rmh@aybabtu.com>
26158
26159 Fix i386-ieee1275 build.
26160
26161 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
26162 Remove declaration.
26163
6a003ed1 261642009-03-30 Pavel Roskin <proski@gnu.org>
26165
26166 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
26167 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
26168 zero-terminated, rely only on the strlen value. Fix comparison
26169 of strings differing in length.
26170
92f33540 261712009-03-30 Robert Millan <rmh@aybabtu.com>
26172
26173 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
26174 checking for abi version. Improve error messages on BIOS to notify
26175 user about `linux16' command.
26176
a8c48fd5 261772009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
26178
f968172e 26179 Leak fixes
a8c48fd5 26180
f968172e 26181 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
26182 in case of collision
26183 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 26184
9c323f09 261852009-03-29 Robert Millan <rmh@aybabtu.com>
26186
26187 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
26188 set `vid_mode' accordingly.
26189 (grub_linux_boot): Process `vid_mode' and set video mode.
26190
ae68f423 261912009-03-29 Robert Millan <rmh@aybabtu.com>
26192
26193 * util/grub.d/10_linux.in (linux_entry): New function.
26194 Factorize generation of Linux boot entries.
26195
5709cfc4 261962009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
26197
26198 Make the format of Environment Block plain text. The boot loader
26199 part is not tested well yet.
7dd4a573 26200
5709cfc4 26201 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
26202 (buffer): Removed.
26203 (envblk): Likewise.
26204 (usage): Remove "info" and "clear". Add "unset". Update the
26205 description of "set", as this does not delete variables any
26206 longer.
26207 (create_envblk_file): Complete rewrite.
26208 (open_envblk_file): Likewise.
26209 (cmd_info): Removed.
26210 (cmd_list): Likewise.
26211 (cmd_set): Likewise.
26212 (cmd_clear): Likewise.
26213 (list_variables): New function.
26214 (write_envblk): Likewise.
26215 (set_variables): Likewise.
26216 (unset_variables): Likewise.
26217 (main): Complete rewrite.
26218
26219 * commands/loadenv.c (buffer): Removed.
26220 (envblk): Likewise.
26221 (open_envblk_file): New function.
26222 (read_envblk_file): Complete rewrite.
26223 (grub_cmd_load_env): Likewise.
26224 (grub_cmd_list_env): Likewise.
26225 (struct blocklist): New struct.
26226 (free_blocklists): New function.
26227 (check_blocklists): Likewise.
26228 (write_blocklists): Likewise.
26229 (grub_cmd_save_env): Complete rewrite.
26230
26231 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
26232 a plain text signature.
26233 (GRUB_ENVBLK_MAXLEN): Removed.
26234 (struct grub_envblk): Complete rewrite.
26235 (grub_envblk_find): Removed.
26236 (grub_envblk_insert): Likewise.
26237 (grub_envblk_open): New prototype.
26238 (grub_envblk_set): Likewise.
26239 (grub_envblk_delete): Put const to VALUE.
26240 (grub_envblk_iterate): Put const to NAME and VALUE.
26241 (grub_envblk_close): New prototype.
26242 (grub_envblk_buffer): New inline function.
26243 (grub_envblk_size): Likewise.
26244
26245 * lib/envblk.c: Include grub/mm.h.
26246 (grub_env_find): Removed.
26247 (grub_envblk_open): New function.
26248 (grub_envblk_close): Likewise.
26249 (escaped_value_len): Likewise.
26250 (find_next_line): Likewise.
26251 (grub_envblk_insert): Removed.
26252 (grub_envblk_set): New function.
26253 (grub_envblk_delete): Complete rewrite.
26254 (grub_envblk_iterate): Likewise.
26255
a9368fd3 262562009-03-28 Robert Millan <rmh@aybabtu.com>
26257
26258 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
26259 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
26260 variables. Use 16-bit loader.
26261 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
26262 loader.
26263 * kern/i386/loader.S (grub_linux_boot): Rename to ...
26264 (grub_linux16_boot): ... this. Update all users.
26265 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
26266 (grub_linux_boot): ... this. Update all users.
26267
26268 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
26269 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
26270 commands to `linux16' and `initrd16'.
26271 (GRUB_MOD_FINI(linux)): Rename to ...
26272 (GRUB_MOD_FINI(linux16)): ... this.
26273
e4dd5a7e 262742009-03-24 Pavel Roskin <proski@gnu.org>
26275
26276 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
26277 not just for compilation.
26278
c04d6e05 262792009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
26280
26281 Move multiboot helper out of kernel
26282
26283 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
26284 `loader/i386/multiboot_helper.S'.
26285 * conf/i386-coreboot.rmk: Likewise
26286 * conf/i386-ieee1275.rmk: Likewise
26287
26288 * kern/i386/loader.S: Move multiboot helpers from here...
26289 * loader/i386/multiboot_helper.S: ...moved here
26290 * include/grub/i386/loader.h: Move declarations of multiboot
26291 helpers from here...
26292 * include/grub/i386/multiboot.h: ...moved here
26293 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
26294
42a5b3fc 262952009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
26296
26297 * kern/env.c (grub_env_context_open): Added an argument to specify
26298 whether a new context inherits exported variables from current
26299 one. This is useful when making a sandbox to interpret a config
26300 file.
26301 All callers updated.
26302
26303 * include/grub/env.h (grub_env_context_open): Updated the prototype.
26304
b28bbc4e 263052009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
26306
26307 * kern/env.c (grub_env_context_close): Fix memory leaks.
26308
f04f02e4 263092009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
26310
26311 * normal/main.c (grub_normal_execute): Added an argument
26312 BATCH to specify if an interactive interface should be provided
26313 after reading a config file.
26314 All callers updated.
26315 (read_command_list): Prevent being executed twice.
26316 (read_fs_list): Likewise.
26317
42a5b3fc 26318 * include/grub/normal.h (grub_normal_execute): Updated the
26319 prototype.
f04f02e4 26320
41473ac2 263212009-03-22 Pavel Roskin <proski@gno.org>
26322
fbc00b0c 26323 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
26324 _start.
26325 * kern/i386/pc/startup.S: Likewise.
26326 * kern/i386/efi/startup.S: Likewise.
26327 * kern/i386/ieee1275/startup.S: Likewise.
26328 * kern/i386/coreboot/startup.S: Likewise.
26329 * kern/x86_64/efi/startup.S: Likewise.
26330
41473ac2 26331 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
26332 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
26333 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
26334
2274cc8f 263352009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
26336
26337 Bugfixes in multiboot for bugs uncovered by solaris kernel.
26338
26339 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
26340 limit detection.
26341 Use vaddr of correct segment for entry_point.
26342
b1b797cb 263432009-03-21 Bean <bean123ch@gmail.com>
26344
26345 * commands/blocklist.c: Add include file <grub/command.h>, remove
26346 <grub/normal.h> and <grub/arg.h>.
26347 (grub_cmd_blocklist): Use the new command interface.
26348 (GRUB_MOD_INIT): Likewise.
26349 (GRUB_MOD_FINI): Likewise.
26350 * commands/boot.c: Likewise.
26351 * commands/cat.c: Likewise.
26352 * commands/cmp.c: Likewise.
26353 * commands/configfile.c: Likewise.
26354 * commands/crc.c: Likewise.
26355 * commands/echo.c: Likewise.
26356 * commands/halt.c: Likewise.
26357 * commands/handler.c: Likewise.
26358 * commands/hdparm.c: Likewise.
26359 * commands/help.c: Likewise.
26360 * commands/hexdump.c: Likewise.
26361 * commands/loadenv.c: Likewise.
26362 * commands/ls.c: Likewise.
26363 * commands/lsmmap.c: Likewise.
26364 * commands/lspci.c: Likewise.
26365 * commands/loadenv.c: Likewise.
26366 * commands/read.c: Likewise.
26367 * commands/reboot.c: Likewise.
26368 * commands/search.c: Likewise.
26369 * commands/sleep.c: Likewise.
26370 * commands/test.c: Likewise.
26371 * commands/usbtest.c: Likewise.
26372 * commands/videotest.c: Likewise.
26373 * commands/i386/cpuid.c: Likewise.
26374 * commands/i386/pc/halt.c: Likewise.
26375 * commands/i386/pc/play.c: Likewise.
26376 * commands/i386/pc/pxecmd.c: Likewise.
26377 * commands/i386/pc/vbeinfo.c: Likewise.
26378 * commands/i386/pc/vbetest.c: Likewise.
26379 * commands/ieee1275/suspend.c: Likewise.
26380 * disk/loopback.c: Likewise.
26381 * font/font_cmd.c: Likewise.
26382 * hello/hello.c: Likewise.
26383 * loader/efi/appleloader.c: Likewise.
26384 * loader/efi/chainloader.c: Likewise.
26385 * loader/i386/bsd.c: Likewise.
26386 * loader/i386/efi/linux.c: Likewise.
26387 * loader/i386/ieee1275/linux.c: Likewise.
26388 * loader/i386/linux.c: Likewise.
26389 * loader/i386/pc/chainloader.c: Likewise.
26390 * loader/i386/pc/linux.c: Likewise.
26391 * loader/powerpc/ieee1275/linux.c: Likewise.
26392 * loader/multiboot_loader.c: Likewise.
26393 * term/gfxterm.c: Likewise.
26394 * term/i386/pc/serial.c: Likewise.
26395 * term/terminfo.c: Likewise.
26396
26397 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
26398 * term/i386/pc/vga.c: Likewise.
26399 * video/readers/jpeg.c: Likewise.
26400 * video/readers/png.c: Likewise.
26401 * video/readers/tga.c: Likewise.
26402
26403 * util/grub-fstest (cmd_loopback): Removed.
26404 (cmd_blocklist): Likewise.
26405 (cmd_ls): Likewise.
26406 (grub_register_command): Likewise.
26407 (grub_unregister_command): Likewise.
26408 (execute_command): Use grub_command_find to locate command and execute
26409 it.
26410
26411 * include/grub/efi/chainloader.h: Removed.
26412 * loader/efi/chainloader_normal.c: Likewise.
26413 * loader/i386/bsd_normal.c: Likewise.
26414 * loader/i386/pc/chainloader_normal.c: Likewise.
26415 * loader/i386/pc/multiboot_normal.c: Likewise.
26416 * loader/linux_normal.c: Likewise.
26417 * loader/multiboot_loader_normal.c: Likewise.
26418 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26419
26420 * gencmdlist.sh: Scan new registration command grub_register_extcmd
26421 and grub_register_command_p1.
26422
26423 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
26424 kern/command.c, lib/arg.c and commands/extcmd.c.
26425 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
26426 (minicmd_mod_SOURCES): New variable.
26427 (minicmd_mod_CFLAGS): Likewise.
26428 (minicmd_mod_LDFLAGS): Likewise.
26429 (extcmd_mod_SOURCES): Likewise.
26430 (extcmd_mod_CFLAGS): Likewise.
26431 (extcmd_mod_LDFLAGS): Likewise.
26432 (boot_mod_SOURCES): Removed.
26433 (boot_mod_CFLAGS): Likewise.
26434 (boot_mod_LDFLAGS): Likewise.
26435
26436 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
26437 kern/corecmd.c.
26438 (kernel_img_HEADERS): Add command.h.
26439 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
26440 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
26441 and lib/arg.c.
26442 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
26443 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
26444 remove the corresponding normal mode command.
26445 (normal_mod_SOURCES): Remove normal/arg.c.
26446 * conf/i386-coreboot.rmk: Likewise.
26447 * conf/i386-efi.rmk: Likewise.
26448 * conf/i386-ieee1275.rmk: Likewise.
26449 * conf/powerpc-ieee1275.rmk: Likewise.
26450 * conf/x86_64-efi.rmk: Likewise.
26451
26452 * include/grub/arg.h: Move from here ...
26453 * include/grub/lib/arg.h: ... to here.
26454
26455 * normal/arg.c: Move from here ...
26456 * lib/arg.c: ... to here.
26457
26458 * commands/extcmd.c: New file.
26459 * commands/minicmd.c: Likewise.
26460 * include/grub/command.h: Likewise.
26461 * include/grub/extcmd.h: Likewise.
26462 * kern/command.c: Likewise.
26463 * kern/corecmd.c: Likewise.
26464
26465 * kern/list.c (grub_list_iterate): Return int instead of void.
26466 (grub_list_insert): New function.
26467 (grub_prio_list_insert): Likewise.
26468
26469 * kern/rescue.c (grub_rescue_command): Removed.
26470 (grub_rescue_command_list): Likewise.
26471 (grub_rescue_register_command): Likewise.
26472 (grub_rescue_unregister_command): Likewise.
26473 (grub_rescue_cmd_boot): Move to minicmd.c
26474 (grub_rescue_cmd_help): Likewise.
26475 (grub_rescue_cmd_info): Likewise.
26476 (grub_rescue_cmd_boot): Likewise.
26477 (grub_rescue_cmd_testload): Likewise.
26478 (grub_rescue_cmd_dump): Likewise.
26479 (grub_rescue_cmd_rmmod): Likewise.
26480 (grub_rescue_cmd_lsmod): Likewise.
26481 (grub_rescue_cmd_exit): Likewise.
26482 (grub_rescue_print_devices): Moved to corecmd.c.
26483 (grub_rescue_print_files): Likewise.
26484 (grub_rescue_cmd_ls): Likewise.
26485 (grub_rescue_cmd_insmod): Likewise.
26486 (grub_rescue_cmd_set): Likewise.
26487 (grub_rescue_cmd_unset): Likewise.
7d074e3c 26488 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 26489 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 26490 commands, remove grub_rescue_register_command calls.
b1b797cb 26491
7d074e3c 26492 * normal/command.c (grub_register_command): Removed.
b1b797cb 26493 (grub_unregister_command): Likewise.
26494 (grub_command_find): Likewise.
26495 (grub_iterate_commands): Likewise.
26496 (rescue_command): Likewise.
26497 (export_command): Moved to corecmd.c.
26498 (set_command): Removed.
26499 (unset_command): Likewise.
26500 (insmod_command): Likewise.
26501 (rmmod_command): Likewise.
26502 (lsmod_command): Likewise.
26503 (grub_command_init): Likewise.
26504
26505 * normal/completion.c (iterate_command): Use cmd->prio to check for
26506 active command.
26507 (complete_arguments): Use grub_extcmd_t structure to find options.
26508 (grub_normal_do_completion): Change function grub_iterate_commands to
26509 grub_command_iterate.
26510
26511 * normal/execute.c (grub_script_execute_cmd): No need to parse
26512 argument here.
26513
26514 * normal/main.c (grub_dyncmd_dispatcher): New function.
26515 (read_command_list): Register unload commands as dyncmd.
26516 (grub_cmd_normal): Use new command interface, register rescue,
26517 unregister normal at entry, register normal, unregister rescue at exit.
26518
26519 * include/grub/list.h (grub_list_test_t): New type.
26520 (grub_list_iterate): Return int instead of void.
26521 (grub_list_insert): New function.
26522 (GRUB_AS_NAMED_LIST_P): New macro.
26523 (GRUB_AS_PRIO_LIST): Likewise.
26524 (GRUB_AS_PRIO_LIST_P): Likewise.
26525 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
26526 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
26527 (grub_prio_list): New structure.
26528 (grub_prio_list_insert): New function.
26529 (grub_prio_list_remove): New inline function.
26530
26531 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
26532 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
26533 (GRUB_COMMAND_FLAG_MENU): Likewise.
26534 (GRUB_COMMAND_FLAG_BOTH): Likewise.
26535 (GRUB_COMMAND_FLAG_TITLE): Likewise.
26536 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
26537 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
26538 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
26539 (grub_command): Likewise.
26540 (grub_register_command): Likewise.
26541 (grub_command_find): Likewise.
26542 (grub_iterate_commands): Likewise.
26543 (grub_command_init): Likewise.
26544 (grub_arg_parse): Likewise.
26545 (grub_arg_show_help): Likewise.
26546
26547 * include/grub/rescue.h (grub_rescue_register_command): Removed.
26548 (grub_rescue_unregister_command): Likewise.
26549
26550 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
26551 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
26552 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
26553
26554 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
26555 grub_rescue_cmd_initrd.
26556 * include/grub/i386/loader.h: Likewise.
26557 * include/grub/x86_64/loader.h: Likewise.
26558
26559 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
26560
1f4147aa 265612009-03-21 Bean <bean123ch@gmail.com>
26562
26563 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
26564 instead of stat in mingw environment.
26565
26566 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
26567
26568 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
26569
26570 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
26571 AC_CONFIG_LINKS.
26572
2156d5ba 265732009-03-21 Bean <bean123ch@gmail.com>
26574
26575 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
26576 out of range error.
26577
177b82ca 265782009-03-18 Michel Dänzer <michel@daenzer.net>
26579
26580 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
26581 checking inode flags for EXT4_EXTENTS_FLAG.
26582
14aad807 265832009-03-18 Robert Millan <rmh@aybabtu.com>
26584
26585 * loader/i386/linux.c: Include `<grub/video.h>' and
26586 `<grub/i386/pc/vbe.h>'..
26587 (grub_linux_setup_video): New function. Loosely based on the EFI one.
26588 (grub_linux32_boot): Attempt to configure video settings with
26589 grub_linux_setup_video().
26590 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
26591 to avoid grub_console_fini() which would step out of graphical mode
26592 unconditionally.
26593
8cf83a27 265942009-03-14 Robert Millan <rmh@aybabtu.com>
26595
26596 Fix build on powerpc.
26597 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
26598
40164e75 265992009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
26600
26601 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
26602 background image command.
26603
c58bc32a 266042009-03-12 Colin D Bennett <colin@gibibit.com>
26605
26606 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
26607 (grub_gfxterm_putchar): Extract pairs of identical calls to
26608 draw_cursor out of conditional blocks.
26609
5415144a 266102009-03-11 Pavel Roskin <proski@gnu.org>
26611
26612 * fs/hfs.c (grub_hfs_strncasecmp): New function.
26613 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
26614
6394042e 266152009-03-11 Robert Millan <rmh@aybabtu.com>
26616
26617 * loader/i386/multiboot_elfxx.c
26618 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
26619
b7b50e5f 266202009-03-11 Felix Zielcke <fzielcke@z-51.de>
26621
26622 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
26623 `kern/handler.c'.
26624
1ca7fc96 266252009-03-11 Robert Millan <rmh@aybabtu.com>
26626
26627 * loader/i386/multiboot.c (code_size): New variable.
26628 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 26629 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 26630 4-byte alignment to MBI and others by increasing
7d074e3c 26631 `boot_loader_name_length' appropriately.
1ca7fc96 26632
26633 * loader/i386/multiboot_elfxx.c
26634 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
26635
a83ea1d2 266362009-03-09 Felix Zielcke <fzielcke@z-51.de>
26637
26638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
26639 `fs/ext2.c'.
26640
aa9f3bff 266412009-03-08 Robert Millan <rmh@aybabtu.com>
26642
26643 Make loader/i386/linux.c usable on i386-pc again.
26644
26645 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
26646 memory to heap.
26647 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
26648 `#error' stanza.
26649
d8b3b60e 266502009-03-07 Bean <bean123ch@gmail.com>
26651
26652 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
26653 allocation.
26654
b362c9e9 266552009-03-06 Robert Millan <rmh@aybabtu.com>
26656
26657 Fix display issue on terminals with screen size other than 80x25
26658 (e.g. gfxterm with resolution higher than 640x480).
26659
26660 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 26661 position relative to the center of the terminal instead of relying
b362c9e9 26662 on a hardcoded offset.
26663
9304eef1 266642009-03-04 Robert Millan <rmh@aybabtu.com>
26665
26666 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
26667 installed.
26668
26669 * Makefile.in (host_kernel): New variable.
26670 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
26671 scripts instead of just the windows one.
26672 * configure.ac: Initialize and AC_SUBST `host_kernel'.
26673
eabc95fb 266742009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 26675
26676 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
26677 `kern/handler.c'.
26678 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26679 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26680 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26682 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26683 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26684
ceb1223c 266852009-03-04 Felix Zielcke <fzielcke@z-51.de>
26686
26687 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
26688 or if there's no space for the disk label and print the partition number on a
26689 invalid magic.
26690
4910684a 266912009-03-04 Felix Zielcke <fzielcke@z-51.de>
26692
26693 * util/misc.c: Include <time.h>.
26694 (grub_millisleep): New function.
26695
7e9ca17a 266962009-03-04 Bean <bean123ch@gmail.com>
26697
26698 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
26699 another option -mno-red-zone.
26700
26701 * commands/handler.c: Change module description.
26702
26703 * kern/handler.c: Add missing space at the end of description line.
26704
26705 * kern/list.c: Likewise.
26706
f501677c 267072009-03-03 Robert Millan <rmh@aybabtu.com>
26708
26709 Move more components to the relocation area, and fix mbi pointer
26710 handling to use the destination rather than the origin (thanks to
26711 Vladimir Serbinenko for spotting).
26712
26713 * loader/i386/multiboot.c (mbi_dest): New variable.
26714 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
26715 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
26716 relocation area.
26717
9902d047 267182009-03-01 Bean <bean123ch@gmail.com>
26719
50fb7002 26720 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 26721 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
26722 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
26723 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
26724
26725 * loader/i386/efi/linux.c (acpi_guid): New variable.
26726 (acpi_guid): Likewise.
26727 (EBDA_SEG_ADDR): New constant.
26728 (LOW_MEM_ADDR): Likewise.
26729 (FAKE_EBDA_SEG): Likewise.
26730 (fake_bios_data): New function.
26731 (grub_linux_boot): Call fake_bios_data.
26732
71b9f361 267332009-03-01 Bean <bean123ch@gmail.com>
26734
26735 * commands/terminal.c: Removed.
26736
26737 * commands/handler.c: New file.
26738
26739 * include/grub/list.h: Likewise.
26740
26741 * include/grub/handler.h: Likewise.
26742
26743 * kern/list.c: Likewise.
26744
26745 * kern/handler.c: Likewise.
26746
26747 * kern/term.h: Include header file <grub/handler.h>.
26748 (grub_term_input): Move next field to the beginning.
26749 (grub_term_output): Likewise.
26750 (grub_term_input_class): New variable.
26751 (grub_term_output_class): Likewise.
26752 (grub_term_register_input): Changed to inline function.
26753 (grub_term_register_output): Likewise.
26754 (grub_term_unregister_input): Likewise.
26755 (grub_term_unregister_output): Likewise.
26756 (grub_term_set_current_input): Likewise.
26757 (grub_term_set_current_output): Likewise.
26758 (grub_term_get_current_input): Likewise.
26759 (grub_term_get_current_output): Likewise.
26760 (grub_term_iterate_input): Removed.
26761 (grub_term_iterate_output): Likewise.
26762
26763 * kern/term.c (grub_term_list_input): Removed.
26764 (grub_term_list_output): Likewise.
26765 (grub_term_input_class): New variable.
26766 (grub_term_output_class): Likewise.
50fb7002 26767 (grub_cur_term_input): Change variable as macro.
71b9f361 26768 (grub_cur_term_output): Likewise.
26769 (grub_term_register_input): Removed.
26770 (grub_term_register_output): Likewise.
26771 (grub_term_unregister_input): Likewise.
26772 (grub_term_unregister_output): Likewise.
26773 (grub_term_set_current_input): Likewise.
26774 (grub_term_set_current_output): Likewise.
26775 (grub_term_iterate_input): Likewise.
26776 (grub_term_iterate_output): Likewise.
26777 (grub_term_get_current_input): Likewise.
26778 (grub_term_get_current_output): Likewise.
26779
26780 * util/grub-editenv.c: Include header file <grub/handler.h>.
26781 (grub_term_get_current_input): Removed.
26782 (grub_term_get_current_output): Likewise.
26783 (grub_term_input_class): New variable.
50fb7002 26784 (grub_term_output_class): Likewise.
71b9f361 26785
26786 * util/grub-fstest.c (grub_term_get_current_input): Removed.
26787 (grub_term_get_current_output): Likewise.
26788 (grub_term_input_class): New variable.
50fb7002 26789 (grub_term_output_class): Likewise.
71b9f361 26790
26791 * util/grub-probe.c (grub_term_get_current_input): Removed.
26792 (grub_term_get_current_output): Likewise.
26793 (grub_term_input_class): New variable.
50fb7002 26794 (grub_term_output_class): Likewise.
71b9f361 26795
26796 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26797 (grub_term_get_current_output): Likewise.
26798 (grub_term_input_class): New variable.
50fb7002 26799 (grub_term_output_class): Likewise.
71b9f361 26800
26801 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26802 (terminal_mod_SOURCES): Likewise.
26803 (terminal_mod_CFLAGS): Likewise.
26804 (terminal_mod_LDFLAGS): Likewise.
26805
26806 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26807 handler.c.
26808 (kernel_img_SOURCES): Add list.c and handler.c.
26809 (kernel_img_HEADERS): Add list.h and handler.h.
26810
26811 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26812 handler.c.
26813 (kernel_mod_SOURCES): Add list.c and handler.c.
26814 (kernel_mod_HEADERS): Add list.h and handler.h.
26815
26816 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26817 handler.c.
26818 (kernel_elf_SOURCES): Add list.c and handler.c.
26819 (kernel_elf_HEADERS): Add list.h and handler.h.
26820
26821 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26822 handler.c.
26823 (kernel_elf_SOURCES): Add list.c and handler.c.
26824 (kernel_elf_HEADERS): Add list.h and handler.h.
26825
26826 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26827 handler.c.
26828 (kernel_mod_SOURCES): Add list.c and handler.c.
26829 (kernel_mod_HEADERS): Add list.h and handler.h.
26830
26831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26832 handler.c.
26833 (kernel_elf_SOURCES): Add list.c and handler.c.
26834 (kernel_elf_HEADERS): Add list.h and handler.h.
26835
8a31787f 268362009-02-27 Robert Millan <rmh@aybabtu.com>
26837
26838 Factorize elf32 / elf64 code in Multiboot loader. This will
26839 prevent it from getting out of sync again.
26840
26841 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26842 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26843 grub_multiboot_load_elf64): Move from here ...
26844 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26845 grub_multiboot_load_elf): ... to here (new file).
26846
51cd3dfc 268472009-02-27 Robert Millan <rmh@aybabtu.com>
26848
26849 * util/grub.d/10_linux.in: Rename "single-user mode" to
26850 "recovery mode".
26851
6e8c9c3a 268522009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26853
26854 Don't leak in SCSI code.
26855 * disk/scsi.c (grub_scsi_close): free `scsi'.
26856
4b6bf4f9 268572009-02-27 Robert Millan <rmh@aybabtu.com>
26858
26859 * loader/i386/pc/multiboot.c: Move from here ...
26860 * loader/i386/multiboot.c: ... to here. Update all users.
26861
b9413424 268622009-02-27 Robert Millan <rmh@aybabtu.com>
26863
26864 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26865 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26866
50fb7002 268672009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 26868
26869 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26870 b-tree.
26871
8cc50345 268722009-02-27 Robert Millan <rmh@aybabtu.com>
26873
26874 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26875 `0x' qualifier as 0 when base is specified as parameter).
26876
6e09b8b7 268772009-02-24 Bean <bean123ch@gmail.com>
26878
26879 * configure.ac: Check for -mcmodel=large in x86_64 target.
26880
26881 * include/grub/efi/api.h (efi_call_10): New macro.
26882 (efi_wrap_10): New function.
26883
26884 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26885 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26886 (GRUB_PE32_REL_BASED_LOW): Likewise.
26887 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26888 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26889 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26890 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26891 (GRUB_PE32_REL_BASED_REL): Likewise.
26892 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26893 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26894 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26895
26896 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26897 issue.
26898
26899 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26900 (efi_wrap_10): New function.
26901
26902 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26903
26904 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26905 MB/MBP model (NV chipset).
26906 (devdata_devs): Add devpath_5 to the list.
26907
26908 * load/i386/efi/linux.c (video_base): Remove variable.
26909 (RGB_MASK): New macro.
26910 (RGB_MAGIC): Likewise.
26911 (LINE_MIN): Likewise.
26912 (LINE_MAX): Likewise.
26913 (FBTEST_STEP): Likewise.
26914 (FBTEST_COUNT): Likewise.
26915 (fb_list): New variable.
26916 (grub_find_video_card): Remove function.
26917 (find_framebuf): New function.
26918 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26919 line length.
26920
26921 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26922 problem for x86_64.
26923
74b21bee 269242009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26925
26926 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26927
26928 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26929 coding tool name.
26930
a455f472 269312009-02-22 Robert Millan <rmh@aybabtu.com>
26932
26933 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26934 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26935 in our relocation, instead of using it directly from heap. Also
26936 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26937
6374daf3 269382009-02-21 Robert Millan <rmh@aybabtu.com>
26939
26940 Implement USB keyboard support (based on patch by Marco Gerards)
26941
26942 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26943 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26944 (usb_keyboard_mod_LDFLAGS): New variables.
26945
26946 * term/usb_keyboard.c: New file.
26947
8fa4ea70 269482009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26949
26950 Corrected wrong declaration
26951
26952 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26953
353976ac 269542009-02-14 Christian Franke <franke@computer.org>
26955
26956 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26957 (grub_lspci_iter): Print class code and programming interface byte.
26958
6aa1169b 269592009-02-14 Christian Franke <franke@computer.org>
26960
26961 * gendistlist.sh: Ignore `.svn' directories.
26962
265372ca 269632009-02-14 Felix Zielcke <fzielcke@z-51.de>
26964
26965 * fs/fat.c: Add 2009 to Copyright line.
26966
9ff516f3 269672009-02-14 Christian Franke <franke@computer.org>
26968
26969 * commands/hdparm.c: New file. Provides `hdparm' command
26970 which sends ATA commands via grub_disk_ata_pass_through ().
26971
26972 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26973
26974 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26975 and <grub/cpu/io.h> to include/grub/ata.h.
26976 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26977 (GRUB_CDROM_SECTOR_SIZE): Remove.
26978 (GRUB_ATA_*): Move to include/grub/ata.h.
26979 (GRUB_ATAPI_*): Likewise.
26980 (enum grub_ata_commands): Likewise.
26981 (enum grub_ata_timeout_milliseconds): Likewise.
26982 (struct grub_ata_device): Likewise.
26983 (grub_ata_regset): Likewise.
26984 (grub_ata_regget): Likewise.
26985 (grub_ata_regset2): Likewise.
26986 (grub_ata_regget2): Likewise.
26987 (grub_ata_check_ready): Likewise.
26988 (grub_ata_wait_not_busy): Remove static, exported in
26989 include/grub/ata.h.
26990 (grub_ata_wait_drq): Likewise.
26991 (grub_ata_pio_read): Likewise.
26992
26993 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26994 function for hdparm.mod.
26995
26996 * include/grub/ata.h: New file, contains declarations from
26997 disk/ata.c.
26998 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26999
27000 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
27001 (grub_disk_ata_pass_through): New exported variable.
27002
27003 * kern/disk.c (grub_disk_ata_pass_through): New variable.
27004
772e23da 270052009-02-13 Colin D Bennett <colin@gibibit.com>
27006
27007 Support multiple fallback entries, and provide an API to support
27008 executing default+fallback menu entries. Renamed the `terminal' menu
27009 viewer to `text'.
27010
27011 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
27012 variable declaration.
27013 (grub_menu_execute_callback): New structure declaration.
27014 (grub_menu_execute_callback_t): New typedef.
27015 (grub_menu_execute_with_fallback): New function declaration.
27016 (grub_menu_get_entry): Likewise.
27017 (grub_menu_get_timeout): Likewise.
27018 (grub_menu_set_timeout): Likewise.
27019
27020 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
27021
27022 * normal/menu.c (grub_wait_after_message): Moved to
27023 `normal/menu_text.c'.
27024 (draw_border): Likewise.
27025 (print_message): Likewise.
27026 (print_entry): Likewise.
27027 (print_entries): Likewise.
27028 (grub_menu_init_page): Likewise.
27029 (get_entry_number): Likewise.
27030 (print_timeout): Likewise.
27031 (run_menu): Likewise.
27032 (grub_menu_execute_entry): Likewise.
27033 (show_text_menu): Likewise.
27034 (get_and_remove_first_entry_number): New function.
27035 (grub_menu_execute_with_fallback): Likewise.
27036 (get_entry): Renamed to ...
27037 (grub_menu_get_entry): .. this and made it global.
27038 (get_timeout): Renamed to ...
27039 (grub_menu_get_timeout): ... this and made it global.
27040 (set_timeout): Renamed to ...
27041 (grub_menu_set_timeout): ... this and made it global.
27042 (grub_normal_terminal_menu_viewer): Renamed to ...
27043 (grub_normal_text_menu_viewer): ... this.
27044
27045 * normal/menu_text.c: New file. Extracted text-menu-specific code
27046 from normal/menu.c.
27047
27048 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
27049 (normal_mod_SOURCES): Likewise.
27050
27051 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27052 (normal_mod_SOURCES): Likewise.
27053
27054 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27055 (normal_mod_SOURCES): Likewise.
27056
27057 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
27058 (normal_mod_SOURCES): Likewise.
27059
27060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27061 (normal_mod_SOURCES): Likewise.
27062
27063 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27064 (normal_mod_SOURCES): Likewise.
27065
27066 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27067 (normal_mod_SOURCES): Likewise.
27068
16ac430e 270692009-02-11 Robert Millan <rmh@aybabtu.com>
27070
27071 * util/grub.d/00_header.in: Update old reference to `font' command.
27072
06ff20fc 270732009-02-10 Felix Zielcke <fzielcke@z-51.de>
27074
27075 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
27076
27077 Based on patch from Javier Martín.
27078
96da9407 270792009-02-09 Felix Zielcke <fzielcke@z-51.de>
27080
27081 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 27082 to avoid false positives with FAT.
96da9407 27083 (grub_fstest_SOURCES): Likewise.
27084 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27085 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27087 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27088 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27089 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27090
6dca6fe4 270912009-02-09 Felix Zielcke <fzielcke@z-51.de>
27092
06ff20fc 27093 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 27094 bpb.version_specific.fat12_or_fat16.fstype and
27095 bpb.version_specific.fat32.fstype.
27096
2550c62f 270972009-02-08 Robert Millan <rmh@aybabtu.com>
27098
be110b30 27099 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 27100
56978920 271012009-02-08 Robert Millan <rmh@aybabtu.com>
27102
27103 * Makefile.in (host_os, host_cpu): New variables.
27104 (target_os): Remove. Update all users.
27105
d64399b5 271062009-02-08 Marco Gerards <marco@gnu.org>
27107
27108 * Makefile.in (enable_grub_emu_usb): New variable.
27109 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
27110 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
27111 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
27112 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
27113 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
27114 `usbtest.mod' and `usbms.mod'.
27115 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
27116 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
27117 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
27118 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
27119 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
27120 variables.
27121
27122 * disk/usbms.c: New file.
27123
27124 * include/grub/usb.h: Likewise.
27125
27126 * include/grub/usbtrans.h: Likewise.
27127
27128 * include/grub/usbdesc.h: Likewise.
27129
27130 * bus/usb/usbtrans.c: Likewise.
27131
27132 * bus/usb/ohci.c: Likewise.
27133
27134 * bus/usb/uhci.c: Likewise.
27135
27136 * bus/usb/usbhub.c: Likewise.
27137
27138 * bus/usb/usb.c: Likewise.
27139
27140 * commands/usbtest.c: Likewise.
27141
27142 * util/usb.c: Likewise.
50fb7002 27143
d64399b5 27144 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
27145
27146 * configure.ac: Test for libusb presence.
50fb7002 27147
d64399b5 27148 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
27149
2b40d6bb 271502009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
27151
27152 * kern/mm.c: Add more comments.
27153
73a4ce81 271542009-02-08 Robert Millan <rmh@aybabtu.com>
27155
27156 Patch from Javier Martín.
27157 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
27158 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
27159
f821ce59 271602009-02-08 Robert Millan <rmh@aybabtu.com>
27161
27162 * fs/cpio.c: Split tar functionality to ...
27163 * fs/tar.c: ... here (new file). Update all users.
27164
aebfc4b0 271652009-02-07 Robert Millan <rmh@aybabtu.com>
27166
27167 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
27168 backward-incompatible features.
27169
27170 Based on patch from Javier Martín, with some adjustments.
27171
50fb7002 271722009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 27173
27174 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
27175
0bb5115e 271762009-02-07 Robert Millan <rmh@aybabtu.com>
27177
27178 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
27179 position of `disk/lvm.c' to ensure grub_init_all() always picks it
27180 after the RAID stuff.
27181
38a0f8e7 271822009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
27183
50fb7002 27184 Fixes problem when running vbetest command as reported by
38a0f8e7 27185 Vladimir Serbinenko <phcoder@gmail.com>.
27186
27187 * (grub_vbe_set_video_mode): Fixed problem with text modes.
27188
3143cc1c 271892009-02-04 Felix Zielcke <fzielcke@z-51.de>
27190
27191 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
27192 /dev/md/NpN style mdraid devices.
27193
9cba6fce 271942009-02-03 Felix Zielcke <fzielcke@z-51.de>
27195
27196 * util/unifont2pff.rb: Remove.
27197
e507a2c1 271982009-02-03 Felix Zielcke <fzielcke@z-51.de>
27199
27200 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
27201 `#'.
27202
d2c2b4cd 272032009-02-03 Felix Zielcke <fzielcke@z-51.de>
27204
27205 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
27206 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27207 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27208 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27210 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27212
b4315fb0 272132009-02-02 Christian Franke <franke@computer.org>
27214
27215 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
27216
de3aa260 272172009-02-01 Felix Zielcke <fzielcke@z-51.de>
27218
7c3ff286 27219 * INSTALL: Note that we now require at least autoconf 2.59 and
27220 that LZO is optional.
de3aa260 27221
825a182b 272222009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
27223
27224 Base on patch on bug #24154 created by Tomas Tintera
27225 <trosos@seznam.cz>.
27226
27227 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
27228
a69ef770 272292009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
27230
7c3ff286 27231 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 27232 <bero@arklinux.org>.
27233
27234 * normal/parser.y (script_init): Add missing semicolon.
27235
6fa42fa6 272362009-01-31 Colin D Bennett <colin@gibibit.com>
27237
7c3ff286 27238 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 27239 (free_menu_entry_classes): Added.
27240 (grub_normal_menu_addentry): Added class property handling.
27241 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
27242 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
27243
27244 * normal/menu_viewer.c: New file.
27245
27246 * normal/menu.c (run_menu_entry): Renamed to ...
27247 (grub_menu_execute_entry): ... this and made it as global.
27248 (grub_menu_run): Renamed to ...
27249 (show_text_menu): ... this and made it local.
27250 (show_text_menu): Adapt to new function names.
27251 (grub_normal_terminal_menu_viewer): New global variable.
27252
27253 * include/grub/menu.h: New file.
27254
27255 * include/grub/menu_viewer.h: New file.
27256
27257 * include/grub/normal.h: Added include to grub/menu.h.
27258 (grub_menu_entry): Moved to include/grub/menu.h.
27259 (grub_menu_entry_t): Likewise.
27260 (grub_menu): Likewise.
27261 (grub_menu_t): Likewise.
27262 (grub_normal_terminal_menu_viewer): Added.
27263 (grub_menu_execute_entry): Likewise.
27264 (grub_menu_run): Removed.
27265
27266 * DISTLIST: Added include/grub/menu.h.
27267 Added include/grub/menu_viewer.h.
27268 Added normal/menu_viewer.c.
27269
272702009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
27271
27272 * normal/execute.c (grub_script_execute_menuentry): Changed to use
27273 arglist for menutitle arguments.
27274
27275 * normal/main.c (grub_normal_menu_addentry): Likewise.
27276
27277 * normal/parser.y (menuentry): Likewise.
27278
27279 * normal/script.c (grub_script_create_cmdmenu): Likewise.
27280
27281 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
27282 (grub_script_create_cmdmenu): Likewise.
27283
27284 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
27285
27286 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
27287 changes.
27288
27289 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
27290
27291 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
27292
27293 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
27294
27295 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
27296
27297 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
27298
27299 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
27300
56192c23 273012009-01-30 Christian Franke <franke@computer.org>
27302
27303 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
27304 in option help text.
27305
d72521b3 273062009-01-27 Pavel Roskin <proski@gnu.org>
27307
27308 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
27309
994b5e84 273102009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
27311
27312 * commands/lsmmap.c: Add include to grub/machine/memory.h.
27313
27314 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
27315
27316 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
27317 unregister function.
27318
6a7eab2c 273192009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
27320
27321 * disk/scsi.c (grub_scsi_read): Fix sign problem.
27322
27323 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
27324
27325 * util/grub-mkfont.c (usage): Fix typo.
27326
27327 * util/elf/grub-mkimage.c (load_modules): Fix warning.
27328
1806b56e 273292009-01-26 Daniel Mierswa <impulze@impulze.org>
27330
3fb18f09 27331 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
27332
336e1fb9 27333 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
27334
1806b56e 27335 * kern/misc.c (grub_strcasecmp): New function.
27336 (grub_strcasecmp): Use grub_size_t instead of int for length.
27337 Fix return value.
27338 * include/grub/misc.h: Update function prototypes.
27339
580b2a0f 273402009-01-26 Robert Millan <rmh@aybabtu.com>
27341
27342 * configure.ac: Fix cross-compilation check.
ef257b36 27343
d31c24f1 273442009-01-22 Christian Franke <franke@computer.org>
27345
27346 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
27347 (precision) digit string. Allow `.format2' without `format1' (width).
27348 Limit input chars for `%s' output to `format2' if specified. This is
27349 compatible with standard printf ().
27350
3138b44c 273512009-01-22 Christian Franke <franke@computer.org>
27352
27353 * disk/ata.c (grub_ata_wait_status): Replace by ...
27354 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
27355 other status bits may be invalid while BSY is asserted.
27356 (grub_ata_check_ready): New function.
27357 (grub_ata_cmd): Removed.
27358 (grub_ata_wait_drq): New function.
27359 (grub_ata_strncpy): Remove inline.
27360 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
27361 and error check now done by grub_ata_wait_drq ().
27362 (grub_ata_pio_write): Likewise.
27363 (grub_atapi_identify): Set DEV before check for !BSY. Use
27364 grub_ata_wait_drq () to wait for data.
27365 (grub_ata_device_initialize): Add status register check to
27366 detect missing SATA slave devices. Add debug messages.
27367 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
27368 (grub_atapi_packet): Set DEV before check for !BSY. Replace
27369 transfer loop by grub_ata_pio_write ().
27370 (grub_ata_identify): Set DEV before check for !BSY. Use
27371 grub_ata_wait_drq () to wait for data.
ef257b36 27372 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 27373 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
27374 read/write in one loop. Fix invalid command on write. Fix incomplete
27375 command on (size % batch) == 0. Add missing error check after write of
27376 last block. Add debug messages.
27377 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
27378
59a64ef6 273792009-01-19 Christian Franke <franke@computer.org>
27380
27381 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
27382 (GRUB_ATAPI_IREASON_*): Likewise.
27383 (grub_ata_pio_write): Fix timeout error return.
27384 (grub_atapi_identify): Add grub_ata_wait () after cmd.
27385 (grub_atapi_wait_drq): New function.
27386 (grub_atapi_packet): New parameter `size'.
27387 Use grub_atapi_wait_drq () and direct write instead of
27388 grub_ata_pio_write ().
27389 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
27390 reads the number of bytes requested by the device for each DRQ
27391 assertion.
27392 (grub_atapi_write): Remove old implementation, return not
27393 implemented instead.
27394
1cfe20b3 273952009-01-19 Christian Franke <franke@computer.org>
27396
27397 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
27398 of 512 to calculate data size.
27399 (grub_scsi_read12): Likewise.
27400 (grub_scsi_write10): Likewise.
27401 (grub_scsi_write12): Likewise.
27402 (grub_scsi_read): Adjust size according to blocksize.
27403 Add checks for invalid blocksize and unaligned transfer.
27404
bee5fe5d 274052009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
27406
27407 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
27408
ef257b36 27409 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 27410 width glyphs.
27411
3e643f8c 274122009-01-19 Robert Millan <rmh@aybabtu.com>
27413
27414 * config.guess: Update to latest version from config git.
27415 * config.sub: Likewise.
27416
4fa80998 274172009-01-17 Felix Zielcke <fzielcke@z-51.de>
27418
27419 * Makefile.in: Change font compilation to use new grub-mkfont instead
27420 of java version.
27421
27422 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
27423 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
27424 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27425 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27426 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
27427 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
27428 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
27429 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
27430 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27431
7086085b 274322009-01-16 Christian Franke <franke@computer.org>
27433
27434 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
27435 (enum grub_ata_timeout_milliseconds): New enum.
27436 (grub_ata_wait_status): Add parameter milliseconds.
27437 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
27438 recovery from timed-out commands.
27439 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
27440 return grub_errno instead of REG_ERROR.
27441 (grub_ata_pio_write): Add parameter milliseconds.
27442 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
27443 Pass milliseconds to grub_ata_wait_status () and
27444 grub_ata_pio_read ().
27445 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
27446 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
27447 grub_ata_wait_status (). Fix IDENTIFY timeout check.
27448 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
27449 It is not suitable for device detection, because DEV bit is ignored,
27450 the command may run too long, and not all devices set the signature
27451 properly.
27452 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
27453 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
27454 Fix device selection, DEV bit must be set first to address the registers
27455 of the correct device.
27456 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
27457 grub_ata_pio_read/write ().
27458 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
27459 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
27460
4a412913 274612009-01-13 Carles Pina i Estany <carles@pina.cat>
27462
27463 * util/grub-editenv.c (main): Use fseeko(), not fseek().
27464
7795c55e 274652009-01-13 Bean <bean123ch@gmail.com>
d913988c 27466
27467 * util/grub-mkfont.c (write_font): forget to remove some debug code.
27468
7795c55e 274692009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 27470
27471 * Makefile.in: (enable_grub_mkfont): New variable.
27472 (freetype_cflags): Likewise.
27473 (freetype_libs): Likewise.
27474
27475 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
27476 (grub_mkfont_SOURCES): New variable.
27477 (grub_mkfont_CFLAGS): Likewise.
27478 (grub_mkfont_LDFLAGS): Likewise.
27479
27480 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
27481 library if `--enable-grub-mkfont' is requested.
27482 (enable_grub_mkfont): New variable.
27483 (freetype_cflags): Likewise.
27484 (freetype_libs): Likewise.
27485
27486 * util/grub-mkfont.c: New file.
27487
093af1fe 274882009-01-12 Christian Franke <franke@computer.org>
27489
27490 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
27491 mode check. Fix setting of compat_use[].
27492
f36cc108 274932009-01-10 Robert Millan <rmh@aybabtu.com>
27494
27495 Update a few copyright years which we forgot to do in 2008 (only for
27496 files whose changes made in 2008 were copyright-significant)
27497
27498 * Makefile.in: Add 2008 to Copyright line.
27499 * disk/ieee1275/ofdisk.c: Likewise.
27500 * disk/efi/efidisk.c: Likewise.
27501 * kern/dl.c: Likewise.
27502 * kern/sparc64/ieee1275/init.c: Likewise.
27503 * kern/mm.c: Likewise.
27504 * kern/efi/mm.c: Likewise.
27505 * boot/i386/pc/boot.S: Likewise.
27506 * genfslist.sh: Likewise.
27507 * fs/iso9660.c: Likewise.
27508 * fs/hfs.c: Likewise.
27509 * fs/jfs.c: Likewise.
27510 * fs/minix.c: Likewise.
27511 * fs/ufs.c: Likewise.
27512 * gensymlist.sh.in: Likewise.
27513 * genkernsyms.sh.in: Likewise.
27514 * include/grub/misc.h: Likewise.
27515 * include/grub/types.h: Likewise.
27516 * include/grub/symbol.h: Likewise.
27517 * include/grub/elf.h: Likewise.
27518 * include/grub/kernel.h: Likewise.
27519 * include/grub/disk.h: Likewise.
27520 * include/grub/dl.h: Likewise.
27521 * include/grub/i386/linux.h: Likewise.
27522 * include/grub/i386/pc/biosdisk.h: Likewise.
27523 * include/grub/efi/api.h: Likewise.
27524 * include/grub/efi/pe32.h: Likewise.
27525 * include/grub/util/misc.h: Likewise.
27526 * normal/execute.c: Likewise.
27527 * normal/arg.c: Likewise.
27528 * normal/completion.c: Likewise.
27529 * normal/lexer.c: Likewise.
27530 * normal/parser.y: Likewise.
27531 * normal/misc.c: Likewise.
27532 * commands/i386/pc/vbeinfo.c: Likewise.
27533 * commands/hexdump.c: Likewise.
27534 * commands/terminal.c: Likewise.
27535 * commands/ls.c: Likewise.
27536 * commands/help.c: Likewise.
27537 * partmap/pc.c: Likewise.
27538 * loader/efi/chainloader.c: Likewise.
27539 * loader/multiboot_loader.c: Likewise.
27540 * loader/i386/pc/multiboot2.c: Likewise.
27541 * term/efi/console.c: Likewise.
27542 * term/i386/pc/serial.c: Likewise.
27543 * util/lvm.c: Likewise.
27544 * util/console.c: Likewise.
27545 * util/i386/efi/grub-mkimage.c: Likewise.
27546 * util/raid.c: Likewise.
27547
7f02114b 275482009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
27549
27550 * commands/videotest.c: Removed include to grub/machine/memory.h.
27551
27552 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
27553 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
27554 (video_mod_SOURCES): Removed.
27555 (video_mod_CFLAGS): Likewise.
27556 (video_mod_LDFLAGS): Likewise.
27557 (gfxterm_mod_SOURCES): Likewise.
27558 (gfxterm_mod_CFLAGS): Likewise.
27559 (gfxterm_mod_LDFLAGS): Likewise.
27560 (videotest_mod_SOURCES): Likewise.
27561 (videotest_mod_CFLAGS): Likewise.
27562 (videotest_mod_LDFLAGS): Likewise.
27563 (bitmap_mod_SOURCES): Likewise.
27564 (bitmap_mod_CFLAGS): Likewise.
27565 (bitmap_mod_LDFLAGS): Likewise.
27566 (tga_mod_SOURCES): Likewise.
27567 (tga_mod_CFLAGS): Likewise.
27568 (tga_mod_LDFLAGS): Likewise.
27569 (jpeg_mod_SOURCES): Likewise.
27570 (jpeg_mod_CFLAGS): Likewise.
27571 (jpeg_mod_LDFLAGS): Likewise.
27572 (png_mod_SOURCES): Likewise.
27573 (png_mod_CFLAGS): Likewise.
27574 (png_mod_LDFLAGS): Likewise.
27575
27576 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
27577 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
27578 (video_mod_SOURCES): Added.
27579 (video_mod_CFLAGS): Likewise.
27580 (video_mod_LDFLAGS): Likewise.
27581 (videotest_mod_SOURCES): Likewise.
27582 (videotest_mod_CFLAGS): Likewise.
27583 (videotest_mod_LDFLAGS): Likewise.
27584 (bitmap_mod_SOURCES): Likewise.
27585 (bitmap_mod_CFLAGS): Likewise.
27586 (bitmap_mod_LDFLAGS): Likewise.
27587 (tga_mod_SOURCES): Likewise.
27588 (tga_mod_CFLAGS): Likewise.
27589 (tga_mod_LDFLAGS): Likewise.
27590 (jpeg_mod_SOURCES): Likewise.
27591 (jpeg_mod_CFLAGS): Likewise.
27592 (jpeg_mod_LDFLAGS): Likewise.
27593 (png_mod_SOURCES): Likewise.
27594 (png_mod_CFLAGS): Likewise.
27595 (png_mod_LDFLAGS): Likewise.
27596 (gfxterm_mod_SOURCES): Likewise.
27597 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 27598 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 27599
27600 * term/gfxterm.c: Removed include to grub/machine/memory.h,
27601 grub/machine/console.h.
27602
644fff97 276032009-01-04 Jerone Young <jerone@gmail.com>
27604
27605 Make on screen instructions clearer
27606
27607 Based on patch created by Jidanni <jidanni@jidanni.org>
27608
27609 * normal/menu.c: print clearer instructions on the screen
27610
1e901a75 276112009-01-02 Colin D Bennett <colin@gibibit.com>
27612
27613 New font engine.
34c44600 27614
1e901a75 27615 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
27616 build system and fixed gfxterm.c to work with different sized fonts.
27617
27618 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 27619
1e901a75 27620 * configure: Re-generated.
34c44600 27621
1e901a75 27622 * DISTLIST: Removed font/manager.c.
27623 Added font/font.c.
27624 Added font/font_cmd.c.
34c44600 27625
1e901a75 27626 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
27627 compilation.
34c44600 27628
1e901a75 27629 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 27630
27631 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 27632
27633 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 27634
1e901a75 27635 * normal/menu.c: Likewise.
34c44600 27636
1e901a75 27637 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
27638 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 27639
1e901a75 27640 * include/grub/font.h: Replaced with new file.
34c44600 27641
1e901a75 27642 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
27643 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
27644 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
27645 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
27646 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 27647 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 27648 fg_red, fg_green, fg_blue, fg_alpha.
27649 (grub_video_adapter): Removed blit_glyph.
34c44600 27650 (grub_video_blit_glyph): Removed.
27651
1e901a75 27652 * font/manager.c: Removed file.
34c44600 27653
27654 * font/font.c: New file.
27655
1e901a75 27656 * font/font_cmd.c: Likewise.
34c44600 27657
1e901a75 27658 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 27659
1e901a75 27660 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
27661 (grub_video_vbe_map_rgba): Likewise.
27662 (grub_video_vbe_unmap_color_int): Likewise.
27663 (grub_video_vbe_blit_glyph): Removed.
27664 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 27665
1e901a75 27666 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
27667 (get_pixel): Likewise.
34c44600 27668 (set_pixel): Likewise.
27669
1e901a75 27670 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 27671
1e901a75 27672 * term/gfxterm.c: Adapted to new font engine.
34c44600 27673
1e901a75 27674 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 27675
1e901a75 27676 * term/i386/pc/vga.c: Likewise.
34c44600 27677
1e901a75 27678 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 27679
1e901a75 27680 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 27681
1e901a75 27682 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27683
1e901a75 27684 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27685
1e901a75 27686 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 27687
1e901a75 27688 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 27689
1e901a75 27690 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 27691
1e901a75 27692 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 27693
1e901a75 27694 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27695
27696 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 27697
1e901a75 27698 * util/grub-mkconfig_lib.in: Changed font extension.
27699
278922e8 277002008-12-28 Felix Zielcke <fzielcke@z-51.de>
27701
27702 * util/getroot.c (grub_util_get_grub_dev): Add support for
27703 /dev/md/dNNpNN style partitionable mdraid devices.
27704
3ced05cf 277052008-12-12 Alex Smith <alex@alex-smith.me.uk>
27706
27707 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
27708 at a time limit of the PXE TFTP API correctly.
27709 (grub_pxefs_close): Likewise.
27710
7fd0ee30 277112008-11-29 Robert Millan <rmh@aybabtu.com>
27712
34c44600 27713 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 27714 grub_ata_device_initialize() calls.
27715
34c44600 277162008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 27717
27718 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
27719 iteration failed.
27720 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
27721
89313780 277222008-11-28 Robert Millan <rmh@aybabtu.com>
27723
27724 Fix build on powerpc-ieee1275. Based on patch created by
27725 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
27726 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27727 `kern/ieee1275/mmap.c'.
27728 * include/grub/powerpc/ieee1275/memory.h: New file.
27729
15257703 27730 Provide grub-install on coreboot.
27731 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
27732 (grub_install_SOURCES): New variable.
27733 * util/i386/pc/grub-install.in: Add a few condition checks to make it
27734 usable on coreboot.
27735
9fc5388a 277362008-11-25 Felix Zielcke <fzielcke@z-51.de>
27737
27738 * util/grub-fstest.c (grub_term_get_current_input): Change return type
27739 to `grub_term_input_t'.
27740 (grub_term_get_current_output): Change return type to
27741 `grub_term_output_t'.
27742
bc3a2f31 277432008-11-22 Robert Millan <rmh@aybabtu.com>
27744
34c44600 27745 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 27746 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
27747 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
27748 grub_vga_text_cls().
27749
80fc88f2 27750 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 27751 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 27752
cbf36fd3 27753 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
27754 to 0x200000 (avoids trouble with some OFW implementations, and matches
27755 with the one in Yaboot).
27756 Reported by Manoel Abranches
27757
73e8e268 277582008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 27759
27760 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
27761 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
27762
73e8e268 27763 * util/grub-mkconfig_lib.in (grub_warn): New function.
27764 (convert_system_path_to_grub_path): Use grub_warn() when issuing
27765 warnings, to obtain consistent formatting.
27766 * util/grub.d/00_header.in: Likewise.
27767 * util/update-grub_lib.in: Likewise.
27768
e94045a1 27769 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 27770 Move comment text to `#error' stanza.
e94045a1 27771
79d29fd7 27772 Harmonize ieee1275's grub_available_iterate() with the generic
27773 grub_machine_mmap_iterate() interface (fixes a recently-introduced
27774 build problem on i386-ieee1275):
27775 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
27776 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
27777 parameter `type'. Update all users of this function.
27778 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
27779 `kern/ieee1275/mmap.c'.
27780 * kern/ieee1275/init.c
27781 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
27782 with ...
27783 (grub_machine_mmap_iterate): ... this.
27784 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
27785 return type to `grub_err_t'. Update all implementations of this
27786 function prototype.
27787 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
27788 Likewise.
27789
60d6b16e 27790 Add `lsmmap' command (lists firmware-provided memory map):
27791 * commands/lsmmap.c: New file.
27792 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27793 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27794 variables.
27795 * conf/powerpc-ieee1275.rmk: Likewise.
27796 * conf/i386-coreboot.rmk: Likewise.
27797 * conf/i386-ieee1275.rmk: Likewise.
27798
ebaaf49b 277992008-11-19 Robert Millan <rmh@aybabtu.com>
27800
27801 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 27802 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27803 constraints to initrd allocation (based on code from
27804 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27805 for Linux to find it.
ebaaf49b 27806
dfab719f 278072008-11-14 Robert Millan <rmh@aybabtu.com>
27808
27809 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27810 order to cope with duplicate slashes.
27811
10fc3eb9 278122008-11-14 Robert Millan <rmh@aybabtu.com>
27813
27814 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27815 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27816 don't want to mess with lower memory, because it is used in the Linux
27817 loader.
27818
27819 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 27820 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 27821 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27822 is in our heap (probably as a result of it being corrupted during
2f2a3442 27823 decompression). Add #error instance with comment to explain why this
27824 loader isn't currently usable on PC/BIOS.
10fc3eb9 27825
e2e07847 278262008-11-14 Robert Millan <rmh@aybabtu.com>
27827
27828 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 27829 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 27830
fe8e8d69 278312008-11-12 Robert Millan <rmh@aybabtu.com>
27832
27833 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27834
27835 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27836 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27837 from here ...
27838 * include/grub/i386/pc/memory.h: ... to here.
27839
976b07d0 278402008-11-12 Robert Millan <rmh@aybabtu.com>
27841
27842 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27843 split).
27844
27845 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27846 (grub_console_cur_color, grub_console_real_putchar)
27847 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27848 (grub_console_setcolorstate, grub_console_setcolor)
27849 (grub_console_getcolor): Move from here ...
27850 * include/grub/i386/vga_common.h: ... to here (new file).
27851
27852 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27853 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27854 `<grub/i386/io.h>'.
27855 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27856 `<grub/i386/vga_common.h>'.
27857
76679cd3 278582008-11-12 Robert Millan <rmh@aybabtu.com>
27859
27860 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27861 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27862 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27863 variables.
27864 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27865 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27866
27867 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27868 grub_console_init() with call to grub_vga_text_init().
27869 (grub_machine_fini): Replace call to
27870 grub_console_fini() with call to grub_vga_text_fini() and
27871 grub_at_keyboard_fini().
27872
27873 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27874 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27875 (grub_console_setcolorstate, grub_console_setcolor)
27876 (grub_console_getcolor): New function prototypes.
27877
27878 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27879 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27880 (grub_vga_text_setcursor): Static-ize.
27881 (grub_vga_text_term): New structure.
27882 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27883
27884 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27885 (grub_console_cur_color, grub_console_standard_color)
27886 (grub_console_normal_color, grub_console_highlight_color)
27887 (map_char, grub_console_putchar, grub_console_getcharwidth)
27888 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27889 (grub_console_getcolor): Move from here ...
27890 * term/i386/vga_common.c: ... to here (same function names).
27891
95b841d3 278922008-11-12 Robert Millan <rmh@aybabtu.com>
27893
27894 Use newly-added Multiboot support in coreboot.
27895
27896 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27897 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27898
27899 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27900 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27901 (codestart): Store the MBI in `startup_multiboot_info' when we're
27902 being loaded using Multiboot.
27903
27904 * kern/i386/coreboot/init.c (grub_machine_init): Move
27905 grub_at_keyboard_init() call to beginning of function (useful for
27906 debugging). Call grub_machine_mmap_init() before attempting to use
27907 grub_machine_mmap_iterate().
27908 (grub_lower_mem, grub_upper_mem): Move from here ...
27909 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27910 here (new file).
27911
27912 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27913 function prototype.
27914
761ca975 279152008-11-12 Robert Millan <rmh@aybabtu.com>
27916
27917 Fix a regression introduced by the at_keyboard.mod split. Because
27918 some terminals are default on some platforms and non-default on
27919 others, the first terminal being registered determines which is
27920 going to be default.
27921
27922 * kern/term.c (grub_term_register_input): If this is the first
27923 terminal being registered, set it as the current one.
27924 (grub_term_register_output): Likewise.
27925
27926 * term/efi/console.c (grub_console_init): Do not call
27927 grub_term_set_current_output() or grub_term_set_current_input().
27928 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27929 * term/i386/pc/console.c (grub_console_init): Likewise.
27930 (grub_console_fini): Do not call grub_term_set_current_input()
27931 (but leave grub_term_set_current_output() to restore text mode).
27932
6c529df7 279332008-11-10 Robert Millan <rmh@aybabtu.com>
27934
27935 * util/grub.d/00_header.in: Add backward compatibility check for
27936 versions of terminal.mod that don't understand `terminal_input' or
27937 `terminal_output'.
27938
132e4113 279392008-11-09 Robert Millan <rmh@aybabtu.com>
27940
27941 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27942 `terminal_input' / `terminal_output', not `terminal'.
27943
ac293d50 279442008-11-08 Robert Millan <rmh@aybabtu.com>
27945
27946 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 27947 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 27948
0025933a 279492008-11-08 Robert Millan <rmh@aybabtu.com>
27950
27951 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 27952 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 27953 members. Update all users.
27954 * util/console.c (grub_ncurses_term): Split in ...
27955 (grub_ncurses_term_input): ... this, and ...
27956 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 27957 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 27958
37c86336 279592008-11-08 Robert Millan <rmh@aybabtu.com>
27960
27961 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27962 (PKGDATA): Add $(pkgdata_SRCDIR).
27963 (pkglib_BUILDDIR): New variable.
27964 (pkgdata_SRCDIR): New variable.
27965 (build_env.mk): New target.
27966 (include_DATA): New variable.
27967 (install-local): Install $(include_DATA) files in $(includedir).
27968
b6c15a2d 279692008-11-07 Pavel Roskin <proski@gnu.org>
27970
d99d46f1 27971 * gendistlist.sh: Use C locale for sorting to ensure consistent
27972 output on all systems.
27973
b6c15a2d 27974 * util/grub.d/00_header.in: Remove incorrect space before
27975 "serial".
27976
c32ee8c9 279772008-11-07 Robert Millan <rmh@aybabtu.com>
27978
27979 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27980 per specification.
27981 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27982 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27983 (based on find_multi_boot1_header).
27984 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27985 using find_multi_boot2_header(), and abort if neither Multiboot or
27986 Multiboot headers were found.
27987
651c29b7 279882008-11-07 Robert Millan <rmh@aybabtu.com>
27989
27990 Modularize at_keyboard.mod:
27991
27992 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27993 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27994 (at_keyboard_mod_LDFLAGS): New variables.
27995
27996 Actual terminal split:
27997
27998 * include/grub/term.h (struct grub_term): Split in ...
27999 (struct grub_term_input): ... this, and ...
28000 (struct grub_term_output): ... this. Update all users.
28001 (grub_term_set_current): Split in ...
28002 (grub_term_set_current_input): ... this, and ...
28003 (grub_term_set_current_output): ... this.
28004 (grub_term_get_current): Split in ...
28005 (grub_term_get_current_input): ... this, and ...
28006 (grub_term_get_current_output): ... this.
28007 (grub_term_register): Split in ...
28008 (grub_term_register_input): ... this, and ...
28009 (grub_term_register_output): ... this.
28010 (grub_term_unregister): Split in ...
28011 (grub_term_unregister_input): ... this, and ...
28012 (grub_term_unregister_output): ... this.
28013 (grub_term_iterate): Split in ...
28014 (grub_term_iterate_input): ... this, and ...
28015 (grub_term_iterate_output): ... this.
28016
28017 * kern/term.c (grub_term_list): Split in ...
28018 (grub_term_list_input): ... this, and ...
28019 (grub_term_list_output): ... this. Update all users.
28020 (grub_cur_term): Split in ...
28021 (grub_cur_term_input): ... this, and ...
28022 (grub_cur_term_output): ... this. Update all users.
28023 (grub_term_set_current): Split in ...
28024 (grub_term_set_current_input): ... this, and ...
28025 (grub_term_set_current_output): ... this.
28026 (grub_term_get_current): Split in ...
28027 (grub_term_get_current_input): ... this, and ...
28028 (grub_term_get_current_output): ... this.
28029 (grub_term_register): Split in ...
28030 (grub_term_register_input): ... this, and ...
28031 (grub_term_register_output): ... this.
28032 (grub_term_unregister): Split in ...
28033 (grub_term_unregister_input): ... this, and ...
28034 (grub_term_unregister_output): ... this.
28035 (grub_term_iterate): Split in ...
28036 (grub_term_iterate_input): ... this, and ...
28037 (grub_term_iterate_output): ... this.
28038
28039 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
28040 a check for input and one for output (and only attempt to get keys
28041 from user when input works).
28042
28043 * util/grub-probe.c (grub_term_get_current): Split in ...
28044 (grub_term_get_current_input): ... this, and ...
28045 (grub_term_get_current_output): ... this.
28046 * util/grub-fstest.c: Likewise.
28047 * util/i386/pc/grub-setup.c: Likewise.
28048 * util/grub-editenv.c: Likewise.
28049
28050 Portability adjustments:
28051
28052 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
28053 `term/i386/pc/at_keyboard.c'.
28054 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
28055 grub_keyboard_controller_init() (now handled by terminal .init).
28056 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
28057 grub_at_keyboard_init().
28058 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
28059 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
28060 at_keyboard.mod via input terminal interface).
28061 * include/grub/i386/coreboot/console.h: Convert into a stub for
28062 `<grub/i386/pc/console.h>'.
28063
28064 Migrate full terminals to new API:
28065
28066 * term/efi/console.c (grub_console_term): Split into ...
28067 (grub_console_term_input): ... this, and ...
28068 (grub_console_term_output): ... this. Update all users.
28069 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
28070 (grub_ofconsole_init): Split into ...
28071 (grub_ofconsole_init_input): ... this, and ...
28072 (grub_ofconsole_init_output): ... this.
28073 (grub_ofconsole_term): Split into ...
28074 (grub_ofconsole_term_input): ... this, and ...
28075 (grub_ofconsole_term_output): ... this. Update all users.
28076 * term/i386/pc/serial.c (grub_serial_term): Split into ...
28077 (grub_serial_term_input): ... this, and ...
28078 (grub_serial_term_output): ... this. Update all users.
28079 * term/i386/pc/console.c (grub_console_term): Split into ...
28080 (grub_console_term_input): ... this, and ...
28081 (grub_console_term_output): ... this. Update all users.
28082 (grub_console_term_input): Only enable it on PC/BIOS platform.
28083 (grub_console_init): Remove grub_keyboard_controller_init() call.
28084
28085 Migrate input terminals to new API:
28086
28087 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
28088 `i386' and `i386/pc' to enable build on x86_64 (this driver is
28089 i386-specific anyway).
28090 (grub_console_checkkey): Rename to ...
28091 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
28092 users.
28093 (grub_keyboard_controller_orig): New variable.
28094 (grub_console_getkey): Rename to ...
28095 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
28096 users.
28097 (grub_keyboard_controller_init): Static-ize. Save original
28098 controller value so that it can be restored ...
28099 (grub_keyboard_controller_fini): ... here (new function).
28100 (grub_at_keyboard_term): New structure.
28101 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
28102 functions.
28103
28104 Migrate output terminals to new API:
28105
28106 * term/i386/pc/vga.c (grub_vga_term): Change type to
28107 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28108 members. Update all users.
28109 * term/gfxterm.c (grub_video_term): Change type to
28110 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28111 members. Update all users.
28112 * include/grub/i386/pc/console.h (grub_console_checkkey)
28113 (grub_console_getkey): Do not export (no longer needed by gfxterm,
28114 etc).
28115
28116 Migrate `terminal' command and userland tools to new API:
28117
28118 * commands/terminal.c (grub_cmd_terminal): Split into ...
28119 (grub_cmd_terminal_input): ... this, and ...
28120 (grub_cmd_terminal_output): ... this.
28121 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
28122 `terminal_input' and `terminal_output'.
28123 * util/grub.d/00_header.in: Adjust `terminal' calls to new
28124 `terminal_input' / `terminal_output' API.
28125 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
28126 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
28127 provided ${GRUB_TERMINAL}, convert it).
28128
96e5d876 281292008-11-04 Robert Millan <rmh@aybabtu.com>
28130
28131 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
28132 for FreeBSD.
28133 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
28134
556f3775 281352008-11-03 Bean <bean123ch@gmail.com>
28136
28137 * kern/elf.c (grub_elf32_load): Revert to previous code.
28138 (grub_elf64_load): Likewise.
28139
28140 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
28141
926b9823 281422008-11-01 Robert Millan <rmh@aybabtu.com>
28143
28144 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
28145 (TARGET_CPPFLAGS): Likewise.
28146 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
28147
1432e958 281482008-11-01 Carles Pina i Estany <carles@pina.cat>
28149
28150 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
28151
dba3f844 281522008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 28153
28154 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
28155 addition of objects until the code is not going to be able to fail.
28156
dba3f844 281572008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 28158
28159 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
28160 (add a missing NULL check, and correct them by moving the pointer
28161 operations after the actual check).
28162
7ab28c21 281632008-10-29 Robert Millan <rmh@aybabtu.com>
28164
28165 * util/i386/pc/grub-install.in: Handle empty string as output from
28166 make_system_path_relative_to_its_root().
28167
1b7748eb 281682008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
28169
28170 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
28171 circular metadata worst case scenario. If the metadata is circular
28172 then copy the wrap in place.
28173 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
28174 project lib/format_text/layout.h
28175 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
28176
c9618ab2 281772008-10-03 Felix Zielcke <fzielcke@z-51.de>
28178
7a36edca 28179 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 28180
bf981c62 281812008-10-03 Felix Zielcke <fzielcke@z-51.de>
28182
28183 * util/update-grub_lib.in: Mention filename in warning message.
28184
6d994591 281852008-09-29 Felix Zielcke <fzielcke@z-51.de>
28186
28187 * NEWS: Update for rename of update-grub to grub-mkconfig.
28188
18ade780 281892008-09-29 Felix Zielcke <fzielcke@z-51.de>
28190
28191 * util/update-grub_lib.in: Copy to ...
28192 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 28193 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 28194 * util/update-grub.in: Rename to ...
28195 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
28196 option. Add `--output' option to allow users to specify the generated
28197 configuration file. Default to stdout.
28198 (update_grub_dir): Rename to ...
28199 (grub_mkconfig_dir): ... this.
28200 (grub_cfg): Default to an empty string.
28201 * conf/common.rmk (update-grub): Rename to ...
28202 (grub-mkconfig): ... this.
28203 (update-grub_lib): Copy to ...
28204 (grub-mkconfig_lib): ... this.
28205 (update-grub_SCRIPTS): Copy to ...
28206 (grub-mkconfig_SCRIPTS): ... this. Update all users.
28207 (update-grub_DATA): Rename to ...
28208 (grub-mkconfig_DATA): ... this.
28209
556ce6ac 282102008-09-28 Robert Millan <rmh@aybabtu.com>
28211
28212 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
28213 to `modified'. Add the real `created' field.
28214 (grub_iso9660_uuid): Use `modified' rather than `created' for
28215 constructing the UUID.
28216
282172008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 28218
28219 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
28220 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
28221
92274e85 282222008-09-28 Bean <bean123ch@gmail.com>
28223
28224 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
28225 Thanks to Christian Franke for finding this bug.
28226
add6f17a 282272008-09-25 Robert Millan <rmh@aybabtu.com>
28228
28229 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
28230 instances of grub_util_get_disk_name() (see previous commit).
28231
d2a367b8 282322008-09-25 Robert Millan <rmh@aybabtu.com>
28233
28234 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
28235 `util/i386/get_disk_name.c'.
28236 * conf/i386-efi.rmk: Likewise.
28237 * conf/x86_64-efi.rmk: Likewise.
28238 * conf/i386-coreboot.rmk: Likewise.
28239 * conf/i386-ieee1275.rmk: Likewise.
28240 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
28241 `util/ieee1275/get_disk_name.c'.
28242 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
28243 * util/ieee1275/get_disk_name.c: Remove file.
28244 * util/i386/get_disk_name.c: Remove file.
28245 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
28246 "hd%d" for device.map entries, rather than using
28247 grub_util_get_disk_name().
28248
81a06771 282492008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 28250
28251 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
28252 warning.
28253 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
28254
5a004279 282552008-09-24 Carles Pina i Estany <carles@pina.cat>
28256
28257 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
28258 Changed to 0x5100.
28259 (GRUB_TERM_PPAGE): Changed to 0x4900.
28260
397093d3 282612008-09-24 Robert Millan <rmh@aybabtu.com>
28262
28263 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
28264 macros (they were i386-pc specific).
28265 * include/grub/sparc64/ieee1275/console.h: Likewise.
28266 * include/grub/efi/console.h: Likewise.
28267
a91b6c7c 282682008-09-22 Bean <bean123ch@gmail.com>
28269
28270 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
28271 resident and in attribute list.
28272
28273 * include/grub/ntfs.h (BMP_LEN): Removed.
28274
c40fd116 282752008-09-22 Bean <bean123ch@gmail.com>
28276
81a06771 28277 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 28278 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
28279
28280 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
28281 error occurs, as grub_disk_open will call grub_disk_close, which will
28282 call p->close (scsi).
28283
81a06771 282842008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 28285
28286 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
28287 (AC_PREREQ): Bumped to 2.59.
28288 (AC_TRY_COMPILE): Replace obsolete macro with ...
28289 (AC_COMPILE_IFELSE): ... this.
28290 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
28291 (AC_LINK_IFELSE): ... this.
28292
5dc43410 282932008-09-21 Felix Zielcke <fzielcke@z-51.de>
28294
28295 * autogen.sh: Add a call to `gendistlist.sh'.
28296
9035dce4 282972008-09-19 Christian Franke <franke@computer.org>
28298
28299 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
28300 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
28301 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
28302 Export __enable_execute_stack() to modules.
28303 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
28304 New function.
28305
7fd75377 283062008-09-09 Felix Zielcke <fzielcke@z-51.de>
28307
040030b3 28308 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
28309 Sort the list.
28310
283112008-09-09 Felix Zielcke <fzielcke@z-51.de>
28312
28313 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 28314 #include <grub/util/hostdisk.h>.
28315
89d5ffcf 283162008-09-08 Robert Millan <rmh@aybabtu.com>
28317
28318 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
28319 segments when their filesz is zero (grub_file_read() interprets
81a06771 28320 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 28321 Use `lowest_segment' rather than 0 for calculating the current
28322 segment load address.
28323
40da438f 283242008-09-08 Robert Millan <rmh@aybabtu.com>
28325
28326 * util/hostdisk.c (open_device): Replace a grub_util_info() call
28327 with grub_dprintf("hostdisk", ...), as it was so verbose that it
28328 clobbered useful information.
28329
ddbf5556 283302008-09-08 Robert Millan <rmh@aybabtu.com>
28331
28332 * include/grub/util/biosdisk.h: Move to ...
28333 * include/grub/util/hostdisk.h: ... here. Update all users.
28334 * util/biosdisk.c: Move to ...
28335 * util/hostdisk.c: ... here. Update all users.
28336
783d0f48 283372008-09-07 Robert Millan <rmh@aybabtu.com>
28338
28339 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
28340 variables.
28341 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
28342 and length can be stored directly in the `mbi->mmap_addr' and
28343 `mbi->mmap_length' struct fields.
28344
548e2ea5 283452008-09-07 Robert Millan <rmh@aybabtu.com>
28346
28347 * conf/i386.rmk: New file. Provides declaration for building
28348 `cpuid.mod'.
28349 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
28350 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
28351 variables.
28352 Include `conf/i386.mk'.
28353 * conf/i386-efi.rmk: Likewise.
28354 * conf/x86_64-efi.rmk: Likewise.
28355 * conf/i386-coreboot.rmk: Likewise.
28356 * conf/i386-ieee1275.rmk: Likewise.
28357
0ea85a37 283582008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
28359
28360 Based on patch created by Colin D Bennett <colin@gibibit.com>.
28361 Adds optimization support for BGR based modes.
28362
28363 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
28364 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28365 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28366 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28367 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28368 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28369 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28370 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28371 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28372 (grub_video_i386_vbeblit_index_index): Likewise.
28373 (grub_video_i386_vbeblit_replace_directN): Added.
28374 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28375 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28376 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28377 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28378 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28379 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 28380 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 28381 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28382 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28383 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28384 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28385 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28386 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
28387
28388 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
28389 (grub_video_i386_vbefill_R8G8B8): Likewise.
28390 (grub_video_i386_vbefill_index): Likewise.
28391 (grub_video_i386_vbefill_direct32): Added.
28392 (grub_video_i386_vbefill_direct24): Likewise.
28393 (grub_video_i386_vbefill_direct16): Likewise.
28394 (grub_video_i386_vbefill_direct8): Likewise.
28395
81a06771 28396 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 28397 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
28398 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
28399 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
28400 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
28401 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 28402
0ea85a37 28403 * video/video.c (grub_video_get_blit_format): Updated to use new
28404 blit formats. Added handling for 16 bit color modes.
81a06771 28405
28406 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 28407 fillers.
28408 (common_blitter): Updated to use new blitters.
28409
28410 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
28411 Removed.
28412 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28413 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28414 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28415 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28416 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28417 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28418 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28419 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28420 (grub_video_i386_vbeblit_index_index): Likewise.
28421 (grub_video_i386_vbeblit_replace_directN): Added.
28422 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28423 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28424 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28425 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28426 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28427 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
28428 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
28429 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28430 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28431 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28432 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28433 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28434 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 28435
0ea85a37 28436 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
28437 (grub_video_i386_vbefill_R8G8B8): Likewise.
28438 (grub_video_i386_vbefill_index): Likewise.
28439 (grub_video_i386_vbefill_direct32): Added.
28440 (grub_video_i386_vbefill_direct24): Likewise.
28441 (grub_video_i386_vbefill_direct16): Likewise.
28442 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 28443
0ea85a37 28444 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
28445 types.
81a06771 28446
0ea85a37 28447 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
28448 types.
81a06771 28449
0ea85a37 28450 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
28451 blitter types.
81a06771 28452
0ea85a37 28453 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
28454 types.
28455
e8a83df6 284562008-09-06 Felix Zielcke <fzielcke@z-51.de>
28457
28458 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
28459 RAID level 1.
28460
6bcd8ee5 284612008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 28462
6bcd8ee5 28463 * fs/iso9660.c (grub_iso9660_date): New structure.
28464 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
28465 (grub_iso9660_uuid): New function.
c375ae58 28466
59261157 284672008-09-05 Bean <bean123ch@gmail.com>
28468
28469 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
28470
28471 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
28472 insensitive bit for names in Win32 and Win32 & DOS namespace.
28473
28474 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
28475
28476 * include/grub/types.h (LONG_MAX): Likewise.
28477
58b6645a 284782008-09-04 Felix Zielcke <fzielcke@z-51.de>
28479
4ee55921 28480 * util/getroot.c: Include <config.h>.
28481 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
28482 add support for /dev/md/N devices and handle LVM double dash escaping.
28483
284842008-09-04 Felix Zielcke <fzielcke@z-51.de>
28485
28486 * config.guess: Update to latest version from config git.
28487 * config.sub: Likewise.
58b6645a 28488
9124f65d 284892008-09-03 Robert Millan <rmh@aybabtu.com>
28490
28491 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
28492 `disk->total_sectors'.
28493
81a06771 284942008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 28495
28496 * include/grub/normal.h: Fixed incorrect comment for
28497 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
28498
81a06771 284992008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 28500
28501 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
28502 values with defines.
28503
28504 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
28505 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
28506 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
28507 (GRUB_VBE_MODEATTR_COLOR): Likewise.
28508 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
28509 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
28510 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
28511 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
28512 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
28513 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
28514 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
28515 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
28516 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
28517 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
28518 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
28519 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
28520 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
28521 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
28522 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
28523
93d5cbf8 285242008-08-31 Robert Millan <rmh@aybabtu.com>
28525
28526 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
28527 declaration.
28528 (grub_multiboot): Fix a few warnings.
28529
21751d50 285302008-08-31 Robert Millan <rmh@aybabtu.com>
28531
28532 * loader/i386/pc/multiboot.c: Update comment not to say that
28533 boot_device support is unimplemented.
28534
e27a75c5 285352008-08-31 Robert Millan <rmh@aybabtu.com>
28536
28537 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
28538 or memory map support are unimplemented.
28539
81a06771 285402008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 28541
28542 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
28543
81a06771 285442008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 28545
28546 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
28547 total video memory in 'vbeinfo' output; show color format details for
28548 each video mode.
28549
7c5d8d95 285502008-08-30 Pavel Roskin <proski@gnu.org>
28551
28552 * util/genmoddep.c: Remove for real this time.
28553 * DISTLIST: Remove util/genmoddep.c.
28554
4cebd25a 285552008-08-30 Robert Millan <rmh@aybabtu.com>
28556
28557 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
28558 as required by Multiboot spec (it was already 4-byte aligned, but
28559 only by chance).
28560
b497a269 285612008-08-29 Pavel Roskin <proski@gnu.org>
28562
e3925185 28563 * kern/powerpc/ieee1275/crt0.S: Rename to ...
28564 * kern/powerpc/ieee1275/startup.S: ... this.
28565 * conf/powerpc-ieee1275.rmk: Adjust for the above.
28566 * DISTLIST: Likewise.
28567
b497a269 28568 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
28569 grub/cpu/kernel.h. Add start label for consistency with other
28570 platforms. Add grub_prefix immediately after start. Add jump
28571 to the code after grub_prefix.
28572 * include/grub/powerpc/kernel.h: Provide valid values for
28573 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
28574
6e5a42fe 285752008-08-29 Bean <bean123ch@gmail.com>
28576
28577 * configure.ac: Change host_os to cygwin for mingw.
28578 (asprintf): New check for function.
28579
28580 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
28581 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
28582
28583 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 28584 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 28585 sync, sleep and grub_util_get_disk_size for mingw.
28586
28587 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
28588 to get size in mingw.
28589 (open_device): Use flag O_BINARY if it's defined.
28590 (find_root_device): Add dummy code for mingw.
28591
28592 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
28593 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
28594 (get_scsi_disk_name): Return 0 for mingw.
28595
28596 * util/hostfs.c: #include <grub/util/misc.h>.
28597 (grub_hostfs_open): Use "rb" flag to open file, use
28598 grub_util_get_disk_size to get disk size for mingw.
28599
28600 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
28601 (asprintf): New function if HAVE_ASPRINTF is not set.
28602 (sync): New function for mingw.
28603 (sleep): Likewise.
28604 (grub_util_get_disk_size): Likewise.
28605
ab3f2673 286062008-08-28 Pavel Roskin <proski@gnu.org>
28607
28608 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28609 kern/time.c.
28610
1c282483 286112008-08-28 Robert Millan <rmh@aybabtu.com>
28612
28613 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
28614
678e849c 286152008-08-28 Robert Millan <rmh@aybabtu.com>
28616
28617 Change find_grub_drive() syntax so it doesn't prevent it from
28618 detecting NULL names as errors.
28619
28620 * util/biosdisk.c (find_grub_drive): Move free slot search code
28621 from here ...
28622 (find_free_slot): ... to here.
28623 (read_device_map): Use find_free_slot() to search for free slots.
28624
965c75ca 286252008-08-27 Marco Gerards <marco@gnu.org>
28626
28627 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
28628 (scsi_mod_SOURCES): New variable.
28629 (scsi_mod_CFLAGS): Likewise
28630 (scsi_mod_LDFLAGS): Likewise.
28631
28632 * disk/scsi.c: New file.
28633
28634 * include/grub/scsi.h: Likewise.
28635
28636 * include/grub/scsicmd.h: Likewise.
28637
28638 * disk/ata.c: Include <grub/scsi.h>.
28639 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
28640 instead.
28641 (grub_ata_iterate): Skip ATAPI devices.
28642 (grub_ata_open): Only handle ATAPI devices.
28643 (struct grub_atapi_read): Removed.
28644 (grub_atapi_readsector): Likewise.
28645 (grub_ata_read): No longer handle ATAPI devices.
28646 (grub_ata_write): Likewise.
28647 (grub_atapi_iterate): New function.
28648 (grub_atapi_read): Likewise.
28649 (grub_atapi_write): Likewise.
28650 (grub_atapi_open): Likewise.
28651 (grub_atapi_close): Likewise.
28652 (grub_atapi_dev): New variable.
28653 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
28654 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
28655
28656 * include/grub/disk.h (enum grub_disk_dev_id): Add
28657 `GRUB_DISK_DEVICE_SCSI_ID'.
28658
c07ae501 286592008-08-26 Robert Millan <rmh@aybabtu.com>
28660
28661 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
28662 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
28663 descriptive.
28664
5ed20adc 286652008-08-23 Bean <bean123ch@gmail.com>
28666
28667 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
28668 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28669 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
28670 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
28671 dm_nv.mod.
28672 (raid5rec_mod_SOURCES): New macro.
28673 (raid5rec_mod_CFLAGS): Likewise.
28674 (raid5rec_mod_LDFLAGS): Likewise.
28675 (raid6rec_mod_SOURCES): Likewise.
28676 (raid6rec_mod_CFLAGS): Likewise.
28677 (raid6rec_mod_LDFLAGS): Likewise.
28678 (mdraid_mod_SOURCES): Likewise.
28679 (mdraid_mod_CFLAGS): Likewise.
28680 (mdraid_mod_LDFLAGS): Likewise.
28681 (dm_nv_mod_SOURCES): Likewise.
28682 (dm_nv_mod_CFLAGS): Likewise.
28683 (dm_nv_mod_LDFLAGS): Likewise.
28684
28685 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
28686 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28687 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28688
28689 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
28690 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28691
28692 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28693
28694 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28695
28696 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28697
28698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28699
28700 * disk/raid5_recover.c: New file.
28701
28702 * disk/raid6_recover.c: Likewise.
28703
28704 * disk/mdraid_linux.c: Likewise.
28705
28706 * disk/dmraid_nvidia.c: Likewise.
28707
28708 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
28709 ULONG_MAX.
28710
28711 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
28712 calculate the size of raid device.
28713 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
28714 different layout of raid5.
28715 (grub_raid_scan_device): Remove code specific to mdraid.
28716 (grub_raid_list): New variable.
28717 (free_array): New function.
28718 (grub_raid_register): Likewise.
28719 (grub_raid_unregister): Likewise.
28720 (grub_raid_rescan): Likewise.
28721 (GRUB_MOD_INIT): Don't iterate device here.
28722 (GRUB_MOD_FINI): Use free_array to release resource.
28723
28724 * include/grub/raid.h: Remove macro and structure specific to mdraid.
28725 (grub_raid5_recover_func_t): New function variable type.
28726 (grub_raid6_recover_func_t): Likewise.
28727 (grub_raid5_recover_func): New variable.
28728 (grub_raid6_recover_func): Likewise.
28729 (grub_raid_register): New function.
28730 (grub_raid_unregister): Likewise.
28731 (grub_raid_rescan): Likewise.
28732 (grub_raid_block_xor): Likewise.
28733
28734 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
28735 (CMD_CRC): New macro.
28736 (part): Removed.
28737 (read_file): Handle device as well as file.
28738 (cmd_crc): New function.
28739 (fstest): Handle multiple disks.
28740 (options): Remove part, raw and long, add root and diskcount.
28741 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 28742 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 28743 add handling for the new options, support multiple disks.
28744
28745 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
28746
29c18915 287472008-08-23 Bean <bean123ch@gmail.com>
28748
28749 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
28750
28751 * genfslist.sh: Ignore kernel.mod.
28752
28753 * genpartmaplist.sh: Likewise.
28754
8415f261 287552008-08-23 Robert Millan <rmh@aybabtu.com>
28756
28757 * util/getroot.c (find_root_device): Skip anything that starts with
28758 a dot, not just directories. This avoids things like /dev/.tmp.md0.
28759
d5a7dc5b 287602008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 28761
d5a7dc5b 28762 * util/update-grub.in (GRUB_GFXMODE): Export variable.
28763 * util/grub.d/00_header.in: Allow the administrator to change default
28764 gfxmode via ${GRUB_GFXMODE}.
28765
380cfbb4 287662008-08-21 Felix Zielcke <fzielcke@z-51.de>
28767
28768 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
28769
c9baafe7 287702008-08-21 Robert Millan <rmh@aybabtu.com>
28771
28772 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
28773 loader.
28774 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
28775 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
28776
e290bef2 287772008-08-20 Carles Pina i Estany <carles@pina.cat>
28778
28779 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
28780 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
28781
f9dbfc96 287822008-08-19 Robert Millan <rmh@aybabtu.com>
28783
28784 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
28785 (struct grub_virtual_screen): Remove `cursor_color'.
28786 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
28787 initialization.
28788 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
28789
dd6bd6ab 287902008-08-18 Robert Millan <rmh@aybabtu.com>
28791
28792 Unify (identical) linux_normal.c files.
28793 * loader/i386/efi/linux_normal.c: Move from here ...
28794 * loader/linux_normal.c: ... to here. Update all users.
28795 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28796 * loader/i386/ieee1275/linux_normal.c: Likewise.
28797
7f42f83e 287982008-08-18 Robert Millan <rmh@aybabtu.com>
28799
28800 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28801 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28802 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28803 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28804 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28805 New macros.
28806 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28807 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28808 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28809 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28810 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28811 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28812 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28813 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28814 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28815 portably using grub_getxy().
28816 Replace `-EFI' with `-bzImage' in boot message.
28817
38487ddb 288182008-08-17 Robert Millan <rmh@aybabtu.com>
28819
28820 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28821
deceb3ec 288222008-08-17 Robert Millan <rmh@aybabtu.com>
28823
28824 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28825
28826 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28827 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28828 (grub_machine_mmap_iterate): New function declaration.
28829 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28830 structure.
28831 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28832 macros.
28833
28834 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28835 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28836 Move e820 parsing from here ...
28837 * kern/i386/pc/mmap.c: New file.
28838 (grub_machine_mmap_iterate): ... to here.
28839
28840 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28841 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28842 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28843 (grub_available_iterate): Redeclare to return `void', and redeclare
28844 its hook to use grub_uint64_t as addr and size parameters, and rename
28845 to ...
28846 (grub_machine_mmap_iterate): ... this. Update all users.
28847
28848 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28849 to make it more readable. Rename to ...
28850 (grub_machine_mmap_iterate): ... this.
28851
28852 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28853 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28854 (grub_multiboot): Allocate an extra region after the payload, and fill
28855 it with a Multiboot memory map. Adjust a.out loader to calculate size
28856 with the extra space.
28857 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28858 with the extra space.
28859
f8aa0f43 288602008-08-17 Carles Pina i Estany <carles@pina.cat>
28861
9807deb9 28862 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 28863
605f5bb6 288642008-08-17 Felix Zielcke <fzielcke@z-51.de>
28865
28866 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28867 mdate-sh to the list `find' searches for.
28868 * DISTLIST: Regenerated.
28869
210db6c6 288702008-08-16 Felix Zielcke <fzielcke@z-51.de>
28871
28872 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28873 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 28874 genmoddep.awk, gensymlist.sh.in.
28875 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 28876 * DISTLIST: Regenerated.
48cdbfd4 28877 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 28878
1082b929 288792008-08-16 Robert Millan <rmh@aybabtu.com>
28880
28881 * disk/raid.c (grub_raid_init): Handle/report errors set by
28882 grub_device_iterate().
28883 * disk/lvm.c (grub_lvm_init): Likewise.
28884
42ce5170 288852008-08-15 Bean <bean123ch@gmail.com>
28886
28887 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28888 and datehook.mod.
28889 (datetime_mod_SOURCES): New macro.
28890 (datetime_mod_CFLAGS): Likewise.
28891 (datetime_mod_LDFLAGS): Likewise.
28892 (date_mod_SOURCES): Likewise.
28893 (date_mod_CFLAGS): Likewise.
28894 (date_mod_LDFLAGS): Likewise.
28895 (datehook_mod_SOURCES): Likewise.
28896 (datehook_mod_CFLAGS): Likewise.
28897 (datehook_mod_LDFLAGS): Likewise.
28898
28899 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28900 and datehook.mod.
28901 (datetime_mod_SOURCES): New macro.
28902 (datetime_mod_CFLAGS): Likewise.
28903 (datetime_mod_LDFLAGS): Likewise.
28904 (date_mod_SOURCES): Likewise.
28905 (date_mod_CFLAGS): Likewise.
28906 (date_mod_LDFLAGS): Likewise.
28907 (datehook_mod_SOURCES): Likewise.
28908 (datehook_mod_CFLAGS): Likewise.
28909 (datehook_mod_LDFLAGS): Likewise.
28910
28911 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28912 and datehook.mod.
28913 (datetime_mod_SOURCES): New macro.
28914 (datetime_mod_CFLAGS): Likewise.
28915 (datetime_mod_LDFLAGS): Likewise.
28916 (date_mod_SOURCES): Likewise.
28917 (date_mod_CFLAGS): Likewise.
28918 (date_mod_LDFLAGS): Likewise.
28919 (datehook_mod_SOURCES): Likewise.
28920 (datehook_mod_CFLAGS): Likewise.
28921 (datehook_mod_LDFLAGS): Likewise.
28922
28923 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28924 and datehook.mod.
28925 (datetime_mod_SOURCES): New macro.
28926 (datetime_mod_CFLAGS): Likewise.
28927 (datetime_mod_LDFLAGS): Likewise.
28928 (date_mod_SOURCES): Likewise.
28929 (date_mod_CFLAGS): Likewise.
28930 (date_mod_LDFLAGS): Likewise.
28931 (datehook_mod_SOURCES): Likewise.
28932 (datehook_mod_CFLAGS): Likewise.
28933 (datehook_mod_LDFLAGS): Likewise.
28934
28935 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28936 and datehook.mod.
28937 (datetime_mod_SOURCES): New macro.
28938 (datetime_mod_CFLAGS): Likewise.
28939 (datetime_mod_LDFLAGS): Likewise.
28940 (date_mod_SOURCES): Likewise.
28941 (date_mod_CFLAGS): Likewise.
28942 (date_mod_LDFLAGS): Likewise.
28943 (datehook_mod_SOURCES): Likewise.
28944 (datehook_mod_CFLAGS): Likewise.
28945 (datehook_mod_LDFLAGS): Likewise.
28946
28947 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28948
28949 * commands/date.c: New file.
28950
28951 * hook/datehook.c: Likewise.
28952
28953 * include/grub/lib/datetime.h: Likewise.
28954
28955 * include/grub/i386/cmos.h: Likewise.
28956
28957 * lib/datetime.c: Likewise.
28958
28959 * lib/i386/datetime.c: Likewise.
28960
28961 * lib/efi/datetime.c: Likewise.
28962
0e9242da 289632008-08-14 Robert Millan <rmh@aybabtu.com>
28964
28965 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28966 (grub_mkelfimage_SOURCES): New variable.
28967 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28968
28969 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28970 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28971 * conf/powerpc-ieee1275.rmk: Likewise.
28972 * conf/i386-ieee1275.rmk: Likewise.
28973
28974 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28975 * kern/i386/coreboot/init.c: Likewise.
28976
28977 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28978 with `<grub/cpu/kernel.h>'.
28979 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28980 to ...
28981 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28982 * kern/i386/coreboot/startup.S: Likewise.
28983
28984 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28985 (GRUB_MOD_GAP): Remove.
28986 * include/grub/powerpc/kernel.h: New file.
28987 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28988 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28989 * include/grub/i386/kernel.h: New file.
28990 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28991 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28992 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28993
28994 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28995 `grub-mkelfimage'.
28996 Use --directory when invoking grub_mkimage.
28997
28998 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28999 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
29000 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
29001 and GRUB_KERNEL_CPU_PREFIX.
29002
b86408f8 290032008-08-14 Felix Zielcke <fzielcke@z-51.de>
29004
d5e619ca 29005 * include/grub/err.h (grub_err_printf): New function prototype.
29006 * util/misc.c (grub_err_printf): New function.
29007 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
29008 grub_printf.
29009 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 29010
7161f0e0 290112008-08-13 Robert Millan <rmh@aybabtu.com>
29012
29013 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
29014
a1967522 290152008-08-13 Robert Millan <rmh@aybabtu.com>
29016
29017 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
29018 boot entry.
29019
371458b5 290202008-08-12 Robert Millan <rmh@aybabtu.com>
29021
29022 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
29023 of the relocation code from here ...
29024 (grub_multiboot): ... to here.
29025 (forward_relocator, backward_relocator): Move from here ...
29026 * kern/i386/loader.S (grub_multiboot_forward_relocator)
29027 (grub_multiboot_backward_relocator): ... to here.
29028 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
29029 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
29030 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
29031 (grub_multiboot_forward_relocator_end)
29032 (grub_multiboot_backward_relocator)
29033 (grub_multiboot_backward_relocator_end): New variables.
29034
05f9452b 290352008-08-12 Bean <bean123ch@gmail.com>
29036
29037 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
29038
20024ab0 290392008-08-11 Robert Millan <rmh@aybabtu.com>
29040
29041 * kern/i386/linuxbios/startup.S: Move from here ...
29042 * kern/i386/coreboot/startup.S: ... to here.
29043
29044 * kern/i386/linuxbios/init.c: Move from here ...
29045 * kern/i386/coreboot/init.c: ... to here.
29046
29047 * kern/i386/linuxbios/table.c: Move from here ...
29048 * kern/i386/coreboot/mmap.c: ... to here.
29049
29050 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
29051
e352e9cd 290522008-08-11 Robert Millan <rmh@aybabtu.com>
29053
29054 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
29055 errors. Leave it to the upper layer to handle them.
29056
2d05bc6a 290572008-08-09 Christian Franke <franke@computer.org>
29058
29059 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
29060 * conf/common.rmk: Install `grub-pe2elf' only if requested.
29061 Install `grub.d/10_windows' only on Cygwin.
29062 * configure.ac: Add subst of `target_os'.
29063 Check `target_os' also before setting TARGET_OBJ2ELF.
29064 Add `--enable-grub-pe2elf'.
29065
042bd419 290662008-08-08 Robert Millan <rmh@aybabtu.com>
29067
29068 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29069 (grub_last_time): Change type to grub_uint64_t.
29070 (grub_disk_open): Migrate code from to using grub_get_time_ms().
29071 (grub_disk_close): Likewise.
29072
29073 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29074 (run_menu): Migrate code from to using grub_get_time_ms().
29075
29076 * util/misc.c (grub_get_time_ms): New function.
29077
7f280db5 290782008-08-08 Marco Gerards <marco@gnu.org>
29079
29080 * disk/ata.c (grub_ata_regget): Change return type to
29081 `grub_uint8_t'.
29082 (grub_ata_regget2): Likewise.
29083 (grub_ata_wait_status): New function.
29084 (grub_ata_wait_busy): Removed function, updated all users to use
29085 `grub_ata_wait_status'.
29086 (grub_ata_wait_drq): Likewise.
29087 (grub_ata_cmd): New function.
29088 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
29089 error handling.
29090 (grub_ata_pio_write): Add error handling.
29091 (grub_atapi_identify): Likewise.
29092 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
29093 handling.
29094 (grub_ata_identify): Use `grub_ata_cmd' and improve error
29095 handling. Actually use the detected registers. Reorder the
29096 detection logic such that it is easier to read.
29097 (grub_ata_pciinit): Do not assign the same ID to each controller.
29098 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
29099 handling.
29100 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
29101
29102 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
29103
1fbc5e66 291042008-08-08 Marco Gerards <marco@gnu.org>
29105
29106 * NEWS: Update.
29107
819ce6c0 291082008-08-07 Bean <bean123ch@gmail.com>
29109
29110 * include/grub/x86_64/pci.h: New file.
29111
5c41d44d 291122008-08-07 Christian Franke <franke@computer.org>
29113
29114 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
29115 (TIMER2_GATE): Likewise.
29116 (grub_pit_wait): Add enable/disable of the timer2 gate
29117 bit of port 0x61. This fixes a possible infinite loop.
29118
5ebc275d 291192008-08-07 Bean <bean123ch@gmail.com>
29120
29121 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
29122 kern/i386/tsc.c and kern/i386/pit.c.
29123
29124 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
29125 x86_64 platform.
29126
29127 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
29128 <grub/i386/tsc.h>.
29129
29130 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
29131
e383b3d0 291322008-08-07 Bean <bean123ch@gmail.com>
29133
29134 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
29135
29136 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
29137
29138 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
29139 multiple inclusion. Add #include <grub/types.h>.
29140
1cbb58ac 291412008-08-06 Christian Franke <franke@computer.org>
29142
29143 * conf/common.rmk: Build and install `10_windows'.
29144 * util/grub.d/10_windows.in: New script.
29145
337f5a1e 291462008-08-06 Pavel Roskin <proski@gnu.org>
29147
29148 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
29149
057bc4ac 291502008-08-06 Robert Millan <rmh@aybabtu.com>
29151
29152 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
29153 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
29154
2b99f123 291552008-08-06 Bean <bean123ch@gmail.com>
29156
29157 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
29158 (grub_pxefs_fs_int): Remove dummy definition.
29159 (grub_pxefs_open): Use data->block_size to store the current block
29160 size setting.
29161 (grub_pxefs_read): Use block size stored in data->block_size. As the
29162 value of grub_pxe_blksize can be changed after the file is opened.
29163
9f0234cb 291642008-08-06 Bean <bean123ch@gmail.com>
29165
29166 * fs/i386/pc/pxe.c (curr_file): new variable.
29167 (grub_pxefs_open): Simply the handling of pxe file system. Don't
29168 require the dummy internal file system anymore.
29169 (grub_pxefs_read): Removed.
29170 (grub_pxefs_close): Likewise.
29171 (grub_pxefs_fs_int): Likewise.
29172 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
29173 connection when we switch file.
29174 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
29175
a55d42e0 291762008-08-06 Robert Millan <rmh@aybabtu.com>
29177
29178 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
29179 `halt.mod'.
29180 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
29181 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
29182
29183 * kern/i386/halt.c: New file.
29184 * kern/i386/reboot.c: Likewise.
29185 * include/grub/i386/reboot.h: Likewise.
29186 * include/grub/i386/halt.h: Likewise.
29187
29188 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
29189 Include `<grub/cpu/halt.h>'.
29190 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
29191 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
29192
29193 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
29194 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
29195 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
29196 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
29197 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
29198 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
29199 from here ...
29200 * include/grub/i386/at_keyboard.h: ... to here.
29201
24371d26 292022008-08-05 Robert Millan <rmh@aybabtu.com>
29203
29204 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
29205 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
29206 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
29207 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
29208 `kern/generic/millisleep.c'.
29209
29210 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
29211 instead of grub_get_rtc().
29212 (grub_tsc_init): Initialize `tsc_boot_time'.
29213
29214 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
29215 (grub_machine_init): Use grub_tsc_init() rather than
29216 installing an RTC-based handler via grub_install_get_time_ms().
29217
29218 * kern/i386/pit.c: New file.
29219 * include/grub/i386/pit.h: Likewise.
29220
9e7007b3 292212008-08-05 Bean <bean123ch@gmail.com>
29222
29223 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
29224
29225 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
29226 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
29227 (pxe_mod_SOURCES): New macro.
29228 (pxe_mod_CFLAGS): Likewise.
29229 (pxe_mod_LDFLAGS): Likewise.
29230 (pxecmd_mod_SOURCES): Likewise.
29231 (pxecmd_mod_CFLAGS): Likewise.
29232 (pxecmd_mod_LDFLAGS): Likewise.
29233
29234 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
29235 (grub_pxe_call): Likewise.
29236
29237 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
29238
29239 * commands/i386/pc/pxecmd.c: New file.
29240
9f0234cb 29241 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 29242
29243 * include/grub/i386/pc/pxe.h: Likewise.
29244
6977d49f 292452008-08-05 Bean <bean123ch@gmail.com>
29246
29247 * util/console.c (grub_console_cur_color): New variable.
29248 (grub_console_standard_color): Likewise.
29249 (grub_console_normal_color): Likewise.
29250 (grub_console_highlight_color): Likewise.
29251 (color_map): Likewise.
29252 (use_color): Likewise.
29253 (NUM_COLORS): New macro.
29254 (grub_ncurses_setcolorstate): Handle color properly.
29255 (grub_ncurses_setcolor): Don't change color here, just remember the
29256 settings, color will be set in grub_ncurses_setcolorstate.
29257 (grub_ncurses_getcolor): New function.
29258 (grub_ncurses_init): Initialize color pairs.
29259 (grub_ncurses_term): New member grub_ncurses_getcolor.
29260
9c2ff3ee 292612008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 29262
9c2ff3ee 29263 High resolution timer support. Implemented for x86 CPUs using TSC.
29264 Extracted generic grub_millisleep() so it's linked in only as needed.
29265 This requires a Pentium compatible CPU; if the RDTSC instruction is
29266 not supported, then it falls back on the generic grub_get_time_ms()
29267 implementation that uses the machine's RTC.
29268
29269 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
29270 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
29271 `kern/generic/millisleep.c'.
29272
29273 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
29274 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
29275
29276 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
29277 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
29278
29279 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29280
29281 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29282 `kern/generic/millisleep.c'.
29283
29284 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29285
29286 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
29287
29288 * kern/generic/rtc_get_time_ms.c: New file.
29289
29290 * kern/generic/millisleep.c: New file.
337f5a1e 29291
9c2ff3ee 29292 * kern/misc.c: Don't include
29293 <kern/time.h> anymore.
29294 (grub_millisleep_generic): Removed.
29295
29296 * commands/sleep.c (grub_interruptible_millisleep): Uses
29297 grub_get_time_ms() instead of grub_get_rtc().
29298
29299 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
29300 function.
29301 (grub_cpu_is_cpuid_supported): New inline function.
29302 (grub_cpu_is_tsc_supported): New inline function.
29303 (grub_tsc_init): New function prototype.
29304 (grub_tsc_get_time_ms): New function prototype.
29305
29306 * kern/i386/tsc.c (grub_get_time_ms): New file.
29307
29308 * include/grub/time.h: Include <grub/types.h.
29309 (grub_millisleep_generic): Removed.
29310 (grub_get_time_ms): New prototype.
29311 (grub_install_get_time_ms): New prototype.
29312 (grub_rtc_get_time_ms): New prototype.
29313
29314 * kern/time.c (grub_get_time_ms): New function.
29315 (grub_install_get_time_ms): New function.
29316
29317 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
29318 <grub/time.h> anymore.
29319 (grub_millisleep): Removed.
29320 (grub_machine_init): Call grub_tsc_init.
29321
29322 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
29323 get_time_ms() implementation.
29324
29325 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
29326 (ieee1275_get_time_ms): New function.
29327 (grub_machine_init): Install get_time_ms() implementation.
29328
29329 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
29330 (grub_machine_init): Call grub_tsc_init().
29331 (grub_millisleep): Removed.
bf06a93f 29332
9c2ff3ee 29333 * kern/ieee1275/init.c (grub_millisleep): Removed.
29334 (grub_machine_init): Install ieee1275_get_time_ms()
29335 implementation.
29336 (ieee1275_get_time_ms): New function.
29337 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
29338 real work.
29339
9ec92aaf 293402008-08-05 Marco Gerards <marco@gnu.org>
29341
29342 * disk/ata.c: Include <grub/pci.h>.
29343 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
29344 (grub_ata_initialize): Rewritten.
29345 (grub_ata_device_initialize): New function.
29346
8d23f507 293472008-08-04 Pavel Roskin <proski@gnu.org>
29348
29349 * kern/main.c: Include grub/mm.h.
29350
5e15ee3d 293512008-08-04 Robert Millan <rmh@aybabtu.com>
29352
29353 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
29354 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
29355 corruption problem).
29356
a9053f8f 293572008-08-04 Robert Millan <rmh@aybabtu.com>
29358
29359 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
29360 warnings introduced in my last commit.
29361
dd19c7d7 293622008-08-03 Robert Millan <rmh@aybabtu.com>
29363
29364 Make PCI available on all i386 architectures.
29365
29366 * include/grub/i386/pc/pci.h: Move from here ...
29367 * include/grub/i386/pci.h: ... to here.
29368
29369 * include/grub/i386/pc/pci.h: Remove.
29370 * include/grub/i386/efi/pci.h: Remove.
29371 * include/grub/x86_64/efi/pci.h: Remove.
29372
29373 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
29374 `<grub/cpu/pci.h>'.
29375
29376 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
29377 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
29378 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
29379
29380 * conf/i386-ieee1275.rmk: Likewise.
29381
e14a6184 293822008-08-03 Robert Millan <rmh@aybabtu.com>
29383
29384 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
29385 (grub_console_setcursor): Make it possible to set cursor off.
29386
52768e37 293872008-08-03 Robert Millan <rmh@aybabtu.com>
29388
29389 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
29390 of modules instead of assuming which platform provides what.
29391 * util/update-grub.in: Likewise.
29392
2d52f57f 293932008-08-03 Robert Millan <rmh@aybabtu.com>
29394
29395 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
29396 instead of `grub_install_dos_part' to determine whether a drive needs
29397 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 29398 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 29399
2a5cd121 294002008-08-02 Robert Millan <rmh@aybabtu.com>
29401
29402 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
29403
93808428 294042008-08-02 Robert Millan <rmh@aybabtu.com>
29405
29406 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
29407 of informational grub_dprintf() calls.
29408
3bd0a12a 294092008-08-02 Robert Millan <rmh@aybabtu.com>
29410
29411 * disk/memdisk.c (memdisk_size): Don't initialize.
29412 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
29413
29414 * include/grub/i386/pc/kernel.h
29415 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
29416 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
29417 (grub_memdisk_image_size, grub_arch_memdisk_addr)
29418 (grub_arch_memdisk_size): Remove.
29419
29420 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
29421 field (was only used to transfer a constant). Add `type' field to
29422 support multiple module types.
29423 (grub_module_iterate): New function.
29424
29425 * kern/device.c (grub_device_open): Do not hide error messages
29426 when grub_disk_open() fails. Use grub_print_error() instead.
29427
29428 * kern/i386/pc/init.c (grub_arch_modules_addr)
29429 (grub_arch_memdisk_size): Remove functions.
29430 (grub_arch_modules_addr): Return the module address in high memory
29431 (now that it isn't copied anymore).
29432
29433 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
29434 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
29435 decompression routine (grub_total_module_size already includes that
29436 now). Don't copy modules back to low memory.
29437
29438 * kern/main.c: Include `<grub/mm.h>'.
29439 (grub_load_modules): Split out (and use) ...
29440 (grub_module_iterate): ... this function, which iterates through
29441 module objects and runs a hook.
29442 Comment out grub_mm_init_region() call, as it would cause non-ELF
29443 modules to be overwritten.
29444
29445 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
29446 the memdisk image in its own region, make it part of the module list.
29447 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
29448 (main): Parse --memdisk|-m option, and pass user-provided path as
29449 parameter to generate_image().
29450 (add_segments): Pass `memdisk_path' down to load_modules().
29451 (load_modules): Embed memdisk image in module section when requested.
29452 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
29453 `header.type' instead of `header.offset'.
29454
29455 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
29456 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
29457 (memdisk_mod_LDFLAGS): New variables.
29458 * conf/i386-coreboot.rmk: Likewise.
29459 * conf/i386-ieee1275.rmk: Likewise.
29460
a927cc73 294612008-08-02 Robert Millan <rmh@aybabtu.com>
29462
29463 * loader/i386/pc/multiboot.c (playground, forward_relocator)
29464 (backward_relocator): New variables. Used to allocate and relocate
29465 the payload, respectively.
29466 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 29467 address, install the appropriate relocator code in each bound of
a927cc73 29468 the payload, and set the entry point such that
29469 grub_multiboot_real_boot() will jump to one of them.
29470
29471 * kern/i386/loader.S (grub_multiboot_payload_size)
29472 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29473 (grub_multiboot_payload_entry_offset): New variables.
29474 (grub_multiboot_real_boot): Set cpu context to what the relocator
29475 expects, and jump to the relocator instead of the payload.
29476
29477 * include/grub/i386/loader.h (grub_multiboot_payload_size)
29478 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29479 (grub_multiboot_payload_entry_offset): Export.
29480
b15d8a0c 294812008-08-01 Bean <bean123ch@gmail.com>
29482
29483 * normal/menu_entry.c (editor_getline): Don't return the original
29484 string as result, as it will be released by lexer once it has done
29485 using it.
29486
cdfb3d22 294872008-08-01 Robert Millan <rmh@aybabtu.com>
29488
29489 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
29490 within menuentries, not before them.
29491 util/grub.d/10_hurd.in: Likewise.
29492
9175e93d 294932008-08-01 Bean <bean123ch@gmail.com>
29494
29495 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
29496 (bufio_mod_SOURCES): New macro.
29497 (bufio_mod_CFLAGS): Likewise.
29498 (bufio_mod_LDFLAGS): Likewise.
29499
29500 * include/grub/bufio.h: New file.
29501
29502 * io/bufio.c: Likewise.
29503
29504 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
29505 (grub_video_reader_png): Use grub_buffile_open to open file.
29506
29507 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
29508 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
29509
29510 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
29511 (grub_video_reader_tga): Use grub_buffile_open to open file.
29512
29513 * font/manager.c: Include <grub/bufio.h>.
29514 (add_font): Use grub_buffile_open to open file.
29515
3d8383e7 295162008-07-31 Robert Millan <rmh@aybabtu.com>
29517
29518 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
29519 ELF segments, use a macro for arbitrarily accessing any of them instead
29520 of preparing a pointer that allows access to one at a time.
29521 (grub_multiboot_load_elf64): Likewise.
29522
16e641b6 295232008-07-31 Bean <bean123ch@gmail.com>
29524
29525 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
29526 GRUB_KERNEL_MACHINE_DATA_END.
29527
59198b72 295282008-07-30 Robert Millan <rmh@aybabtu.com>
29529
29530 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
29531 Increase from 0x50 to 0x60.
29532 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
29533 use UUIDs to identify the root drive for them. If that's not
29534 possible, abort.
29535 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
29536 check, for cross-disk installs.
29537
ae88bca3 295382008-07-30 Robert Millan <rmh@aybabtu.com>
29539
29540 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
29541 is non-empty, use it to set the `prefix' environment variable instead
29542 of the usual approach.
29543 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
29544 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
29545 environment variable instead of dummy make_install_device().
29546
29547 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
29548 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 29549 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 29550
29551 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
29552 New variable reference.
29553 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
29554 New macro. Defines offset of `grub_prefix' within startup.S (relative
29555 to `start').
29556 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
29557 section within startup.S (relative to `start').
29558 * include/grub/i386/coreboot/kernel.h: Likewise.
29559
29560 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
29561 Overwrite grub_prefix with its contents, at the beginning of the
29562 first segment.
29563 (main): Understand -p|--prefix.
29564
14f41dd1 295652008-07-30 Robert Millan <rmh@aybabtu.com>
29566
29567 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
29568
4ca049a3 295692008-07-30 Robert Millan <rmh@aybabtu.com>
29570
29571 * term/i386/pc/vga_text.c (grub_console_cls): Use
29572 grub_console_gotoxy() to go back to beginning of the screen.
29573 Found by Patrick Georgi <patrick.georgi@coresystems.de>
29574
2921d337 295752008-07-29 Christian Franke <franke@computer.org>
29576
29577 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29578 Add conversion of emulated mount points on Cygwin.
29579
b609876d 295802008-07-29 Christian Franke <franke@computer.org>
29581
29582 * util/update-grub.in: Add a check for admin
29583 group on Cygwin.
29584 Remove old `grub.cfg.new' before creation.
29585 Add `-f' to `mv' to handle the different filesystem
29586 semantics of Windows.
29587
e93e4679 295882008-07-29 Bean <bean123ch@gmail.com>
29589
29590 * normal/main.c (get_line): Fix buffer overflow bug.
29591
41694fd0 295922008-07-28 Robert Millan <rmh@aybabtu.com>
29593
29594 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
29595 (struct grub_apple_header): New struct. Describes the layout of
29596 the partmap header.
29597 (apple_partition_map_iterate): Check the header magic as well as the
29598 partition magic (which was already being checked).
29599
cfd0b4e6 296002008-07-28 Pavel Roskin <proski@gnu.org>
29601
29602 * genmk.rb: Add a warning to the beginning of the output that
29603 it's a generated file and should not be edited.
29604
93cce016 296052008-07-28 Robert Millan <rmh@aybabtu.com>
29606
29607 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29608 with the same number are found, just use issue a warning with
29609 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 29610
cd1df915 296112008-07-27 Robert Millan <rmh@aybabtu.com>
29612
29613 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
29614 information.
29615
b70a8427 296162008-07-27 Bean <bean123ch@gmail.com>
29617
29618 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
29619 (grub_fat_find_dir): Ignore case when comparing filename.
29620
8f5e379f 296212008-07-27 Bean <bean123ch@gmail.com>
29622
29623 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
29624 smallino, as it's more descriptive, and i8count can be confused with
29625 the other field count.
29626 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
29627 inode type.
29628
a85cd5a0 296292008-07-27 Bean <bean123ch@gmail.com>
29630
29631 * commands/crc.c: New file.
29632
29633 * lib/crc.c: Likewise.
29634
29635 * include/grub/lib/crc.h: Likewise.
29636
29637 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
29638
29639 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
29640 (hexdump): Move this function to ...
29641
29642 * lib/hexdump.c: ... here.
29643
29644 * include/grub/hexdump.h: Renamed to ...
29645
29646 * include/grub/lib/hexdump.h: ... this.
29647
29648 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
29649
29650 * util/grub-editenv.c: Likewise.
29651
29652 * include/envblk.h: Renamed to ...
29653
29654 * include/lib/envblk.h: ... this.
29655
29656 * util/envblk.c: Renamed to ...
29657
29658 * lib/envblk.c: ... this.
29659
29660 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
29661 lib/hexdump.c.
29662 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
29663 (pkglib_MODULES): Add crc.mod.
29664 (hexdump_mod_SOURCES): Add lib/hexdump.c.
29665 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
29666 (crc_mod_SOURCES): New macro.
29667 (crc_mod_CFLAGS): Likewise.
29668 (crc_mod_LDFLAGS): Likewise.
29669
29670 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
29671
29672 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29673
29674 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29675
29676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29677
29678 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29679
c298def0 296802008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 29681
29682 * commands/help.c: Include <grub/term.h>.
29683 (TERM_WIDTH): Removed. Updated all users.
29684
cc349fb3 296852008-07-27 Pavel Roskin <proski@gnu.org>
29686
29687 * util/getroot.c (find_root_device): Rephrase a comment to avoid
29688 spurious warnings about a comment within a comment.
29689
9051607e 296902008-07-25 Robert Millan <rmh@aybabtu.com>
29691
29692 * util/getroot.c (find_root_device): Skip devices that match
29693 /dev/dm-[0-9]. This lets the real device be found for any type of
29694 abstraction (LVM, EVMS, RAID..).
29695 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
29696 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
29697 device is found first, find_root_device() will now skip it.
29698
01453bfc 296992008-07-24 Pavel Roskin <proski@gnu.org>
29700
29701 * include/grub/types.h: Use __builtin_bswap32() and
29702 __builtin_bswap64() with gcc 4.3 and newer.
29703
6af9849f 297042008-07-24 Christian Franke <franke@computer.org>
29705
3a0fa256 29706 * util/i386/pc/grub-install.in: If `--debug' is specified,
29707 pass `--verbose' to grub-setup.
29708 Abort script if make_system_path_relative_to_its_root() fails.
29709
7810e747 297102008-07-24 Bean <bean123ch@gmail.com>
29711
29712 * configure.ac: Fixed a bug caused by the previous cygwin patch,
29713 variable `target_platform' should be `platform'.
29714
42290e17 297152008-07-24 Bean <bean123ch@gmail.com>
29716
51cc5193 29717 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 29718 (grub_png_init_fixed_block): New function.
29719 (grub_png_decode_image_data): Handle fixed huffman code compression.
29720
2a8a80e4 297212008-07-24 Bean <bean123ch@gmail.com>
29722
29723 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
29724 (grub_pe2elf_SOURCES): New macro.
29725 (CLEANFILES): Add grub-pe2elf.
29726
29727 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
29728 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
29729 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
29730 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
29731 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
29732 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
29733 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
29734 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
29735 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
29736 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
29737 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
29738 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
29739 (GRUB_PE32_DT_FUNCTION): Likewise.
29740 (GRUB_PE32_REL_I386_DIR32): Likewise.
29741 (GRUB_PE32_REL_I386_REL32): Likewise.
29742 (grub_pe32_symbol): New structure.
29743 (grub_pe32_reloc): Likewise.
29744
29745 * util/grub-pe2elf.c: New file.
29746
29747 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
29748 start symbol in non pc platform.
29749
29750 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
29751
29752 The following patches are from Christian Franke.
29753
29754 * include/grub/dl.h: Remove .previous, gas supports this only
29755 for ELF format.
29756
29757 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
29758 Remove .type, gas supports this only for ELF format.
29759
29760 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
29761 nullbytes in symbol table. This fixes an infinite loop if table is
29762 zero filled.
29763
29764 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
29765 TARGET_IMG_LDFLAGS and EXEEXT.
29766
29767 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
29768 TARGET_IMG_LDFLAGS_AC.
29769 (grub_CHECK_STACK_ARG_PROBE): New function.
29770
29771 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
29772
29773 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
29774
29775 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
29776 to set TARGET_IMG_LD* accordingly.
29777 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
29778 Add call to grub_CHECK_STACK_ARG_PROBE.
29779 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
29780
29781 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
29782
29783 * genmk.rb: Add EXEEXT to CLEANFILES.
29784
12ccdb75 297852008-07-23 Robert Millan <rmh@aybabtu.com>
29786
29787 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
29788 define the codes for arrows and lines used for the menu).
29789 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
29790 as well.
29791
29792 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29793 fonts, because the latter are too slow.
29794
18eeaf04 297952008-07-21 Bean <bean123ch@gmail.com>
29796
29797 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29798 a20. Run keyboard test last, as it will cause macbook to halt.
29799
b095e2ad 298002008-07-18 Pavel Roskin <proski@gnu.org>
29801
29802 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29803 load foreign architecture modules correctly anyway. Keep
29804 support for loading host architecture modules, whether we
29805 compile them or not.
29806
737feb35 298072008-07-17 Pavel Roskin <proski@gnu.org>
29808
3f4ce737 29809 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29810 change target_cpu. The compiler default can mismatch target_cpu
29811 in any case.
29812
4ad2d049 29813 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29814 * kern/efi/efi.c: Likewise.
29815
f6130a12 29816 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29817 target compiler is functional.
29818 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29819 are set up.
29820
58393a2d 29821 * configure.ac: Default to efi platform for x86_64-apple. Allow
29822 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29823 adjustments from the rest, only do them if target is not
29824 explicitly given. Merge other adjustments with the final sanity
29825 check. Remove an extraneous check for supported CPU. Be
29826 specific which CPU and which platform is not supported.
29827
737feb35 29828 * configure.ac: Default to pc platform for x86_64.
29829
546f966a 298302008-07-17 Robert Millan <rmh@aybabtu.com>
29831
29832 Partial LinuxBIOS -> Coreboot rename.
29833
29834 * conf/i386-linuxbios.rmk: Renamed to ...
29835 * conf/i386-coreboot.rmk: ... this.
29836 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29837 * configure.ac: Accept "coreboot" as input platform (but maintain
29838 compatibility with "linuxbios").
29839 * include/grub/i386/linuxbios: Renamed to ...
29840 * include/grub/i386/coreboot: ... this.
29841
20011694 298422008-07-17 Bean <bean123ch@gmail.com>
29843
29844 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 29845 (appleldr_mod_SOURCE): New variable.
20011694 29846 (appleldr_mod_CFLAGS): Likewise.
29847 (appleldr_mod_LDFLAGS): Likewise.
29848 (pci_mod_SOURCES): Likewise.
29849 (pci_mod_CFLAGS): Likewise.
29850 (pci_mod_LDFLAGS): Likewise.
29851 (lspci_mod_SOURCES): Likewise.
29852 (lspci_mod_CFLAGS): Likewise.
29853 (lspci_mod_LDFLAGS): Likewise.
29854
29855 * conf/x86_64-efi.rmk: New file.
29856
29857 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29858 macro.
29859 (grub_efidisk_write): Likewise.
29860
29861 * include/efi/api.h (efi_call_0): New macro.
29862 (efi_call_1): Likewise.
29863 (efi_call_2): Likewise.
29864 (efi_call_3): Likewise.
29865 (efi_call_4): Likewise.
29866 (efi_call_5): Likewise.
29867 (efi_call_6): Likewise.
29868
29869 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29870 grub_rescue_cmd_chainloader.
29871
29872 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29873 (grub_pe32_optional_header): Change some fields based on i386 or
29874 x86_64 platform.
29875 (GRUB_PE32_PE32_MAGIC): Likewise.
29876
29877 * include/grub/efi/uga_draw.h: New file.
29878
29879 * include/grub/elf.h (STN_ABS): New constant.
29880 (R_X86_64_NONE): Relocation constant for x86_64.
29881 (R_X86_64_64): Likewise.
29882 (R_X86_64_PC32): Likewise.
29883 (R_X86_64_GOT32): Likewise.
29884 (R_X86_64_PLT32): Likewise.
29885 (R_X86_64_COPY): Likewise.
29886 (R_X86_64_GLOB_DAT): Likewise.
29887 (R_X86_64_JUMP_SLOT): Likewise.
29888 (R_X86_64_RELATIVE): Likewise.
29889 (R_X86_64_GOTPCREL): Likewise.
29890 (R_X86_64_32): Likewise.
29891 (R_X86_64_32S): Likewise.
29892 (R_X86_64_16): Likewise.
29893 (R_X86_64_PC16): Likewise.
29894 (R_X86_64_8): Likewise.
29895 (R_X86_64_PC8): Likewise.
29896
29897 * include/grub/i386/efi/pci.h: New file.
29898
29899 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29900 Change it value based on platform.
29901 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29902 (GRUB_E820_RAM): Likewise.
29903 (GRUB_E820_RESERVED): Likewise.
29904 (GRUB_E820_ACPI): Likewise.
29905 (GRUB_E820_NVS): Likewise.
29906 (GRUB_E820_EXEC_CODE): Likewise.
29907 (GRUB_E820_MAX_ENTRY): Likewise.
29908 (grub_e820_mmap): New structure.
29909 (linux_kernel_header): Change the efi field according to different
29910 kernel version, also field from linux_kernel_header.
29911
29912 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29913
29914 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29915 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29916 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29917 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29918 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29919 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29920 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29921 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29922 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29923 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29924
29925 * include/grub/x86_64/efi/kernel.h: New file.
29926
29927 * include/grub/x86_64/efi/loader.h: Likewise.
29928
29929 * include/grub/x86_64/efi/machine.h: Likewise.
29930
29931 * include/grub/x86_64/efi/pci.h: Likewise.
29932
29933 * include/grub/x86_64/efi/time.h: Likewise.
29934
29935 * include/grub/x86_64/linux.h: Likewise.
29936
29937 * include/grub/x86_64/setjmp.h: Likewise.
29938
29939 * include/grub/x86_64/time.h: Likewise.
29940
29941 * include/grub/x86_64/types.h: Likewise.
29942
29943 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29944 GRUB_TARGET_SIZEOF_VOID_P.
29945
29946 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29947 (grub_efi_locate_handle): Likewise.
29948 (grub_efi_open_protocol): Likewise.
29949 (grub_efi_set_text_mode): Likewise.
29950 (grub_efi_stall): Likewise.
29951 (grub_exit): Likewise.
29952 (grub_reboot): Likewise.
29953 (grub_halt): Likewise.
29954 (grub_efi_exit_boot_services): Likewise.
29955 (grub_get_rtc): Likewise.
29956
29957 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29958 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29959 (grub_efi_allocate_pages): Wrap efi calls.
29960 (grub_efi_free_pages): Wrap efi calls.
29961 (grub_efi_get_memory_map): Wrap efi calls.
29962
29963 * kern/x86_64/dl.c: New file.
29964
29965 * kern/x86_64/efi/callwrap.S: Likewise.
29966
29967 * kern/x86_64/efi/startup.S: Likewise.
29968
29969 * loader/efi/appleloader.c: Likewise.
29970
29971 * loader/efi/chainloader.c (cmdline): New variable.
29972 (grub_chainloader_unload): Wrap efi calls.
29973 (grub_chainloader_boot): Likewise.
29974 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29975 command line.
29976
29977 * loader/efi/chainloader_normal.c (chainloader_command):
29978 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29979 command line.
29980
29981 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29982 method.
29983 (grub_e820_add_region): New function.
29984 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29985 booting.
29986 (grub_find_video_card): New function.
29987 (grub_linux_setup_video): New function.
29988 (grub_rescue_cmd_linux): Probe for video information.
29989
29990 * normal/x86_64/setjmp.S: New file.
29991
29992 * term/efi/console.c (map_char): New function.
29993 (grub_console_putchar): Map unicode char.
29994 (grub_console_checkkey): Wrap efi calls.
29995 (grub_console_getkey): Likewise.
29996 (grub_console_getwh): Likewise.
29997 (grub_console_gotoxy): Likewise.
29998 (grub_console_cls): Likewise.
29999 (grub_console_setcolorstate): Likewise.
30000 (grub_console_setcursor): Likewise.
30001
30002 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
30003
59652a20 300042008-07-16 Pavel Roskin <proski@gnu.org>
30005
ef294055 30006 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
30007 format strings.
30008
59652a20 30009 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
30010 pointer, not an integer. This fixes a warning and prevents
30011 precision loss on 64-bit systems.
30012 (relocate_addresses): Remove unneeded cast.
30013
afc3b5d7 300142008-07-15 Pavel Roskin <proski@gnu.org>
30015
506b2b3e 30016 * kern/i386/ieee1275/init.c: Include grub/cache.h.
30017
62ead89c 30018 * term/ieee1275/ofconsole.c: Disable code unused on i386.
30019
c4cd51d7 30020 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
30021 Fix comparison between signed and unsigned.
30022
0d3d8f28 30023 * include/grub/i386/ieee1275/console.h: Declare
30024 grub_console_init() and grub_console_fini().
30025
8804b286 30026 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
30027 It's empty and unused.
30028
ee01cf35 30029 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
30030 beginning to avoid warnings with some compilers.
30031
afc3b5d7 30032 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
30033 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
30034
e4e8eaa5 300352008-07-14 Pavel Roskin <proski@gnu.org>
30036
407aceb4 30037 * kern/env.c (grub_register_variable_hook): Don't copy empty
30038 string, it leaks memory. Pass "" to grub_env_set(), it should
30039 handle constant strings.
30040
e4e8eaa5 30041 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
30042 * commands/cmp.c (grub_cmd_cmp): Likewise.
30043 * kern/dl.c (grub_dl_flush_cache): Likewise.
30044 (grub_dl_load_core): Likewise.
30045 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
30046 (grub_elf64_load_phdrs): Likewise.
30047
d4e2dad3 300482008-07-13 Pavel Roskin <proski@gnu.org>
30049
30050 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
30051 between signed and unsigned.
30052 (LzmaEnc_Finish): Fix warning about an unused parameter.
30053
aa24b516 300542008-07-13 Bean <bean123ch@gmail.com>
30055
30056 * Makefile.in (enable_lzo): New rule.
30057
30058 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
30059
30060 * configure.ac (ENABLE_LZO): New option --enable-lzo.
30061
30062 * boot/i386/pc/lnxboot.S: #include <config.h>.
30063
30064 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 30065 its value according to the compression algorithm used, lzo or lzma.
aa24b516 30066
30067 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
30068 compression algorithm according to configure macro.
30069
30070 * kern/i386/pc/startup.S (codestart): Likewise.
30071
30072 * kern/i386/pc/lzma_decode.S: New file.
30073
30074 * include/grub/lib/LzFind.h: Likewise.
30075
30076 * include/grub/lib/LzHash.h: Likewise.
30077
30078 * include/grub/lib/LzmaDec.h: Likewise.
30079
30080 * include/grub/lib/LzmaEnc.h: Likewise.
30081
30082 * include/grub/lib/LzmaTypes.h: Likewise.
30083
30084 * lib/LzFind.c: Likewise.
30085
30086 * lib/LzmaDec.c: Likewise.
30087
30088 * lib/LzmaEnc.c: Likewise.
30089
4ae821ac 300902008-07-13 Bean <bean123ch@gmail.com>
30091
30092 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
30093 (grub_ext4_extent_header): New structure.
30094 (grub_ext4_extent): Likewise.
30095 (grub_ext4_extent_idx): Likewise.
30096 (grub_ext4_find_leaf): New function.
30097 (grub_ext2_read_block): Handle extents.
30098
9a745147 300992008-07-12 Robert Millan <rmh@aybabtu.com>
30100
30101 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
30102
d49a4cf6 301032008-07-11 Robert Millan <rmh@aybabtu.com>
30104
30105 * util/grub.d/40_custom.in: New file. Example on how to add custom
30106 entries to /etc/grub.d.
30107 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
30108 40_custom (implicitly, by merging all the grub.d rules).
30109
947414b4 301102008-07-11 Pavel Roskin <proski@gnu.org>
30111
0059cf6f 30112 * commands/read.c (grub_getline): Fix invalid memory access.
30113 Don't add newline to the variable value.
30114
947414b4 30115 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
30116 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
30117 (serial_hw_get_port): Check validity of the port number.
30118 (grub_cmd_serial): Check return value of serial_hw_get_port().
30119
62a02d00 301202008-07-07 Pavel Roskin <proski@gnu.org>
30121
30122 * boot/i386/pc/diskboot.S (notification_string): Replace
30123 "Loading kernel" with just "loading". This is shorter, less
30124 confusing and saves a few bytes for possible future changes.
30125
3e5581b0 301262008-07-05 Pavel Roskin <proski@gnu.org>
30127
ea387a48 30128 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
30129 size for ATAPI devices, they are undefined. Output sector
30130 number in decimal form.
30131
3e5581b0 30132 * disk/ata.c: Use named constants for status bits.
30133
fdecb8fd 301342008-07-04 Pavel Roskin <proski@gnu.org>
30135
bcd35b90 30136 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
30137 grub_addr_t before casting it to the void pointer to fix a
30138 warning. Non-addressable regions are discarded earlier.
30139 (grub_arch_modules_addr): Cast _end to grub_addr_t.
30140 * kern/i386/linuxbios/table.c: Include grub/misc.h.
30141 (check_signature): Don't shadow table_header.
30142 (grub_linuxbios_table_iterate): Cast numeric constants to
30143 grub_linuxbios_table_header_t.
30144 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
30145 grub_stop().
30146
af58ab3d 30147 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
30148 prevent warnings.
30149
1759aa57 30150 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
30151 pointer, which can cause warnings. Support 64-bit addresses.
30152
fdecb8fd 30153 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
30154 of sizeof(long). This fixes PowerPC image generation on x86_64.
30155
8516d2a8 301562008-07-04 Robert Millan <rmh@aybabtu.com>
30157
30158 This fixes a performance issue when pc & gpt partmap iterators
30159 didn't abort iteration even after our hook found what it was
fe987087 30160 looking for (often causing expensive probes of non-existent drives).
8516d2a8 30161
30162 Some callers relied on previous buggy behaviour, since they would
34c44600 30163 raise an error when their own hooks caused early abortion of its
8516d2a8 30164 iteration.
30165
30166 * kern/device.c (grub_device_open): Improve error message.
30167 * disk/lvm.c (grub_lvm_open): Likewise.
30168 * disk/raid.c (grub_raid_open): Likewise.
30169
30170 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
30171 when hook requests it, independently of grub_errno.
30172 (pc_partition_map_probe): Do not fail when find_func() caused
30173 early abortion of pc_partition_map_iterate().
30174
30175 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
30176 when hook requests it, independently of grub_errno.
30177 (gpt_partition_map_probe): Do not fail when find_func() caused
30178 early abortion of gpt_partition_map_iterate().
30179
30180 * kern/partition.c (grub_partition_iterate): Abort parent iteration
30181 when hook requests it, independently of grub_errno. Do not fail when
30182 part_map_iterate_hook() caused early abortion of p->iterate().
30183
30184 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
30185 when grub_partition_iterate() returned with non-zero.
30186
277d0de9 301872008-07-03 Pavel Roskin <proski@gnu.org>
30188
30189 * disk/ata.c (grub_ata_pio_write): Check status before writing,
30190 like we do in grub_ata_pio_read().
30191 (grub_ata_readwrite): Always write individual sectors. Fix the
30192 sector count for the remainder.
30193 (grub_ata_write): Enable writing to ATA devices. Correctly
30194 report error for ATAPI devices.
30195
d4c9b428 301962008-07-02 Pavel Roskin <proski@gnu.org>
30197
e43fc690 30198 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
30199 warning.
30200
f707af42 30201 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
30202 for every read sector, we already increment it for the whole
30203 batch. This fixes reading more than 256 sectors at once.
30204
11e16b15 30205 * util/grub-editenv.c (cmd_info): Cast argument to long
30206 explicitly. ptrdiff_t reduces to int on i386.
30207
cbabfdd4 30208 * util/grub-editenv.c (main): Be specific which parameter is
30209 missing.
30210
b8fbce0a 30211 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
30212 (memdisk): Make memdisk_orig_addr a pointer.
30213
c9c8e606 30214 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
30215 for file offsets, use grub_off_t instead. Fix printf format
30216 warnings.
30217
ca62e598 30218 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
30219 there. Real unexpected warnings should not drown in the noise
30220 about known problems.
30221
ce8d1766 30222 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
30223 grub_disk_addr_t for memory addresses.
30224
00c7a56a 30225 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
30226 explicitly to fix a warning.
30227
08d3ef09 30228 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
30229
cb71ba20 30230 * Makefile.in (MODULE_LDFLAGS): New variable.
30231 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
30232 the linker accepts --build-id=none.
30233 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
30234 MODULE_LDFLAGS.
30235 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
30236
d4c9b428 30237 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
30238 those in Linux XFS code. Provide a way to access 64-bit parent
30239 inode.
30240 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
30241 the end of struct grub_xfs_dir_header.
30242
d4156eee 302432008-07-02 Bean <bean123ch@gmail.com>
30244
30245 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
30246 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
30247 and GRUB_IEEE1275_FLAG_NO_ANSI.
30248
30249 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
30250 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
30251 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
30252
30253 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
30254 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
30255
30256 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
30257 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
30258
30259 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
30260 esc sequence on non ANSI terminal.
30261 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
30262
30263 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
30264 beginning of file.
30265
2270f77b 302662008-07-02 Bean <bean123ch@gmail.com>
30267
30268 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
30269 (grub_editenv_SOURCES): New variable.
30270 (pkglib_MODULES): Add loadenv.mod.
30271 (loadenv_mod_SOURCES): New variable.
30272 (loadenv_mod_CFLAGS): Likewise.
30273 (loadenv_mod_LDFLAGS): Likewise.
30274
30275 * include/grub/envblk.h: New file.
30276
30277 * util/envblk.c: New file.
30278
30279 * util/grub-editenv.c: New file.
30280
30281 * commands/loadenv.c: New file.
30282
0e9e51ec 302832008-07-01 Pavel Roskin <proski@gnu.org>
30284
d89b7634 30285 * include/multiboot2.h (struct multiboot_tag_module): Use char,
30286 not unsigned char. This fixes warnings and is consistent with
30287 other tags.
30288
bf1835b1 30289 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
30290
8222a04b 30291 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
30292
6a42d99d 30293 * term/tparm.c (analyze): Always set *popcount.
30294
10b159d1 30295 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
30296 cast to fix a warning.
30297
b8789f6c 30298 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
30299 cast to suppress a warning.
30300
29d7e38a 30301 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
30302 grub_fshelp_read_file() expects.
30303
f341f669 30304 * fs/fat.c: Fix UUID calculation on big-endian systems. We
30305 write uuid as a 32-bit value in CPU byte order, so declare and
30306 use it as such.
30307
0e9e51ec 30308 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
30309 long if the format specifier expects it.
30310 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
30311 * partmap/pc.c (pc_partition_map_iterate): Likewise.
30312 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
30313 long to fix a warning.
30314 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
30315 grub_dprintf() arguments to fix warnings.
30316
3aefa857 303172008-06-30 Pavel Roskin <proski@gnu.org>
30318
56c7668b 30319 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
30320 install_bsd_part immediately before core.img is embedded or
30321 modified on disk. This fixes core.img verification if core.img
30322 cannot be embedded.
30323
3aefa857 30324 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
30325 core_path to calculate the blocklist.
30326 Patch from Javier Martín <lordhabbit@gmail.com>
30327
5444088d 303282008-06-29 Robert Millan <rmh@aybabtu.com>
30329
30330 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
30331 block to disk block.
30332 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
30333 Patch from Niels Böhm <bitbucket@arcor.de>
30334
674835c8 303352008-06-29 Robert Millan <rmh@aybabtu.com>
30336
30337 * util/update-grub_lib.in (font_path): Search for fonts in
30338 /boot/grub first, which is more likely to be readable (we aren't
30339 deciding where fonts live, just looking for them).
30340
f527dbc8 303412008-06-26 Pavel Roskin <proski@gnu.org>
30342
6c2d8df6 30343 * util/biosdisk.c (read_device_map): Don't leave dead map
30344 entries for devices failing stat() check.
30345
f527dbc8 30346 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
30347 core_path_dev for the core.img path on the target device.
30348
aebe3d13 303492008-06-26 Robert Millan <rmh@aybabtu.com>
30350
30351 * disk/fs_uuid.c: New file.
30352 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
30353 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
30354 (fs_uuid_mod_LDFLAGS): New variables.
30355 * include/grub/disk.h (grub_disk_dev_id): Add
30356 `GRUB_DISK_DEVICE_UUID_ID'.
30357 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
30358 implement iterate().
30359
37aaf354 303602008-06-26 Robert Millan <rmh@aybabtu.com>
30361
30362 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
30363 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
30364 Linux image includes no initrd.
30365
25ff262a 303662008-06-21 Javier Martín <lordhabbit@gmail.com>
30367
30368 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
30369 call to resolve the core image location that effectively appended the
30370 name twice.
30371
76a2bd44 303722008-06-21 Robert Millan <rmh@aybabtu.com>
30373
30374 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
30375 call from here ...
30376
30377 * util/grub.d/10_hurd.in: ... to here ...
30378 * util/grub.d/10_linux.in: ... and here.
30379
650e1c79 303802008-06-19 Robert Millan <rmh@aybabtu.com>
30381
fe987087 30382 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 30383 after it has been set by grub_machine_set_prefix().
30384
6ce63911 303852008-06-19 Robert Millan <rmh@aybabtu.com>
30386
30387 * commands/search.c (search_label, search_fs_uuid, search_file): Print
30388 search result when not saving to variable, not the other way around.
30389 When saving to variable, abort iteration as soon as a match is found.
30390
73940cec 303912008-06-19 Robert Millan <rmh@aybabtu.com>
30392
30393 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
30394 check for partition that provides /boot/grub. Its logic is flawed,
30395 as it prevents prepare_grub_to_access_device() from being called
30396 multiple times.
30397
3c62a39d 303982008-06-19 Robert Millan <rmh@aybabtu.com>
30399
30400 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
30401 "insmod" command directly when abstraction modules are needed,
fe987087 30402 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 30403 since it had already been processed).
30404
47395a42 304052008-06-19 Pavel Roskin <proski@gnu.org>
30406
30407 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
30408 changed. This is needed in case GRUB_LIBDIR changes.
30409 * conf/i386-ieee1275.rmk: Likewise.
30410 * conf/i386-linuxbios.rmk: Likewise.
30411 * conf/i386-pc.rmk: Likewise.
30412 * conf/powerpc-ieee1275.rmk: Likewise.
30413
a145ac2d 304142008-06-18 Pavel Roskin <proski@gnu.org>
30415
30416 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
30417 kernel_elf_symlist.c to symlist.c for consistency with other
30418 architectures. Update all users.
30419 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30420
7847c51e 304212008-06-18 Robert Millan <rmh@aybabtu.com>
30422
30423 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
30424 it in prefix.
30425
30426 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
30427 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
30428 a RAID device, run setup() for all members independently on whether
30429 LVM abstraction is being used.
30430 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
30431 If grub-mkimage has set `*install_dos_part == -2', don't override this
30432 value.
30433 Perform *install_dos_part adjustments independently on whether
30434 we're embedding or not.
30435 Clarify error message when image is too big for embedding.
30436 Remove duplicate *install_dos_part stanza.
30437
b23e5644 304382008-06-17 Robert Millan <rmh@aybabtu.com>
30439
30440 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
30441 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
30442 variables.
30443 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
30444 values in grub_ofconsole_normal_color and
30445 grub_ofconsole_highlight_color (they're not directly related to
30446 background and foreground).
30447 (grub_ofconsole_setcolorstate): Extract background and foreground
30448 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
30449
0aac2f79 304502008-06-17 Robert Millan <rmh@aybabtu.com>
30451
30452 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
30453 /boot/grub for the check in last commit, not /boot (they could be
30454 different partitions).
30455
3cca7ef3 304562008-06-16 Robert Millan <rmh@aybabtu.com>
30457
30458 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
30459 asked to setup access for the same partition that provides /boot,
30460 don't bother using UUIDs since our root already has the value we
30461 want.
30462
347396d8 304632008-06-16 Robert Millan <rmh@aybabtu.com>
30464
30465 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
30466 I2O devices.
30467 Patch from Sven Mueller <sven@debian.org>.
30468
991477f8 304692008-06-16 Robert Millan <rmh@aybabtu.com>
30470
30471 * util/update-grub.in: Check for $EUID instead of $UID.
30472 Reported by Vincent Zweije.
30473
d31a32a1 304742008-06-16 Bean <bean123ch@gmail.com>
30475
fe987087 30476 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 30477 (grub_ext2_read_block): Likewise.
30478 (grub_ext2_read_inode): Likewise.
30479 (grub_ext2_mount): Likewise.
30480 (grub_ext2_close): Likewise.
30481 (grub_ext3_get_journal): Removed.
30482
fe987087 30483 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 30484 (grub_reiserfs_read_symlink): Likewise.
30485 (grub_reiserfs_mount): Likewise.
30486 (grub_reiserfs_open): Likewise.
30487 (grub_reiserfs_read): Likewise.
30488 (grub_reiserfs_close): Likewise.
30489 (grub_reiserfs_get_journal): Removed.
30490
30491 * fs/fshelp.c (grub_fshelp_read): Removed.
30492 (grub_fshelp_map_block): Likewise.
30493
30494 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
30495 (grub_fshelp_journal): Likewise.
30496 (grub_fshelp_read): Likewise.
30497 (grub_fshelp_map_block): Likewise.
30498
3540a760 304992008-06-16 Pavel Roskin <proski@gnu.org>
30500
30501 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
30502 floating point anymore.
30503 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
30504
95614c84 305052008-06-15 Pavel Roskin <proski@gnu.org>
30506
30507 * commands/ls.c (grub_ls_list_files): Use integer calculations
30508 for human readable format, avoid floating point use.
30509 * kern/misc.c (grub_ftoa): Remove.
30510 (grub_vsprintf): Remove floating point support.
30511
50465dd6 305122008-06-15 Robert Millan <rmh@aybabtu.com>
30513
fe6b695a 30514 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 30515 devices.
30516 Reported by Max Vozeler.
30517
a9207284 305182008-06-15 Robert Millan <rmh@aybabtu.com>
30519
30520 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
30521 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
30522 skipped later.
30523 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
30524 the beginning of the prefix.
30525
30526 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
30527 It is assumed that if we have a memdisk, grub-mkimage has set
30528 grub_prefix to include the "(memdisk)" drive in it.
30529
a7cbd45a 305302008-06-15 Robert Millan <rmh@aybabtu.com>
30531
30532 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
30533 Initialize keyboard controller after registering the terminal, so that
30534 grub_printf() can be called from grub_keyboard_controller_init().
30535
21cf716a 305362008-06-15 Robert Millan <rmh@aybabtu.com>
30537
30538 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
30539 extent-btree which is written as big endian on disk.
30540 Reported by Alain Greppin <al@chilibi.org>.
30541
23a64d8e 305422008-06-14 Robert Millan <rmh@aybabtu.com>
30543
30544 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
30545 * util/i386/pc/grub-install.in (modules): Likewise.
30546
d687651c 305472008-06-13 Pavel Roskin <proski@gnu.org>
30548
30549 * commands/ls.c (grub_ls_list_files): Fix format warnings.
30550
dfe9ddd4 305512008-06-13 Bean <bean123ch@gmail.com>
30552
30553 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
30554
30555 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
30556
30557 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
30558 to indicate sparse block.
30559
16ae7781 305602008-06-12 Pavel Roskin <proski@gnu.org>
30561
e6d1a308 30562 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
30563 number, grub_fshelp_read() does it for us.
30564
16ae7781 30565 * fs/fshelp.c (grub_fshelp_read): New function. Implement
30566 linear disk read with journal translation.
30567 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
30568 * include/grub/fshelp.h: Declare grub_fshelp_read().
30569
40fd3a2b 305702008-06-09 Pavel Roskin <proski@gnu.org>
30571
30572 * fs/minix.c (grub_minix_mount): Handle error reading
30573 superblock.
30574
f5679726 305752008-06-08 Robert Millan <rmh@aybabtu.com>
30576
30577 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
30578 don't append the RAID prefix afterwards.
30579 Reported by Clint Adams.
30580
ce525529 305812008-06-08 Robert Millan <rmh@aybabtu.com>
30582
30583 Based on description from Pavel:
30584 * kern/disk.c (grub_disk_check_range): Rename to ...
30585 (grub_disk_adjust_range): ... this. Add a comment explaining the
30586 tasks performed by this function.
30587
ad4936a0 305882008-06-08 Robert Millan <rmh@aybabtu.com>
30589
30590 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
30591 `num_serial' (for consistency with other variables).
30592 (struct grub_ntfs_data): Add `uuid' member.
30593 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
30594 (grub_ntfs_uuid): New function.
30595 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
30596
dc20b0f9 305972008-06-07 Pavel Roskin <proski@gnu.org>
30598
30599 * util/biosdisk.c (open_device): Revert last change to the
30600 function, it broke installation. The sector needs to be
30601 different dependent on which device is opened.
30602
c5e3cfba 306032008-06-06 Robert Millan <rmh@aybabtu.com>
30604
30605 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
30606 rest of GRUB, and breakage doesn't happen if its value were modified.
30607
30608 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30609 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
30610 a constant (same value).
30611 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
30612 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
30613
26a1f8c4 306142008-06-06 Robert Millan <rmh@aybabtu.com>
30615
30616 * util/biosdisk.c (open_device): Do not modify sector offset when
30617 accessing a partition. kern/disk.c already handles this for us.
30618
25d6b327 306192008-06-06 Robert Millan <rmh@aybabtu.com>
30620
30621 * util/grub-emu.c (grub_machine_init): Move code in this function from
30622 here ...
30623 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
30624 segfault in case grub_printf() is called).
30625
30626 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
30627 grub_probe. Update all users not to explicitly add it again.
30628 (grub_device): New variable; contains corresponding device for grubdir.
30629 (fs_module, partmap_module, devabstraction_module): Pass
30630 `--device ${grub_device}' to grub_probe to avoid traversing /dev
30631 every time.
30632
9ece62fb 306332008-06-05 Robert Millan <rmh@aybabtu.com>
30634
30635 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
30636 is found, print it (same layout as with labels).
30637
1ad36d37 306382008-06-04 Robert Millan <rmh@aybabtu.com>
30639
30640 * util/biosdisk.c (get_drive): Rename to ...
30641 (find_grub_drive): ... this. Update all users.
30642
30643 (get_os_disk): Rename to ...
30644 (convert_system_partition_to_system_disk): ... this. Update all users.
30645
30646 (find_drive): Rename to ...
30647 (find_system_device): ... this. Update all users.
30648
e6a30859 306492008-06-04 Robert Millan <rmh@aybabtu.com>
30650
30651 * util/biosdisk.c (get_os_disk): Handle IDA devices.
30652 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30653 (make_device_map): Likewise.
30654
00c108a4 306552008-06-01 Robert Millan <rmh@aybabtu.com>
30656
30657 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
30658 before dereferencing it.
30659
30660 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
30661 union with fat12/fat16-specific ones. Add some new fields, including
30662 `num_serial' for both versions.
30663 (struct grub_fat_data): Add `uuid' member.
30664 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
30665 names. Initialize `data->uuid' using `num_serial'.
30666 (grub_fat_uuid): New function.
30667 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
30668
30669 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
30670 (grub_reiserfs_uuid): New function.
30671 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
30672 member.
30673
30674 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
30675 (grub_xfs_uuid): New function.
30676 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
30677
1385c5bb 306782008-06-01 Robert Millan <rmh@aybabtu.com>
30679
30680 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
30681 code that is backward compatible with pre-uuid search command.
30682
c682dfd7 306832008-05-31 Robert Millan <rmh@aybabtu.com>
30684
30685 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
30686 floppies after everything else, to ensure floppy drive isn't accessed
30687 unnecessarily (patch from Bean).
30688
b7db5d47 306892008-05-31 Robert Millan <rmh@aybabtu.com>
30690
30691 * commands/search.c (search_label, search_fs_uuid, search_file): Do
30692 not print device names when we were asked to set a variable.
30693
6e037aa9 306942008-05-31 Robert Millan <rmh@aybabtu.com>
30695
30696 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
30697 using "cursor-on" and "cursor-off" commands (understood at least by
30698 the Open Firmware flavour on OLPC).
30699
41305bc8 307002008-05-31 Michael Gorven <michael@gorven.za.net>
30701
30702 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
30703 on and off sequences.
30704
69ba137e 307052008-05-31 Robert Millan <rmh@aybabtu.com>
30706
30707 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
30708 * util/update-grub.in: Likewise.
30709
520ae21b 307102008-05-30 Pavel Roskin <proski@gnu.org>
30711
30712 * util/biosdisk.c (linux_find_partition): Simplify logic and
30713 make the code more universal. Keep special processing for
30714 devfs, but use a simple rule for all other devices. If the
30715 device ends with a number, append 'p' and the partition number.
30716 Otherwise, append only the partition number.
30717
5786569b 307182008-05-30 Robert Millan <rmh@aybabtu.com>
30719
30720 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
30721 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
30722 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
30723 the `root' parameter to Linux.
30724
51500452 307252008-05-30 Robert Millan <rmh@aybabtu.com>
30726
30727 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
30728 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
30729 --fs_uuid with --fs-uuid.
30730 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
30731 all filesystems support them).
30732
811d3878 307332008-05-30 Robert Millan <rmh@aybabtu.com>
30734
30735 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 30736 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 30737
cab63c95 307382008-05-30 Robert Millan <rmh@aybabtu.com>
30739
30740 * util/grub.d/00_header.in: Remove obsolete comment referencing
30741 convert_system_path_to_grub_path().
30742 * util/update-grub.in: Likewise.
30743 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
30744 (convert_system_path_to_grub_path): Add a warning message explaining
30745 that this function is deprecated. Rely on is_path_readable_by_grub()
30746 for the readability checks.
30747 (font_path): Use is_path_readable_by_grub() for the readability
30748 check rather than convert_system_path_to_grub_path().
30749
972e2f7a 307502008-05-30 Robert Millan <rmh@aybabtu.com>
30751
30752 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
30753 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
30754 converting it first.
30755 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
30756 grub.cfg for access to font file, and afterwards call it again to set
30757 the root device.
30758
62191274 307592008-05-30 Robert Millan <rmh@aybabtu.com>
30760
30761 * commands/search.c (options): Add --fs_uuid option.
30762 (search_fs_uuid): New function.
30763 (grub_cmd_search): Fix --set argument passing.
30764 Use search_fs_uuid() when requested via --fs_uuid.
30765 (grub_search_init): Update help message.
30766 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
30767 and redeclare it as an array of 16-bit words.
30768 (grub_ext2_uuid): New function.
30769 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
30770 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
30771 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
30772 (GRUB_DEVICE_BOOT_UUID): New variables.
30773 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
30774 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
30775 whenever possible.
30776 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
30777 just assume `root' variable has the right value.
30778 * util/grub.d/10_linux.in: Likewise.
30779 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
30780 via PRINT_FS_UUID.
30781 (main): Recognise `-t fs_uuid' argument.
30782
01b73ec8 307832008-05-30 Robert Millan <rmh@aybabtu.com>
30784
30785 * util/biosdisk.c (map): Redefine structure to hold information
30786 about GRUB drive name.
fe6b695a 30787 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 30788 drive names.
30789 (call_hook): Remove.
30790 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
30791 member. Assume drive has partitions.
30792 (grub_util_biosdisk_open): Access device names via `.device' struct
30793 member.
30794 (open_device): Likewise.
30795 (find_drive): Likewise.
30796 (read_device_map): Adjust map[] usage to match the new struct
30797 definition. Don't check for duplicates (still possible, but not cheap
30798 anymore).
30799 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30800 (make_device_name): Remove assumption of BIOS-like drive names.
30801
22f16596 308022008-05-30 Pavel Roskin <proski@gnu.org>
30803
30804 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30805 compiling execute.c doesn't need grub_script.tab.h anymore.
30806 (normal/command.c_DEPENDENCIES): Likewise.
30807 (normal/function.c_DEPENDENCIES): Likewise.
30808 * conf/i386-ieee1275.rmk: Likewise.
30809 * conf/i386-linuxbios.rmk: Likewise.
30810 * conf/i386-pc.rmk: Likewise.
30811 * conf/powerpc-ieee1275.rmk: Likewise.
30812 * conf/sparc64-ieee1275.rmk: Likewise.
30813
528ad8f2 308142008-05-29 Pavel Roskin <proski@gnu.org>
30815
d1dff95d 30816 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30817 when scanning metadata for volume group name.
30818
528ad8f2 30819 * include/grub/script.h: Don't include grub_script.tab.h. It's
30820 a generated file, which may only be included from the files with
30821 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30822 use union YYSTYPE, as the later allows forward declaration.
30823 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30824
47248e08 308252008-05-29 Robert Millan <rmh@aybabtu.com>
30826
30827 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30828 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30829 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30830 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30831 scan codes.
30832
ee632529 308332008-05-29 Robert Millan <rmh@aybabtu.com>
30834
30835 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30836 control key combinations.
30837
eee96e08 308382008-05-29 Robert Millan <rmh@aybabtu.com>
30839
30840 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30841 * util/ieee1275/grub-install.in: ... to here.
30842 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30843 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30844 (grub_install_SOURCES): Likewise.
30845
da9a6a94 308462008-05-29 Robert Millan <rmh@aybabtu.com>
30847
30848 * fs/affs.c: Update copyright year.
30849 * fs/ext2.c: Likewise.
30850 * fs/fshelp.c: Likewise.
30851 * fs/hfsplus.c: Likewise.
30852 * fs/ntfs.c: Likewise.
30853 * fs/xfs.c: Likewise.
30854 * include/grub/fshelp.h: Likewise.
30855 * util/grub-mkdevicemap.c: Likewise.
30856
12e65f3a 308572008-05-28 Robert Millan <rmh@aybabtu.com>
30858
30859 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30860 might need to be fatfs to support some firmware implementations
30861 (e.g. OFW or EFI).
30862
23023641 308632008-05-28 Robert Millan <rmh@aybabtu.com>
30864
30865 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30866 devices.
30867 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30868 (make_device_map): Likewise.
30869
887d2619 308702008-05-20 Bean <bean123ch@gmail.com>
30871
30872 * fs/fshelp.c (grub_fshelp_map_block): New function.
30873 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30874 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30875
30876 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30877 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30878 (grub_fshelp_journal): New structure.
30879 (grub_fshelp_map_block): New function prototype.
30880 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30881 (grub_fshelp_map_block): Likewise.
30882
30883 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30884 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30885 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30886 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30887 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30888 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30889 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30890 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30891 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30892 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30893 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30894 (grub_ext2_sblock): New members for journal support.
30895 (grub_ext3_journal_header): New structure.
30896 (grub_ext3_journal_revoke_header): Likewise.
30897 (grub_ext3_journal_block_tag): Likewise.
30898 (grub_ext3_journal_sblock): Likewise.
30899 (grub_fshelp_node): New members logfile and journal.
30900 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30901 grub_fshelp_map_block to get real block number.
30902 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30903 number.
30904 (grub_ext2_read_inode): Likewise.
30905 (grub_ext3_get_journal): New function.
30906 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30907 (grub_ext2_close): Release memory used by journal.
30908
30909 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30910 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30911 (grub_reiserfs_transaction_header): Renamed to
30912 grub_reiserfs_description_block, replace field data with real_blocks.
30913 (grub_reiserfs_commit_block): New structure.
30914 (grub_reiserfs_data): New member journal.
30915 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30916 number.
30917 (grub_reiserfs_read_symlink): Likewise.
30918 (grub_reiserfs_iterate_dir): Likewise.
30919 (grub_reiserfs_open): Likewise.
30920 (grub_reiserfs_read): Likewise.
30921 (grub_reiserfs_get_journal): New function.
30922 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30923 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30924 using grub_reiserfs_get_journal.
30925 (grub_reiserfs_close): Release memory used by journal.
30926
30927 * fs/affs.c (grub_affs_read_block): Change block type to
30928 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30929
30930 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30931
30932 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30933
30934 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30935
30936 * fs/udf.c (grub_udf_read_block): Change block type to
30937 grub_disk_addr_t. Use type cast to avoid warning.
30938
30939 * fs/xfs.c (grub_xfs_read_block): Likewise.
30940
b7c6bed5 309412008-05-16 Christian Franke <franke@computer.org>
30942
30943 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30944 to ensure that break with ESC will always work.
30945 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30946 Remove ESC from keyboard queue.
30947
eedf167f 309482008-05-16 Christian Franke <franke@computer.org>
30949
30950 * util/biosdisk.c: [__CYGWIN__] Add includes.
30951 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30952 (get_os_disk): Move variable declarations to OS specific
30953 parts to avoid warning.
30954 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30955 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30956 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30957 Cygwin.
30958 * util/getroot.c: [__CYGWIN__] Add includes.
30959 (strip_extra_slashes): Fix "/" case.
30960 [__CYGWIN__] (get_win32_path): New function.
30961 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30962 [__CYGWIN__] (find_root_device): Disable.
30963 [__CYGWIN__] (get_bootsec_serial): New function.
30964 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30965 [__linux__] (grub_guess_root_device): Add early returns to simplify
30966 structure.
30967 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30968 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30969 check for Linux only.
30970
a079699e 309712008-05-15 Bean <bean123ch@gmail.com>
30972
30973 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30974 keyboard hang problem in apple's intel mac.
30975
1cf4059a 309762008-05-09 Robert Millan <rmh@aybabtu.com>
30977
30978 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30979 devices.
30980 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30981 (make_device_map): Likewise.
30982 Reported by Aurelien Jarno <aurel32@debian.org>
30983
ed759390 309842008-05-07 Ian Campbell <ijc@hellion.org.uk>
30985
30986 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30987 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30988 (make_device_map): Output entries for xvd type disks.
30989
b56c4eaa 309902008-05-07 Robert Millan <rmh@aybabtu.com>
30991
30992 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30993 devices.
30994 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30995 (make_device_map): Likewise.
30996 Reported by Roland Dreier <rdreier@cisco.com>
30997
7f8866ed 309982008-05-07 Robert Millan <rmh@aybabtu.com>
30999
31000 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
31001 grub_strstr() call. Correct a few mistakes in failure path handling.
31002
b0346e0f 310032008-05-06 Robert Millan <rmh@aybabtu.com>
31004
31005 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31006 Do not print a trailing slash (therefore, the root directory is an
31007 empty string).
31008 (convert_system_path_to_grub_path): Do not remove trailing slash
31009 from make_system_path_relative_to_its_root() output.
31010
31011 * util/i386/pc/grub-install.in: Add trailing slash to output from
31012 make_system_path_relative_to_its_root().
31013
6cf12cbd 310142008-05-06 Robert Millan <rmh@aybabtu.com>
31015
31016 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
31017 ensures that output lines aren't intermangled with those sent to
31018 stderr (via grub_util_info()).
31019 * util/grub-probe.c (grub_refresh): Likewise.
31020 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
31021
0fbb3117 310222008-05-05 Christian Franke <franke@computer.org>
31023
31024 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
31025 Add Cygwin device names.
31026 (get_ide_disk_name) [__CYGWIN__]: Likewise.
31027 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
31028 (check_device): Return error instead of success on empty name.
31029 (make_device_map): Move label inside linux specific code to
31030 prevent compiler warning.
31031
8124cdb7 310322008-04-30 Robert Millan <rmh@aybabtu.com>
31033
31034 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
31035 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
31036 first boot option.
31037 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
31038
094c01d0 310392008-04-29 Robert Millan <rmh@aybabtu.com>
31040
31041 * docs/grub.cfg: New file (example GRUB configuration).
31042
f4b1fc02 310432008-04-26 Robert Millan <rmh@aybabtu.com>
31044
329ce2a5 31045 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
31046 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
31047 and `disk/ieee1275/nand.c'.
f4b1fc02 31048
25f16ec1 310492008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 31050
25f16ec1 31051 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
31052 i386-linuxbios.
31053
31054 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
31055 change the buffer size to 4096 for cdrom device.
31056
31057 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
31058 and nand.mod.
31059 (_linux_mod_SOURCES): New variable.
31060 (_linux_mod_CFLAGS): Likewise.
31061 (_linux_mod_LDFLAGS): Likewise.
31062 (linux_mod_SOURCES): Likewise.
31063 (linux_mod_CFLAGS): Likewise.
31064 (linux_mod_LDFLAGS): Likewise.
31065 (nand_mod_SOURCES): Likewise.
31066 (nand_mod_CFLAGS): Likewise.
31067 (nand_mod_LDFLAGS): Likewise.
31068
31069 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
31070 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
31071 type property. (nand device in olpc don't have this property)
31072
31073 * include/grub/disk.h (grub_disk_dev_id): New macro
31074 GRUB_DISK_DEVICE_NAND_ID.
31075
31076 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
31077 function prototype.
31078 (grub_rescue_cmd_initrd): Likewise.
31079
31080 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
31081 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
31082 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 31083
25f16ec1 31084 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
31085 GRUB_MACHINE_IEEE1275 is defined.
31086
31087 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
31088 Use NESTED_FUNC_ATTR attribute on the hook parameter.
31089
31090 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
31091 on nested function heap_init.
31092 (grub_upper_mem): New variable for i386-ieee1275.
31093 (grub_get_extended_memory): New function for i386-ieee1275.
31094 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
31095
31096 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
31097 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
31098 property.
f19dbdb7 31099
25f16ec1 31100 * loader/i386/ieee1275/linux.c: New file.
31101
31102 * loader/i386/ieee1275/linux_normal.c: New file.
31103
31104 * disk/ieee1275/nand.c: New file.
31105
e89d61e9 311062008-04-18 Thomas Schwinge <tschwinge@gnu.org>
31107
31108 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
31109 value.
31110 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
31111
602566f6 311122008-04-18 Robert Millan <rmh@aybabtu.com>
31113
31114 Restructures early code path on ieee1275 to unify grub_main() as
31115 the first C function that is executed in every platform.
31116
31117 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
31118 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
31119 cmain().
31120 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
31121 * kern/ieee1275/cmain.c (cmain): Rename to ...
31122 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
31123 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
31124 at the beginning.
31125
57490c2b 311262008-04-18 Robert Millan <rmh@aybabtu.com>
31127
31128 * util/update-grub.in: Fix syntax error when setting
31129 `GRUB_PRELOAD_MODULES'.
31130 Reported by Stephane Chazelas <stephane@artesyncp.com>
31131
1977517d 311322008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
31133
31134 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
31135 section into account, newer toolchains generate unique build ids
31136 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 31137 we want build ids to be preserved
1977517d 31138 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
31139 far from other sections don't cause the raw binary images grow
31140 size
31141
bfb1f1a2 311422008-04-15 Robert Millan <rmh@aybabtu.com>
31143
31144 * disk/lvm.c: Update copyright year.
31145 * kern/misc.c: Likewise.
31146
01979850 311472008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
31148
31149 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 31150 there is no memory left for physical volume name.
01979850 31151
0a1150e2 311522008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
31153
31154 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
31155 volume name mapping to support bigger than 9 character names properly.
31156
82ead3fe 311572008-04-13 Robert Millan <rmh@aybabtu.com>
31158
31159 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
31160 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
31161
e54a72f5 311622008-04-13 Christian Franke <franke@computer.org>
31163
31164 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
31165 to create a floppy emulation boot CD when non emulation mode
31166 does not work.
31167 Enable Joliet CD filesystem extension.
31168
9fe86034 311692008-04-13 Robert Millan <rmh@aybabtu.com>
31170
31171 * kern/misc.c (grub_strncat): Fix off-by-one error.
31172 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
31173
31174 * kern/env.c (grub_env_context_close): Clear current context, not
31175 previous one.
31176 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
31177
31178 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
31179
7ceeee39 311802008-04-13 Robert Millan <rmh@aybabtu.com>
31181
31182 Improve robustness when handling LVM.
31183
31184 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 31185 (and leave `*p' unmodified).
7ceeee39 31186 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
31187 through it.
31188 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
31189 iterating through it.
31190 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
31191 through it.
fe6b695a 31192 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 31193 when due) on each grub_lvm_getvalue() or grub_strstr() call.
31194 Don't assume `vg->pvs != NULL' when iterating through it.
31195
58cd3d85 311962008-04-13 Robert Millan <rmh@aybabtu.com>
31197
31198 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
31199 * genmk.rb (partmap): New variable.
31200 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
31201 (#{partmap}): New target rule.
31202 * genpartmaplist.sh: New file.
31203 * Makefile.in (pkglib_DATA): Add partmap.lst.
31204 (partmap.lst): New target rule.
31205 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
31206 modules (including all partition maps), instead of preloading them.
31207
78b51059 312082007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
31209
31210 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
31211 `linux-boot-prober' (if installed) to detect other operating
31212 systems which are installed on the computer and add them to
31213 the boot menu.
31214 * conf/common.rmk: Build and install 30_os-prober.
31215
a91627b4 312162008-04-12 Robert Millan <rmh@aybabtu.com>
31217
31218 * kern/powerpc/ieee1275/init.c: Move from here ...
31219 * kern/ieee1275/init.c: ... to here. Update all users.
31220
31221 * kern/powerpc/ieee1275/cmain.c: Move from here ...
31222 * kern/ieee1275/cmain.c: ... to here. Update all users.
31223
31224 * kern/powerpc/ieee1275/openfw.c: Move from here ...
31225 * kern/ieee1275/openfw.c: ... to here. Update all users.
31226
31227 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
31228 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
31229
322562ea 312302008-04-10 Pavel Roskin <proski@gnu.org>
31231
31232 * configure.ac: Always use "_cv_" in cache variables for
31233 compatibility with Autoconf 2.62.
31234
a02a73c5 312352008-04-07 Robert Millan <rmh@aybabtu.com>
31236
31237 Revert grub/machine/init.h addition by Pavel (since it breaks on
31238 i386-ieee1275 and others):
31239 * util/i386/pc/misc.c: Remove grub/machine/init.h.
31240 * util/powerpc/ieee1275/misc.c: Likewise.
31241
25c024b1 312422008-04-07 Robert Millan <rmh@aybabtu.com>
31243
31244 * util/grub-probe.c (probe): Improve error message.
31245
3cbd2f98 312462008-04-07 Robert Millan <rmh@aybabtu.com>
31247
31248 * util/biosdisk.c (read_device_map): Skip devices that don't exist
31249 (this prevents the presence of a bogus entry from ruining the whole
31250 thing).
31251
87a297bf 312522008-04-06 Pavel Roskin <proski@gnu.org>
31253
36747a62 31254 * util/biosdisk.c: Include grub/util/biosdisk.h.
31255 * util/grub-fstest.c (execute_command): Make static.
31256 * util/grub-mkdevicemap.c (check_device): Likewise.
31257 * util/i386/pc/misc.c: Include grub/machine/init.h.
31258 * util/powerpc/ieee1275/misc.c: Likewise.
31259 * util/lvm.c: Include grub/util/lvm.h.
31260 * util/misc.c: Include grub/kernel.h, grub/misc.h and
31261 grub/cache.h.
31262 * util/raid.c: Include grub/util/raid.h.
31263 (grub_util_getdiskname): Make static.
31264
87a297bf 31265 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
31266 grub_hostfs_fini(), as they are called from grub_init_all() and
31267 grub_fini_all() respectively. This fixes an infinite loop in
31268 grub-fstest due to double registration of hostfs.
31269 Reported by Christian Franke <Christian.Franke@t-online.de>
31270
f6ce7629 312712008-04-05 Pavel Roskin <proski@gnu.org>
31272
31273 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
31274 all 8 functions. Otherwise, probe function 0 only.
31275
070e49e4 312762008-04-04 Pavel Roskin <proski@gnu.org>
31277
8b088a4c 31278 * commands/lspci.c (grub_lspci_iter): Print the bus number
31279 correctly.
31280
4f657021 31281 * commands/lspci.c (grub_pci_classes): Fix typos.
31282 (grub_lspci_iter): Don't print func twice. Print vendor ID
31283 before device ID, as it's normally done.
31284
070e49e4 31285 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
31286 Fix signedness warnings.
31287 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
31288 Likewise.
31289 * util/ieee1275/get_disk_name.c: Include config.h so that
31290 _GNU_SOURCE is defined and getline() is declared. Mark an
31291 unused argument as such. Fix a signedness warning.
31292
ba7328dc 312932008-04-02 Pavel Roskin <proski@gnu.org>
31294
26887f22 31295 * genkernsyms.sh.in: Use more robust assignments for CC and
31296 srcdir. Quote srcdir.
31297 * gensymlist.sh.in: Likewise. Assert at the compile time that
31298 the symbol table is not empty.
31299
ba7328dc 31300 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
31301 * fs/cpio.c (grub_cpio_read): Likewise.
31302
0f582c6b 313032008-04-01 Pavel Roskin <proski@gnu.org>
31304
4b6e1995 31305 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
31306 * disk/host.c (grub_host_open): Likewise.
31307 * disk/loopback.c (grub_loopback_open): Likewise.
31308 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
31309 disk->id as in disk/host.c, not a multi-character constant.
31310
828a2768 31311 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
31312 later is obsolete, potentially dangerous and sets a bad example.
31313 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
31314 * util/misc.c (grub_util_get_image_size): Likewise.
31315
2bb4fb47 31316 * disk/loopback.c (options): Improve help for "--partitions".
31317
0f582c6b 31318 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
31319 options to align them with the short options, e.g. "echo -e".
31320
a33224e0 313212008-03-31 Bean <bean123ch@gmail.com>
31322
31323 * video/reader/png.c (grub_png_data): New member is_16bit and
31324 image_data.
31325 (grub_png_decode_image_header): Detect 16 bit png image.
31326 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
31327 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
31328 (grub_video_reader_png): Release memory occupied by image_data.
31329
31330 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
31331 4096 bytes.
31332 (grub_nfs_mount): Skip the test for sector per cluster.
31333
31334 * include/grub/ntfs.h (MAX_SPC): Removed.
31335
86cb4f54 313362008-03-31 Bean <bean123ch@gmail.com>
31337
31338 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
31339 (grub_probe_SOURCES): Add fs/afs.c.
31340 (grub_fstest_SOURCES): Likewise.
31341 (afs_mod_SOURCES): New variable.
31342 (afs_mod_CFLAGS): Likewise.
31343 (afs_mod_LDFLAGS): Likewise.
31344
31345 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
31346 (grub_emu_SOURCES): Likewise.
31347
31348 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31349
31350 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31351
31352 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31353
31354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31355
31356 * fs/afs.c: New file.
31357
17c74c21 313582008-03-30 Pavel Roskin <proski@gnu.org>
31359
4cb68e89 31360 * disk/host.c: Include grub/misc.h to fix a warning.
31361 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
31362 warnings about implicit declarations.
31363
8790bb04 31364 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
31365 variable.
31366 * include/grub/i386/loader.h: Change declaration of
31367 grub_linux_boot() to match what grub_loader_set() expects.
31368 * util/getroot.c (grub_guess_root_device): Return const char* to
31369 fix a warning.
31370 * util/grub-probe.c (probe): Fix a warning about uninitialized
31371 abstraction_name variable.
31372 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
31373 second argument as unused to fix a warning.
31374
9a3f3296 31375 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
31376 missing grub_error() call.
31377
0ecef90d 31378 * util/update-grub_lib.in: Define datarootdir, since Autoconf
31379 2.60 and newer uses it to define datadir.
31380
0bf6d401 31381 * commands/sleep.c: Fix warning about implicit declaration.
31382 * disk/memdisk.c: Likewise.
31383 * loader/aout.c: Likewise.
31384 * loader/i386/bsd_normal.c: Likewise.
31385 * util/grub-probe.c: Likewise.
31386
7cdacf97 31387 * commands/i386/cpuid.c (has_longmode): Make static.
31388 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
31389 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
31390
17c74c21 31391 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
31392 GDT. This is more robust, as %ds can change.
31393 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
31394 calling real_to_prot().
31395 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
31396
80a3e68b 313972008-03-28 Pavel Roskin <proski@gnu.org>
31398
31399 * kern/i386/pc/startup.S: Assert that uncompressed functions
31400 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
31401 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
31402 code, as they push parts of the code (error handlers) beyond
31403 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
31404 code as correctness and size.
31405
77bcd272 314062008-03-28 Pavel Roskin <proski@gnu.org>
31407
31408 * kern/i386/pc/startup.S
31409 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
31410 data block address to the real mode, keep offset minimal. This
31411 works around a bug in AWARD BIOS on old Athlon systems, which
31412 makes CD detection hang.
31413
c5dfd43b 314142008-03-26 Pavel Roskin <proski@gnu.org>
31415
31416 * normal/color.c (grub_parse_color_name_pair): Make `name' a
31417 const.
31418 * include/grub/normal.h: Add grub_parse_color_name_pair()
31419 declaration.
31420
bf962df2 314212008-03-24 Bean <bean123ch@gmail.com>
31422
31423 * disk/i386/pc/biosdisk.c (cd_start): Removed.
31424 (cd_count): Removed.
31425 (cd_drive): New variable.
31426 (grub_biosdisk_get_drive): Don't check for (cdN) device.
31427 (grub_biosdisk_call_hook): Likewise.
31428 (grub_biosdisk_iterate): Change cdrom detection method.
31429 (grub_biosdisk_open): Replace cd_start with cd_drive.
31430 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
31431 detect cdrom device.
31432
31433 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
31434 Removed.
31435 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
31436 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
31437 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
31438 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
31439 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
31440 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
31441 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
31442 (grub_biosdisk_cdrp): New structure.
31443 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
31444
31445 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
31446
31447 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
31448 device.
31449
31450 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
31451 New function.
31452
68e7fc7a 314532008-03-20 Robert Millan <rmh@aybabtu.com>
31454
31455 Remove 2 TiB limit in ata.mod.
31456 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
31457 (grub_ata_dumpinfo): Print sector count with 0x%llx.
31458 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
31459 grub_uint64_t instead of grub_uint32_t.
31460
38ad2cf5 314612008-03-05 Bean <bean123ch@gmail.com>
31462
31463 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
31464 (grub_multiboot): Set boot device.
31465
31466 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
31467
2b89344e 314682008-03-02 Bean <bean123ch@gmail.com>
31469
31470 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
31471 symlink_buffer.
31472
87a95d1f 314732008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
31474
31475 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
31476 texinfo.tex.
31477
31478 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
31479 modified.
31480
31481 * docs/fdl.texi: New file.
f19dbdb7 31482
87a95d1f 31483 * docs/mdate-sh: New file. Copied from gnulib.
31484 * docs/texinfo.tex: Likewise.
31485
31486 * config.guess: Updated from gnulib.
31487 * install-sh: Likewise.
31488
7dc15d8e 314892008-02-28 Robert Millan <rmh@aybabtu.com>
31490
31491 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
31492 (aout_mod_SOURCES): New variable.
31493 (aout_mod_CFLAGS): Likewise.
31494 (aout_mod_LDFLAGS): Likewise.
31495
31496 * conf/i386-ieee1275.rmk: Likewise.
31497
b00ab696 314982008-02-28 Robert Millan <rmh@aybabtu.com>
31499
31500 * util/update-grub.in: Reorganise terminal validity check. Accept
31501 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
31502 Based on suggestion by Franklin PIAT.
31503
79ca2d78 315042008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
31505
31506 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
31507 function.
31508 * util/getroot.c (grub_util_check_block_device): New function that
31509 returns the given argument if it is a block device and returns NULL else.
31510 * util/grub-probe.c (argument_is_device): New variable.
31511 (probe): Promote device_name from a variable to an argument. Receive
31512 device_name from grub_util_check_block_device() if path is NULL and from
31513 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 31514 (options): Introduce new parameter '-d, --device'.
79ca2d78 31515 (main): Add description of the new parameter to the help screen.
31516 Rename path variable to argument. Set argument_is_device if the '-d'
31517 option is given. Pass argument to probe() depending on
31518 argument_is_device.
31519
0d16e571 315202008-02-24 Bean <bean123ch@gmail.com>
31521
31522 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
31523 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
31524 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
31525 (GRUB_ISO9660_VOLDESC_PART): Likewise.
31526 (GRUB_ISO9660_VOLDESC_END): Likewise.
31527 (grub_iso9660_primary_voldesc): New member escape.
31528 (grub_iso9660_data): New member joliet.
31529 (grub_iso9660_convert_string): New function.
31530 (grub_iso9660_mount): Detect joliet extension.
31531 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
31532 (grub_iso9660_iso9660_label): Likewise.
31533
31534 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
31535 (grub_setup_SOURCES): Add fs/udf.c.
31536 (grub_fstest_SOURCES): Likewise.
31537 (udf_mod_SOURCES): New variable.
31538 (udf_mod_CFLAGS): Likewise.
31539 (udf_mod_LDFLAGS): Likewise.
31540
31541 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
31542 (grub_emu_SOURCES): Likewise.
31543
31544 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31545
31546 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31547
31548 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31549
31550 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31551
31552 * fs/udf.c: New file.
31553
8a594a17 315542008-02-24 Robert Millan <rmh@aybabtu.com>
31555
31556 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
31557 (normal/lexer.c_DEPENDENCIES): New variables.
31558 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31559 (normal/lexer.c_DEPENDENCIES): Likewise.
31560 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
31561 (normal/lexer.c_DEPENDENCIES): Likewise.
31562 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
31563 (normal/lexer.c_DEPENDENCIES): Likewise.
31564 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31565 (normal/lexer.c_DEPENDENCIES): Likewise.
31566 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31567 (normal/lexer.c_DEPENDENCIES): Likewise.
31568
2dc33c03 315692008-02-23 Robert Millan <rmh@aybabtu.com>
31570
31571 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
31572 since they were intended to be in hex. This didn't break previously
31573 because of a bug in gpt_partition_map_iterate() (see below).
31574
31575 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
31576 when checking the validity of GPT header.
31577 Remove `partno', since it always provides the same information as `i'.
31578
f6f4cfb0 315792008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
31580
31581 * include/grub/efi/time.h: Fix a wrong comment.
31582
79ff665f 315832008-02-19 Pavel Roskin <proski@gnu.org>
31584
31585 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
31586 message.
31587
d38e24c2 315882008-02-19 Bean <bean123ch@gmail.com>
31589
31590 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
31591 (aout_mod_SOURCES): New variable.
31592 (aout_mod_CFLAGS): Likewise.
31593 (aout_mod_LDFLAGS): Likewise.
31594 (_bsd_mod_SOURCES): New variable.
31595 (_bsd_mod_CFLAGS): Likewise.
31596 (_bsd_mod_LDFLAGS): Likewise.
31597 (bsd_mod_SOURCES): New variable.
31598 (bsd_mod_CFLAGS): Likewise.
31599 (bsd_mod_LDFLAGS): Likewise.
31600
31601 * include/grub/aout.h: New file.
31602
31603 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
31604
31605 * include/grub/i386/bsd.h: New file.
31606
31607 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
31608 to make it public.
31609
31610 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
31611 function is called, so that it's possible to change it inside the hook.
31612 (grub_elf64_load): Likewise.
31613 (grub_elf_file): Don't close the file if elf header is not found.
31614 (grub_elf_close): Close the file if grub_elf_file fails (The new
31615 grub_elf_file won't close it).
31616 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
31617 (grub_elf64_size): Likewise.
31618
31619 * kern/i386/loader.S (grub_unix_real_boot): New function.
31620
31621 * loader/aout.c: New file.
31622
31623 * loader/i386/bsd.c: New file.
31624
31625 * loader/i386/bsd_normal.c: New file.
31626
31627 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
31628
31629 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 31630 can test other formats.
d38e24c2 31631
b93bdb0f 316322008-02-19 Robert Millan <rmh@aybabtu.com>
31633
31634 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
31635 (grub_gpt_partition_type_empty): Redefine with macro from
31636 `<grub/gpt_partition.h>'.
31637 (gpt_partition_map_iterate): Adjust partition type comparison.
31638
31639 Export `entry' as partmap-specific `part.data' struct.
31640 (grub_gpt_header, grub_gpt_partentry): Move from here ...
31641
31642 * include/grub/gpt_partition.h (grub_gpt_header)
31643 (grub_gpt_partentry): ... to here (new file).
31644
31645 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
31646
31647 (grub_gpt_partition_type_bios_boot): New const variable, defined
31648 with macro from `<grub/gpt_partition.h>'.
31649
31650 (setup): Replace `first_start' with `embed_region', which keeps
31651 track of the embed region (and is partmap-agnostic).
31652
31653 Replace find_first_partition_start() with find_usable_region(),
31654 which finds a usable region for embedding using partmap-specific
31655 knowledge (supports PC/MSDOS and GPT).
31656
31657 Fix all assumptions that the embed region start at sector 1, using
31658 `embed_region.start' from now on. Similarly, use `embed_region.end'
31659 rather than `first_start' to calculate available size.
31660
31661 In grub_util_info() message, replace "into after the MBR" with an
31662 indication of the specific sector our embed region starts at.
31663
66cb40f6 316642008-02-19 Robert Millan <rmh@aybabtu.com>
31665
31666 * DISTLIST: Replace `commands/ieee1275/halt.c' and
31667 `commands/ieee1275/reboot.c' with `commands/halt.c' and
31668 `commands/reboot.c'.
31669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31670 (halt_mod_SOURCES): Likewise.
31671 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31672 (halt_mod_SOURCES): Likewise.
31673
b7202015 316742008-02-17 Christian Franke <franke@computer.org>
31675
31676 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
31677
32b0fc49 316782008-02-17 Robert Millan <rmh@aybabtu.com>
31679
31680 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31681 set `first_start' to 0 for non-PC/MSDOS partition maps.
31682
aca63502 316832008-02-16 Robert Millan <rmh@aybabtu.com>
31684
31685 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31686 do not assume partition map is PC/MSDOS before performing checks that
31687 are specific to that layout.
31688
0de8be86 316892008-02-13 Robert Millan <rmh@aybabtu.com>
31690
31691 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
31692 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
31693 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
31694
c3db8364 316952008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
31696
31697 * configure.ac: Only a cosmetic change on the handling of
31698 -fno-stack-protector.
31699
f714229e 317002008-02-12 Alexandre Boeglin <alex@boeglin.org>
31701
c3db8364 31702 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
31703 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
31704 reboot.c.
f714229e 31705 (grub_install_SOURCES): Add halt.mod and reboot.mod.
31706 (halt_mod_SOURCES): New variable.
31707 (halt_mod_CFLAGS): Likewise.
31708 (halt_mod_LDFLAGS): Likewise.
31709 (reboot_mod_SOURCES): Likewise.
31710 (reboot_mod_CFLAGS): Likewise.
31711 (reboot_mod_LDFLAGS): Likewise.
31712
c3db8364 31713 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
31714 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
31715 reboot.c.
f714229e 31716 (halt_mod_SOURCES): Likewise.
31717 (reboot_mod_SOURCES): Likewise.
31718
c3db8364 31719 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
31720 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 31721 (reboot_mod_SOURCES): Likewise.
31722
31723 * commands/i386/pc/reboot.c: merge this file ...
31724
31725 * commands/ieee1275/reboot.c: ... and this file ...
31726
31727 * commands/reboot.c: ... to this file.
c3db8364 31728 Add some precompiler directive to include the correct header for
31729 each machine.
f714229e 31730
31731 * commands/ieee1275/halt.c: move this file ...
31732
31733 * commands/halt.c: ... to here.
c3db8364 31734 Add some precompiler directive to include the correct header for
31735 each machine.
f714229e 31736
31737 * include/grub/efi/efi.h (grub_reboot): New function declaration.
31738 (grub_halt): Likewise.
31739
31740 * kern/efi/efi.c (grub_reboot): New function.
31741 (grub_halt): Likewise.
31742
c74493e0 317432008-02-12 Robert Millan <rmh@aybabtu.com>
31744
31745 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
31746 /dev (like it is done for /dev/mapper). This doesn't provide support
31747 for EVMS, but at least it is now easy to identify the problem when it
31748 arises.
31749
d0db4b04 317502008-02-11 Robert Millan <rmh@aybabtu.com>
31751
31752 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
31753 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
31754 comparing it with -1, not 0.
31755
bf748642 317562008-02-10 Robert Millan <rmh@aybabtu.com>
31757
31758 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
31759 `disk/lvm.c'.
31760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31761 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31762
31763 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
31764 `disk/lvm.c' to the end of the list.
31765 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31766 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31767
b5db202a 317682008-02-10 Robert Millan <rmh@aybabtu.com>
31769
31770 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
31771 grub_print_error() instead. This will let user know why we're entering
31772 rescue mode.
31773 Based on suggestions from Sam Morris.
31774
83abee31 317752008-02-10 Alexandre Boeglin <alex@boeglin.org>
31776
31777 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
31778 on remaining N args, instead of "--" arg N times.
31779
78d5a08b 317802008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
31781
31782 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
31783 (fill_with_default_glyph): Changed to use unknown_glyph for fill
31784 pattern for unknown glyphs.
31785
68807e5f 317862008-02-09 Robert Millan <rmh@aybabtu.com>
31787
31788 * configure.ac: Probe for `help2man'.
31789 * Makefile.in (builddir): New variable.
31790 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
31791 or otherwise add a few flags/options to it.
31792 (install-local): For every executable utility or script that is
31793 installed, invoke $(HELP2MAN) to install a manpage based on --help
31794 output.
31795
31796 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31797 that it doesn't prevent --help from working in build tree.
31798
31799 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31800 with `bug-grub@gnu.org'.
31801 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31802 * util/update-grub.in (usage): New function.
31803 Implement proper argument check, with support for --help and --version
31804 (as well as existing -y).
31805
318062008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 31807
31808 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31809 avoid overwriting previous output.
31810 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31811
c1962162 318122008-02-09 Robert Millan <rmh@aybabtu.com>
31813
31814 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31815 drawing the menu.
31816
3dac2e3f 318172008-02-09 Robert Millan <rmh@aybabtu.com>
31818
31819 * commands/sleep.c: New file.
31820 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31821 (sleep_mod_SOURCES): New variable.
31822 (sleep_mod_CFLAGS): Likewise.
31823 (sleep_mod_LDFLAGS): Likewise.
31824
7a634e08 318252008-02-09 Robert Millan <rmh@aybabtu.com>
31826
31827 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31828 situations in which we can deduce the RAID size and the superblock
31829 doesn't match it.
31830
b92f0c18 318312008-02-09 Robert Millan <rmh@aybabtu.com>
31832
31833 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31834 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31835 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31836
31837 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31838 and return a grub_diskmemberlist_t composed of physical array members.
31839 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31840
31841 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31842 prototype.
31843 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31844 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31845 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31846
31847 * util/grub-probe.c (probe): Move partmap probing code from here ...
31848 (probe_partmap): ... to here.
31849 (probe): Use probe_partmap() once for the disk we're probing, and
31850 additionally, when such disk contains a memberlist() struct member,
31851 once for each disk that is contained in the structure returned by
31852 memberlist().
31853
91a4bf68 318542008-02-09 Robert Millan <rmh@aybabtu.com>
31855
31856 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31857 environment variable to 'all' in order to obtain debug output from
31858 non-util/ code.
31859 * util/i386/pc/grub-setup.c (main): Likewise.
31860
a96f9caa 318612008-02-08 Robert Millan <rmh@aybabtu.com>
31862
31863 * disk/raid.c (grub_raid_scan_device): Check for
31864 `array->device[sb.this_disk.number]' rather than for
31865 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 31866 guaranteed to be accessible.
a96f9caa 31867
b37a9222 318682008-02-08 Robert Millan <rmh@aybabtu.com>
31869
31870 * disk/raid.c: Update copyright.
31871 * fs/cpio.c: Likewise.
31872 * include/grub/raid.h: Likewise.
31873 * loader/i386/pc/multiboot.c: Likewise.
31874 * util/hostfs.c: Likewise.
31875
5626aee1 318762008-02-08 Robert Millan <rmh@aybabtu.com>
31877
31878 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31879 to a grub_disk_t array.
31880 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31881 `device[x]'.
31882 (grub_raid_scan_device): Replace `device[x].name' accesses with
31883 `device[x]->name'. Simplify initialization of `array->device[x]'.
31884
554f0187 318852008-02-08 Robert Millan <rmh@aybabtu.com>
31886
31887 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31888 grub_dprintf() calls.
31889 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31890 error message.
31891
1ec8425d 318922008-02-07 Christian Franke <franke@computer.org>
31893
31894 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31895 instead of fseek and ftell to support large files.
31896 (grub_hostfs_read): Likewise.
31897
f2156fda 318982008-02-07 Robert Millan <rmh@aybabtu.com>
31899
31900 Patch from Jeroen Dekkers.
31901 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 31902 failure, since successfully reading all array members might not be
f2156fda 31903 required.
31904
9216e0e7 319052008-02-06 Robert Millan <rmh@aybabtu.com>
31906
31907 * util/grub-probe.c (probe): Simplify partmap probing (with the
31908 assumption that the first word up to the underscore equals to
31909 the module name).
31910
b0dfd29a 319112008-02-06 Christian Franke <franke@computer.org>
31912
31913 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31914 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31915 last block of a cpio or tar stream.
31916 Check for "TRAILER!!!" instead of any empty data
31917 block to detect last block of a cpio stream.
31918 (grub_cpio_dir): Fix constness of variable np.
31919 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31920 cpio or tar trailer is detected. This fixes a crash
31921 on open of a non existing file.
31922
c32865bf 319232008-02-05 Bean <bean123ch@gmail.com>
31924
31925 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31926 address of entry.
31927 (grub_multiboot_load_elf64): Likewise.
31928 (grub_multiboot): Initialize mbi structure.
31929
31930 * util/grub-fstest.c: Don't include unused header file script.h.
31931
fe6b695a 31932 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 31933 of file.
31934 (grub_fstest_SOURCES): Likewise.
31935
409480b7 319362008-02-05 Robert Millan <rmh@aybabtu.com>
31937
31938 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31939 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31940 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31941 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31942
31943 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31944 (translation_table): Replace hardcoded values with macros
31945 provided by `<grub/term.h>'.
31946
31947 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31948 (keyboard_map): Correct/add a few values, with macros provided
31949 by `<grub/term.h>'.
31950 (keyboard_map_shift): Zero values that don't differ from their
31951 `keyboard_map' equivalents.
31952 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31953 Discard the second scan code that is always sent by Caps lock.
31954 Only use `keyboard_map_shift' when it provides a non-zero value,
31955 otherwise fallback to `keyboard_map'.
31956
99fadbaa 319572008-02-04 Bean <bean123ch@gmail.com>
31958
31959 * Makefile.in (enable_grub_fstest): New variable.
31960
31961 * conf/common.rmk (grub_fstest_init.lst): New rule.
31962 (grub_fstest_init.h): Likewise.
31963 (grub_fstest_init.c): Likewise.
31964 (util/grub-fstest.c_DEPENDENCIES): New variable.
31965 (grub_fstest_SOURCES): Likewise.
31966
31967 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31968
31969 * util/grub-fstest.c: New file.
31970
bf567c50 319712008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31972
31973 Make grub-setup handle a separate root device.
f19dbdb7 31974
bf567c50 31975 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31976 so that the root device can be compared with the destination
31977 device.
31978 When embedding the core image, if the root and destination devices
31979 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31980 0xFF.
31981 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 31982
9be6b98b 319832008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31984
31985 Add support for having a grub directory in a different drive. This
31986 is still only the data handling part.
f19dbdb7 31987
9be6b98b 31988 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31989 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31990 (grub_root_drive): New variable.
31991
31992 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31993 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31994 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31995 as it was.
31996
31997 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31998
31999 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
32000 macro.
32001 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
32002
32003 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
32004 is bogus, because PXE booting does not specify any drive
32005 correctly.
32006
32007 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
32008 am not sure if this is really correct.
32009
32010 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
32011 is always identical to the boot drive when booting from a CD.
32012
32013 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
32014 longer.
32015 (root_drive): New variable.
32016 (real_start): Unconditionally set %dh to ROOT_DRIVE.
32017 (setup_sectors): Push %dx right after popping it, because %dh will
32018 be modified later.
32019 (copy_buffer): Restore %dx.
32020
e0ca0677 320212008-02-03 Robert Millan <rmh@aybabtu.com>
32022
32023 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
32024 use `cdboot.img' for cdrom images.
32025
3b3f6629 320262008-02-03 Robert Millan <rmh@aybabtu.com>
32027
32028 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
32029 only setup gfxterm when `font' command has succeeded.
32030
d42b3672 320312008-02-03 Robert Millan <rmh@aybabtu.com>
32032
32033 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
32034 (grub_rescue_cmd_multiboot_loader)
32035 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
32036
fa370ea6 320372008-02-03 Pavel Roskin <proski@gnu.org>
32038
e0c5dacb 32039 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 32040 %edx and %esi from stack only after grub_gate_a20() is called.
32041 grub_gate_a20() clobbers %edx.
32042
f2a76e1d 320432008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32044
32045 * configure.ac (AC_INIT): Bumped to 1.96.
32046
32047 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
32048 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
32049 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
32050 video/readers/png.c.
32051
90fd32d1 320522008-02-03 Bean <bean123ch@gmail.com>
9be665dd 32053
32054 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
32055 (cdboot_img_SOURCES): New variable.
32056 (cdboot_img_ASFLAGS): New variable.
32057 (cdboot_img_LDFLAGS): New variable.
32058
32059 * boot/i386/pc/cdboot.S: New file.
32060
32061 * disk/i386/pc/biosdisk.c (cd_start): New variable.
32062 (cd_count): Likewise.
32063 (grub_biosdisk_get_drive): Add support for cd device.
32064 (grub_biosdisk_call_hook): Likewise.
32065 (grub_biosdisk_iterate): Likewise.
32066 (grub_biosdisk_open): Likewise.
32067 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
32068 (grub_biosdisk_rw): Support reading from cd device.
32069 (GRUB_MOD_INIT): Iterate cd devices.
32070
32071 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
32072 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
32073 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
32074
32075 * kern/i386/pc/init.c (make_install_device): Check for cd device.
32076
4020aa53 320772008-02-02 Robert Millan <rmh@aybabtu.com>
32078
32079 * commands/read.c: New file.
32080 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
32081 (read_mod_SOURCES): New variable.
32082 (read_mod_CFLAGS): Likewise.
32083 (read_mod_LDFLAGS): Likewise.
32084
e03a1132 320852008-02-02 Robert Millan <rmh@aybabtu.com>
32086
32087 * normal/main.c (grub_normal_execute): Check for `menu->size' when
32088 determining whether menu has to be displayed.
32089
58c69220 320902008-02-02 Marco Gerards <marco@gnu.org>
32091
32092 * bus/pci.c: New file.
32093
32094 * include/grub/pci.h: Likewise.
32095
32096 * include/grub/i386/pc/pci.h: Likewise.
32097
32098 * commands/lspci.c: Likewise.
32099
32100 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
32101 `lspci.mod'.
32102 (pci_mod_SOURCES): New variable.
32103 (pci_mod_CFLAGS): Likewise.
32104 (pci_mod_LDFLAGS): Likewise.
32105 (lspci_mod_SOURCES): Likewise.
32106 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 32107 (lspci_mod_LDFLAGS): Likewise.
58c69220 32108
c004e1b4 321092008-02-02 Bean <bean123ch@gmail.com>
32110
32111 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
32112 (grub_ufs_get_file_block): Fix indirect block calculation problem.
32113
32114 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
32115 (grub_xfs_btree_node): New structure.
32116 (grub_xfs_btree_root): New structure.
32117 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
32118 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
32119 (GRUB_XFS_EXTENT_BLOCK): Likewise.
32120 (GRUB_XFS_EXTENT_SIZE): Likewise.
32121 (grub_xfs_read_block): Support btree format type.
32122 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
32123 Use directory block as basic unit.
32124
32125 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
32126
32127 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
32128 __attribute__ ((__regparm__ (1))).
32129
f95562bf 321302008-02-01 Robert Millan <rmh@aybabtu.com>
32131
32132 Correct a mistake in previous commit.
32133
32134 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
32135 top.
32136 (normal/command.c_DEPENDENCIES): New variable.
32137
7d31f41f 321382008-02-01 Robert Millan <rmh@aybabtu.com>
32139
32140 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
32141 top.
32142 (normal/command.c_DEPENDENCIES): New variable.
32143 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
32144 * conf/i386-ieee1275.rmk: Likewise.
32145 * conf/i386-linuxbios.rmk: Likewise.
32146 * conf/i386-pc.rmk: Likewise.
32147 * conf/sparc64-ieee1275.rmk: Likewise.
32148 * conf/powerpc-ieee1275.rmk: Likewise.
32149 (grub_emu_SOURCES): Add `fs/fshelp.c'.
32150
32151 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
32152
60b6be74 321532008-02-01 Robert Millan <rmh@aybabtu.com>
32154
32155 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
32156 call at beginning of function.
32157
078522ab 321582008-01-31 Pavel Roskin <proski@gnu.org>
32159
32160 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 32161 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
32162 (grub_mkrescue_SOURCES): Likewise.
078522ab 32163 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
32164
ccaa8a5f 321652008-01-30 Robert Millan <rmh@aybabtu.com>
32166
32167 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
32168 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
32169 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
32170 (grub_probe_SOURCES): ... to here.
32171
32172 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
32173 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
32174 * conf/i386-ieee1275.rmk: Likewise.
32175 * conf/i386-linuxbios.rmk: Likewise.
32176 * conf/powerpc-ieee1275.rmk: Likewise.
32177
ae5a9cd7 321782008-01-30 Tristan Gingold <gingold@free.fr>
32179
32180 * kern/rescue.c: Silently accept empty lines.
32181
70bc2ef2 321822008-01-29 Bean <bean123ch@gmail.com>
32183
32184 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
32185 (real_code_2): Code cleanup and change comment style.
32186 (move_memory): Avoid using 32-bit address mode.
32187
6a4d50ea 321882008-01-29 Bean <bean123ch@gmail.com>
32189
32190 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
32191 (png_mod_SOURCES): New variable.
32192 (png_mod_CFLAGS): Likewise.
32193 (png_mod_LDFLAGS): Likewise.
32194
32195 * video/readers/png.c: New file.
32196
11cc30ac 321972008-01-28 Robert Millan <rmh@aybabtu.com>
32198
32199 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
32200 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
32201 `ifndef GRUB_MOD_GAP' hack.
32202 * util/elf/grub-mkimage.c (add_segments): Likewise.
32203
3abc589f 322042008-01-27 Robert Millan <rmh@aybabtu.com>
32205
32206 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
32207 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 32208 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 32209
e1907778 322102008-01-27 Robert Millan <rmh@aybabtu.com>
32211
32212 Get grub-emu to build again (including parallel builds).
32213
32214 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
32215 Split into ...
32216 (util/grub-emu.c_DEPENDENCIES): ... this, ...
32217 (normal/execute.c_DEPENDENCIES): ... this, ...
32218 (grub-emu_DEPENDENCIES): ... and this.
32219
32220 * conf/i386-efi.rmk: Likewise.
32221 * conf/i386-linuxbios.rmk: Likewise.
32222 * conf/i386-ieee1275.rmk: Likewise.
32223 * conf/powerpc-ieee1275.rmk: Likewise.
32224 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
32225
2216b101 322262008-01-27 Robert Millan <rmh@aybabtu.com>
32227
32228 * NEWS: Add a few items.
32229
f75172d9 322302008-01-27 Robert Millan <rmh@aybabtu.com>
32231
32232 Fix parallel builds with grub-emu. Based on earlier commit for
32233 grub-probe and grub-setup.
32234
32235 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32236 (util/grub-emu.c_DEPENDENCIES): ... this.
32237 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32238 (util/grub-emu.c_DEPENDENCIES): ... this.
32239 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32240 (util/grub-emu.c_DEPENDENCIES): ... this.
32241 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32242 (util/grub-emu.c_DEPENDENCIES): ... this.
32243 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32244 (util/grub-emu.c_DEPENDENCIES): ... this.
32245
3f51de77 322462008-01-27 Pavel Roskin <proski@gnu.org>
32247
32248 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
32249 to create a gap between _end and the modules added to the image
32250 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
32251 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
32252 * util/elf/grub-mkimage.c (add_segments): Likewise.
32253
2033f53e 322542008-01-26 Pavel Roskin <proski@gnu.org>
32255
32256 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
32257 just return an error.
32258
22da1f6f 322592008-01-26 Bean <bean123ch@gmail.com>
32260
32261 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
32262 (grub_reiserfs_get_item): Save offset of the next item.
32263 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
32264
2a9525e6 322652008-01-25 Robert Millan <rmh@aybabtu.com>
32266
32267 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
32268 make all filesystem sources appear together (possibly fixing omissions
32269 while at it).
32270 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32271 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32272 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32274
32275 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
32276 add `kern/file.c'.
32277 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
32278 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
32279 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
32280 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
32281
32282 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
32283 (probe): Add a sanity check to make sure of our ability to read
32284 requested files when probing for filesystem type.
32285
32286 * genmk.rb: Update copyright year (2007).
32287
32288 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
32289 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
32290 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
32291 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
32292 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
32293 : Remove function prototypes.
32294
b95f71b5 322952008-01-25 Robert Millan <rmh@aybabtu.com>
32296
32297 Revert my previous commits (based on wrong assumption of how grub_errno
32298 works).
32299
fe6b695a 32300 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 32301 * kern/file.c (grub_file_open): Likewise.
32302
d08bbb49 323032008-01-24 Pavel Roskin <proski@gnu.org>
32304
32305 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
32306 that hang if GRUB tries to setup colors.
32307 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
32308 colors for firmwares that don't support it.
32309 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
32310 Recognize Open Hack'Ware, set flags to work around its
32311 limitations.
32312
605e36ed 323132008-01-24 Robert Millan <rmh@aybabtu.com>
32314
32315 * kern/file.c (grub_file_open): Do not account previous failures of
32316 unrelated functions when grub_errno is checked for.
32317 Reported by Oleg Strikov.
32318
bac332a1 323192008-01-24 Bean <bean123ch@gmail.com>
32320
32321 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
32322 (grub_ufs_sblock): New member volume name.
32323 (grub_ufs_find_file): Fix string copy bug.
32324 (grub_ufs_label): Implement this function properly.
32325
32326 * fs/hfs.c (grub_hfs_cnid_type): New enum.
32327 (grub_hfs_iterate_records): Use the correct file number for extents
32328 and catalog file. Fix problem in next index calculation.
32329 (grub_hfs_find_node): Replace recursive function call with loop.
32330 (grub_hfs_iterate_dir): Replace recursive function call with loop.
32331
15c80c09 323322008-01-23 Robert Millan <rmh@aybabtu.com>
32333
32334 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
32335 `<grub/symbol.h>' and `<grub/multiboot.h>'.
32336 (grub_multiboot2_real_boot): New function prototype.
32337
32338 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
32339 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
32340
32341 * kern/i386/ieee1275/init.c (grub_os_area_addr)
32342 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
32343
305338fd 323442008-01-23 Robert Millan <rmh@aybabtu.com>
32345
32346 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
32347 #ifdef'ed out grub_printf().
32348
3ea52685 323492008-01-23 Robert Millan <rmh@aybabtu.com>
32350
32351 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
32352 grub_dprintf calls, since they make "debug=all" mode unusable.
32353 (grub_console_checkkey): Likewise.
32354
5882ae4b 323552008-01-23 Robert Millan <rmh@aybabtu.com>
32356
32357 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32358 `term/i386/pc/at_keyboard.c'.
32359 (pkglib_MODULES): Add `serial.mod'.
32360 (serial_mod_SOURCES): New variable.
32361 (serial_mod_CFLAGS): Likewise.
32362 (serial_mod_LDFLAGS): Likewise.
32363
32364 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
32365 `<grub/powerpc/ieee1275/console.h>'.
32366 (grub_keyboard_controller_init): New function prototype.
32367 (grub_console_checkkey): Likewise.
32368 (grub_console_getkey): Likewise.
32369
32370 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
32371 keyboard on i386.
32372
32373 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
32374 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
32375
06ab5303 323762008-01-23 Robert Millan <rmh@aybabtu.com>
32377
32378 * kern/i386/pc/init.c (make_install_device): When memdisk image is
32379 present, "(memdisk)/boot/grub" becomes the default prefix.
32380
32381 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
32382 a memdisk tarball with all the modules. Add --overlay=DIR option that
32383 allows users to overlay additional files into the image.
32384
dbb475a4 323852008-01-23 Robert Millan <rmh@aybabtu.com>
32386
32387 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
32388 and `machine/memory.h'.
32389 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
32390 (_multiboot_mod_SOURCES): New variable.
32391 (_multiboot_mod_CFLAGS): Likewise.
32392 (_multiboot_mod_LDFLAGS): Likewise.
32393 (multiboot_mod_SOURCES): Likewise.
32394 (multiboot_mod_CFLAGS): Likewise.
32395 (multiboot_mod_LDFLAGS): Likewise.
32396
32397 * include/grub/i386/ieee1275/loader.h: New file.
32398
32399 * include/grub/i386/ieee1275/machine.h: Likewise.
32400
32401 * include/grub/i386/ieee1275/memory.h: Likewise.
32402
32403 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
32404 variable declaration.
32405 (grub_os_area_size): Likewise.
32406
32407 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
32408 (grub_lower_mem, grub_upper_mem): New variables.
32409 (grub_stop_floppy): New function (just to make
32410 grub_multiboot2_real_boot() happy).
32411
32412 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
32413 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
32414 (grub_stop): New function.
32415 Include `"../realmode.S"' and `"../loader.S"'.
32416
32417 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
32418 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
32419
32420 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
32421 rely on grub_multiboot2_real_boot() for final boot.
32422
25638629 324232008-01-22 Robert Millan <rmh@aybabtu.com>
32424
32425 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
32426 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
32427 device that doesn't look like an SD card.
32428 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32429 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
32430 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
32431 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
32432 found.
32433
9dad816d 324342008-01-22 Robert Millan <rmh@aybabtu.com>
32435
32436 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
32437 avoid claiming over our own code.
32438
34842f2d 324392008-01-22 Bean <bean123ch@gmail.com>
32440
32441 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
32442 (jpeg_mod_SOURCES): New variable.
32443 (jpeg_mod_CFLAGS): Likewise.
32444 (jpeg_mod_LDFLAGS): Likewise.
32445
32446 * video/readers/jpeg.c : New file.
32447
44023a28 324482008-01-22 Bean <bean123ch@gmail.com>
32449
32450 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
32451 there are no more items.
32452
bc2d8ac6 324532008-01-21 Robert Millan <rmh@aybabtu.com>
32454
32455 * kern/mm.c (grub_mm_init_region): Improve debug message.
32456
261bd4bc 324572008-01-21 Robert Millan <rmh@aybabtu.com>
32458
32459 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
32460 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
32461 address.
32462 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
32463 a C macro.
32464 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
32465 Indicates start of upper memory.
32466 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
32467 (generate_image): Abort when image size is big enough to corrupt
32468 upper memory.
32469
32470 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
32471 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
32472 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32473 instead of hardcoding 0xA0000.
32474 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
32475 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32476 instead of hardcoding 0xA0000.
32477
f970b55e 324782008-01-21 Robert Millan <rmh@aybabtu.com>
32479
32480 * disk/memdisk.c (memdisk_size): New variable.
32481 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
32482 `memdisk_size'.
32483 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
32484 image to dynamic memory.
32485 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
32486 `memdisk_size'. Free memdisk block.
32487
1a8b0526 324882008-01-21 Robert Millan <rmh@aybabtu.com>
32489
32490 Fix detection of very small filesystems (like tar).
32491
32492 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
32493 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
32494 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
32495 a problem with this disk).
32496
6e9b4aab 324972008-01-21 Robert Millan <rmh@aybabtu.com>
32498
32499 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
32500 on grub_biosdisk_rw_standard() error.
32501
0d8837b2 325022008-01-21 Robert Millan <rmh@aybabtu.com>
32503
32504 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
32505 recent changes.
32506 * kern/elf.c: Likewise.
32507 * kern/ieee1275/ieee1275.c: Likewise.
32508 * kern/powerpc/ieee1275/openfw.c: Likewise.
32509 * term/ieee1275/ofconsole.c: Likewise.
32510
ffd36e34 325112008-01-21 Robert Millan <rmh@aybabtu.com>
32512
32513 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
32514
3f0093d0 32515 * include/grub/kernel.h (grub_arch_memdisk_addr)
32516 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 32517
3f0093d0 32518 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
32519 (grub_arch_memdisk_size): ... to here.
ffd36e34 32520
6c391b21 325212008-01-21 Robert Millan <rmh@aybabtu.com>
32522
32523 Mostly based on bugfix from Bean.
32524
32525 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
32526 attribute with hook() parameter.
32527 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
32528 declaration.
32529 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
32530 attribute with hook() parameter.
32531 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
32532 declaration.
32533
55a581dc 325342008-01-21 Robert Millan <rmh@aybabtu.com>
32535
32536 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
32537 (pkglib_MODULES): Add `memdisk.mod'.
32538 (memdisk_mod_SOURCES): New variable.
32539 (memdisk_mod_CFLAGS): Likewise.
32540 (memdisk_mod_LDFLAGS): Likewise.
32541
32542 * disk/memdisk.c: New file.
32543
32544 * include/grub/disk.h (grub_disk_dev_id): Add
32545 `GRUB_DISK_DEVICE_MEMDISK_ID'.
32546
32547 * include/grub/i386/pc/kernel.h
32548 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
32549 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
32550 (grub_kernel_image_size): New variable declaration.
32551 (grub_total_module_size): Likewise.
32552 (grub_memdisk_image_size): Likewise.
32553
32554 * include/grub/i386/pc/memory.h
32555 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
32556
32557 * include/grub/kernel.h: Include `<grub/symbol.h>'.
32558 (grub_arch_memdisk_addr): New variable declaration.
32559 (grub_arch_memdisk_size): Likewise.
32560
32561 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
32562 (grub_arch_memdisk_size): Likewise.
32563
32564 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
32565 (codestart): Replace hardcoded `0x100000' with
32566 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
32567
32568 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
32569 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
32570 not NULL, append the contents of the file it refers to, at the end of
32571 the compressed kernel image. Initialize `grub_memdisk_image_size'
32572 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
32573 (options): Add "memdisk"|'m' option.
32574 (main): Parse --memdisk|-m option, and pass user-provided path as
32575 parameter to generate_image().
32576
3d7f54c9 325772008-01-20 Robert Millan <rmh@aybabtu.com>
32578
32579 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
32580 grub_dprintf() calls from here ...
32581 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
32582
0bf74728 325832008-01-20 Robert Millan <rmh@aybabtu.com>
32584
32585 Fix detection of "real mode" when /options/real-mode? doesn't exist.
32586
32587 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
32588 declaration.
32589 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
32590 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
32591 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 32592 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 32593 property).
32594 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
32595 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
32596
33bf70a7 325972008-01-19 Robert Millan <rmh@aybabtu.com>
32598
fe6b695a 32599 Get rid of confusing function (superseded by
33bf70a7 32600 `grub_ieee1275_get_integer_property')
32601 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
32602 prototype.
32603 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
32604 function.
32605 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
32606 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 32607 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 32608
e2da7d26 326092008-01-19 Robert Millan <rmh@aybabtu.com>
32610
32611 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
32612 command after "shut-down", since implementations differ on which
32613 the command for halt is.
32614
59f1fd8d 326152008-01-19 Robert Millan <rmh@aybabtu.com>
32616
32617 * include/grub/i386/linuxbios/console.h: Add header protection.
32618 (grub_keyboard_controller_init): New function prototype.
32619 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
32620 (KEYBOARD_COMMAND_READ): Likewise.
32621 (KEYBOARD_COMMAND_WRITE): Likewise.
32622 (KEYBOARD_SCANCODE_SET1): Likewise.
32623 (grub_keyboard_controller_write): New function.
32624 (grub_keyboard_controller_read): Likewise.
32625 (grub_keyboard_controller_init): Likewise.
32626
32627 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
32628 (grub_console_init): On coreboot/LinuxBIOS, call
32629 grub_keyboard_controller_init().
32630
5f5a7c15 326312008-01-19 Robert Millan <rmh@aybabtu.com>
32632
32633 PowerPC changes provided by Pavel Roskin.
32634
32635 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
32636 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
32637 don't rely on cmain() doing it.
32638 * kern/i386/ieee1275/startup.S (_start): Store %eax in
32639 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
32640
1210e168 326412008-01-16 Robert Millan <rmh@aybabtu.com>
32642
32643 * include/grub/i386/linuxbios/memory.h
32644 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
32645 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
32646 receive `table_header' as argument. Instead, probe for it in the
32647 known memory ranges where it can be present.
32648 (grub_available_iterate): Do not pass a fixed `table_header' address
32649 to grub_linuxbios_table_iterate().
32650
3d04eab8 326512008-01-15 Robert Millan <rmh@aybabtu.com>
32652
32653 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
32654 * conf/i386-ieee1275.rmk: New file.
32655 * include/grub/i386/ieee1275/console.h: Likewise.
32656 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
32657 * include/grub/i386/ieee1275/kernel.h: Likewise.
32658 * include/grub/i386/ieee1275/time.h: Likewise.
32659 * kern/i386/ieee1275/init.c: Likewise.
32660 * kern/i386/ieee1275/startup.S: Likewise.
32661
d1bc1b73 326622008-01-15 Robert Millan <rmh@aybabtu.com>
32663
32664 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
32665 when pointers are 32-bit (but still do set it to one when they are
32666 64-bit).
32667
66a65807 326682008-01-15 Robert Millan <rmh@aybabtu.com>
32669
32670 * include/grub/ieee1275/ieee1275.h
32671 (grub_ieee1275_get_integer_property): New function prototype.
32672
32673 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
32674 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 32675 grub_ieee1275_get_property() to handle endianness.
66a65807 32676
32677 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
32678 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 32679 where appropriate.
66a65807 32680 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
32681 (grub_map): Likewise.
32682 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
32683
a83ccafd 326842008-01-15 Bean <bean123ch@gmail.com>
32685
32686 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
32687 (grub_script_execute_cmdline): Reset grub_errno.
32688
32689 * normal/main.c (read_config_file): Reset grub_errno.
32690
32691 * normal/parse.y (script_init): New.
32692 (script): Move function and menuentry here.
32693 (delimiter): New.
32694 (command): Add delimiter at the end of command.
32695 (commands): Adjust to match the new command.
32696 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 32697 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 32698 (if): Use the new commands.
32699
32700 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
32701
df6ecfc6 327022008-01-15 Robert Millan <rmh@aybabtu.com>
32703
32704 * normal/menu.c (run_menu): Move timeout message from here ...
32705 (print_timeout): ... to here.
32706 (run_menu): Use print_timeout() once during initial draw to print
32707 the whole message, and again in every clock tick to update only
32708 the number of seconds.
32709
87ae25eb 327102008-01-15 Robert Millan <rmh@aybabtu.com>
32711
32712 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
32713 actual size of `available' from grub_ieee1275_get_property(), and
32714 restrict parsing to that bound.
32715
47bf09a4 327162008-01-15 Christian Franke <franke@computer.org>
32717
32718 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
32719 (argp_program_version): Remove variable.
32720 (argp_program_bug_address): Likewise.
32721 (options): Convert from struct argp_option to struct option.
32722 (struct arguments): Remove.
32723 (parse_opt): Remove.
32724 (usage): New function.
32725 (main): Replace struct args members by simple variables.
32726 Replace argp_parse() by getopt_long().
32727 Add switch to evaluate options.
32728 Add missing "(...)" around root_dev in prefix string.
32729
c86f1469 327302008-01-14 Robert Millan <rmh@aybabtu.com>
32731
32732 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
32733 for grub_ieee1275_exit(), in order to improve portability.
32734
e622c559 327352008-01-14 Robert Millan <rmh@aybabtu.com>
32736
32737 * util/grub.d/10_linux.in (prefix): Define.
32738 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
32739
44cb1ec8 327402008-01-13 Pavel Roskin <proski@gnu.org>
32741
32742 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
32743 grub_errno if no errors have been detected.
32744
1eb8c802 327452008-01-12 Robert Millan <rmh@aybabtu.com>
32746
32747 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
32748 (grub_util_get_dev_abstraction): New function prototype.
32749
32750 * util/getroot.c: Include `<grub/util/getroot.h>'
32751 (grub_util_get_grub_dev): Move detection of abstraction type to ...
32752 (grub_util_get_dev_abstraction): ... here (new function).
32753
32754 * util/grub-probe.c: Convert PRINT_* to an enum. Add
32755 `PRINT_ABSTRACTION'.
32756 (probe): Probe for abstraction type when requested.
32757 (main): Understand `--target=abstraction'.
32758
32759 * util/i386/efi/grub-install.in: Add abstraction module to core
32760 image when it is found to be necessary.
32761 * util/i386/pc/grub-install.in: Likewise.
32762 * util/powerpc/ieee1275/grub-install.in: Likewise.
32763
32764 * util/update-grub_lib.in (font_path): Return system path without
32765 converting to GRUB path.
32766 * util/update-grub.in: Convert system path returned by font_path()
32767 to a GRUB path. Use `grub-probe -t abstraction' to determine what
32768 abstraction module is needed for loading fonts (if any). Export
32769 that as `GRUB_PRELOAD_MODULES'.
32770 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
32771 insmod commands).
32772
52bd3de9 327732008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
32774
32775 Remove some unused code from reiserfs.
f19dbdb7 32776
52bd3de9 32777 * fs/reiserfs.c (struct grub_reiserfs_key)
32778 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
32779 (struct grub_reiserfs_node_body): Removed.
32780 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32781 Likewise.
32782 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32783 Likewise.
32784 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32785 Likewise.
32786 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32787 Likewise.
32788 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32789 Likewise.
32790 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
32791 Likewise.
32792 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32793 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32794 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32795
2f80039d 327962008-01-10 Robert Millan <rmh@aybabtu.com>
32797
32798 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32799 Determines if a file is garbage left by packaging systems, etc.
32800 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32801 for processing /etc/grub.d scripts.
32802 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32803 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32804 as a condition for processing Linux images.
32805
87888032 328062008-01-10 Pavel Roskin <proski@gnu.org>
32807
32808 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32809 to compile reiserfs.c on PowerPC.
32810
7e54fced 328112008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 32812
32813 * kern/device.c (grub_device_iterate): Do not abort device iteration
32814 when one of the devices cannot be opened.
32815 * kern/disk.c (grub_disk_open): Do not account previous failures of
32816 unrelated functions when grub_errno is checked for.
32817
5aa541e6 328182008-01-08 Robert Millan <rmh@aybabtu.com>
32819
32820 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32821 `! grub_linux_is_bzimage', change order of address comparison to make
32822 it more intuitive, and improve "too big zImage" error message.
32823
7076340d 328242008-01-08 Robert Millan <rmh@aybabtu.com>
32825
32826 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32827 `$(update-grub_DATA)'.
32828 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32829 targets.
32830
9ca70333 328312008-01-07 Robert Millan <rmh@aybabtu.com>
32832
32833 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32834 which instruction is modified by grub-setup during installation
32835 (since it wasn't obvious by only looking at this file).
32836
38ccf575 328372008-01-07 Robert Millan <rmh@aybabtu.com>
32838
32839 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32840 listing actual TODO items.
32841
f5db4291 328422008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32843
868967cf 32844 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32845 correctly.
32846 (grub_reiserfs_get_key_offset): Likewise.
32847 (grub_reiserfs_set_key_offset): Likewise.
32848 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 32849 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 32850
32851 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32852 better to remove the bitfield version completely.
f19dbdb7 32853
868967cf 328542008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32855
f5db4291 32856 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32857 allocated from the heap, due to the fshelp implementation.
32858 (grub_reiserfs_dir): Free NODE, due to the same reason.
32859
492e6d9d 328602008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32861
32862 Mostly from Vincent Pelletier:
f19dbdb7 32863
492e6d9d 32864 * fs/reiserfs.c: New file.
f19dbdb7 32865
492e6d9d 32866 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32867 (reiserfs_mod_SOURCES): New variable.
32868 (reiserfs_mod_CFLAGS): Likewise.
32869 (reiserfs_mod_LDFLAGS): Likewise.
32870
32871 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32872 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32873 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32874 normal/color.c.
32875
9ce3e7c1 328762008-01-06 Robert Millan <rmh@aybabtu.com>
32877
32878 * normal/color.c: Remove `<grub/env.h>'.
32879
f3b58148 328802008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32881
32882 * include/grub/normal.h: Include <grub/env.h>.
32883
7ac3bcfa 328842008-01-05 Robert Millan <rmh@aybabtu.com>
32885
32886 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32887 usage example with `(hd0,1)'.
fb358190 32888 Reported by Samuel Thibault.
7ac3bcfa 32889
c8ee99d7 328902008-01-05 Robert Millan <rmh@aybabtu.com>
32891
32892 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32893 (grub_linux_boot_zimage): Rename to ...
32894 (grub_linux_boot): ... this.
32895 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32896 (grub_linux_boot_zimage): Conditionalize zImage copy.
32897
32898 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32899 (grub_linux_boot_bzimage): Remove prototype.
32900 (grub_linux_boot_zimage): Rename to ...
32901 (grub_linux_boot): ... this.
32902
32903 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32904 (grub_linux_boot): Remove function.
32905
0ece25b1 329062008-01-05 Robert Millan <rmh@aybabtu.com>
32907
32908 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32909 (grub_env_write_color_highlight): Likewise.
32910 (grub_wait_after_message): Likewise.
32911
32912 * normal/color.c: New file.
32913
32914 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32915 (normal_mod_DEPENDENCIES): Likewise.
32916
32917 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32918 (normal_mod_DEPENDENCIES): Likewise.
32919
32920 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32921 (normal_mod_DEPENDENCIES): Likewise.
32922
32923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32924 (normal_mod_DEPENDENCIES): Likewise.
32925
32926 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32927 for waiting after a message is printed.
32928 * normal/main.c (read_config_file): Likewise.
32929 (grub_normal_init): Register grub_env_write_color_normal() and
32930 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32931 `color_highlight' variables as global.
32932
32933 * normal/menu.c (grub_wait_after_message): New function.
32934 (grub_color_menu_normal): New variable. Replaces ...
32935 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32936 (grub_color_menu_highlight): New variable. Replaces ...
32937 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32938 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32939 `GRUB_TERM_COLOR_STANDARD'.
32940 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32941 `normal_code' and `highlight_code' to `old_color_normal' and
32942 `old_color_highlight', respectively.
32943 (grub_menu_init_page): Update colors when drawing the menu, based on
32944 `menu_color_normal' and `menu_color_highlight' variables.
32945 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32946 a message is printed.
32947
182dd4e5 329482008-01-05 Robert Millan <rmh@aybabtu.com>
32949
32950 * kern/env.c (grub_env_context_open): Propagate hooks for global
32951 variables to new context.
32952
32953 * kern/main.c (grub_set_root_dev): Export `root' variable.
32954
ddf8f6ad 329552008-01-05 Robert Millan <rmh@aybabtu.com>
32956
32957 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 32958 discs unconditionally, since udev and others have options to provide
ddf8f6ad 32959 them.
32960
d8b43d9b 329612008-01-05 Robert Millan <rmh@aybabtu.com>
32962
32963 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32964
2bff2de3 329652008-01-04 Christian Franke <franke@computer.org>
32966
32967 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32968 of eisa_mmap.
32969
97eab917 329702008-01-03 Pavel Roskin <proski@gnu.org>
32971
32972 * kern/i386/linuxbios/init.c: Put "void" to all function
32973 declarations with no arguments.
32974 * kern/powerpc/ieee1275/init.c: Likewise.
32975 * term/i386/pc/at_keyboard.c: Likewise.
32976 * term/i386/pc/vga_text.c: Likewise.
32977 * util/grub-mkdevicemap.c: Likewise.
32978
b9416d00 329792008-01-02 Robert Millan <rmh@aybabtu.com>
32980
32981 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32982 message when loaded image is out of bounds.
32983 (grub_multiboot_load_elf64): Likewise.
32984
92695df9 329852008-01-02 Pavel Roskin <proski@gnu.org>
32986
32987 * util/grub.d/10_linux.in: Try version without ".old" when
32988 looking for initrd. It's better to use initrd from the newer
32989 kernel of the same version than no initrd at all.
32990
d98d9cad 329912008-01-01 Robert Millan <rmh@aybabtu.com>
32992
32993 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32994
dbfdce36 329952008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32996
f19dbdb7 32997 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 32998 grub_video_get_active_render_target.
32999 (grub_video_adapter): Added unmap_color and get_active_render_target.
33000
f19dbdb7 33001 * video/video.c: Added grub_video_unmap_color and
dbfdce36 33002 grub_video_get_active_render_target.
33003 (grub_video_get_info): Changed method to accept NULL pointer as an
33004 argument to allow detection of active video adapter.
33005
33006 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
33007 grub_video_vbe_unmap_color_int.
33008 Added grub_video_vbe_unmap_color and
33009 grub_video_vbe_get_active_render_target.
33010 (grub_video_vbe_adapter): Added unmap_color and
33011 get_active_render_target.
33012
f19dbdb7 33013 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 33014 with grub_video_vbe_unmap_color_int.
33015
33016 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
33017 (DEFAULT_NORMAL_COLOR): Likewise.
33018 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
33019 (DEFAULT_FG_COLOR): Removed.
33020 (DEFAULT_BG_COLOR): Likewise.
33021 (DEFAULT_CURSOR_COLOR): Changed value.
33022 (grub_virtual_screen): Added standard_color_setting,
33023 normal_color_setting, highlight_color_setting and term_color.
33024 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
33025 (bitmap_width): Added.
33026 (bitmap_height): Likewise.
33027 (bitmap): Likewise.
33028 (set_term_color): Likewise.
33029 (grub_virtual_screen_setup): Changed to use new terminal coloring
33030 settings.
33031 (grub_gfxterm_init): Added init for bitmap.
33032 (grub_gfxterm_fini): Added destroy for bitmap.
33033 (redraw_screen_rect): Updated to use background bitmap and new
33034 terminal coloring.
33035 (scroll_up): Added optimization for case when there is no bitmap.
33036 (grub_gfxterm_cls): Fixed to use correct background color.
33037 (grub_virtual_screen_setcolorstate): Changed to use new terminal
33038 coloring.
33039 (grub_virtual_screen_setcolor): Likewise.
33040 (grub_virtual_screen_getcolor): Added.
33041 (grub_gfxterm_background_image_cmd): Likewise.
33042 (grub_video_term): Added setcolor and getcolor.
33043 (MOD_INIT): Added registration of background_image command.
33044 (MOD_TERM): Added unregistration for background_image command.
33045
c3c20931 330462007-12-30 Pavel Roskin <proski@gnu.org>
33047
33048 * loader/multiboot_loader.c: Fix multiboot command
33049 unregistration. Fix all typos in the word "multiboot".
33050
df266716 330512007-12-29 Pavel Roskin <proski@gnu.org>
94239199 33052
33053 * util/grub.d/10_linux.in: Refactor search for initrd. Add
33054 support for initrd names used in Fedora.
33055
fc6e896c 330562007-12-26 Bean <bean123ch@gmail.com>
33057
33058 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
33059 (cpio_mod_SOURCES): New variable.
33060 (cpio_mod_CFLAGS): Likewise.
33061 (cpio_mod_LDFLAGS): Likewise.
33062
33063 * fs/cpio.c: New file.
33064
33065 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
33066
33067 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33068
33069 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33070
33071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33072
533110ad 330732007-12-25 Robert Millan <rmh@aybabtu.com>
33074
33075 * include/grub/term.h (struct grub_term): Add `getcolor' function.
33076 (grub_getcolor): New function.
33077
33078 * kern/term.c (grub_getcolor): New function.
33079 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
33080 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
33081 (print_entry): Set normal and highlight colors to
33082 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
33083 respectively, before printing and restore them to old
33084 values afterwards.
33085 (grub_menu_init_page): Likewise. Fill an additional colored space
33086 that would otherwise be left blank.
33087
33088 * term/efi/console.c (grub_console_getcolor): New function.
33089 (struct grub_console_term.getcolor): New variable.
33090 * term/i386/pc/console.c (grub_console_getcolor): New function.
33091 (struct grub_console_term.getcolor): New variable.
33092 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
33093 (struct grub_console_term.getcolor): New variable.
33094
33095 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
33096 (struct grub_console_term.setcolor): Remove variable.
33097 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
33098 (struct grub_console_term.setcolor): Remove variable.
33099 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
33100 (struct grub_console_term.setcolor): Remove variable.
33101 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
33102 (struct grub_console_term.setcolor): Remove variable.
33103
4931827f 331042007-12-25 Robert Millan <rmh@aybabtu.com>
33105
33106 * configure.ac: Search for possible unifont.hex locations, and
33107 define UNIFONT_HEX if found.
33108
33109 * Makefile.in (UNIFONT_HEX): Define variable.
33110 (DATA): Rename to ...
33111 (PKGLIB): ... this. Update all users.
33112 (PKGDATA): New variable.
33113 (pkgdata_IMAGES): Rename to ...
33114 (pkglib_IMAGES): ... this. Update all users.
33115 (pkgdata_MODULES): Rename to ...
33116 (pkglib_MODULES): ... this. Update all users.
33117 (pkgdata_PROGRAMS): Rename to ...
33118 (pkglib_PROGRAMS): ... this. Update all users.
33119 (pkgdata_DATA): Rename to ...
33120 (pkglib_DATA): ... this. Update all users.
33121 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
33122 (unicode.pff, ascii.pff): New rules.
33123 (all-local): Add `$(PKGDATA)' dependency.
33124 (install-local): Process `$(PKGDATA)'.
33125
33126 * util/update-grub_lib.in (font_path): Search for *.pff files in
33127 a few more locations, including `${pkgdata}'.
33128
57e57e31 331292007-12-23 Robert Millan <rmh@aybabtu.com>
33130
33131 Patch from Bean <bean123ch@gmail.com>:
33132 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
33133 `size'.
33134
4bc72aa9 331352007-12-21 Bean <bean123ch@gmail.com>
33136
33137 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
33138 (ntfscomp_mod_SOURCES): New variable.
33139 (ntfscomp_mod_CFLAGS): Likewise.
33140 (ntfscomp_mod_LDFLAGS): Likewise.
33141
33142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
33143 (grub_probe_SOURCES): Likewise.
33144 (grub_emu_SOURCES): Likewise.
33145
33146 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
33147 (grub_emu_SOURCES): Likewise.
33148
33149 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
33150 (grub_emu_SOURCES): Likewise.
33151
33152 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
33153 (grub_emu_SOURCES): Likewise.
33154
33155 * fs/ntfs.c (grub_ntfscomp_func): New variable.
33156 (read_run_list): Renamed to grub_ntfs_read_run_list.
33157 (decomp_nextvcn): Moved to ntfscomp.c.
33158 (decomp_getch): Likewise.
33159 (decomp_get16): Likewise.
33160 (decomp_block): Likewise.
33161 (read_block): Likewise.
33162 (read_data): Partially moved to ntfscomp.c.
33163 (fixup): Change unsigned to grub_uint16_t.
33164 (read_mft): Change unsigned long to grub_uint32_t.
33165 (read_attr): Likewise.
33166 (read_data): Likewise.
33167 (read_run_data): Likewise.
33168 (read_run_list): Likewise.
33169 (read_mft): Likewise.
33170
33171 * fs/ntfscomp.c: New file.
33172
33173 * include/grub/ntfs.h: New file.
33174
af680a87 331752007-12-16 Robert Millan <rmh@aybabtu.com>
33176
33177 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
33178 IDE disk check, since Linux is known to support 20 IDE disks.
33179 Reported by Colin Watson.
33180
84be7599 331812007-12-15 Bean <bean123ch@gmail.com>
33182
33183 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
33184 (lnxboot_img_SOURCES): New variable.
33185 (lnxboot_img_ASFLAGS): Likewise.
33186 (lnxboot_img_LDFLAGS): Likewise.
33187
33188 * boot/i386/pc/lnxboot.S: New file.
33189
6af9db01 331902007-11-24 Pavel Roskin <proski@gnu.org>
33191
33192 * configure.ac: Test if '--build-id=none' is supported by the
33193 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
33194 objcopy to generate incorrect binary files (binutils
33195 2.17.50.0.18-1 as shipped by Fedora 8).
33196 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
33197 linking, so that build ID doesn't break the test.
33198
7361cfe6 331992007-11-24 Pavel Roskin <proski@gnu.org>
33200
33201 * include/grub/i386/time.h: use "void" in the argument list
33202 of grub_cpu_idle().
33203 * include/grub/powerpc/time.h: Likewise.
33204 * include/grub/sparc64/time.h: Likewise.
33205
1593e10c 332062007-11-18 Christian Franke <franke@computer.org>
33207
33208 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
33209 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
33210 This fixes the problem that function keys did not work in grub-emu.
33211
3b8db1a8 332122007-11-18 Christian Franke <franke@computer.org>
33213
33214 * disk/host.c (grub_host_open): Remove attribute unused from
33215 name parameter. Add check for "host". This fixes the problem
33216 that grub-emu does not find partitions.
33217
2e29408d 332182007-11-18 Christian Franke <franke@computer.org>
33219
33220 * util/hostfs.c (is_dir): New function.
33221 (grub_hostfs_dir): Handle missing dirent.d_type case.
33222 (grub_hostfs_read): Add missing fseek().
33223 (grub_hostfs_label): Clear label pointer. This fixes a crash
33224 of grub-emu on "ls (host)".
33225
398cd047 332262007-11-18 Christian Franke <franke@computer.org>
33227
33228 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
33229 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
33230 to 64 bit boundary by default.
33231
c405c391 332322007-11-18 Bean <bean123ch@gmail.com>
33233
33234 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
33235 (hexdump_mod_SOURCES): New variable.
33236 (hexdump_mod_CFLAGS): Likewise.
33237 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 33238
c405c391 33239 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33240
33241 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33242
33243 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33244
33245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33246
33247 * include/grub/hexdump.h: New file.
33248
33249 * commands/hexdump.c: New file.
33250
5cced7fd 332512007-11-10 Robert Millan <rmh@aybabtu.com>
33252
33253 * commands/i386/pc/play.c (beep_off): Switch order of arguments
33254 in grub_outb() calls.
33255 (beep_on): Likewise.
33256
8b714eb0 332572007-11-10 Christian Franke <franke@computer.org>
33258
33259 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
33260 (grub_menu_run): Likewise.
33261
ce0f1839 332622007-11-10 Robert Millan <rmh@aybabtu.com>
33263
33264 * include/grub/i386/efi/machine.h: New file.
33265 * include/grub/i386/linuxbios/machine.h: Likewise.
33266 * include/grub/i386/pc/machine.h: Likewise.
33267 * include/grub/powerpc/ieee1275/machine.h: Likewise.
33268 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33269
33270 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
33271 (serial_hw_io_addr): New variable.
33272 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
33273 instead of `(unsigned short *) 0x400'.
33274
270c237d 332752007-11-10 Bean <bean123ch@gmail.com>
33276
33277 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
33278
a87783bf 332792007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
33280
33281 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
33282 (vga_mod_SOURCES): Added.
33283 (vga_mod_CFLAGS): Likewise.
33284 (vga_mod_LDFLAGS): Likewise.
33285
33286 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
33287 grub_outb() calls.
33288 (set_map_mask): Likewise.
33289 (set_read_map): Likewise.
33290 (set_read_address): Likewise.
33291 (vga_font): Removed variable.
33292 (get_vga_glyph): Removed function.
33293 (invalidate_char): Likewise.
33294 (write_char): Changed to use grub_font_get_glyph() for font
33295 information.
33296 (grub_vga_putchar): Likewise.
33297 (grub_vga_getcharwidth): Likewise.
33298
6433b448 332992007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
33300
33301 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
33302 flags.
33303 (pxeboot_img_LDFLAGS): Likewise.
33304 (diskboot_img_LDFLAGS): Likewise.
33305 (kernel_img_LDFLAGS): Likewise.
33306
49178511 333072007-11-06 Robert Millan <rmh@aybabtu.com>
33308
33309 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
33310 in grub_outb() calls.
33311 (serial_hw_init): Likewise.
33312
53b052de 333132007-11-05 Robert Millan <rmh@aybabtu.com>
33314
33315 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
33316 spaces. Skip non-regular files.
33317
5ab33bba 333182007-11-05 Robert Millan <rmh@aybabtu.com>
33319
33320 * kern/disk.c (grub_disk_firmware_fini)
33321 (grub_disk_firmware_is_tainted): New variables.
33322
33323 * include/grub/disk.h (grub_disk_firmware_fini)
33324 (grub_disk_firmware_is_tainted): Likewise.
33325
33326 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
33327 (grub_disk_biosdisk_fini): ... to here.
33328 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
33329 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
33330 is set. Register grub_disk_biosdisk_fini() in
33331 `grub_disk_firmware_fini'.
33332
33333 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
33334 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
33335 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
33336 to finish existing firmware disk interface.
33337
33338 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
33339 (ata_mod_SOURCES): New variable.
33340 (ata_mod_CFLAGS): Likewise.
33341 (ata_mod_LDFLAGS): Likewise.
33342
0149ab7c 333432007-11-05 Robert Millan <rmh@aybabtu.com>
33344
33345 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
33346 (grub_ata_wait): Reimplement using grub_millisleep().
33347
33348 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
33349 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
33350
be7ac41e 333512007-11-03 Marco Gerards <marco@gnu.org>
33352
33353 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
33354 (CRTC_ADDR_PORT): New macro.
33355 (CRTC_DATA_PORT): Likewise.
33356 (CRTC_CURSOR): Likewise.
33357 (CRTC_CURSOR_ADDR_HIGH): Likewise.
33358 (CRTC_CURSOR_ADDR_LOW): Likewise.
33359 (update_cursor): New function.
33360 (grub_console_real_putchar): Call `update_cursor'.
33361 (grub_console_gotoxy): Likewise.
33362 (grub_console_cls): Set the default color when clearing the
33363 screen.
33364 (grub_console_setcursor): Implemented.
33365
bb06ab2e 333662007-11-03 Marco Gerards <marco@gnu.org>
33367
33368 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
33369 become activate.
33370 (grub_ata_pio_write): Likewise.
33371
33372 (grub_atapi_identify): Wait after issuing an ATA command.
33373 (grub_atapi_packet): Likewise.
33374 (grub_ata_identify): Likewise.
33375 (grub_ata_readwrite): Likewise.
33376
cf8f780b 333772007-11-03 Marco Gerards <marco@gnu.org>
33378
33379 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
33380 (grub_ata_pio_write): Likewise.
33381 (grub_ata_readwrite): Use `grub_error', instead of
33382 returning `grub_errno'.
33383
ed649e54 333842007-11-03 Marco Gerards <marco@gnu.org>
33385
33386 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
33387 grub_ata_pio_write once for every single sector, instead of for
33388 multiple sectors.
33389
ca25d8f0 333902007-10-31 Robert Millan <rmh@aybabtu.com>
33391
33392 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
33393
33394 * conf/i386-linuxbios.rmk: New file.
33395
33396 * kern/i386/pc/hardware.c: Likewise.
33397 * term/i386/pc/at_keyboard.c: Likewise.
33398 * term/i386/pc/vga_text.c: Likewise.
33399
33400 * include/grub/i386/linuxbios/boot.h: Likewise.
33401 * include/grub/i386/linuxbios/console.h: Likewise.
33402 * include/grub/i386/linuxbios/init.h: Likewise.
33403 * include/grub/i386/linuxbios/kernel.h: Likewise.
33404 * include/grub/i386/linuxbios/loader.h: Likewise.
33405 * include/grub/i386/linuxbios/memory.h: Likewise.
33406 * include/grub/i386/linuxbios/serial.h: Likewise.
33407 * include/grub/i386/linuxbios/time.h: Likewise.
33408
33409 * kern/i386/linuxbios/init.c: Likewise.
33410 * kern/i386/linuxbios/startup.S: Likewise.
33411 * kern/i386/linuxbios/table.c: Likewise.
33412
e911ecc1 334132007-10-31 Marco Gerards <marco@gnu.org>
33414
33415 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
33416 (ata_mod_SOURCES): New variable.
33417 (ata_mod_CFLAGS): Likewise.
33418 (ata_mod_LDFLAGS): Likewise.
33419
33420 * disk/ata.c: New file.
33421
33422 * include/grub/disk.h (grub_disk_dev_id): Add
33423 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 33424
7f66d0e0 334252007-10-31 Robert Millan <rmh@aybabtu.com>
33426
33427 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
33428 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
33429
33430 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
33431 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
33432
33433 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
33434 `<grub/types.h>'.
33435
33436 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
33437
5cd7dd46 334382007-10-27 Robert Millan <rmh@aybabtu.com>
33439
3236ca65 33440 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 33441
2ebfc90f 334422007-10-22 Robert Millan <rmh@aybabtu.com>
33443
33444 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
33445 `"../realmode.S"'.
33446 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
33447
73fcb0f3 334482007-10-22 Robert Millan <rmh@aybabtu.com>
33449
33450 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
33451 (pkgdata_MODULES): Add `biosdisk.mod'.
33452 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
33453 variables.
33454
33455 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
33456 (grub_biosdisk_init): Replace with ...
33457 (GRUB_MOD_INIT(biosdisk)): ... this.
33458 (grub_biosdisk_fini): Replace with ...
33459 (GRUB_MOD_FINI(biosdisk)): ... this.
33460
33461 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
33462 (grub_machine_init): Remove call to grub_biosdisk_init().
33463 (grub_machine_fini): Remove call to grub_machine_fini().
33464
33465 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
33466
3381d274 334672007-10-22 Robert Millan <rmh@aybabtu.com>
33468
33469 * include/grub/time.h: New file.
33470 * include/grub/i386/time.h: Likewise.
33471 * include/grub/powerpc/time.h: Likewise.
33472 * include/grub/sparc64/time.h: Likewise.
33473
33474 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
33475 instances to ...
33476 (KERNEL_MACHINE_TIME_HEADER): ... this.
33477 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33478 instances to ...
33479 (KERNEL_MACHINE_TIME_HEADER): ... this.
33480 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33481 instances to ...
33482 (KERNEL_MACHINE_TIME_HEADER): ... this.
33483
33484 * kern/i386/efi/init.c: Include `<grub/time.h>'.
33485 (grub_millisleep): New function.
33486 * kern/i386/pc/init.c: Include `<grub/time.h>'.
33487 (grub_millisleep): New function.
33488 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
33489 Remove `grub/machine/time.h' include.
33490 (grub_millisleep): New function.
33491 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
33492 Remove `grub/machine/time.h' include.
33493 (grub_millisleep): New function.
33494
33495 * include/grub/misc.h (grub_div_roundup): New function.
33496
33497 * kern/misc.c: Include `<grub/time.h>'.
33498 (grub_millisleep_generic): New function.
33499
33500 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
33501 Add `time.h'.
33502 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
33503 Add `time.h'.
33504 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
33505 `machine/time.h'. Add `time.h'.
33506 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33507
a39a0312 335082007-10-21 Robert Millan <rmh@aybabtu.com>
33509
33510 * include/grub/misc.h (grub_max): New function.
33511
2aad70e2 335122007-10-21 Robert Millan <rmh@aybabtu.com>
33513
33514 * util/misc.c (grub_util_info): Call fflush() before returning.
33515
54b71c4b 335162007-10-20 Robert Millan <rmh@aybabtu.com>
33517
33518 * genmk.rb (Image): Copy `extra_flags' from here ...
33519 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
33520
33521 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
33522 to `argc' and `args' arguments.
33523
a979f513 335242007-10-17 Robert Millan <rmh@aybabtu.com>
33525
33526 * kern/i386/loader.S: New file.
33527
33528 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
33529 * kern/i386/loader.S (grub_linux_prot_size)... to here.
33530 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
33531 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
33532 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
33533 * kern/i386/loader.S (grub_linux_real_addr)... to here.
33534 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
33535 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
33536 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
33537 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
33538 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
33539 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
33540 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
33541 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
33542
33543 * kern/i386/realmode.S: New file.
33544
33545 * kern/i386/pc/startup.S (protstack): Moved from here ...
33546 * kern/i386/realmode.S (protstack)... to here.
33547 * kern/i386/pc/startup.S (gdt): Moved from here ...
33548 * kern/i386/realmode.S (gdt)... to here.
33549 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
33550 * kern/i386/realmode.S (prot_to_real)... to here.
33551
33552 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
33553 `kern/i386/realmode.S'.
33554
825fc8fd 335552007-10-17 Robert Millan <rmh@aybabtu.com>
33556
33557 * include/grub/i386/loader.h: New file.
33558
33559 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
33560 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33561 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33562 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33563 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
33564 * include/grub/i386/loader.h (grub_linux_prot_size)
33565 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33566 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33567 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33568 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
33569
33570 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
33571
e179b2f4 335722007-10-15 Robert Millan <rmh@aybabtu.com>
33573
33574 * normal/misc.c (grub_normal_print_device_info): Do not probe for
33575 filesystem when dev->disk is unset.
33576 Do probe for filesystem even when dev->disk->has_partitions is set.
33577 In case a filesystem is found, always report it.
33578 In case it isn't, if dev->disk->has_partitions is set, report that
33579 a partition table was found instead of reporting that no filesystem
33580 could be identified.
33581
5db82af6 335822007-10-12 Robert Millan <rmh@aybabtu.com>
33583
33584 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
33585 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
33586
68f6ac74 33587 * include/grub/types.h (grub_host_to_target16): New macro.
33588 (grub_host_to_target32): Likewise.
33589 (grub_host_to_target64): Likewise.
33590 (grub_target_to_host16): Likewise.
33591 (grub_target_to_host32): Likewise.
33592 (grub_target_to_host64): Likewise.
5db82af6 33593
33594 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33595 Renamed from to ...
33596 (GRUB_MOD_ALIGN): ...this. Update all users.
33597
68f6ac74 33598 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
33599 grub_host_to_target32.
33600 Replace grub_be_to_cpu32 with grub_target_to_host32.
33601 (load_modules): Likewise.
33602 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
33603 Replace grub_be_to_cpu32 with grub_target_to_host32.
33604 Replace grub_cpu_to_be16 with grub_host_to_target16.
33605 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 33606
3cf497cc 336072007-10-12 Robert Millan <rmh@aybabtu.com>
33608
33609 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
33610 * util/elf/grub-mkimage.c: ... here.
33611
33612 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
33613 `util/powerpc/ieee1275/grub-mkimage.c'.
33614
c8cc3692 336152007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 33616
c8cc3692 33617 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
33618 and make it easier to figure out.
33619 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
33620 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
33621 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
33622 leave us with less than HEAP_MIN_SIZE total heap.
33623 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 33624
5c58b791 336252007-10-03 Robert Millan <rmh@aybabtu.com>
33626
33627 * include/grub/i386/io.h: New file.
33628 * commands/i386/pc/play.c (inb): Removed.
33629 (outb): Removed.
33630 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33631 with grub_outb().
afcd2ef8 33632 * term/i386/pc/serial.c (inb): Removed.
33633 (outb): Removed.
33634 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33635 with grub_outb().
33636 * term/i386/pc/vga.c (inb): Removed.
33637 (outb): Removed.
33638 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33639 with grub_outb().
5c58b791 33640
1a477ed6 336412007-10-02 Robert Millan <rmh@aybabtu.com>
33642
33643 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
33644 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33645 Reported by Marcin Kurek.
33646
6b5d80fa 336472007-09-07 Robert Millan <rmh@aybabtu.com>
33648
33649 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
33650 SmartFirmware version updates (as released by Sven Luther), and avoid
33651 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
33652 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
33653 known broken.
33654
5618afbf 336552007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33656
33657 From Hitoshi Ozeki:
33658 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
33659 when merging two regions.
33660
6139dcd9 336612007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33662
508e39ee 33663 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
33664 * normal/completion.c (grub_normal_do_completion): Likewise.
33665 Reported by Hitoshi Ozeki.
33666
336672007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33668
6139dcd9 33669 Do not use devices at boot in chainloading.
f19dbdb7 33670
6139dcd9 33671 * loader/i386/pc/chainloader.c (boot_drive): New variable.
33672 (boot_part_addr): Likewise.
33673 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
33674 with BOOT_DRIVE and BOOT_PART_ADDR.
33675 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
33676 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
33677
38da6516 336782007-08-29 Robert Millan <rmh@aybabtu.com>
33679
33680 Patch from Simon Peter <dn.tlp@gmx.net>:
33681 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
33682 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
33683 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
33684 util/i386/pc/grub-setup.c_DEPENDENCIES.
33685 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
33686 util/grub-probe.c_DEPENDENCIES.
33687 * conf/powerpc-ieee1275.rmk: Likewise.
33688
29d0928c 336892007-08-28 Robert Millan <rmh@aybabtu.com>
33690
33691 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
33692 to tell grub-mkdevicemap how to name devices.
33693 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
33694 feature).
33695
33696 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
33697 util/i386/get_disk_name.c.
33698 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
33699 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
33700 util/ieee1275/get_disk_name.c.
33701
33702 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
33703
33704 * DISTLIST: Add util/i386/get_disk_name.c and
33705 util/ieee1275/get_disk_name.c.
33706
33707 * util/grub-mkdevicemap.c: Replace device naming logic with
33708 grub_util_get_disk_name() calls.
33709
5a0d3cca 337102007-08-20 Robert Millan <rmh@aybabtu.com>
33711
33712 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
33713 (so that it works for both plural and singular quantities).
33714
8b72db2f 337152007-08-05 Robert Millan <rmh@aybabtu.com>
33716
33717 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
33718 so that [xz] isn't taken into account when determining order.
33719
352466bf 337202007-08-02 Marco Gerards <marco@gnu.org>
33721
33722 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
33723 `include/multiboot2.h', `include/grub/elfload.h',
33724 `include/multiboot.h', `include/grub/multiboot.h',
33725 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
33726 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
33727 `kern/elf.c', `loader/multiboot_loader.c',
33728 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
33729 `loader/i386/pc/multiboot2.c',
33730 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
33731 `util/i386/pc/grub-mkrescue.in'. Remove
33732 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
33733 `include/grub/i386/pc/util/biosdisk.h' and
33734 `include/grub/powerpc/ieee1275/multiboot.h'.
33735
8f096014 337362007-08-02 Bean <bean123ch@gmail.com>
33737
33738 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
33739 (ntfs_mod_SOURCES): New variable.
33740 (ntfs_mod_CFLAGS): Likewise.
33741 (ntfs_mod_LDFLAGS): Likewise.
33742
33743 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
33744 (grub_probe_SOURCES): Likewise.
33745 (grub_emu_SOURCES): Likewise.
33746
33747 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33748 (grub_emu_SOURCES): Likewise.
33749
33750 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33751 (grub_emu_SOURCES): Likewise.
f19dbdb7 33752
8f096014 33753 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
33754
33755 * fs/ntfs.c: New file.
33756
9959f7db 337572007-08-02 Bean <bean123ch@gmail.com>
33758
33759 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
33760
33761 * file.h (grub_file): Likewise.
33762
33763 * fshelp.h (grub_fshelp_read_file): Likewise.
33764
33765 * util/i386/pc/grub-setup.c (setup): Likewise.
33766 (save_first_sector): Likewise.
33767 (save_blocklists): Likewise.
f19dbdb7 33768
9959f7db 33769 * fs/affs.c (grub_affs_read_file): Likewise.
33770
33771 * fs/ext2.c (grub_ext2_read_file): Likewise.
33772
33773 * fs/fat.c (grub_fat_read_data): Likewise.
33774
33775 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
33776
33777 * fs/hfs.c (grub_hfs_read_file): Likewise.
33778
33779 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33780
33781 * fs/jfs.c (grub_jfs_read_file): Likewise.
33782
33783 * fs/minix.c (grub_minix_read_file): Likewise.
33784
33785 * fs/sfs.c (grub_sfs_read_file): Likewise.
33786
33787 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 33788
9959f7db 33789 * fs/xfs.c (grub_xfs_read_file): Likewise.
33790
33791 * command/blocklist.c (read_blocklist): Likewise.
33792 (print_blocklist): Likewise.
33793
0a203f83 337942007-08-02 Marco Gerards <marco@gnu.org>
33795
33796 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33797 `util/hostfs.c'.
33798
33799 * disk/host.c: New file.
33800
33801 * util/hostfs.c: Likewise.
33802
33803 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33804 return `GRUB_ERR_BAD_FS'.
33805 * fs/sfs.c (grub_sfs_mount): Likewise.
33806 * fs/xfs.c (grub_xfs_mount): Likewise.
33807
33808 * include/grub/disk.h (enum grub_disk_dev_id): Add
33809 `GRUB_DISK_DEVICE_HOST_ID'.
33810
33811 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33812
e5dfe777 338132007-07-24 Jerone Young <jerone@gmail.com>
33814
f19dbdb7 33815 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 33816 modules for compilation.
33817 * conf/powerpc-ieee1275.rmk: Likewise.
33818
33819 * include/multiboot.h: Move multiboot definitions to one file. Rename
33820 many definitions to not get grub specific.
33821 * include/multiboot2.h: Create header with multiboot 2 definitions.
33822 * include/grub/multiboot.h: Header for grub specific function
33823 prototypes and definitions.
33824 * include/grub/multiboot2.h: Likewise.
33825 * include/grub/multiboot_loader.h: Likewise.
33826 * include/grub/i386/pc/multiboot.h: Removed.
33827 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33828
33829 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33830 and 2 to allow for one multiboot and module commands.
33831 * loader/multiboot2.c: Add multiboot2 functionality.
33832 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33833 and definition names.
33834 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33835 2 functions.
33836 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33837 ieee1275 specific multiboot2 code.
33838
33839 * kern/i386/pc/startup.S: Change headers and definition names for
33840 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33841
daf0f0ba 338422007-07-22 Robert Millan <rmh@aybabtu.com>
33843
33844 * geninitheader.sh: Process file specified in first parameter rather
33845 than hardcoding grub_modules_init.lst.
fe6b695a 33846 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 33847 than hardcoding grub_modules_init.h.
33848
33849 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33850 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33851 grub_probe_init.[ch] and grub_setup_init.[ch].
33852
33853 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33854 grub_modules_init.h with grub_emu_init.h.
33855 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33856 grub_probe_init.[ch] files.
33857 * conf/i386-efi.rmk: Likewise.
33858 * conf/i386-pc.rmk: Likewise.
33859 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33860 grub_setup_init.[ch] files.
33861
33862 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33863 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33864 to initialize modules rather than a list of hardcoded functions.
33865 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33866 grub_init_all() to initialize modules rather than a list of hardcoded
33867 functions.
33868
54cdc1cc 338692007-07-22 Robert Millan <rmh@aybabtu.com>
33870
33871 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33872 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33873
ad0686cc 338742007-07-22 Robert Millan <rmh@aybabtu.com>
33875
33876 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33877 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33878 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33879 flag when running on SmartFirmware.
33880 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33881 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33882 was set.
33883
33884 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33885 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33886 rather than decreasing it.
33887
33888 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33889 there's not enough space to do it, fail in the same way as when it
33890 can't be done because there are no partitions.
33891
33892 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33893 when nvsetenv failed.
33894
969c02ec 338952007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33896
33897 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33898 because this rule is automatically generated.
33899 (grub-mkrescue): Removed for the same reason as above.
33900
5a79f472 339012007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33902
33903 Migrate to GNU General Public License Version 3.
f19dbdb7 33904
5a79f472 33905 * COPYING: Replaced with the plain text version of GPLv3.
33906
33907 * config.guess: Updated from gnulib.
33908 * config.sub: Likewise.
33909
33910 * geninit.sh: Output a GPLv3 copyright notice.
33911 * geninitheader.sh: Likewise.
33912 * genmodsrc.sh: Likewise.
33913 * gensymlist.sh.in: Likewise.
33914
33915 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33916 * boot/i386/pc/diskboot.S: Likewise.
33917 * boot/i386/pc/pxeboot.S: Likewise.
33918 * commands/blocklist.c: Likewise.
33919 * commands/boot.c: Likewise.
33920 * commands/cat.c: Likewise.
33921 * commands/cmp.c: Likewise.
33922 * commands/configfile.c: Likewise.
33923 * commands/echo.c: Likewise.
33924 * commands/help.c: Likewise.
33925 * commands/ls.c: Likewise.
33926 * commands/search.c: Likewise.
33927 * commands/terminal.c: Likewise.
33928 * commands/test.c: Likewise.
33929 * commands/videotest.c: Likewise.
33930 * commands/i386/cpuid.c: Likewise.
33931 * commands/i386/pc/halt.c: Likewise.
33932 * commands/i386/pc/play.c: Likewise.
33933 * commands/i386/pc/reboot.c: Likewise.
33934 * commands/i386/pc/vbeinfo.c: Likewise.
33935 * commands/i386/pc/vbetest.c: Likewise.
33936 * commands/ieee1275/halt.c: Likewise.
33937 * commands/ieee1275/reboot.c: Likewise.
33938 * commands/ieee1275/suspend.c: Likewise.
33939 * disk/loopback.c: Likewise.
33940 * disk/lvm.c: Likewise.
33941 * disk/raid.c: Likewise.
33942 * disk/efi/efidisk.c: Likewise.
33943 * disk/i386/pc/biosdisk.c: Likewise.
33944 * disk/ieee1275/ofdisk.c: Likewise.
33945 * font/manager.c: Likewise.
33946 * fs/affs.c: Likewise.
33947 * fs/ext2.c: Likewise.
33948 * fs/fat.c: Likewise.
33949 * fs/fshelp.c: Likewise.
33950 * fs/hfs.c: Likewise.
33951 * fs/hfsplus.c: Likewise.
33952 * fs/iso9660.c: Likewise.
33953 * fs/jfs.c: Likewise.
33954 * fs/minix.c: Likewise.
33955 * fs/sfs.c: Likewise.
33956 * fs/ufs.c: Likewise.
33957 * fs/xfs.c: Likewise.
33958 * hello/hello.c: Likewise.
33959 * include/grub/acorn_filecore.h: Likewise.
33960 * include/grub/arg.h: Likewise.
33961 * include/grub/bitmap.h: Likewise.
33962 * include/grub/boot.h: Likewise.
33963 * include/grub/cache.h: Likewise.
33964 * include/grub/device.h: Likewise.
33965 * include/grub/disk.h: Likewise.
33966 * include/grub/dl.h: Likewise.
33967 * include/grub/elfload.h: Likewise.
33968 * include/grub/env.h: Likewise.
33969 * include/grub/err.h: Likewise.
33970 * include/grub/file.h: Likewise.
33971 * include/grub/font.h: Likewise.
33972 * include/grub/fs.h: Likewise.
33973 * include/grub/fshelp.h: Likewise.
33974 * include/grub/gzio.h: Likewise.
33975 * include/grub/hfs.h: Likewise.
33976 * include/grub/kernel.h: Likewise.
33977 * include/grub/loader.h: Likewise.
33978 * include/grub/lvm.h: Likewise.
33979 * include/grub/misc.h: Likewise.
33980 * include/grub/mm.h: Likewise.
33981 * include/grub/net.h: Likewise.
33982 * include/grub/normal.h: Likewise.
33983 * include/grub/parser.h: Likewise.
33984 * include/grub/partition.h: Likewise.
33985 * include/grub/pc_partition.h: Likewise.
33986 * include/grub/raid.h: Likewise.
33987 * include/grub/rescue.h: Likewise.
33988 * include/grub/script.h: Likewise.
33989 * include/grub/setjmp.h: Likewise.
33990 * include/grub/symbol.h: Likewise.
33991 * include/grub/term.h: Likewise.
33992 * include/grub/terminfo.h: Likewise.
33993 * include/grub/tparm.h: Likewise.
33994 * include/grub/types.h: Likewise.
33995 * include/grub/video.h: Likewise.
33996 * include/grub/efi/api.h: Likewise.
33997 * include/grub/efi/chainloader.h: Likewise.
33998 * include/grub/efi/console.h: Likewise.
33999 * include/grub/efi/console_control.h: Likewise.
34000 * include/grub/efi/disk.h: Likewise.
34001 * include/grub/efi/efi.h: Likewise.
34002 * include/grub/efi/pe32.h: Likewise.
34003 * include/grub/efi/time.h: Likewise.
34004 * include/grub/i386/linux.h: Likewise.
34005 * include/grub/i386/setjmp.h: Likewise.
34006 * include/grub/i386/types.h: Likewise.
34007 * include/grub/i386/efi/kernel.h: Likewise.
34008 * include/grub/i386/efi/loader.h: Likewise.
34009 * include/grub/i386/efi/time.h: Likewise.
34010 * include/grub/i386/pc/biosdisk.h: Likewise.
34011 * include/grub/i386/pc/boot.h: Likewise.
34012 * include/grub/i386/pc/chainloader.h: Likewise.
34013 * include/grub/i386/pc/console.h: Likewise.
34014 * include/grub/i386/pc/init.h: Likewise.
34015 * include/grub/i386/pc/kernel.h: Likewise.
34016 * include/grub/i386/pc/loader.h: Likewise.
34017 * include/grub/i386/pc/memory.h: Likewise.
34018 * include/grub/i386/pc/multiboot.h: Likewise.
34019 * include/grub/i386/pc/serial.h: Likewise.
34020 * include/grub/i386/pc/time.h: Likewise.
34021 * include/grub/i386/pc/vbe.h: Likewise.
34022 * include/grub/i386/pc/vbeblit.h: Likewise.
34023 * include/grub/i386/pc/vbefill.h: Likewise.
34024 * include/grub/i386/pc/vbeutil.h: Likewise.
34025 * include/grub/i386/pc/vga.h: Likewise.
34026 * include/grub/ieee1275/ieee1275.h: Likewise.
34027 * include/grub/ieee1275/ofdisk.h: Likewise.
34028 * include/grub/powerpc/libgcc.h: Likewise.
34029 * include/grub/powerpc/setjmp.h: Likewise.
34030 * include/grub/powerpc/types.h: Likewise.
34031 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
34032 * include/grub/powerpc/ieee1275/console.h: Likewise.
34033 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
34034 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
34035 * include/grub/powerpc/ieee1275/loader.h: Likewise.
34036 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
34037 * include/grub/powerpc/ieee1275/time.h: Likewise.
34038 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
34039 * include/grub/sparc64/libgcc.h: Likewise.
34040 * include/grub/sparc64/setjmp.h: Likewise.
34041 * include/grub/sparc64/types.h: Likewise.
34042 * include/grub/sparc64/ieee1275/console.h: Likewise.
34043 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34044 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34045 * include/grub/sparc64/ieee1275/time.h: Likewise.
34046 * include/grub/util/biosdisk.h: Likewise.
34047 * include/grub/util/getroot.h: Likewise.
34048 * include/grub/util/lvm.h: Likewise.
34049 * include/grub/util/misc.h: Likewise.
34050 * include/grub/util/raid.h: Likewise.
34051 * include/grub/util/resolve.h: Likewise.
34052 * io/gzio.c: Likewise.
34053 * kern/device.c: Likewise.
34054 * kern/disk.c: Likewise.
34055 * kern/dl.c: Likewise.
34056 * kern/elf.c: Likewise.
34057 * kern/env.c: Likewise.
34058 * kern/err.c: Likewise.
34059 * kern/file.c: Likewise.
34060 * kern/fs.c: Likewise.
34061 * kern/loader.c: Likewise.
34062 * kern/main.c: Likewise.
34063 * kern/misc.c: Likewise.
34064 * kern/mm.c: Likewise.
34065 * kern/parser.c: Likewise.
34066 * kern/partition.c: Likewise.
34067 * kern/rescue.c: Likewise.
34068 * kern/term.c: Likewise.
34069 * kern/efi/efi.c: Likewise.
34070 * kern/efi/init.c: Likewise.
34071 * kern/efi/mm.c: Likewise.
34072 * kern/i386/dl.c: Likewise.
34073 * kern/i386/efi/init.c: Likewise.
34074 * kern/i386/efi/startup.S: Likewise.
34075 * kern/i386/pc/init.c: Likewise.
34076 * kern/i386/pc/lzo1x.S: Likewise.
34077 * kern/i386/pc/startup.S: Likewise.
34078 * kern/ieee1275/ieee1275.c: Likewise.
34079 * kern/powerpc/cache.S: Likewise.
34080 * kern/powerpc/dl.c: Likewise.
34081 * kern/powerpc/ieee1275/cmain.c: Likewise.
34082 * kern/powerpc/ieee1275/crt0.S: Likewise.
34083 * kern/powerpc/ieee1275/init.c: Likewise.
34084 * kern/powerpc/ieee1275/openfw.c: Likewise.
34085 * kern/sparc64/cache.S: Likewise.
34086 * kern/sparc64/dl.c: Likewise.
34087 * kern/sparc64/ieee1275/init.c: Likewise.
34088 * kern/sparc64/ieee1275/openfw.c: Likewise.
34089 * loader/efi/chainloader.c: Likewise.
34090 * loader/efi/chainloader_normal.c: Likewise.
34091 * loader/i386/efi/linux.c: Likewise.
34092 * loader/i386/efi/linux_normal.c: Likewise.
34093 * loader/i386/pc/chainloader.c: Likewise.
34094 * loader/i386/pc/chainloader_normal.c: Likewise.
34095 * loader/i386/pc/linux.c: Likewise.
34096 * loader/i386/pc/linux_normal.c: Likewise.
34097 * loader/i386/pc/multiboot.c: Likewise.
34098 * loader/i386/pc/multiboot_normal.c: Likewise.
34099 * loader/powerpc/ieee1275/linux.c: Likewise.
34100 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34101 * normal/arg.c: Likewise.
34102 * normal/cmdline.c: Likewise.
34103 * normal/command.c: Likewise.
34104 * normal/completion.c: Likewise.
34105 * normal/execute.c: Likewise.
34106 * normal/function.c: Likewise.
34107 * normal/lexer.c: Likewise.
34108 * normal/main.c: Likewise.
34109 * normal/menu.c: Likewise.
34110 * normal/menu_entry.c: Likewise.
34111 * normal/misc.c: Likewise.
34112 * normal/parser.y: Likewise.
34113 * normal/script.c: Likewise.
34114 * normal/i386/setjmp.S: Likewise.
34115 * normal/powerpc/setjmp.S: Likewise.
34116 * normal/sparc64/setjmp.S: Likewise.
34117 * partmap/acorn.c: Likewise.
34118 * partmap/amiga.c: Likewise.
34119 * partmap/apple.c: Likewise.
34120 * partmap/gpt.c: Likewise.
34121 * partmap/pc.c: Likewise.
34122 * partmap/sun.c: Likewise.
34123 * term/gfxterm.c: Likewise.
34124 * term/terminfo.c: Likewise.
34125 * term/efi/console.c: Likewise.
34126 * term/i386/pc/console.c: Likewise.
34127 * term/i386/pc/serial.c: Likewise.
34128 * term/i386/pc/vesafb.c: Likewise.
34129 * term/i386/pc/vga.c: Likewise.
34130 * term/ieee1275/ofconsole.c: Likewise.
34131 * util/biosdisk.c: Likewise.
34132 * util/console.c: Likewise.
34133 * util/genmoddep.c: Likewise.
34134 * util/getroot.c: Likewise.
34135 * util/grub-emu.c: Likewise.
34136 * util/grub-mkdevicemap.c: Likewise.
34137 * util/grub-probe.c: Likewise.
34138 * util/lvm.c: Likewise.
34139 * util/misc.c: Likewise.
34140 * util/raid.c: Likewise.
34141 * util/resolve.c: Likewise.
34142 * util/update-grub.in: Likewise.
34143 * util/update-grub_lib.in: Likewise.
34144 * util/grub.d/00_header.in: Likewise.
34145 * util/grub.d/10_hurd.in: Likewise.
34146 * util/grub.d/10_linux.in: Likewise.
34147 * util/i386/efi/grub-install.in: Likewise.
34148 * util/i386/efi/grub-mkimage.c: Likewise.
34149 * util/i386/pc/grub-install.in: Likewise.
34150 * util/i386/pc/grub-mkimage.c: Likewise.
34151 * util/i386/pc/grub-mkrescue.in: Likewise.
34152 * util/i386/pc/grub-setup.c: Likewise.
34153 * util/i386/pc/misc.c: Likewise.
34154 * util/powerpc/ieee1275/grub-install.in: Likewise.
34155 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
34156 * util/powerpc/ieee1275/misc.c: Likewise.
34157 * video/bitmap.c: Likewise.
34158 * video/video.c: Likewise.
34159 * video/i386/pc/vbe.c: Likewise.
34160 * video/i386/pc/vbeblit.c: Likewise.
34161 * video/i386/pc/vbefill.c: Likewise.
34162 * video/i386/pc/vbeutil.c: Likewise.
34163 * video/readers/tga.c: Likewise.
34164
3572d015 341652007-07-02 Robert Millan <rmh@aybabtu.com>
34166
34167 * conf/i386-efi.rmk: Replace obsolete reference to
34168 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
34169 with util/getroot.c.
34170 * conf/powerpc-ieee1275.rmk: Likewise.
34171 * conf/sparc64-ieee1275.rmk: Likewise.
34172
34173 * util/grub-emu.c (main): Fix unchecked pointer handling.
34174
2c2a681b 341752007-07-02 Robert Millan <rmh@aybabtu.com>
34176
34177 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
34178 invocation to fail, in order to support partition-less media.
34179
34180 * util/i386/pc/grub-install.in: Likewise.
34181
34182 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
34183 which fs or partmap modules are needed (akin to its sister scripts).
34184
34185 Also use grub-probe to get rid of unportable /proc/mounts check.
34186
34187 Print the same informational message that the other scripts do, before
fe6b695a 34188 exiting.
2c2a681b 34189
6193defe 341902007-06-23 Robert Millan <rmh@aybabtu.com>
34191
fe6b695a 34192 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 34193 a font file can be found and, if so, echo the GRUB path to it.
34194
34195 * util/update-grub.in: Handle multiple terminals depending on user
34196 input, platform availability and font file presence. Propagate
34197 variables of our findings to /etc/grub.d/ children.
34198
34199 * util/grub.d/00_header.in: Handle multiple terminals, based on
34200 environment setup by update-grub.
34201
eface1dc 342022007-06-23 Robert Millan <rmh@aybabtu.com>
34203
ba50d28f 34204 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 34205
bf697e28 342062007-06-21 Robert Millan <rmh@aybabtu.com>
34207
34208 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
34209 indicate end of data section in kernel image.
34210 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
34211 GRUB_KERNEL_MACHINE_DATA_END.
34212
34213 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
34214 space for it.
34215 * kern/i386/efi/startup.S: Likewise.
34216
34217 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
34218 during image generation. Implement --prefix option to override this
34219 patch.
34220 * util/i386/efi/grub-mkimage.c: Likewise.
34221
34222 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
34223 code to make path relative to its root into a separate function.
34224
34225 * util/i386/pc/grub-install.in: Use newly provided
34226 make_system_path_relative_to_its_root() to convert ${grubdir}, then
34227 pass the result to grub-install --prefix.
34228
baa574b4 342292007-06-13 Robert Millan <rmh@aybabtu.com>
34230
34231 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
34232 DEFAULT_DEVICE_MAP.
34233 * util/grub-emu.c: Use above definitions from misc.h instead of
34234 defining them.
34235 * util/grub-mkdevicemap.c: Likewise.
34236 * util/i386/pc/grub-setup.c: Likewise.
34237 * util/grub-probe.c: Likewise.
34238 (probe): Abort with grub_util_error() when either
34239 grub_guess_root_device or grub_util_get_grub_dev fails.
34240
0215dcbf 342412007-06-12 Robert Millan <rmh@aybabtu.com>
34242
34243 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
34244 "pager" assignment.
34245 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
34246 "pcdata".
34247 * util/grub-probe.c (probe): Likewise for "drive_name".
34248
8af2ab7b 342492007-06-11 Robert Millan <rmh@aybabtu.com>
34250
34251 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
34252 not just the cdrom one.
34253
59d31694 342542007-06-11 Robert Millan <rmh@aybabtu.com>
34255
34256 * util/i386/pc/grub-mkrescue.in: Add "set -e".
34257 Add --pkglibdir=DIR option to override pkglibdir.
34258 Mention --image-type=TYPE in help output.
34259 Fix --grub-mkimage (it was a no-op).
fe6b695a 34260 Abort gracefully when no parameter is given.
59d31694 34261
7ee367e4 342622007-06-11 Robert Millan <rmh@aybabtu.com>
34263
34264 * util/i386/pc/grub-mkrescue.in: New file.
34265 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
34266 * Makefile.in: Handle bin_SCRIPTS.
34267
29b0ed46 342682007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
34269
34270 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
34271 list of video modes.
34272
c0f90770 342732007-06-06 Robert Millan <rmh@aybabtu.com>
34274
34275 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
34276 file doesn't exist, or if it is in a filesystem grub can't read.
34277
34278 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
34279 not abort if GRUB_DRIVE could not be defined. Rearrange generated
34280 header comment to fit in 80 columns when the variables are resolved.
34281
34282 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
34283 could be identified by update-grub. Remove redundant check for
fe6b695a 34284 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 34285 handles that).
34286
fb36dc26 342872007-06-04 Robert Millan <rmh@aybabtu.com>
34288
34289 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
34290
34291 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
34292
34293 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
34294
0c68c93e 342952007-06-04 Robert Millan <rmh@aybabtu.com>
34296
34297 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
34298
34299 * include/grub/partition.h: Declare grub_apple_partition_map_init and
34300 grub_apple_partition_map_fini.
34301
34302 * util/biosdisk.c
34303 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
34304 to access >2 TiB disks).
34305
34306 Print disk->total_sectors with %llu instead of %lu, since this
34307 variable is always 64-bit (prevents wrong disk size from being displayed
34308 on either >2 TiB disk or big-endian CPU).
34309
34310 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
34311 into a generic case that supports all (sane) partition maps.
34312
34313 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
34314 breaks big-endian.
34315
34316 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
34317 and grub_apple_partition_map_fini() after that.
34318
0f23eb74 343192007-06-01 Robert Millan <rmh@aybabtu.com>
34320
34321 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
34322
34323 * util/grub.d/00_header.in: Only enable gfxterm when
34324 convert_system_path_to_grub_path() succeeds.
34325
42c71976 343262007-05-20 Robert Millan <rmh@aybabtu.com>
34327
34328 * util/update-grub_lib.in: New file.
34329 * DISTLIST: Add update-grub_lib.in.
34330 * conf/common.rmk: Generate update-grub_lib and install it in
34331 $(lib_DATA).
34332 * Makefile.in: Add install routine for $(lib_DATA).
34333
34334 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
34335 function provided by update-grub_lib to support arbitrary paths of
34336 unifont.pff.
34337 * util/update-grub.in: Use convert_system_path_to_grub_path() to
34338 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
34339
5beb2291 343402007-05-19 Robert Millan <rmh@aybabtu.com>
34341
34342 * commands/i386/cpuid.c: New module.
34343 * DISTLIST: Add it.
34344 * conf/i386-efi.rmk: Enable cpuid.mod.
34345 * conf/i386-pc.rmk: Likewise.
34346
7262eca1 343472007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34348
34349 * kern/disk.c (grub_disk_read): Check return value of
34350 grub_realloc().
34351
260ba823 343522007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34353
34354 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
34355 arrays.
34356 * disk/raid.c (grub_raid_open): Likewise.
34357
1ecb6cf2 343582007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34359
34360 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
34361 stack instead of on the heap.
34362
34363 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
34364 before doing a read on it.
34365
34366 * configure.ac: Only use -fno-stack-protector for the target
34367 environment.
f19dbdb7 34368
21c8cbb1 343692007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34370
34371 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
34372 __attribute_ ((unused)) to mode_type argument.
34373
34374 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 34375
21c8cbb1 34376 * kern/misc.c (memcmp): Fix prototype.
34377
34378 * include/grub/partition.h [GRUB_UTIL]
34379 (grub_gpt_partition_map_init): Add prototype.
34380 (grub_gpt_partition_map_fini): Likewise.
34381
34382 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
34383 at the right place.
34384
34385 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
34386 (grub_fat_read_data): Likewise.
34387 (grub_fat_find_dir): Likewise.
34388
34389 * font/manager.c (find_glyph): Make table a const.
34390 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 34391
849d55d3 343922007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
34393
34394 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
34395 code, first search for device in /dev/mapper, then in /dev.
34396 (grub_util_get_grub_dev): New function.
34397 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
34398 prototype.
34399 * util/grub-probe.c (probe): Remove check for RAID, call
34400 grub_util_get_grub_dev() instead of
34401 grub_util_biosdisk_get_grub_dev().
34402 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
34403 grub_util_biosdisk_get_grub_dev().
34404 * util/i386/pc/grub-setup.c (main): Likewise.
34405
8fff7c2f 344062007-05-16 Robert Millan <rmh@aybabtu.com>
34407
34408 * DISTLIST: Update for the latest changes.
34409 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
34410 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
34411 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
34412 grub/util/biosdisk.h.
34413 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
34414 grub/util/biosdisk.h.
34415
48e12b52 344162007-05-16 Robert Millan <rmh@aybabtu.com>
34417
34418 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
34419
46b9d128 344202007-05-16 Robert Millan <rmh@aybabtu.com>
34421
34422 * util/i386/efi/grub-install.in: New.
34423 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
34424 newly added grub-install.
34425 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
34426 include.
34427 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
34428 grub/util/biosdisk.h.
34429 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
34430 grub/util/biosdisk.h.
34431
2d1a40a9 344322007-05-16 Robert Millan <rmh@aybabtu.com>
34433
34434 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
34435 * include/grub/util/biosdisk.h: ... here.
34436 * util/i386/pc/biosdisk.c: Moved to ...
34437 * util/biosdisk.c: ... here.
34438 * util/i386/pc/getroot.c: Moved to ...
34439 * util/getroot.c: ... here.
34440 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
34441 * util/grub-mkdevicemap.c: ... here.
34442 * util/i386/pc/grub-probe.c: Moved to ...
34443 * util/grub-probe.c: ... here.
34444
9e26e3bc 344452007-05-15 Robert Millan <rmh@aybabtu.com>
34446
34447 * util/update-grub.in: Remove duplicated line in grub.cfg header
34448 message.
34449
57f96397 344502007-05-13 Robert Millan <rmh@aybabtu.com>
34451
34452 * util/update-grub.in: Fix a few assumptions about the devices holding
34453 /, /boot and /boot/grub being the same.
34454 * util/grub.d/00_header.in: Likewise.
34455 * util/grub.d/10_hurd.in: Likewise.
34456 * util/grub.d/10_linux.in: Likewise.
34457
34458 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
34459 patterns. Use that to define the `.old' suffix as older than `'.
34460
34461 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
34462
34463 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
34464 the grub.cfg header message.
34465
2e610d62 344662007-05-11 Robert Millan <rmh@aybabtu.com>
34467
34468 * util/update-grub.in: Create device.map if it doesn't already exist,
34469 before attempting to run grub-probe.
34470 Check for grub-probe and grub-mkdevicemap with the same code
34471 grub-install is using.
34472 Remove test mode.
34473
3f6a10ef 344742007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
34475
34476 * Makefile.in: Add the datarootdir autoconf variable.
34477
02e7b75e 344782007-05-09 Robert Millan <rmh@aybabtu.com>
34479
34480 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 34481 fail gracefully if dev->disk->partition == NULL.
02e7b75e 34482
75f396cc 344832007-05-07 Robert Millan <rmh@aybabtu.com>
34484
34485 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
34486 determine partition map module.
34487 * util/i386/pc/grub-install.in: Use this feature to decide which
34488 partition module to load, instead of hardcoding pc and gpt.
34489
da65cb36 344902007-05-07 Robert Millan <rmh@aybabtu.com>
34491
34492 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
34493 source directory differs from build directory.
34494
b57d6a91 344952007-05-05 Robert Millan <rmh@aybabtu.com>
34496
34497 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
34498 initialisation.
34499
509d00f1 345002007-05-05 Robert Millan <rmh@aybabtu.com>
34501
34502 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
34503
c48f23ef 345042007-05-05 Robert Millan <rmh@aybabtu.com>
34505
34506 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
34507 command-line arguments via ${GRUB_CMDLINE_LINUX}.
34508
20b97658 345092007-05-05 Robert Millan <rmh@aybabtu.com>
34510
34511 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
34512 (grub_probe_SOURCES): Likewise.
34513 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
34514 GPT and initialize dos_part and bsd_part accordingly.
34515 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
34516 install_bsd_part.
34517 (main): Activate gpt module for use during partition identification,
34518 and deactivate it afterwards.
34519 * util/i386/pc/grub-install.in: Add gpt module to core.img.
34520 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
34521 partition identification, and deactivate it afterwards.
34522
99123174 345232007-05-05 Robert Millan <rmh@aybabtu.com>
34524
34525 * term/i386/pc/console.c (grub_console_fini): Call
34526 grub_term_set_current() before grub_term_unregister().
34527
ebd97f6e 345282007-05-04 Robert Millan <rmh@aybabtu.com>
34529
34530 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
34531 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
34532 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
34533 and update-grub_DATA.
34534 * conf/common.rmk: Build and install update-grub components.
34535 * conf/common.mk: Regenerate.
34536 * util/update-grub.in: New. Core of update-grub.
34537 * util/grub.d/00_header.in: New. Generates grub.cfg header.
34538 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
34539 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
34540 * util/grub.d/README: New. Document grub.d directory layout.
34541
b06a264d 345422007-05-01 Robert Millan <rmh@aybabtu.com>
34543
34544 * util/grub-emu.c: Move initialization functions
34545 grub_util_biosdisk_init() and grub_init_all() before
34546 grub_util_biosdisk_get_grub_dev(), which relies on them.
34547
41f0050e 345482007-04-19 Robert Millan <rmh@aybabtu.com>
34549
34550 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
34551 it is used later.
34552
04582bb3 345532007-04-18 Jerone Young <jerone@gmail.com>
34554
f19dbdb7 34555 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 34556 stanza.
34557
08db4632 345582007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 34559
08db4632 34560 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
34561 continue on and look for device node with real device name.
34562
801b76be 345632007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 34564
fe6b695a 34565 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 34566 ability.
34567 * Makefile.in: Add autoconf package transformation code.
34568 * util/i386/pc/grub-install.in: Likewise.
34569 * util/powerpc/ieee1275/grub-install.in: Likewise.
34570
6795c4e1 345712007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
34572
34573 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
34574 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
34575 (EXT2_REVISION): Likewise.
34576 (EXT2_INODE_SIZE): Likewise.
34577 (struct grub_ext2_block_group): Added a missing member
34578 "used_dirs".
34579 (grub_ext2_read_inode): Divide by the inode size in a superblock
34580 instead of 128 to obtain INODES_PER_BLOCK.
34581 Use the macro EXT2_INODE_SIZE instead of directly using
34582 SBLOCK->INODE_SIZE.
34583
d70af616 345842007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
34585
34586 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
34587 superblock instead of the structure size to compute an
34588 offset. This fixes the problem that GRUB could not read a
34589 filesystem when inode size is different from 128-byte.
34590
3b801603 345912007-03-05 Marco Gerards <marco@gnu.org>
34592
34593 * normal/main.c (read_config_file): When "menu" is not set, create
34594 an initial context.
34595
4785bfe4 345962007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34597
34598 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
34599 (HEAP_LIMIT): New macro.
34600 (grub_claim_heap): Claim memory up to `heaplimit'.
34601
a0cbb023 346022007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34603
34604 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
34605 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
34606 (_start): Likewise.
34607 (grub_arch_modules_addr): Return address after `_end'.
34608 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
34609 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
34610 (add_segments): Calculate `_end' from phdr size and location.
34611 (ALIGN_UP): Moved to ...
34612 * include/grub/misc.h: here.
34613 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34614 New macro.
34615 (GRUB_IEEE1275_MODULE_BASE): Removed.
34616
fd7d8eba 346172007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34618
34619 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
34620 loop boundary.
34621
9b09e6fc 346222007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34623
34624 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
34625 All users updated.
34626 (grub_elf64_load_hook_t): Likewise.
34627 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
34628 debug output.
34629
3ce27299 346302007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34631
34632 * kern/mm.c: Update copyright.
34633 (grub_mm_debug): Correct syntax error.
34634 (grub_mm_dump_free): New function.
34635 (grub_debug_free): Call `grub_free'.
34636 * include/grub/mm.h: Update copyright.
34637 (grub_mm_dump_free): Add declaration.
34638
077d5fee 346392007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34640
34641 * include/grub/ieee1275/ieee1275.h: Update copyright.
34642 * kern/powerpc/ieee1275/init.c: Likewise.
34643 * kern/powerpc/ieee1275/openfw.c: Likewise.
34644
34645 * loader/powerpc/ieee1275/linux.c: Likewise.
34646 * include/grub/elfload.h: Likewise.
34647 * kern/elf.c: Likewise.
34648 (grub_elf32_load): Pass `base' and `size' parameters. Update all
34649 callers.
34650 (grub_elf64_load): Likewise.
34651 (grub_elf32_load_segment): Move to a nested function.
34652 (grub_elf64_load_segment): Likewise.
34653
dc946850 346542007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34655
34656 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
34657 prototype.
34658 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
34659 (grub_heap_len): Likewise.
34660 (HEAP_SIZE): New macro.
34661 (grub_claim_heap): New function.
34662 (grub_machine_init): Don't claim heap directly. Call
34663 `grub_claim_heap'.
34664 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
34665 (grub_available_iterate): New function.
34666
baa2a121 346672007-02-03 Thomas Schwinge <tschwinge@gnu.org>
34668
34669 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
34670 * configure.ac: Use it for testing the HOST and TARGET compilers.
34671
4fe9862e 346722006-12-13 Thomas Schwinge <tschwinge@gnu.org>
34673
34674 * Makefile.in (enable_grub_emu): New variable.
34675 * configure.ac (--enable-grub-emu): New option.
34676 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
34677 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
34678 * conf/i386-pc.rmk: Likewise.
34679 * conf/powerpc-ieee1275.rmk: Likewise.
34680 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
34681
a8aa5762 346822006-12-12 Marco Gerards <marco@gnu.org>
34683
34684 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
34685
34686 * kern/env.c (grub_env_unset): Don't free the member `value' when
34687 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
34688 pointer.
34689
34690 * normal/main.c (current_menu): Removed.
34691 (free_menu): Unset the `menu' environment variable.
34692 (grub_normal_menu_addentry): Make use of the environment variable
34693 `menu', instead of using the global `current_menu'. Allocate
34694 memory for the sourcecode of this entry.
34695 (read_config_file): New argument `nested', changed all callers.
34696 Only in the case of a new context, initialize a new menu. Set the
34697 `menu' environment variable.
34698 (grub_normal_execute): Don't set and unset the environment
34699 variable `menu' here anymore. Only free the menu when leaving the
34700 context.
34701
34702 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
34703 leak.
34704
957b3a3e 347052006-12-11 Marco Gerards <marco@gnu.org>
34706
34707 * normal/menu_entry.c (run): Fix off by one bug so the last line
34708 is executed. Move the loader check to outside the loop.
34709
ef875714 347102006-12-08 Hollis Blanchard <hollis@penguinppc.org>
34711
34712 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
34713
4e739985 347142006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
34715
34716 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
34717 the number of sectors. Reported by Andrey Shuvikov
34718 <mr_hyro@yahoo.com>.
f19dbdb7 34719
790707f2 347202006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
34721
34722 * kern/disk.c (grub_disk_read): When there is a read error, always
34723 try to read only the necessary data.
f19dbdb7 34724
790707f2 34725 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
34726 disk/raid.c.
34727 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
34728 prototype.
34729 [GRUB_UTIL] (grub_raid_fini): Likewise.
34730 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 34731 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 34732 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
34733 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
34734 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
34735 and grub_raid_fini().
f19dbdb7 34736
03e58196 347372006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34738
34739 * include/grub/types.h (__unused): Rename to UNUSED.
34740 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
34741 (grub_elf64_size): Likewise.
f19dbdb7 34742
ae4f23bf 347432006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34744
34745 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
34746 grub_error_push and grub_error_pop in the error-handling path.
34747 (grub_elf32_load_segment): Only call grub_file_read with non-zero
34748 length.
34749
2166cc83 347502006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34751
34752 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
34753 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34755 (kernel_elf_SOURCES): Likewise.
34756 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
34757 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
34758 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34759 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34760 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
34761 (elf_mod_SOURCES): New variable.
34762 (elf_mod_CFLAGS): Likewise.
34763 (elf_mod_LDFLAGS): Likewise.
34764 * include/grub/types.h (__unused): New macro.
34765 * include/grub/elfload.h: New file.
34766 * kern/elf.c: Likewise.
34767 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
34768 (ELF32_LOADMASK): New macro.
34769 (ELF64_LOADMASK): Likewise.
34770 (vmlinux): Removed.
34771 (grub_linux_load32): New function.
34772 (grub_linux_load64): Likewise.
34773 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
34774 Use grub_elf_t instead of grub_file_t.
34775
a09d5aa5 347762006-11-02 Hollis Blanchard <hollis@penguinppc.org>
34777
34778 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
34779 `catch_result' to struct set_color_args.
34780
d976fc51 347812006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34782
34783 * normal/menu.c: Include grub/script.h.
34784 * normal/menu_entry.c: Likewise.
34785 * include/grub/normal.h: Do not include grub/script.h.
34786
67507549 347872006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34788
34789 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
34790
69203a99 347912006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34792
34793 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34794 disk.
34795 (grub_disk_close): Print debug messages when closing a disk.
34796 (grub_disk_read): Print debug messages when disk read fails.
34797 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34798 filesystem type.
34799 * kern/partition.c: Include misc.h.
34800 (grub_partition_iterate): Print debug messages when detecting
34801 partition type.
34802
e2b8278c 348032006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34804
34805 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34806 is negative.
34807 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34808
97b2f2ff 348092006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34810
34811 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34812 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34813
6555d655 348142006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34815
34816 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34817 instead of sizeof(lv). Patch by Michael Guntsche.
34818
4d42b77f 348192006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34820
34821 * disk/lvm.c: Rename VGS to VG_LIST.
34822 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34823 (grub_lvm_open): Likewise.
34824 Thanks to Michael Guntsche for finding this bug.
34825
5d74d927 348262006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34827
34828 * configure.ac (AC_INIT): Bumped to 1.95.
34829
a1bb27e4 348302006-10-14 Robert Millan <rmh@aybabtu.com>
34831
34832 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34833 with "/dev/.static/dev/md".
34834
e0994b8b 348352006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34836
34837 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34838 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34839 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34840 DRIVE_NAME are always freed.
34841
34842 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34843 DOS_PART, as a DOS partition is counted from one instead of zero
34844 now. Reported by Robert Millan.
34845
ddd5cee9 348462006-10-14 Robert Millan <rmh@aybabtu.com>
34847
34848 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34849 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34850 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34851 string returned by grub_guess_root_device.
34852 * util/i386/pc/grub-setup.c: Likewise.
34853 * util/i386/pc/grub-probefs.c: Likewise.
34854
34855 * util/i386/pc/grub-probefs.c: Rename to ...
34856 * util/i386/pc/grub-probe.c: ... this.
34857 * DISTLIST: Remove grub-probefs, add grub-probe.
34858 * conf/i386-efi.rmk: Likewise.
34859 * conf/i386-pc.rmk: Likewise.
34860 * util/i386/pc/grub-install.in: Likewise.
34861
34862 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34863 choose which information we want to print.
34864
2b002173 348652006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34866
34867 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34868 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34869 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34870 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34871 video/readers/tga.c and video/i386/pc/vbeutil.c.
34872
348732006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34874
34875 Added support for RAID and LVM.
f19dbdb7 34876
2b002173 34877 * disk/lvm.c: New file.
34878 * disk/raid.c: Likewise.
34879 * include/grub/lvm.h: Likewise.
f19dbdb7 34880 * include/grub/raid.h: Likewise.
2b002173 34881 * include/grub/util/lvm.h: Likewise.
34882 * include/grub/util/raid.h: Likewise.
34883 * util/lvm.c: Likewise.
34884 * util/raid.c: Likewise.
34885
34886 * include/grub/disk.h (grub_disk_dev_id): Add
34887 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34888 (grub_disk_get_size): New prototype.
34889 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34890 returns a partition.
34891 (grub_disk_get_size): New function.
f19dbdb7 34892
2b002173 34893 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34894 verbatim if grub_install_dos_part is -2.
34895
34896 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34897 and LVM devices.
34898
34899 * util/i386/pc/grub-setup.c (setup): New argument
34900 MUST_EMBED. Force embedding of GRUB when the argument is
34901 true. Close FILE before returning.
34902 (main): Add support for RAID and LVM.
f19dbdb7 34903
2b002173 34904 * conf/common.rmk: Add RAID and LVM modules.
34905 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34906 util/lvm.c.
34907 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34908
34909 * kern/misc.c (grub_strstr): New function.
34910 * include/grub/misc.h (grub_strstr): New prototype.
34911
050548d0 349122006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34913
34914 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34915
da849d2d 349162006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34917
34918 * kern/misc.c (grub_strtoull): Guess the base only if not
34919 specified.
34920
97b2f2ff 349212006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 34922
34923 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34924 PowerMac support.
34925
97b2f2ff 349262006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 34927
34928 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34929
34930 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34931 Remove `flags' argument. All callers changed.
34932 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34933 (IEEE1275_IHANDLE_INVALID): New variable.
34934 (IEEE1275_CELL_INVALID): New variable.
34935 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34936 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34937 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34938 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34939 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34940 codes from Open Firmware. All callers updated.
34941 (grub_ieee1275_next_property): Directly return Open Firmware return
34942 code.
34943 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34944 Standardize error checking from `grub_ieee1275_get_property'.
34945 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34946 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34947
97b2f2ff 349482006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 34949
34950 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34951 `instance_to_package_args' to `instance_to_path_args'.
34952
34953 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34954 `grub_ieee1275_chosen'.
34955
34956 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34957 `grub_ieee1275_interpret'.
34958
97b2f2ff 349592006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 34960
34961 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34962
97b2f2ff 349632006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 34964
34965 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34966 (__cmpdi): Likewise.
34967
34968 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34969 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34970 `grub_ssize_t'.
34971
02bb8acc 34972 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 34973
34974 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34975 to type `grub_ssize_t'.
34976 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34977
7f9a8531 349782006-09-22 Marco Gerards <marco@gnu.org>
34979
34980 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34981 newlines.
34982
b5ef1102 349832006-09-22 Marco Gerards <marco@gnu.org>
34984
34985 * commands/echo.c: New file.
34986
34987 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34988
34989 * conf/common.rmk (echo_mod_SOURCES): New variable.
34990 (echo_mod_CFLAGS): Likewise.
34991 (echo_mod_LDFLAGS): Likewise.
34992
2cff3677 349932006-09-22 Marco Gerards <marco@gnu.org>
34994
34995 * normal/main.c (get_line): Malloc memory instead of using
34996 preallocated memory. Removed the arguments `cmdline' and
34997 `max_len'. Updated all callers.
34998
6ba4688b 349992006-09-22 Marco Gerards <marco@gnu.org>
35000
35001 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
35002 (normal_mod_DEPENDENCIES): Likewise.
35003
35004 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
35005 (normal_mod_DEPENDENCIES): Likewise.
35006
35007 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
35008
e02ac02c 350092006-09-22 Johan Rydberg <jrydberg@gnu.org>
35010
35011 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
35012 programs.
35013 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
35014 (normal_mod_DEPENDENCIES): Likewise.
35015 * conf/i386-pc.mk: Regenerate.
35016 * conf/i386-efi.mk: Likewise
35017 * conf/common.mk: Likewise.
35018 * conf/powerpc-ieee1275.mk: Likewise.
35019 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 35020
8d252e44 350212006-09-22 Robert Millan <rmh@aybabtu.com>
35022
35023 Sync with i386 version.
35024 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
35025 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
35026
209bf7ac 350272006-09-21 Robert Millan <rmh@aybabtu.com>
35028
35029 Import from GRUB Legacy (lib/device.c):
35030 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
35031 (init_device_map) [__linux__]: Add support for I2O devices.
35032
6b146090 350332006-09-14 Marco Gerards <marco@gnu.org>
35034
35035 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
35036 `-melf_i386'.
35037
e38600a8 350382006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 35039
35040 * util/i386/pc/grub-install.in: Skip menu.lst when removing
35041 /boot/grub/*.lst.
78fa1790 35042
2952da5d 35043 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 35044
2952da5d 35045 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
35046 before adding it to device.map.
35047
01b82a64 350482006-08-15 Johan Rydberg <jrydberg@gnu.org>
35049
fe6b695a 35050 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 35051 compiles a file; using the -MD option.
35052 * conf/common.mk: Regenerate.
35053 * conf/i386-pc.mk: Likewise.
35054 * conf/i386-efi.mk: Likewise.
35055 * conf/powerpc-ieee1275.mk: Likewise.
35056 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 35057
1064790d 350582006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
35059
35060 Move the prototypes of grub_setjmp and grub_longjmp to
35061 cpu/setjmp.h, so that each architecture may specify different
35062 attributes.
f19dbdb7 35063
1064790d 35064 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
35065 (grub_longjmp): Likewise.
35066 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
35067 (grub_longjmp): Likewise.
35068 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
35069 (grub_longjmp): Likewise.
35070
35071 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
35072 [!GRUB_UTIL] (grub_longjmp): Removed.
35073
29dda3ed 350742006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
35075
35076 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
35077 "color!" method does not return any value.
35078
ad2a06ed 350792006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35080
35081 * include/grub/bitmap.h: New file.
35082
35083 * include/grub/i386/pc/vbeutil.h: Likewise.
35084
35085 * video/bitmap.c: Likewise.
35086
35087 * video/readers/tga.c: Likewise.
35088
35089 * video/i386/pc/vbeutil.c: Likewise.
35090
35091 * commands/videotest.c: Code cleanup and updated to reflect to new
35092 video API.
35093
35094 * term/gfxterm.c: Likewise.
35095
35096 * video/video.c: Likewise.
35097
35098 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
35099 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
35100 (bitmap_mod_SOURCES): New entry.
35101 (bitmap_mod_CFLAGS): Likewise.
35102 (bitmap_mod_LDFLAGS): Likewise.
35103 (tga_mod_SOURCES): Likewise.
35104 (tga_mod_CFLAGS): Likewise.
35105 (tga_mod_LDFLAGS): Likewise.
35106
35107 * include/grub/video.h (grub_video_blit_operators): New enum type.
35108 (grub_video_render_target): Changed as forward declaration and moved
35109 actual definition to be video driver specific.
35110 (grub_video_adapter.blit_bitmap): Added blitting operator.
35111 (grub_video_adapter.blit_render_target): Likewise.
35112 (grub_video_blit_bitmap): Likewise.
35113 (grub_video_blit_render_target): Likewise.
35114
35115 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
35116 driver specific render target definition.
35117 (grub_video_vbe_map_rgba): Added driver internal helper.
35118 (grub_video_vbe_unmap_color): Updated to use
35119 grub_video_i386_vbeblit_info.
35120 (grub_video_vbe_get_video_ptr): Likewise.
35121
35122 * include/grub/i386/pc/vbeblit.h
35123 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
35124 grub_video_i386_vbeblit_info.
35125 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35126 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35127 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35128 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35129 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35130 (grub_video_i386_vbeblit_index_index): Likewise.
35131 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
35132 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35133 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35134 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
35135 operator.
35136 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
35137 operator.
35138
35139 * video/i386/pc/vbeblit.c: Updated to reflect changes on
35140 include/grub/i386/pc/vbeblit.h.
35141
35142 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
35143 Updated to use grub_video_i386_vbeblit_info.
35144 (grub_video_i386_vbefill_R8G8B8): Likewise.
35145 (grub_video_i386_vbefill_index): Likewise.
35146 (grub_video_i386_vbefill): Added generic filler.
35147
35148 * video/i386/pc/vbefill.c: Updated to reflect changes on
35149 include/grub/i386/pc/vbefill.h.
35150
35151 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
35152 grub_video_i386_vbeblit_info.
35153 (grub_video_vbe_unmap_color): Likewise.
35154 (grub_video_vbe_blit_glyph): Likewise.
35155 (grub_video_vbe_scroll): Likewise.
35156 (grub_video_vbe_draw_pixel): Removed function.
35157 (grub_video_vbe_get_pixel): Likewise.
35158 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
35159 updated code to use it.
35160 (common_blitter): Added common blitter for render target and bitmap.
35161 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
35162 (grub_video_vbe_blit_render_target): Likewise.
35163
bc8c036d 351642006-07-30 Johan Rydberg <jrydberg@gnu.org>
35165
35166 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
35167 is in text mode if there is no console control protocol instance
35168 available.
35169
684a8eff 351702006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35171
35172 * include/grub/video.h: Code cleanup.
35173
35174 * include/grub/i386/pc/vbe.h: Likewise.
35175
35176 * video/i386/pc/vbe.c: Likewise.
35177
35178 * video/i386/pc/vbeblit.c: Likewise.
35179
35180 * video/i386/pc/vbefill.c: Likewise.
35181
35182 * video/video.c: Likewise. Also added more comments.
35183
5915059b 351842006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35185
35186 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
35187 (struct grub_biosdisk_dap): Likewise.
35188
35189 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
35190 linkage settings for all functions.
35191
90ce5d56 351922006-07-12 Marco Gerards <marco@gnu.org>
35193
35194 * configure.ac (--enable-mm-debug): Fix typo.
35195
35196 * genkernsyms.sh.in: Use proper quoting for `CC'.
35197
43e7f879 351982006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
35199
35200 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
35201 (normal_mod_ASFLAGS): Remove "-m32".
35202
4889bdec 352032006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
35204
35205 * util/misc.c: Include config.h.
35206 [!HAVE_MEMALIGN]: Do not include malloc.h.
35207 (grub_memalign): Use posix_memalign, if present. Then, use
35208 memalign, if present. Otherwise, emit an error.
35209
35210 * util/grub-emu.c: Do not include malloc.h.
35211
35212 * include/grub/util/misc.h: Include unistd.h. This is required for
35213 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
35214 D. Eades III <hde@foobar-qux.org>.
35215
35216 * configure.ac (AC_GNU_SOURCE): Added.
35217 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
35218 type.
35219
fd39d4da 352202006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
35221
35222 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
35223 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
35224
b786f3b5 352252006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
35226
35227 * include/grub/types.h (grub_host_addr_t): Rename to
35228 grub_target_addr_t.
35229 (grub_host_off_t): Rename to grub_target_off_t.
35230 (grub_host_size_t): Rename to grub_target_size_t.
35231 (grub_host_ssize_t): Rename to grub_target_ssize_t.
35232 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
35233
35234 * include/grub/kernel.h (struct grub_module_header): Change type
35235 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
35236 (grub_module_info): Likewise.
f19dbdb7 35237
051988bb 352382006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
35239
35240 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
35241 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
35242 Velazquez <jesus.velazquez@gmail.com>.
35243
deae281b 352442006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
35245
35246 Count partitions from 1 instead of 0 in the string representation
35247 of partitions. Still use 0-based internally.
f19dbdb7 35248
deae281b 35249 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
35250 (sun_partition_map_iterate): Use grub_partition_t instead of
35251 struct grub_partition *. Cast DESC->START_CYLINDER to
35252 grub_uint64_t after converting the endian.
35253 (sun_partition_map_probe): Subtract 1 for PARTNUM.
35254 (sun_partition_map_get_name): Add 1 to P->INDEX.
35255
35256 * partmap/pc.c (grub_partition_parse): Subtract 1 for
35257 PCDATA->DOS_PART.
35258 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
35259
35260 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
35261 zero instead of one.
35262 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
35263 (gpt_partition_map_get_name): Add 1 into P->INDEX.
35264
35265 * partmap/apple.c (apple_partition_map_iterate): Change the type
35266 of POS to unsigned.
35267 (apple_partition_map_probe): Subtract 1 for PARTNUM.
35268 (apple_partition_map_get_name): Add 1 into P->INDEX.
35269
35270 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
35271 of POS to unsigned.
35272 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
35273 calculate the offset of a partition.
35274 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
35275 (amiga_partition_map_get_name): Add 1 into P->INDEX.
35276
35277 * partmap/acorn.c (acorn_partition_map_find): Change the type of
35278 SECTOR to grub_disk_addr_t.
35279 (acorn_partition_map_iterate): Likewise.
35280 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
35281 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
35282 top.
35283 (acorn_partition_map_get_name): Add 1 into P->INDEX.
35284
35285 * kern/i386/pc/init.c (make_install_device): Add 1 into
35286 GRUB_INSTALL_DOS_PART.
35287
35288 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
35289 conditional.
35290
524a1e6a 352912006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
35292
35293 Clean up the code to support 64-bit addressing in disks and
35294 files. This change is not enough for filesystems yet.
f19dbdb7 35295
524a1e6a 35296 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
35297 type of "start" to grub_uint64_t.
35298 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
35299 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
35300 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
35301 convert addresses.
35302
35303 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
35304 to grub_disk_addr_t.
35305
35306 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
35307 string.
35308
35309 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35310
35311 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
35312 to char *.
35313
35314 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
35315
35316 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
35317
35318 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
35319
35320 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
35321 to grub_off_t, to detect an error from grub_file_seek.
35322 (grub_multiboot_load_elf32): Likewise.
35323
35324 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
35325 maximum unsigned long value when an overflow is detected.
35326 (grub_strtoull): New function.
35327 (grub_divmod64): Likewise.
35328 (grub_lltoa): use grub_divmod64.
35329
35330 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
35331 grub_disk_addr_t.
35332 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
35333 the pointer to next character. Use grub_strtoull instead of
35334 grub_strtoul.
35335 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
35336 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
35337 respectively.
35338
fe6b695a 35339 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 35340 return value is signed.
35341 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
35342 test if OFFSET is less than zero, as OFFSET is unsigned now.
35343
35344 * kern/disk.c (struct grub_disk_cache): Change the type of
35345 "sector" to grub_disk_addr_t.
35346 (grub_disk_cache_get_index): Change the type of SECTOR to
35347 grub_disk_addr_t. Calculate the hash with SECTOR casted to
35348 unsigned after shifting.
35349 (grub_disk_cache_invalidate): Change the type of SECTOR to
35350 grub_disk_addr_t.
35351 (grub_disk_cache_unlock): Likewise.
35352 (grub_disk_cache_store): Likewise.
35353 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
35354 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
35355 grub_disk_addr_t and grub_uint64_t, respectively.
35356 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
35357 body, as the value of OFFSET is tweaked by
35358 grub_disk_check_range. Change the types of START_SECTOR, LEN and
35359 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
35360 respectively.
35361 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
35362 body, as the value of OFFSET is tweaked by
35363 grub_disk_check_range. Change the types of LEN and N to
35364 grub_size_t.
35365
35366 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
35367 and "saved_offset" to grub_off_t.
35368 (test_header): Cast BUF to char *.
35369 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
35370 to char *.
35371 (grub_gzio_read): Change the types of OFFSET and SIZE to
35372 grub_off_t and grub_size_t, respectively.
35373
35374 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
35375 Removed.
35376 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
35377 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
35378 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
35379 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
35380 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
35381
35382 * include/grub/types.h (grub_off_t): Unconditionally set to
35383 grub_uint64_t.
35384 (grub_disk_addr_t): Changed to grub_uint64_t.
35385
35386 * include/grub/partition.h (struct grub_partition): Change the
35387 types of "start", "len" and "offset" to grub_disk_addr_t,
35388 grub_uint64_t and grub_disk_addr_t, respectively.
35389 (grub_partition_get_start): Return grub_disk_addr_t.
35390 (grub_partition_get_len): Return grub_uint64_t.
35391
35392 * include/grub/misc.h (grub_strtoull): New prototype.
35393 (grub_divmod64): Likewise.
35394
35395 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
35396 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
35397 grub_off_t, respectively.
35398 All callers and references changed.
35399
35400 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
35401 grub_size_t in "read".
35402 All callers and references changed.
35403
35404 * include/grub/file.h (struct grub_file): Change the types of
35405 "offset" and "size" to grub_off_t and grub_off_t,
35406 respectively. Change the type of SECTOR to grub_disk_addr_t in
35407 "read_hook".
35408 (grub_file_read): Change the type of LEN to grub_size_t.
35409 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
35410 grub_off_t.
35411 (grub_file_size): Return grub_off_t.
35412 (grub_file_tell): Likewise.
35413 All callers and references changed.
35414
35415 * include/grub/disk.h (struct grub_disk_dev): Change the types of
35416 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
35417 "write".
35418 (struct grub_disk): Change the type of "total_sectors" to
35419 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 35420 "read_hook".
524a1e6a 35421 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
35422 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
35423 (grub_disk_write): Likewise.
35424 All callers and references changed.
35425
35426 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
35427 char * for grub_strncmp to silence gcc.
35428 (grub_iso9660_mount): Likewise.
35429 (grub_iso9660_mount): Likewise.
35430 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
35431 return statement.
35432 (grub_iso9660_iterate_dir): Likewise.
35433 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
35434
35435 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
35436 LEN to grub_disk_addr_t and grub_size_t, respectively.
35437
35438 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35439
35440 * fs/jfs.c (grub_jfs_read_file): Likewise.
35441
35442 * fs/minix.c (grub_jfs_read_file): Likewise.
35443
35444 * fs/sfs.c (grub_jfs_read_file): Likewise.
35445
35446 * fs/ufs.c (grub_jfs_read_file): Likewise.
35447
35448 * fs/xfs.c (grub_jfs_read_file): Likewise.
35449
35450 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
35451 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
35452 respectively.
35453
35454 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
35455 BLKNR to -1 instead of returning GRUB_ERRNO.
35456 (grub_ext2_read_file): Change the types of SECTOR and
35457 LEN to grub_disk_addr_t and grub_size_t, respectively.
35458
35459 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
35460 LEN to grub_disk_addr_t and grub_size_t, respectively.
35461
35462 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
35463 grub_file_read.
35464
35465 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
35466 string. Do not cast SECTOR explicitly.
35467
35468 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
35469 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
35470 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
35471 grub_disk_addr_t and grub_size_t, respectively. If the sector is
35472 over 2TB and LBA mode is not supported, raise an error.
35473 (get_safe_sectors): New function.
35474 (grub_biosdisk_read): Use get_safe_sectors.
35475 (grub_biosdisk_write): Likewise.
35476
35477 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
35478 (grub_efidisk_write): Likewise.
35479
35480 * disk/loopback.c (delete_loopback): Cosmetic changes.
35481 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
35482 correctly.
35483 (grub_loopback_open): Likewise.
35484 (grub_loopback_read): Likewise. Also, change the type of POS to
35485 grub_off_t, and fix the usage of grub_memset.
35486
35487 * commands/i386/pc/play.c: Include grub/machine/time.h.
35488
35489 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
35490 print FILE->SIZE.
35491
35492 * commands/configfile.c: Include grub/env.h.
35493
35494 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
35495 GRUB_ERRNO directly instead. Change the type of POS to
35496 grub_off_t. Follow the coding standard.
35497
35498 * commands/blocklist.c: Include grub/partition.h.
35499 (grub_cmd_blocklist): Return an error if the underlying device is
35500 not a disk. Take the starting sector of a partition into account,
35501 if a partition is used.
35502
35503 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
35504 a length field.
35505 (lba_mode): Support 64-bit addresses.
35506 (chs_mode): Likewise.
35507 (copy_buffer): Adapted to the new offsets of a length field and a
35508 segment field.
35509 (blocklist_default_start): Allocate 64-bit space.
35510
35511 * boot/i386/pc/boot.S (force_lba): Removed.
35512 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 35513 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 35514 space.
35515 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
35516 is useless.
35517 (lba_mode): Refactored to support a 64-bit address. More size
35518 optimization.
35519 (setup_sectors): Likewise.
35520
53af98ad 355212006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
35522
35523 * DISTLIST: Added include/grub/i386/linux.h. Removed
35524 include/grub/i386/pc/linux.h
35525
35526 * configure.ac (AC_INIT): Bumped to 1.94.
35527
35528 * config.guess: Updated from gnulib.
35529 * config.sub: Likewise.
35530 * install-sh: Likewise.
35531 * mkinstalldirs: Likewise.
35532
b4c1940a 355332006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35534
35535 * conf/common.rmk (grub_modules_init.lst): Depended on
35536 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
35537 MODSRCFILES.
35538
35539 * genmk.rb (PModule::rule): Reverted the previous change.
35540
cfca1cfd 355412006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35542
35543 * conf/common.rmk (grub_modules_init.lst): Depends on
35544 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
35545 that the target does not exist before producing.
35546 (grub_modules_init.h): Remove the target before generating.
35547 (grub_emu_init.c): Likewise.
35548
35549 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
35550
aa6d7826 355512006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
35552
35553 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
35554 for the target-specific tests. Make sure that we also have the
35555 up-to-date target variables for those tests.
35556
26c607b9 355572006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35558
35559 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
35560 (PModule::rule): Likewise.
35561
0162321a 355622006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35563
35564 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
35565 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
35566 target-specific flags should be prefixed.
35567 (PModule::rule): Likewise.
35568
6c826348 355692006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
35570
35571 * configure.ac (CMP): Check if cmp is available explicitly.
35572
b977bf01 355732006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
35574
35575 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
35576 (target_cpu): New variable.
35577 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 35578
b977bf01 35579 * util/i386/pc/grub-install.in (host_cpu): Removed.
35580 (target_cpu): New variable.
35581 (pkglibdir): Use target_cpu instead of host_cpu.
35582
35583 * util/genmoddep.c: Removed.
f19dbdb7 35584
b977bf01 35585 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
35586 instead of GRUB_HOST_SIZEOF_VOID_P.
35587 * kern/dl.c: Likewise.
35588
35589 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
35590 ...
35591 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35592 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35593 (GRUB_TARGET_SIZEOF_LONG): ... this.
35594 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35595 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35596 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35597 to ...
35598 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35599 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35600 (GRUB_TARGET_SIZEOF_LONG): ... this.
35601 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35602 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35603 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35604 to ...
35605 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35606 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35607 (GRUB_TARGET_SIZEOF_LONG): ... this.
35608 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35609 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35610
35611 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
35612 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
35613 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
35614 instead of GRUB_HOST_SIZEOF_LONG.
35615 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
35616 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
35617 GRUB_CPU_WORDS_BIGENDIAN.
35618 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
35619 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
35620 grub_host_ssize_t.
35621
35622 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
35623 (genmoddep_SOURCES): Likewise.
35624 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
35625 (genmoddep_SOURCES): Likewise.
35626 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
35627 (genmoddep_SOURCES): Likewise.
35628 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
35629 Likewise.
35630 (genmoddep_SOURCES): Likewise.
35631
35632 * genmoddep.awk: New file.
35633
35634 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
35635 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
35636 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
35637 (PModule::rule): Likewise.
35638 (Program::rule): Likewise.
35639 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
35640 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
35641 respectively.
35642
35643 * configure.ac: Rewritten intensively to use host and target
35644 instead of build and host, respectively.
35645
35646 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
35647 (host_cpu): Removed.
35648 (target_cpu): New variable.
35649 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
35650 (BUILD_CC): Removed.
35651 (BUILD_CFLAGS): Likewise.
35652 (BUILD_CPPFLAGS): Likewise.
35653 (TARGET_CC): New variable.
35654 (TARGET_CFLAGS): Likewise.
35655 (TARGET_CPPFLAGS): Likewise.
35656 (TARGET_LDFLAGS): Likewise.
35657 (AWK): Likewise.
35658 (include): Use target_cpu instead of host_cpu.
35659 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 35660
b977bf01 35661 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
35662
f09771a1 356632006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
35664
35665 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
35666 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
35667 field 'false' to 'exec_on_false'.
35668 (grub_script_create_cmdif): Renamed argument names to reflect above
35669 changes.
35670
35671 * normal/execute.c (grub_script_execute_cmdif): Likewise.
35672
35673 * normal/script.c (grub_script_create_cmdif): Likewise.
35674
118f4fb3 356752006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
35676
35677 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
35678 top.
35679 (grub_hfsplus_btree_recptr): Likewise.
35680 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
35681 FILEBLOCK both to pass a block number and store next block
35682 number.
35683 (grub_hfsplus_read_block): Rewritten heavily to support an extent
35684 overflow file correctly. Specify errors appropriately, because
35685 fshelp expects that GRUB_ERRNO is set when fails. Reuse
35686 grub_hfsplus_btree_recptr to get the pointer to a found key.
35687 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
35688 is found.
35689
35690 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
35691 linux.mod.
35692 (_linux_mod_SOURCES): New variable.
35693 (_linux_mod_CFLAGS): Likewise.
35694 (_linux_mod_LDFLAGS): Likewise.
35695 (linux_mod_SOURCES): Likewise.
35696 (linux_mod_CFLAGS): Likewise.
35697 (linux_mod_LDFLAGS): Likewise.
35698
35699 * DISTLIST: Added loader/i386/efi/linux.c,
35700 loader/i386/efi/linux_normal.c and
35701 include/grub/i386/efi/loader.h.
35702
35703 * loader/i386/efi/linux.c: New file.
35704 * loader/i386/efi/linux_normal.c: Likewise.
35705 * include/grub/i386/efi/loader.h: Likewise.
35706
89a7d726 357072006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
35708
35709 * commands/blocklist.c: New file.
35710
35711 * DISTLIST: Added commands/blocklist.c.
35712
35713 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 35714 color for the background, and a darker color for the foreground.
89a7d726 35715 (grub_console_checkkey): Return READ_KEY.
35716 (grub_console_cls): Set the background to
35717 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
35718
35719 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
35720
35721 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
35722 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
35723
35724 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
35725 prototype.
35726
35727 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
35728 BG. The spec is wrong again.
35729
35730 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
35731 prototype.
35732 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
35733
35734 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35735 commands/blocklist.c.
35736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 35737
89a7d726 35738 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
35739 (blocklist_mod_SOURCES): New variable.
35740 (blocklist_mod_CFLAGS): Likewise.
35741 (blocklist_mod_LDFLAGS): Likewise.
35742
75c8f258 357432006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
35744
35745 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
35746 duplication.
35747 (lba_mode): Use %eax more intensively to reduce the code size.
35748
da2eb181 357492006-05-20 Marco Gerards <marco@gnu.org>
35750
35751 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
35752
35753 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
35754 for `menuentry'.
35755 (script): Accept leading newlines.
35756 (newlines): New rule to describe 0 or more newlines.
35757 (commands): Accept `command' with trailing newline. Fixed the
35758 order in which arguments were passed to `grub_script_add_cmd'.
35759 Accept commands separated by newlines.
35760 (function): Changed to accept newlines.
35761 (menuentry) Rewritten.
35762
35763 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
35764 front of the list, instead of to the end.
35765
577b4050 357662006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
35767
35768 * util/i386/pc/grub-install.in (bindir): New variable.
35769 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
35770 Shaver <lbgwjl@gmail.com>.
35771
0d6e1189 357722006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
35773
35774 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
35775 grub/machine/linux.h
35776 * loader/i386/pc/linux.c: Likewise.
35777
35778 * include/grub/i386/pc/linux.h: Moved to ...
35779 * include/grub/i386/linux.h: ... here.
35780
35781 * include/grub/i386/linux.h (struct linux_kernel_params): New
35782 struct.
f19dbdb7 35783
31b86e9f 357842006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
35785
35786 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
35787 checking.
35788 (grub_video_vbe_blit_glyph): Likewise.
35789 (grub_video_vbe_blit_bitmap): Likewise.
35790 (grub_video_vbe_blit_render_target): Likewise.
35791
83b984de 357922006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35793
35794 * configure.ac (--with-platform): Properly quote the square
35795 brackets.
35796
5f0413bd 357972006-05-08 Marco Gerards <marco@gnu.org>
35798
35799 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35800 this...
35801 (kernel_elf_HEADERS): ...to this. Updated all users.
35802 (grubof_symlist.c): Renamed from this...
35803 (kernel_elf_symlist.c): ...to this. Updated all users.
35804 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35805 (grubof_SOURCES): Renamed from this...
35806 (kernel_elf_SOURCES): ...to this.
35807 (grubof_HEADERS): Renamed from this...
35808 (kernel_elf_HEADERS): ...to this.
35809 (grubof_CFLAGS): Renamed from this...
35810 (kernel_elf_CFLAGS): ...to this.
35811 (grubof_ASFLAGS): Renamed from this...
35812 (kernel_elf_ASFLAGS): ...to this.
35813 (grubof_LDFLAGS): Renamed from this...
35814 (kernel_elf_LDFLAGS): ...to this.
35815
35816 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35817 this...
35818 (kernel_elf_HEADERS): ...to this. Updated all users.
35819 (grubof_symlist.c): Renamed from this...
35820 (kernel_elf_symlist.c): ...to this. Updated all users.
35821 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35822 (grubof_SOURCES): Renamed from this...
35823 (kernel_elf_SOURCES): ...to this.
35824 (grubof_HEADERS): Renamed from this...
35825 (kernel_elf_HEADERS): ...to this.
35826 (grubof_CFLAGS): Renamed from this...
35827 (kernel_elf_CFLAGS): ...to this.
35828 (grubof_ASFLAGS): Renamed from this...
35829 (kernel_elf_ASFLAGS): ...to this.
35830 (grubof_LDFLAGS): Renamed from this...
35831 (kernel_elf_LDFLAGS): ...to this.
35832
35833 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35834 `kernel.elf' instead of `grubof'.
35835
05568c2e 358362006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35837
35838 Add --with-platform to configure. Use pkglibdir instead of
35839 pkgdatadir. This is reported by Roger Leigh.
35840
35841 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35842 (host_vendor): Likewise.
35843 (host_os): Likewise.
35844 (pkgdatadir): Likewise.
35845 (platform): New variable.
35846 (pkglibdir): Likewise.
35847 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 35848
05568c2e 35849 * util/i386/pc/grub-install.in (datadir): Removed.
35850 (host_vendor): Likewise.
35851 (host_os): Likewise.
35852 (pkgdatadir): Likewise.
35853 (platform): New variable.
35854 (pkglibdir): Likewise.
35855 Use PKGLIBDIR instead of PKGDATADIR.
35856
35857 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35858 instead of GRUB_DATADIR.
35859 (main): Likewise.
35860 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35861 (main): Likewise.
35862 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35863 (main): Likewise.
35864
35865 * configure.ac (--with-platform): New option.
35866 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35867
35868 * Makefile.in: Include a makefile based on PLATFORM instead of
35869 HOST_VENDOR.
35870 (pkgdatadir): Not appended by the machine type.
35871 (pkglibdir): Appended by the machine type.
35872 (host_vendor): Removed.
35873 (platform): New variable.
35874 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35875 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35876 (uninstall): Likewise.
35877
4e93851c 358782006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35879
35880 Use the environment context in the menu. Remove the commands
35881 "default" and "timeout", and use variables instead.
f19dbdb7 35882
4e93851c 35883 * normal/menu.c: Include grub/env.h.
35884 (print_entry): Cast TITLE to silence gcc.
35885 (get_timeout): New function.
35886 (set_timeout): Likewise.
35887 (get_entry_number): Likewise.
35888 (run_menu): Use a default entry, a fallback entry and a timeout
35889 in the environment variables "default", "fallback" and
35890 "timeout". Also, tweak the default entry if it is not within the
35891 current menu entries.
35892 (grub_menu_run): Use a fallback entry in the environment variable
35893 "fallback".
35894
35895 * normal/main.c (read_config_file): Do not initialize
35896 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35897 NEWMENU->TIMEOUT.
35898 (grub_normal_execute): Use a data slot to store the menu.
35899
35900 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35901 fallback_entry and timeout.
35902 (struct grub_menu_list): Removed.
35903 (grub_menu_list_t): Likewise.
35904 (struct grub_context): Likewise.
35905 (grub_context_t): Likewise.
35906 (grub_context_get): Likewise.
35907 (grub_context_get_current_menu): Likewise.
35908 (grub_context_push_menu): Likewise.
35909 (grub_context_pop_menu): Likewise.
35910 (grub_default_init): Likewise.
35911 (grub_default_fini): Likewise.
35912 (grub_timeout_init): Likewise.
35913 (grub_timeout_fini): Likewise.
35914
35915 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35916 and timeout.mod.
35917 (normal_mod_SOURCES): Removed normal/context.c.
35918
35919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35920 commands/default.c, commands/timeout.c and normal/context.c.
35921 (normal_mod_SOURCES): Removed normal/context.c.
35922
35923 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35924 commands/timeout.c and normal/context.c.
35925 (normal_mod_SOURCES): Removed normal/context.c.
35926
35927 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35928 commands/default.c, commands/timeout.c and normal/context.c.
35929 (normal_mod_SOURCES): Removed normal/context.c.
35930
35931 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35932 timeout.mod.
35933 (default_mod_SOURCES): Removed.
35934 (default_mod_CFLAGS): Likewise.
35935 (default_mod_LDFLAGS): Likewise.
35936 (timeout_mod_SOURCES): Removed.
35937 (timeout_mod_CFLAGS): Likewise.
35938 (timeout_mod_LDFLAGS): Likewise.
35939
35940 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35941 normal/context.c.
35942
35943 * commands/default.c: Removed.
35944 * commands/timeout.c: Likewise.
35945 * normal/context.c: Likewise.
35946
1eb9cc1d 359472006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35948
35949 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35950
385bd9c1 359512006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35952
35953 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35954 "next" to "prev" for readability.
35955 (struct grub_env_sorted_var): New struct.
35956 (grub_env_context): Renamed to ...
35957 (initial_context): ... this.
35958 (grub_env_var_context): Renamed to ...
35959 (current_context): ... this.
35960 (grub_env_find): Look only at CURRENT_CONTEXT.
35961 (grub_env_context_open): Rewritten to copy exported variables from
35962 previous context.
35963 (grub_env_context_close): Rewritten according to the new
35964 scheme. Also, add an assertion to prevent the initial context from
35965 removed.
35966 (grub_env_insert): Removed the code for the sorted list.
35967 (grub_env_remove): Likewise.
35968 (grub_env_export): Simply mark the variable with
35969 GRUB_ENV_VAR_GLOBAL.
35970 (grub_env_set): A cosmetic change for naming consistency.
35971 (grub_env_get): Likewise.
35972 (grub_env_unset): Likewise.
35973 (grub_env_iterate): Rewritten to sort variables within this
35974 function.
35975 (grub_register_variable_hook): Fixed for naming consistency. Call
35976 grub_env_find again, only if NAME is not found at the first time.
35977 (mangle_data_slot_name): New function.
35978 (grub_env_set_data_slot): Likewise.
35979 (grub_env_get_data_slot): Likewise.
35980 (grub_env_unset_data_slot): Likewise.
35981
35982 * include/grub/env.h (grub_env_var_type): New enum.
35983 (GRUB_ENV_VAR_LOCAL): New constant.
35984 (GRUB_ENV_VAR_GLOBAL): Likewise.
35985 (GRUB_ENV_VAR_DATA): Likewise.
35986 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35987 "type".
35988 (grub_env_set): Replace VAR with NAME for consistency.
35989 (grub_register_variable_hook): Likewise.
35990 (grub_env_export): Specify the name of the argument.
35991 (grub_env_set_data_slot): New prototype.
35992 (grub_env_get_data_slot): Likewise.
35993 (grub_env_unset_data_slot): Likewise.
35994
7f362539 359952006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35996
35997 Extend the loader so that GRUB can accept a loader which comes
35998 back to GRUB when a loaded image exits. Also, this change adds
35999 support for a chainloader on EFI.
f19dbdb7 36000
7f362539 36001 * term/efi/console.c: Include grub/misc.h.
36002 (grub_console_checkkey): Display a scan code on the top for
36003 debugging. This will be removed once the EFI port gets stable.
36004 Correct the scan code mapping.
36005
36006 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
36007 allocate memory from larger regions, in order to reduce the number
36008 of allocated regions. Otherwise, the MacOSX loader panics.
36009 (filter_memory_map): Avoid less than 1MB for compatibility with
36010 other loaders.
36011 (add_memory_regions): Allocate from the tail of a region, if
36012 possible, to avoid allocating a region near to 1MB, for the MacOSX
36013 loader.
36014
36015 * kern/efi/init.c (grub_efi_set_prefix): Specify
36016 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
36017
36018 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
36019 argument IMAGE_HANDLE and specify it to get a loaded image.
36020 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
36021 grub_efi_get_loaded_image.
fe6b695a 36022 (grub_efi_get_filename): Divide the length by the size of
7f362539 36023 grub_efi_char16_t.
36024 (grub_efi_get_device_path): New function.
36025 (grub_efi_print_device_path): Print End Device Path nodes. Divide
36026 the length by the size of grub_efi_char16_t for a file path device
36027 path node.
36028
36029 * kern/loader.c (grub_loader_noreturn): New variable.
36030 (grub_loader_set): Accept a new argument NORETURN. Set
36031 GRUB_LOADER_NORETURN to NORETURN.
36032 All callers changed.
36033 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
36034 grub_machine_fini.
36035
36036 * include/grub/efi/efi.h (grub_efi_get_device_path): New
36037 prototype.
36038 (grub_efi_get_loaded_image): Take an argument to specify an image
36039 handle.
36040
36041 * include/grub/loader.h (grub_loader_set): Added one more argument
36042 NORETURN.
36043
36044 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
36045 instead of grub_efi_open_protocol.
36046 (grub_efidisk_get_device_name): Likewise.
36047 (grub_efidisk_close): Print a newline.
36048 (grub_efidisk_get_device_handle): Fixed to use
36049 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
36050 GRUB_EFI_DEVICE_PATH_TYPE.
36051
36052 * disk/efi/efidisk.c (device_path_guid): Moved to ...
36053 * kern/efi/efi.c (device_path_guid): ... here.
36054
36055 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
36056 chain.mod.
36057 (kernel_mod_HEADERS): Added efi/disk.h.
36058 (_chain_mod_SOURCES): New variable.
36059 (_chain_mod_CFLAGS): Likewise.
36060 (_chain_mod_LDFLAGS): Likewise.
36061 (chain_mod_SOURCES): Likewise.
36062 (chain_mod_CFLAGS): Likewise.
36063 (chain_mod_LDFLAGS): Likewise.
36064
36065 * DISTLIST: Added include/grub/efi/chainloader.h,
36066 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
36067
36068 * include/grub/efi/chainloader.h: New file.
36069 * loader/efi/chainloader.c: Likewise.
36070 * loader/efi/chainloader_normal.c: Likewise.
36071
c0111d6e 360722006-04-30 Marco Gerards <marco@gnu.org>
36073
36074 * commands/configfile.c (grub_cmd_source): New function.
36075 (GRUB_MOD_INIT): Register the commands `source' and `.'.
36076 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
36077
df5341da 360782006-04-30 Marco Gerards <marco@gnu.org>
36079
36080 * normal/execute.c (grub_script_execute_cmd): Change the return
36081 type to `grub_err_t'. Correctly return the error.
36082 (grub_script_execute_cmdline): In case a command line is not a
36083 command or a function, try to interpret it as an assignment.
36084
f85934bd 360852006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36086
36087 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
36088 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
36089 skip a node whose name is obviously invalid as UTF-16,
36090 i.e. contains a NUL character. Stop the iteration when the last
36091 directory entry is found. Instead of using the return value of
36092 grub_hfsplus_btree_iterate_node, store the value in RET and use
36093 it, because the iterator can be stopped by the last directory
36094 entry.
36095
8f8a2cf8 360962006-04-30 Marco Gerards <marco@gnu.org>
36097
36098 * include/grub/env.h (grub_env_export): New prototype. Reported
36099 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
36100
a27e84ce 361012006-04-30 Marco Gerards <marco@gnu.org>
36102
36103 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
36104 size of the extents in a catalog file record.
36105
eaef0553 361062006-04-29 Marco Gerards <marco@gnu.org>
36107
36108 * commands/configfile.c (grub_cmd_configfile): Execute the
36109 configfile within its own context.
36110
36111 * include/grub/env.h (grub_env_context_open): New prototype.
36112 (grub_env_context_close): Likewise.
36113
36114 * kern/env.c (grub_env): Removed.
36115 (grub_env_sorted): Likewise.
36116 (grub_env_context): New variable.
36117 (grub_env_var_context): Likewise.
36118 (grub_env_find): Search both the active context and the global
36119 context.
36120 (grub_env_context_open): New function.
36121 (grub_env_context_close): Likewise.
36122 (grub_env_insert): Likewise.
36123 (grub_env_remove): Likewise.
36124 (grub_env_export): Likewise.
36125 (grub_env_set): Changed to use helper functions to avoid code
36126 duplication.
36127 (grub_env_iterate): Rewritten so both the current context and the
36128 global context are being used.
36129
36130 * normal/command.c (export_command): New function.
36131 (grub_command_init): Register the `export' function.
36132
7b455f4d 361332006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
36134
36135 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
36136 explicitly to suppress gcc's warnings.
36137 * fs/fat.c (grub_fat_find_dir): Likewise.
36138 (grub_fat_label): Likewise.
36139 * fs/xfs.c (grub_xfs_read_inode): Likewise.
36140 (grub_xfs_mount): Likewise.
36141 (grub_xfs_label): Likewise.
36142 * fs/affs.c (grub_affs_mount): Likewise.
36143 (grub_affs_label): Likewise.
36144 (grub_affs_iterate_dir): Likewise.
36145 * fs/sfs.c (grub_sfs_mount): Likewise.
36146 (grub_sfs_iterate_dir): Likewise.
36147 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
36148 * fs/hfs.c (grub_hfs_mount): Likewise.
36149 (grub_hfs_cmp_catkeys): Likewise.
36150 (grub_hfs_find_dir): Likewise.
36151 (grub_hfs_dir): Likewise.
36152 (grub_hfs_label): Likewise.
36153 * fs/jfs.c (grub_jfs_mount): Likewise.
36154 (grub_jfs_opendir): Likewise.
36155 (grub_jfs_getent): Likewise.
36156 (grub_jfs_lookup_symlink): Likewise.
36157 (grub_jfs_label): Likewise.
36158 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
36159 (grub_hfsplus_iterate_dir): Likewise.
36160 (grub_hfsplus_btree_iterate_node): Made static.
36161
36162 * util/grub-emu.c (prefix): New variable.
36163 (grub_machine_set_prefix): New function.
36164 (main): Do not set the environment variable "prefix" here. Only
36165 set PREFIX, which is used later by grub_machine_set_prefix.
36166
36167 * include/grub/video.h: Do not include grub/symbol.h.
36168 (grub_video_register): Not exported. This symbol is not defined in
36169 the kernel.
36170 (grub_video_unregister): Likewise.
36171 (grub_video_iterate): Likewise.
36172 (grub_video_setup): Likewise.
36173 (grub_video_restore): Likewise.
36174 (grub_video_get_info): Likewise.
36175 (grub_video_get_blit_format): Likewise.
36176 (grub_video_set_palette): Likewise.
36177 (grub_video_get_palette): Likewise.
36178 (grub_video_set_viewport): Likewise.
36179 (grub_video_get_viewport): Likewise.
36180 (grub_video_map_color): Likewise.
36181 (grub_video_map_rgb): Likewise.
36182 (grub_video_map_rgba): Likewise.
36183 (grub_video_fill_rect): Likewise.
36184 (grub_video_blit_glyph): Likewise.
36185 (grub_video_blit_bitmap): Likewise.
36186 (grub_video_blit_render_target): Likewise.
36187 (grub_video_scroll): Likewise.
36188 (grub_video_swap_buffers): Likewise.
36189 (grub_video_create_render_target): Likewise.
36190 (grub_video_delete_render_target): Likewise.
36191 (grub_video_set_active_render_target): Likewise.
36192
36193 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
36194 Undefined.
36195 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
36196
36197 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
36198 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36199 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36200 instead of $(srcdir)/genkernsyms.sh.
36201
36202 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
36203 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36204 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36205 instead of $(srcdir)/genkernsyms.sh.
36206
36207 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
36208 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36209 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36210 instead of $(srcdir)/genkernsyms.sh.
36211
36212 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
36213 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36214 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36215 instead of $(srcdir)/genkernsyms.sh.
36216
36217 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
36218 genkernsyms.sh.
36219
36220 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
36221 genkernsyms.sh.
36222 (gensymlist.sh): New target.
36223 (genkernsyms.sh): Likewise.
36224
36225 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
36226 genkernsyms.sh.in and gensymlist.sh.in.
36227
36228 * genkernsyms.sh: Removed.
36229 * gensymlist.sh: Likewise.
f19dbdb7 36230
7b455f4d 36231 * genkernsyms.sh.in: New file.
36232 * gensymlist.sh.in: Likewise.
36233
1885bb27 362342006-04-25 Hollis Blanchard <hollis@penguinppc.org>
36235
36236 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
36237 clobber "prefix", since we may have already set it manually.
36238
71538dff 362392006-04-25 Hollis Blanchard <hollis@penguinppc.org>
36240
36241 * kern/misc.c (abort): New alias for grub_abort.
36242
2965c7cc 362432006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
36244
36245 A new machine-specific function "grub_machine_set_prefix" is
36246 defined. This is called after loading modules, so that a prefix
36247 initialization can use modules. Also, this change adds an
36248 intensive debugging feature for the memory manager via the
36249 configure option "--enable-mm-debug".
f19dbdb7 36250
2965c7cc 36251 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
36252 PART.LEN.
36253
36254 * kern/sparc64/ieee1275/init.c (abort): Removed.
36255 (grub_stop): Likewise.
36256 (grub_exit): New function.
36257 (grub_set_prefix): Renamed to ...
36258 (grub_machine_set_prefix): ... this.
36259 (grub_machine_init): Do not call grub_set_prefix.
36260
36261 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
36262 (grub_machine_set_prefix): ... this.
36263 (grub_machine_init): Do not call grub_set_prefix.
36264
36265 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
36266 (grub_machine_init): Do not set the prefix here.
36267
36268 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
36269
36270 * kern/efi/init.c: Include grub/mm.h.
36271 (grub_efi_set_prefix): New function.
36272
36273 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
36274 (grub_efi_get_filename): New function.
36275 (grub_print_device_path): Renamed to ...
36276 (grub_efi_print_device_path): ... this.
36277
36278 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
36279 [MM_DEBUG] (grub_realloc): Likewise.
36280 [MM_DEBUG] (grub_free): Likewise.
36281 [MM_DEBUG] (grub_memalign): Likewise.
36282 [MM_DEBUG] (grub_mm_debug): New variable.
36283 [MM_DEBUG] (grub_debug_malloc): New function.
36284 [MM_DEBUG] (grub_debug_free): New function.
36285 [MM_DEBUG] (grub_debug_realloc): New function.
36286 [MM_DEBUG] (grub_debug_memalign): New function.
36287
36288 * kern/misc.c (grub_abort): Print a newline to distinguish
36289 the message.
36290
36291 * kern/main.c (grub_main): Call grub_machine_set_prefix and
36292 grub_set_root_dev after loading modules. This is necessary when
36293 setting a prefix depends on modules.
36294
36295 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
36296 (grub_efi_print_device_path): ... this.
36297 (grub_efi_get_filename): New prototype.
36298 (grub_efi_set_prefix): Likewise.
36299
36300 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
36301 and grub/disk.h.
36302 (grub_efidisk_get_device_handle): New prototype.
36303 (grub_efidisk_get_device_name): Likewise.
36304
36305 * include/grub/mm.h: Include config.h.
36306 (MM_DEBUG): Removed.
36307 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
36308 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
36309 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
36310 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
36311 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
36312 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
36313 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
36314 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
36315 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
36316
36317 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
36318
36319 * disk/efi/efidisk.c: Include grub/partition.h.
36320 (iterate_child_devices): New function.
36321 (add_device): First, compare only last device path nodes, so that
36322 devices are sorted by the types.
36323 (grub_efidisk_get_device_handle): New function.
36324 (grub_efidisk_get_device_name): Likewise.
36325
36326 * configure.ac (--enable-mm-debug): New option to enable the
36327 memory manager debugging feature. This makes the binary much
36328 bigger, so is disabled by default.
36329
9cacaa17 363302006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
36331
36332 Use grub_abort instead of grub_stop, and grub_exit must be
36333 define in each architecture now. Also, this change adds support
36334 for EFI disks.
f19dbdb7 36335
9cacaa17 36336 * util/i386/pc/grub-probefs.c: Include grub/term.h.
36337 (grub_getkey): New function.
36338 (grub_term_get_current): Likewise.
36339
36340 * util/i386/pc/grub-setup.c: Include grub/term.h.
36341 (grub_getkey): New function.
36342 (grub_term_get_current): Likewise.
36343
36344 * util/misc.c (grub_stop): Renamed to ...
36345 (grub_exit): ... this.
36346
36347 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
36348 (grub_exit): ... this.
36349 (grub_machine_init): Use grub_abort instead of abort.
36350 (grub_stop): Removed.
36351
36352 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
36353 abort.
36354
36355 * kern/i386/pc/startup.S (grub_exit): New function.
36356 (cold_reboot): New label.
36357
36358 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
36359 (grub_efi_init): Call grub_efidisk_init.
36360 (grub_efi_fini): Call grub_efidisk_fini.
36361
36362 * kern/efi/efi.c: Include grub/mm.h.
36363 (grub_efi_console_control_guid): Renamed to ...
36364 (console_control_guid): ... this.
36365 (grub_efi_loaded_image_guid): Renamed to ...
36366 (loaded_image_guid): ... this.
36367 (grub_efi_locate_handle): New function.
36368 (grub_efi_open_protocol): Likewise.
36369 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
36370 GRUB_EFI_CONSOLE_CONTROL_GUID.
36371 (grub_efi_exit): Removed.
36372 (grub_stop): Likewise.
36373 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
36374 (grub_exit): New function.
36375 (grub_print_device_path): Likewise.
36376
36377 * kern/rescue.c (grub_rescue_cmd_exit): New function.
36378 (grub_enter_rescue_mode): Register "exit".
36379
36380 * kern/misc.c (grub_real_dprintf): A cosmetic change.
36381 (grub_abort): New function.
36382
36383 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
36384
36385 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
36386
36387 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
36388
36389 * include/grub/efi/efi.h (grub_efi_exit): Removed.
36390 (grub_print_device_path): New prototype.
36391 (grub_efi_locate_handle): Likewise.
36392 (grub_efi_open_protocol): Likewise.
36393
36394 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
36395 * disk/efi/efidisk.c: Likewise.
36396
36397 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
36398
36399 * include/grub/efi/console_control.h
36400 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
36401
36402 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
36403 last 8 bytes as an array.
36404 (GRUB_EFI_DISK_IO_GUID): New macro.
36405 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
36406 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
36407 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
36408 grub_uint8_t.
36409 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
36410 (struct grub_efi_device_path): Rename the member "sub_type" to
36411 "subtype".
36412 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
36413 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
36414 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
36415 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
36416 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
36417 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
36418 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
36419 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
36420 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
36421 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
36422 (struct grub_efi_pci_device_path): New structure.
36423 (grub_efi_pci_device_path_t): New type.
36424 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
36425 (struct grub_efi_pccard_device_path): New structure.
36426 (grub_efi_pccard_device_path_t): New type.
36427 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
36428 (struct grub_efi_memory_mapped_device_path): New structure.
36429 (grub_efi_memory_mapped_device_path_t): New type.
36430 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
36431 (struct grub_efi_vendor_device_path): New structure.
36432 (grub_efi_vendor_device_path_t): New type.
36433 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
36434 (struct grub_efi_controller_device_path): New structure.
36435 (grub_efi_controller_device_path_t): New type.
36436 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
36437 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
36438 (struct grub_efi_acpi_device_path): New structure.
36439 (grub_efi_acpi_device_path_t): New type.
36440 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
36441 (struct grub_efi_expanded_acpi_device_path): New structure.
36442 (grub_efi_expanded_acpi_device_path_t): New type.
36443 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
36444 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
36445 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
36446 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
36447 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
36448 (struct grub_efi_atapi_device_path): New structure.
36449 (grub_efi_atapi_device_path_t): New type.
36450 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
36451 (struct grub_efi_fibre_channel_device_path): New structure.
36452 (grub_efi_fibre_channel_device_path_t): New type.
36453 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
36454 (struct grub_efi_1394_device_path): New structure.
36455 (grub_efi_1394_device_path_t): New type.
36456 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
36457 (struct grub_efi_usb_device_path): New structure.
36458 (grub_efi_usb_device_path_t): New type.
36459 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
36460 (struct grub_efi_usb_class_device_path): New structure.
36461 (grub_efi_usb_class_device_path_t): New type.
36462 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
36463 (struct grub_efi_i2o_device_path): New structure.
36464 (grub_efi_i2o_device_path_t): New type.
36465 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
36466 (struct grub_efi_mac_address_device_path): New structure.
36467 (grub_efi_mac_address_device_path_t): New type.
36468 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
36469 (struct grub_efi_ipv4_device_path): New structure.
36470 (grub_efi_ipv4_device_path_t): New type.
36471 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
36472 (struct grub_efi_ipv6_device_path): New structure.
36473 (grub_efi_ipv6_device_path_t): New type.
36474 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
36475 (struct grub_efi_infiniband_device_path): New structure.
36476 (grub_efi_infiniband_device_path_t): New type.
36477 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
36478 (struct grub_efi_uart_device_path): New structure.
36479 (grub_efi_uart_device_path_t): New type.
36480 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
36481 (struct grub_efi_vendor_messaging_device_path): New structure.
36482 (grub_efi_vendor_messaging_device_path_t): New type.
36483 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
36484 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
36485 (struct grub_efi_hard_drive_device_path): New structure.
36486 (grub_efi_hard_drive_device_path_t): New type.
36487 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
36488 (struct grub_efi_cdrom_device_path): New structure.
36489 (grub_efi_cdrom_device_path_t): New type.
36490 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
36491 (struct grub_efi_vendor_media_device_path): New structure.
36492 (grub_efi_vendor_media_device_path_t): New type.
36493 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
36494 (struct grub_efi_file_path_device_path): New structure.
36495 (grub_efi_file_path_device_path_t): New type.
36496 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
36497 (struct grub_efi_protocol_device_path): New structure.
36498 (grub_efi_protocol_device_path_t): New type.
36499 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
36500 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
36501 (struct grub_efi_bios_device_path): New structure.
36502 (grub_efi_bios_device_path_t): New type.
36503 (struct grub_efi_disk_io): New structure.
36504 (grub_efi_disk_io_t): New type.
36505 (struct grub_efi_block_io_media): New structure.
36506 (grub_efi_block_io_media_t): New type.
36507 (struct grub_efi_block_io): New structure.
36508 (grub_efi_block_io_t): New type.
36509
36510 * include/grub/misc.h (grub_stop): Removed.
36511 (grub_exit): New prototype.
36512 (grub_abort): Likewise.
36513
36514 * include/grub/disk.h (enum grub_disk_dev_id): Added
36515 GRUB_DISK_DEVICE_EFIDISK_ID.
36516
36517 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
36518 disk/efi/efidisk.c.
36519 (kernel_syms.lst): Remove the target if an error occurs.
36520
49986a9f 365212006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
36522
36523 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
36524 as it was simply too buggy.
36525
970d3b8a 365262006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
36527
36528 * kern/misc.c (grub_lltoa): New function.
36529 (grub_vsprintf): Added support for the long long suffix,
36530 i.e. "ll".
36531
ff04ec24 365322006-04-20 Hollis Blanchard <hollis@penguinppc.org>
36533
36534 * Makefile.in (LDFLAGS): Add variable.
36535 (LD): Remove variable.
36536 * configure.ac: Add -m32 to LDFLAGS.
36537 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
36538 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
36539 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
36540 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
36541 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
36542 variables.
36543 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
36544 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
36545 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
36546
37e5e1a4 365472006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
36548
36549 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
36550 length for unknown glyph.
36551
c352d8dd 365522006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
36553
2eab1c0d 36554 Add support for pre-loaded modules into the EFI port.
f19dbdb7 36555
2eab1c0d 36556 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
36557 completely. Accept one more argument DIR. The caller has changed.
36558
36559 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
36560
36561 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
36562 (grub_efi_loaded_image_guid): New variable.
36563 (grub_efi_get_loaded_image): New function.
36564 (grub_arch_modules_addr): Likewise.
36565
36566 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
36567 prototype.
36568
36569 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
36570 (struct grub_efi_loaded_image): New structure.
36571 (grub_efi_loaded_image_t): New type.
36572
365732006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36574
c352d8dd 36575 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
36576 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
36577 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
36578
6d01d6b4 365792006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
36580
36581 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
36582
976a4ea0 365832006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
36584
36585 * DISTLIST: Added include/grub/efi/console.h,
36586 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
36587 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36588
36589 * include/grub/efi/console.h: New file.
36590 * include/grub/efi/time.h: Likewise.
36591 * include/grub/i386/efi/kernel.h: Likewise.
36592 * kern/efi/init.c: Likewise.
36593 * kern/efi/mm.c: Likewise.
36594 * term/efi/console.c: Likewise.
f19dbdb7 36595
976a4ea0 36596 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
36597 (grub_stop): Removed.
36598 (grub_get_rtc): Likewise.
36599 (grub_machine_init): Simply call grub_efi_init.
36600 (grub_machine_fini): Call grub_efi_fini.
36601
36602 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
36603 (grub_efi_output_string): Removed.
36604 (grub_efi_stall): New function.
36605 (grub_stop): Likewise.
36606 (grub_get_rtc): Likewise.
36607
36608 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
36609 (grub_efi_stall): New prototype.
36610 (grub_efi_allocate_pages): Likewise.
36611 (grub_efi_free_pages): Likewise.
36612 (grub_efi_get_memory_map): Likewise.
36613 (grub_efi_mm_init): Likewise.
36614 (grub_efi_mm_fini): Likewise.
36615 (grub_efi_init): Likewise.
36616 (grub_efi_fini): Likewise.
36617
36618 * include/grub/i386/efi/time.h: Do not include
36619 grub/symbol.h. Include grub/efi/time.h.
36620 (GRUB_TICKS_PER_SECOND): Removed.
36621 (grub_get_rtc): Likewise.
36622
36623 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
36624 Added padding. The EFI spec is buggy.
36625 (GRUB_EFI_BLACK): New macro.
36626 (GRUB_EFI_BLUE): Likewise.
36627 (GRUB_EFI_GREEN): Likewise.
36628 (GRUB_EFI_CYAN): Likewise.
36629 (GRUB_EFI_RED): Likewise.
36630 (GRUB_EFI_MAGENTA): Likewise.
36631 (GRUB_EFI_BROWN): Likewise.
36632 (GRUB_EFI_LIGHTGRAY): Likewise.
36633 (GRUB_EFI_BRIGHT): Likewise.
36634 (GRUB_EFI_DARKGRAY): Likewise.
36635 (GRUB_EFI_LIGHTBLUE): Likewise.
36636 (GRUB_EFI_LIGHTGREEN): Likewise.
36637 (GRUB_EFI_LIGHTCYAN): Likewise.
36638 (GRUB_EFI_LIGHTRED): Likewise.
36639 (GRUB_EFI_LIGHTMAGENTA): Likewise.
36640 (GRUB_EFI_YELLOW): Likewise.
36641 (GRUB_EFI_WHITE): Likewise.
36642 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
36643 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
36644 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
36645 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
36646 (GRUB_EFI_BACKGROUND_RED): Likewise.
36647 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
36648 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
36649 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
36650 (GRUB_EFI_TEXT_ATTR): Likewise.
36651
36652 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
36653 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36654 (kernel_mod_HEADERS): Added efi/time.h.
36655
83709125 366562006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
36657
36658 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
36659 include/grub/efi/api.h, include/grub/efi/console_control.h,
36660 include/grub/efi/efi.h, include/grub/efi/pe32.h,
36661 include/grub/i386/efi/time.h, kern/efi/efi.c,
36662 kern/i386/efi/init.c, kern/i386/efi/startup.S,
36663 and util/i386/efi/grub-mkimage.c.
36664
36665 * Makefile.in (RMKFILES): Added i386-efi.rmk.
36666
36667 * genmk.rb (PModule#rule): Do not export symbols if
36668 #{prefix}_EXPORTS is set to "no".
36669
36670 * conf/i386-efi.mk: New file.
36671 * conf/i386-efi.rmk: Likewise.
36672 * include/grub/efi/api.h: Likewise.
36673 * include/grub/efi/console_control.h: Likewise.
36674 * include/grub/efi/efi.h: Likewise.
36675 * include/grub/efi/pe32.h: Likewise.
36676 * include/grub/i386/efi/time.h: Likewise.
36677 * kern/efi/efi.c: Likewise.
36678 * kern/i386/efi/init.c: Likewise.
36679 * kern/i386/efi/startup.S: Likewise.
36680 * util/i386/efi/grub-mkimage.c: Likewise.
36681
366822006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 36683
36684 * include/grub/script.h: Include <grub/parser.h> and
36685 "grub_script.tab.h".
36686 (struct grub_lexer_param): New struct.
36687 (struct grub_parser_param): Likewise.
36688 (grub_script_create_arglist): Pass the state in an argument.
36689 (grub_script_add_arglist): Likewise.
36690 (grub_script_create_cmdline): Likewise.
36691 (grub_script_create_cmdblock): Likewise.
36692 (grub_script_create_cmdif): Likewise.
36693 (grub_script_create_cmdmenu): Likewise.
36694 (grub_script_add_cmd): Likewise.
36695 (grub_script_arg_add): Likewise.
36696 (grub_script_lexer_ref): Likewise.
36697 (grub_script_lexer_deref): Likewise.
36698 (grub_script_lexer_record_start): Likewise.
36699 (grub_script_lexer_record_stop): Likewise.
36700 (grub_script_mem_record): Likewise.
36701 (grub_script_mem_record_stop): Likewise.
36702 (grub_script_malloc): Likewise.
36703 (grub_script_yylex): Likewise.
36704 (grub_script_yyparse): Likewise.
36705 (grub_script_yyerror): Likewise.
36706 (grub_script_yylex): Likewise.
36707 (grub_script_lexer_init): Return the state.
36708
36709 * normal/lexer.c (grub_script_lexer_state): Removed variable.
36710 (grub_script_lexer_done): Likewise.
36711 (grub_script_lexer_getline): Likewise.
36712 (grub_script_lexer_refs): Likewise.
36713 (script): Likewise.
36714 (newscript): Likewise.
36715 (record): Likewise.
36716 (recording): Likewise.
36717 (recordpos): Likewise.
36718 (recordlen): Likewise.
36719 (grub_script_lexer_init): Return the state instead of setting
36720 global variables.
36721 (grub_script_lexer_ref): Use the newly added argument for state
36722 instead of globals.
36723 (grub_script_lexer_deref): Likewise.
36724 (grub_script_lexer_record_start): Likewise.
36725 (grub_script_lexer_record_stop): Likewise.
36726 (recordchar): Likewise.
36727 (nextchar): Likewise.
36728 (grub_script_yylex2): Likewise.
36729 (grub_script_yylex): Likewise.
36730 (grub_script_yyerror): Likewise.
36731
36732 * normal/parser.y (func_mem): Removed variable.
36733 (menu_entry): Likewise.
36734 (err): Likewise.
36735 (%lex-param): New parser option.
36736 (%parse-param): Likewise.
36737 (script): Always return the AST.
36738 (argument): Pass the state around.
36739 (arguments): Likewise.
36740 (grubcmd): Likewise.
36741 (commands): Likewise.
36742 (function): Likewise.
36743 (menuentry): Likewise.
36744 (if_statement): Likewise.
36745 (if): Likewise.
36746
36747 * normal/script.c (grub_script_memused): Removed variable.
36748 (grub_script_parsed): Likewise.
36749 (grub_script_malloc): Added a state argument. Use that instead of
36750 global variables.
36751 (grub_script_mem_record): Likewise.
36752 (grub_script_mem_record_stop): Likewise.
36753 (grub_script_arg_add): Likewise.
36754 (grub_script_add_arglist): Likewise.
36755 (grub_script_create_cmdline): Likewise.
36756 (grub_script_create_cmdif): Likewise.
36757 (grub_script_create_cmdmenu): Likewise.
36758 (grub_script_add_cmd): Likewise.
36759 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 36760
e2a8c904 367612006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 36762
36763 * normal/command.c (grub_command_init): Remove the title command.
36764
36765 * normal/lexer.c (grub_script_yylex): Renamed from this...
36766 (grub_script_yylex2): ... to this.
36767 (grub_script_yylex): New function. Temporary
36768 introduced to filter some tokens.
36769 (grub_script_yyerror): Print a newline.
36770
36771 * normal/main.c (read_config_file): Output information about the
36772 lines that contain errors. Wait for a key after all lines have
36773 been processed. Don't return an empty menu.
36774
36775 * normal/parser.y (func_mem): Don't initialize.
36776 (menu_entry): Likewise.
36777 (err): New variable.
36778 (script): Don't return anything when an error was encountered.
36779 (ws, returns): Removed rules.
36780 (argument): Disabled concatenated variable support.
36781 (arguments): Remove explicit separators.
36782 (grubcmd): Likewise.
36783 (function): Likewise.
36784 (menuentry): Likewise.
36785 (if): Likewise.
36786 (commands): Likewise. Add error handling.
36787
36788 * normal/script.c (grub_script_create_cmdline): If
36789 `grub_script_parsed' is 0, assume the parser encountered an error.
36790
c9a86192 367912006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
36792
36793 * configure.ac: Add support for EFI. Fix the typo
36794 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36795
70f3b243 367962006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36797
36798 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36799 foreign multibyte characters should be shown correctly.
36800
65f201ad 368012006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36802
36803 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36804 calculation.
36805 (read_config_file): Made it to close file before returning.
36806
b4b93674 368072006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36808
36809 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36810 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36811 video/i386/pc/vbefill.c.
36812
36813 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36814 video/i386/pc/vbefill.c.
36815
36816 * include/grub/video.h (grub_video_blit_format): New enum.
36817 (grub_video_mode_info): Added new member blit_format.
36818 (grub_video_get_blit_format): New function prototype.
36819
36820 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36821 function prototype.
36822 (grub_video_vbe_map_rgb): Likewise.
36823 (grub_video_vbe_unmap_color): Likewise.
36824
36825 * include/grub/i386/pc/vbeblit.h: New file.
36826
36827 * include/grub/i386/pc/vbefill.h: New file.
36828
36829 * video/video.c (grub_video_get_blit_format): New function.
36830 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36831 (grub_video_vbe_map_rgb): Likewise.
36832 (grub_video_vbe_unmap_color): Likewise.
36833
36834 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36835 optimized fills.
36836 (grub_video_vbe_blit_render_target): Changed to use more optimized
36837 blits.
36838 (grub_video_vbe_setup): Added detection for optimized settings.
36839 (grub_video_vbe_create_render_target): Likewise.
36840
36841 * video/i386/pc/vbeblit.c: New file.
36842
36843 * video/i386/pc/vbefill.c: New file.
36844
c2379b9c 368452006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36846
36847 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36848 here...
36849
36850 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36851 parsing to support both hex and dec ranges. If filename was missing
36852 show usage information.
36853
bd0d7896 368542006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36855
36856 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36857 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36858
36859 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36860 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36861 (video_mod_SOURCES): Added.
36862 (video_mod_CFLAGS): Likewise.
36863 (video_mod_LDFLAGS): Likewise.
36864 (gfxterm_mod_SOURCES): Likewise.
36865 (gfxterm_mod_CFLAGS): Likewise.
36866 (gfxterm_mod_LDFLAGS): Likewise.
36867 (videotest_mod_SOURCES): Likewise.
36868 (videotest_mod_CFLAGS): Likewise.
36869 (videotest_mod_LDFLAGS): Likewise.
36870 (vesafb_mod_SOURCES): Removed.
36871 (vesafb_mod_CFLAGS): Likewise.
36872 (vesafb_mod_LDFLAGS): Likewise.
36873 (vga_mod_SOURCES): Likewise.
36874 (vga_mod_CFLAGS): Likewise.
36875 (vga_mod_LDFLAGS): Likewise.
36876
36877 * commands/videotest.c: New file.
36878
36879 * font/manager.c (fill_with_default_glyph): Modified to use
36880 grub_font_glyph.
36881 (grub_font_get_glyph): Likewise.
36882 (fontmanager): Renamed from this...
36883 (font_manager): ... to this.
36884
36885 * include/grub/font.h (grub_font_glyph): Added new structure.
36886 (grub_font_get_glyph): Modified to use grub_font_glyph.
36887
36888 * include/grub/misc.h (grub_abs): Added as inline function.
36889
36890 * include/grub/video.h: New file.
36891
36892 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36893 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36894 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36895 (grub_vbe_get_controller_info): Renamed from this...
36896 (grub_vbe_bios_get_controller_info): ... to this.
36897 (grub_vbe_get_mode_info): Renamed from this...
36898 (grub_vbe_bios_get_mode_info): ... to this.
36899 (grub_vbe_set_mode): Renamed from this...
36900 (grub_vbe_bios_set_mode): ... to this.
36901 (grub_vbe_get_mode): Renamed from this...
36902 (grub_vbe_bios_get_mode): ... to this.
36903 (grub_vbe_set_memory_window): Renamed from this...
36904 (grub_vbe_bios_set_memory_window): ... to this.
36905 (grub_vbe_get_memory_window): Renamed from this...
36906 (grub_vbe_bios_get_memory_window): ... to this.
36907 (grub_vbe_set_scanline_length): Renamed from this...
36908 (grub_vbe_set_scanline_length): ... to this.
36909 (grub_vbe_get_scanline_length): Renamed from this...
36910 (grub_vbe_bios_get_scanline_length): ... to this.
36911 (grub_vbe_set_display_start): Renamed from this...
36912 (grub_vbe_bios_set_display_start): ... to this.
36913 (grub_vbe_get_display_start): Renamed from this...
36914 (grub_vbe_bios_get_display_start): ... to this.
36915 (grub_vbe_set_palette_data): Renamed from this...
36916 (grub_vbe_bios_set_palette_data): ... to this.
36917 (grub_vbe_set_pixel_rgb): Removed.
36918 (grub_vbe_set_pixel_index): Likewise.
36919
36920 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36921 from this...
36922 (grub_vbe_bios_get_controller_info): ... to this.
36923 (grub_vbe_get_mode_info): Renamed from this...
36924 (grub_vbe_bios_get_mode_info): ... to this.
36925 (grub_vbe_set_mode): Renamed from this...
36926 (grub_vbe_bios_set_mode): ... to this.
36927 (grub_vbe_get_mode): Renamed from this...
36928 (grub_vbe_bios_get_mode): ... to this.
36929 (grub_vbe_set_memory_window): Renamed from this...
36930 (grub_vbe_bios_set_memory_window): ... to this.
36931 (grub_vbe_get_memory_window): Renamed from this...
36932 (grub_vbe_bios_get_memory_window): ... to this.
36933 (grub_vbe_set_scanline_length): Renamed from this...
36934 (grub_vbe_set_scanline_length): ... to this.
36935 (grub_vbe_get_scanline_length): Renamed from this...
36936 (grub_vbe_bios_get_scanline_length): ... to this.
36937 (grub_vbe_set_display_start): Renamed from this...
36938 (grub_vbe_bios_set_display_start): ... to this.
36939 (grub_vbe_get_display_start): Renamed from this...
36940 (grub_vbe_bios_get_display_start): ... to this.
36941 (grub_vbe_set_palette_data): Renamed from this...
36942 (grub_vbe_bios_set_palette_data): ... to this.
36943 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36944 getting corrupted after calling it. Added more pushes and pops.
36945 (grub_vbe_bios_set_mode): Likewise.
36946 (grub_vbe_bios_get_mode): Likewise.
36947 (grub_vbe_bios_get_memory_window): Likewise.
36948 (grub_vbe_bios_set_scanline_length): Likewise.
36949 (grub_vbe_bios_get_scanline_length): Likewise.
36950 (grub_vbe_bios_get_display_start): Likewise.
36951 (grub_vbe_bios_set_palette_data): Likewise.
36952
36953 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36954 (cl_insert): Likewise.
36955 (cl_delete): Likewise.
36956
36957 * term/gfxterm.c: New file.
36958
36959 * term/i386/pc/vesafb.c: Removed file.
36960
36961 * video/video.c: New file.
36962
36963 * video/i386/pc/vbe.c (real2pm): Added new function.
36964 (grub_video_vbe_draw_pixel): Likewise.
36965 (grub_video_vbe_get_video_ptr): Likewise.
36966 (grub_video_vbe_get_pixel): Likewise
36967 (grub_video_vbe_init): Likewise.
36968 (grub_video_vbe_fini): Likewise.
36969 (grub_video_vbe_setup): Likewise.
36970 (grub_video_vbe_get_info): Likewise.
36971 (grub_video_vbe_set_palette): Likewise.
36972 (grub_video_vbe_get_palette): Likewise.
36973 (grub_video_vbe_set_viewport): Likewise.
36974 (grub_video_vbe_get_viewport): Likewise.
36975 (grub_video_vbe_map_color): Likewise.
36976 (grub_video_vbe_map_rgb): Likewise.
36977 (grub_video_vbe_map_rgba): Likewise.
36978 (grub_video_vbe_unmap_color): Likewise.
36979 (grub_video_vbe_fill_rect): Likewise.
36980 (grub_video_vbe_blit_glyph): Likewise.
36981 (grub_video_vbe_blit_bitmap): Likewise.
36982 (grub_video_vbe_blit_render_target): Likewise.
36983 (grub_video_vbe_scroll): Likewise.
36984 (grub_video_vbe_swap_buffers): Likewise.
36985 (grub_video_vbe_create_render_target): Likewise.
36986 (grub_video_vbe_delete_render_target): Likewise.
36987 (grub_video_vbe_set_active_render_target): Likewise.
36988 (grub_vbe_set_pixel_rgb): Remove function.
36989 (grub_vbe_set_pixel_index): Likewise.
36990 (index_color_mode): Remove static variable.
36991 (active_mode): Likewise.
36992 (framebuffer): Likewise.
36993 (bytes_per_scan_line): Likewise.
36994 (grub_video_vbe_adapter): Added new static variable.
36995 (framebuffer): Likewise.
36996 (render_target): Likewise.
36997 (initial_mode): Likewise.
36998 (mode_in_use): Likewise.
36999 (mode_list): Likewise.
37000
5f97350b 370012006-03-10 Marco Gerards <marco@gnu.org>
37002
37003 * configure.ac (AC_INIT): Bumped to 1.93.
37004
37005 * DISTLIST: Added `include/grub/hfs.h'.
37006
a3c5c6f8 370072006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
37008
37009 * boot/i386/pc/boot.S (general_error): Before looping, try INT
37010 18H, which might help the BIOS falling back to next boot media.
37011
6de53d26 370122006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
37013
37014 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
37015 Poe Chen <poe.poechen@gmail.com>.
37016
77c4a393 370172006-01-17 Marco Gerards <marco@gnu.org>
37018
37019 * include/grub/normal.h: Include <grub/script.h>.
37020 (grub_command_list): Removed struct.
37021 (grub_command_list_t): Removed type.
37022 (grub_menu_entry): Remove members `num' and `command_list'. Add
37023 members `commands' and `sourcecode'.
37024 * include/grub/script.h: Add inclusion guards.
37025 (grub_script_cmd_menuentry): New struct.
37026 (grub_script_execute_menuentry): New prototype.
37027 (grub_script_lexer_record_start): Likewise.
37028 (grub_script_lexer_record_stop): Likewise.
37029 * normal/execute.c (grub_script_execute_menuentry): New function.
37030 * normal/lexer.c (record, recording, recordpos, recordlen): New
37031 variables.
37032 (grub_script_lexer_record_start): New function.
37033 (grub_script_lexer_record_stop): Likewise.
37034 (recordchar): Likewise.
37035 (nextchar): Likewise.
37036 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
37037 2048 as the buffer size. Add the tokens `menuentry' and `@'.
37038 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
37039 (current_menu): New variable.
37040 (free_menu): Mainly rewritten.
37041 (grub_normal_menu_addentry): New function.
37042 (read_config_file): Rewritten.
37043 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 37044 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 37045 the menu entry.
37046 (run): Mainly rewritten.
37047 * normal/parser.y (menu_entry): New variable.
37048 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
37049 (menuentry): New rule.
37050 (command): Add `menuentry'.
37051 (if_statement): Allow additional returns before `fi'.
37052 * normal/script.c (grub_script_create_cmdmenu): New function.
37053
144f1f98 370542006-01-03 Marco Gerards <marco@gnu.org>
37055
37056 * INSTALL: GNU Bison is required.
37057 * configure.ac: Rewritten the test to detect Bison.
37058 * Makefile.in (YACC): New variable. Reported by Xun Sun
37059 <xun.sun.cn@gmail.com>.
37060
af4b2d89 370612006-01-03 Marco Gerards <marco@gnu.org>
37062
37063 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
37064 the HFS+ filesystem to filesystem blocks.
37065 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
37066 GCC warning is silenced.
37067
15643b71 370682006-01-03 Marco Gerards <marco@gnu.org>
37069
37070 * partmap/apple.c (apple_partition_map_iterate): Convert the data
37071 read from disk from big endian to host byte order.
37072
00905879 370732006-01-03 Hollis Blanchard <hollis@penguinppc.org>
37074
37075 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
37076 documentation.
37077 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
37078 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
37079 embedded HFS+ filesystem.
37080 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
37081 (grub_hfs_sblock): Move from here...
37082 * include/grub/hfs.h: To here... New file.
37083 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
37084 documentation.
37085 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
37086 New macros.
37087 (grub_hfsplus_volheader): Change type of member `magic' to
37088 `grub_uint16_t'.
37089 (grub_hfsplus_data): Add new member `embedded_offset'.
37090 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
37091 returned block.
37092 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
37093 Calculate the offset.
37094
8899bc3e 370952005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37096
37097 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
37098 Removed.
37099 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
37100
ae8c0277 371012005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37102
37103 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
37104 ENV->NAME is NULL after allocating ENV->VALUE.
37105
07084456 371062005-12-25 Marco Gerards <marco@gnu.org>
37107
37108 * kern/env.c (grub_env_set): Rewritten the error handling code.
37109
4750f5f1 371102005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37111
37112 * geninit.sh: Made more robust, and more portable.
37113
50214199 371142005-12-25 Marco Gerards <marco@gnu.org>
37115
37116 Add support for Apple HFS+ filesystems.
f19dbdb7 37117
50214199 37118 * fs/hfsplus.c: New file.
37119
37120 * DISTLIST: Added `fs/hfsplus.c'.
37121
37122 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
37123 (hfsplus_mod_SOURCES): New variable.
37124 (hfsplus_mod_CFLAGS): Likewise.
37125 (hfsplus_mod_LDFLAGS): Likewise.
37126 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
37127 (grub_setup_SOURCES): Likewise.
37128 (grub_mkdevicemap_SOURCES): Likewise.
37129 (grub_emu_SOURCES): Likewise.
37130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37131
37132 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
37133
37134 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
37135
befaed6c 371362005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37137
37138 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
37139 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
37140 include/grub/parser.h, include/grub/script.h, kern/parser.c,
37141 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
37142 normal/lexer.c, normal/parser.y, normal/script.c, and
37143 partmap/gpt.c.
37144 Removed kern/sparc64/cache.c.
37145
37146 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
37147 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
37148 grub_emu_init.c.
37149
37150 * configure.ac (AC_INIT): Bumped to 1.92.
37151
6a124103 371522005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
37153
37154 * kern/err.c (grub_error_push): Added new function to support error
37155 stacks.
37156 (grub_error_pop): Likewise.
37157 (grub_error_stack_items): New local variable to support error stacks.
37158 (grub_error_stack_pos): Likewise.
37159 (grub_error_stack_assert): Likewise.
37160 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
37161 stack depth.
37162 (grub_print_error): Added support to print errors from error stack.
37163
37164 * include/grub/err.h (grub_error_push): Added function prototype.
37165 (grub_error_pop): Likewise.
37166
be973c1b 371672005-12-09 Hollis Blanchard <hollis@penguinppc.org>
37168
37169 * configure.ac: Accept `powerpc64' as host_cpu.
37170 (amd64): Rename to `biarch32'.
37171
37172 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
37173 non-cacheline-aligned addresses.
37174
37175 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
37176 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
37177 if `size' is non-zero.
37178
b04216ab 371792005-12-03 Marco Gerards <mgerards@xs4all.nl>
37180
37181 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
37182 and `cd' to make sure the filename is not prefixed with a
37183 directory name.
37184 (pkgdata_MODULES): Add `gpt.mod'.
37185 (gpt_mod_SOURCES): New variable.
37186 (gpt_mod_CFLAGS): Likewise.
37187 (gpt_mod_LDFLAGS): Likewise.
37188
37189 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
37190
37191 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
37192 New macro.
37193
37194 * partmap/gpt.c: New file.
37195
37196 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
37197 GPT partition map is detected.
37198
41730ed9 371992005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
37200
37201 * commands/i386/pc/play.c: New file.
37202 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
37203 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
37204 macros.
f19dbdb7 37205
95dc3643 372062005-11-27 Marco Gerards <mgerards@xs4all.nl>
37207
37208 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
37209 ((unused))' to silence gcc warning.
37210
1569ec51 372112005-11-26 Hollis Blanchard <hollis@penguinppc.org>
37212
37213 * configure.ac: Correct `AC_PROG_YACC' test.
37214
9abde152 372152005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37216
37217 * util/powerpc/ieee1275/grub-install.in: Run the mount point
37218 check before installing files.
37219
44b83271 372202005-11-22 Mike Small <smallm@panix.com>
37221
37222 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
37223 number regex so multidigit numbers are recognized correctly.
37224
372252005-11-22 Mike Small <smallm@panix.com>
37226
37227 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
37228 debugging message before attempting to claim memory.
37229 (grub_rescue_cmd_initrd): Add a claim debugging message and try
37230 multiple addresses in case of failure.
37231
9c12956b 372322005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37233
37234 * term/tparm.c (get_space): Remove empty `if' statement.
37235
37236 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
37237
37238 * kern/parser.c (check_varstate): Rename `state' to 's'.
37239
aeaf81d9 372402005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37241
37242 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
37243 variable definitions to the beginning of each function. Sort stack
37244 variables by size.
37245 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
37246 `buf' argument to `char *'.
37247
79bbb63f 372482005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37249
37250 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
37251 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 37252 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 37253 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
37254 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
37255 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
37256 configfile.mod, search.mod, gzio.mod and test.mod.
37257 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
37258 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
37259 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
37260 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
37261 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
37262 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
37263 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
37264 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
37265 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
37266 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
37267 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37268 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37269 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
37270 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
37271 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
37272 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
37273 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37274 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
37275 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
37276 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
37277 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
37278 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
37279 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
37280
37281 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
37282 `grep --include'.
37283 (pkgdata_MODULES): Add test.mod.
37284
233b1628 372852005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37286
37287 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
37288 appending to variables with "+=".
37289 (PModule): Use full pathname to generate *.lst filenames.
37290
37291 * Makefile.in: Fixed list rules moved from genmk.rb.
37292 (.DELETE_ON_ERROR): New special target.
37293 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
37294
37295 * conf/i386-pc.rmk: Include conf/common.mk.
37296 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 37297 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 37298 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
37299 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
37300 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
37301 configfile.mod, search.mod, gzio.mod and test.mod.
37302 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
37303 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
37304 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
37305 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
37306 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
37307 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
37308 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
37309 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
37310 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
37311 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
37312 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37313 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37314 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
37315 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
37316 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
37317 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
37318 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37319 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
37320 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
37321 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
37322 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
37323 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
37324 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
37325 here...
37326 * conf/common.rmk: ... to here. New file.
37327
37328 * conf/common.mk: New file.
37329
16f820c8 373302005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
37331
37332 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
37333 (grub_script.tab.c): ... here.
37334
37335 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
37336 (grub_script.tab.c): ... here.
37337
37338 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
37339 (grub_script.tab.c): ... here.
37340
37341 * normal/command.c (grub_command_find): Fixed a memory leak of
37342 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
37343
63ba1554 373442005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37345
37346 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
37347 "@" which marks the start of a comment on ARM.
37348 (VARIABLE): Likewise.
37349
7f67dc13 373502005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37351
79bbb63f 37352 Add support for Linux/ADFS partition tables.
7f67dc13 37353
37354 * partmap/acorn.c: New file.
37355
37356 * include/grub/acorn_filecore.h: Likewise.
37357
37358 * DISTLIST: Added `partmap/acorn.c' and
37359 `include/grub/acorn_filecore.h'.
f19dbdb7 37360
7f67dc13 37361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37362 `partmap/acorn.c'.
37363 (pkgdata_MODULES): Add `acorn.mod'.
37364 (acorn_mod_SOURCES): New variable.
37365 (acorn_mod_CFLAGS): Likewise.
37366
37367 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37368 `partmap/acorn.c'.
37369 (pkgdata_MODULES): Add `acorn.mod'.
37370 (acorn_mod_SOURCES): New variable.
37371 (acorn_mod_CFLAGS): Likewise.
37372
37373 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
37374 (pkgdata_MODULES): Add `acorn.mod'.
37375 (acorn_mod_SOURCES): New variable.
37376 (acorn_mod_CFLAGS): Likewise.
37377 (acorn_mod_LDFLAGS): Likewise.
37378
37379 * include/types.h (grub_disk_addr_t): New typedef.
37380
6d099807 373812005-11-13 Marco Gerards <mgerards@xs4all.nl>
37382
37383 * geninit.sh: New file.
37384
37385 * geninitheader.sh: Likewise.
37386
37387 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
37388 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
37389 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
37390 * commands/configfile.c (grub_configfile_init)
37391 (grub_configfile_fini): Likewise.
37392 * commands/default.c (grub_default_init, grub_default_fini):
37393 Likewise.
37394 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
37395 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
37396 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
37397 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
37398 Likewise.
37399 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
37400 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
37401 Likewise.
37402 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 37403 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 37404 Likewise.
37405 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
37406 Likewise.
fe6b695a 37407 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 37408 Likewise.
37409 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
37410 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
37411 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
37412 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
37413 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
37414 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
37415 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
37416 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
37417 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
37418 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
37419 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
37420 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
37421 * partmap/amiga.c (grub_amiga_partition_map_init)
37422 (grub_amiga_partition_map_fini): Likewise.
37423 * partmap/apple.c (grub_apple_partition_map_init)
37424 (grub_apple_partition_map_fini): Likewise.
37425 * partmap/pc.c (grub_pc_partition_map_init)
37426 (grub_pc_partition_map_fini): Likewise.
37427 * partmap/sun.c (grub_sun_partition_map_init,
37428 grub_sun_partition_map_fini): Likewise.
37429 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
37430 Likewise.
37431
37432 * util/grub-emu.c: Include <grub_modules_init.h>.
37433 (main): Don't initialize and de-initialize any modules directly,
37434 use `grub_init_all' and `grub_fini_all' instead.
37435
37436 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
37437 `grub_vesafb_mod_init'.
37438 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
37439 all users.
37440 * term/i386/pc/vga.c (grub_vga_init): Renamed to
37441 `grub_vga_mod_init'. Updated all users.
37442 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 37443
6d099807 37444 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
37445 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
37446 rules.
37447
37448 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
37449 Generate a function to initialize the module in utilities.
37450 Updated all callers.
37451 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
37452 initialize the module in utilities. Updated all callers.
37453
9046bcf0 374542005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37455
37456 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
37457 escape sequence and a literal ^L to clear the screen.
37458
37459 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
37460 when returning from Open Firmware.
37461
d13ea639 374622005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37463
37464 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
37465 (grub_ofconsole_height): Likewise.
37466 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
37467 manually insert a '\n'.
37468 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
37469 `grub_ofconsole_height'. Return early if these are already set.
37470
a8fcf206 374712005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
37472
37473 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37474 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
37475 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
37476 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
37477 and `normal/script.c'.
37478 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37479 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37480 (test_mod_SOURCES): New variable.
37481 (test_mod_CFLAGS): Likewise.
37482 (test_mod_LDFLAGS): Likewise.
37483 (pkgdata_MODULES): Add `test.mod'.
37484 (grub_script.tab.c): New rule.
37485 (grub_script.tab.h): Likewise.
37486
b6b32745 374872005-11-07 Marco Gerards <mgerards@xs4all.nl>
37488
37489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37490 `commands/test.c', `normal/execute.c', `normal/lexer.c',
37491 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37492 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37493 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37494 (test_mod_SOURCES): New variable.
37495 (test_mod_CFLAGS): Likewise.
37496 (pkgdata_MODULES): Add `test.mod'.
37497 (grub_script.tab.c): New rule.
37498 (grub_script.tab.h): Likewise.
37499
daac212a 375002005-11-06 Marco Gerards <mgerards@xs4all.nl>
37501
37502 Add initial scripting support.
37503
37504 * commands/test.c: New file.
37505 * include/grub/script.h: Likewise.
37506 * normal/execute.c: Likewise.
37507 * normal/function.c: Likewise.
37508 * normal/lexer.c: Likewise.
37509 * normal/parser.y: Likewise.
37510 * normal/script.c: Likewise.
37511
37512 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 37513
daac212a 37514 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
37515 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
37516 `normal/function.c' and `normal/script.c'.
37517 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37518 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 37519 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
37520 variables.
daac212a 37521 (pkgdata_MODULES): Add `test.mod'.
37522 (grub_script.tab.c): New rule.
37523 (grub_script.tab.h): Likewise.
37524
37525 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
37526
37527 * include/grub/normal.h (grub_test_init): New prototype.
37528 (grub_test_fini): Likewise.
f19dbdb7 37529
daac212a 37530 * normal/command.c: Include <grub/script.h>.
37531 (grub_command_execute): Rewritten.
f19dbdb7 37532
daac212a 37533 * util/grub-emu.c (main): Call `grub_test_init' and
37534 `grub_test_fini'.
37535
77500b2b 375362005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37537
37538 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
37539 to 0.
37540 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
37541 there are no pending characters.
37542
e45deb9e 375432005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37544
37545 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
37546 `grub_strndup' to drop device arguments. Replace unnecessary
37547 `grub_strndup' with `grub_strdup'.
37548
4ce32619 375492005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37550
37551 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
37552 `debug' environment variable has been set.
37553
375542005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37555
4ce32619 37556 * Makefile.in (install-local): Use $(DATA).
37557 (uninstall): Likewise.
37558 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
37559 (sbin_UTILITIES): ... to here.
37560 (sbin_SCRIPTS): New variable.
37561 (grub_install_SOURCES): New variable.
37562 * util/powerpc/ieee1275/grub-install.in: New file.
37563 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
37564 variable.
37565 (add_segments): Call `grub_util_get_path'.
37566
25fe6f03 375672005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37568
37569 From Timothy Baldwin:
37570 * commands/ls.c (grub_ls_list_files): Close FILE with
37571 grub_file_close.
37572 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
37573
04ccf3ec 375742005-10-24 Marco Gerards <mgerards@xs4all.nl>
37575
37576 * include/grub/parser.h: New file.
37577
37578 * kern/parser.c: Likewise.
37579
37580 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
37581 (grub_setup_SOURCES): Likewise.
37582 (grub_probefs_SOURCES): Likewise.
37583 (grub_emu_SOURCES): Likewise.
37584 (kernel_img_HEADERS): Add `parser.h'.
37585
37586 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37587 (grub_emu_SOURCES): Add `kern/parser.c'.
37588 (grubof_SOURCES): Likewise.
37589
37590 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37591 (grubof_SOURCES): Add `kern/parser.c'.
37592
37593 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
37594
37595 * kern/misc.c (grub_split_cmdline): Removed function.
37596
37597 * kern/rescue.c: Include <grub/parser.h>.
37598 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
37599 of `grub_split_cmdline'.
37600
37601 * normal/command.c: Include <grub/parser.h>.
37602 (grub_command_execute): Use `grub_parser_split_cmdline' instead
37603 of `grub_split_cmdline'.
37604
37605 * normal/completion.c: Include <grub/parser.h>.
37606 (cmdline_state): New variable.
37607 (iterate_dir): End the filename with a quote depending on the
37608 command line state.
37609 (get_state): new function.
37610 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
37611 split the arguments and determine the current argument. When the
37612 argument string is not quoted, escape all spaces.
37613
6d8f4b0e 376142005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37615
37616 * normal/sparc64/setjmp.S: New file.
37617
15cf03ed 376182005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37619
37620 * include/grub/sparc64/libgcc.h: New file.
37621 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
37622 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
37623 normal/sparc64/setjmp.c.
37624
03e8661a 376252005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37626
37627 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
37628 * kern/sparc64/cache.S: New file.
37629 * kern/sparc64/cache.c: Removed.
37630 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
37631 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
37632 -mtune=ultrasparc.
37633 (COMMON_LDFLAGS): Add -melf64_sparc.
37634 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
37635 (grubof_SOURCES): Use cache.S instead of cache.c.
37636 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
37637 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
37638 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
37639 commented though.
37640 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
37641 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
37642 (linux_mod_CFLAGS): Commented out.
37643 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
37644 out because module isn't built.
37645 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
37646 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
37647 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
37648 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
37649 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
37650 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37651 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37652 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
37653 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
37654 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
37655 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37656 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37657 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
37658 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
37659
34eeec8a 376602005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
37661
37662 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
37663 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
37664 longer, because HFS should not be used on PC.
37665
708367a3 376662005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37667
37668 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
37669 consistently within the loop.
37670
6fa1251a 376712005-10-15 Marco Gerards <mgerards@xs4all.nl>
37672
37673 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
37674 directory can not be read.
37675
4801580b 376762005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37677
37678 * configure.ac (AC_INIT): Increase the version number to 1.91.
37679
37680 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
37681 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
37682 term/i386/pc/serial.c.
37683
219ad426 376842005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37685
37686 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
37687 file size must be permitted.
37688
37689 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
37690 between %ah and %al.
37691
688e5699 376922005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37693
37694 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
37695 grub_uint64_t.
37696 Call the hook with a NUL-terminated filename.
37697 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
37698 grub_cpu_to_be32.
37699
37700 * kern/term.c (cursor_state): New variable.
37701 (grub_term_set_current): Reset the cursor state on a new
37702 terminal.
37703 (grub_setcursor): Rewritten to use CURSOR_STATE.
37704 (grub_getcursor): New function.
37705
37706 * include/grub/term.h (grub_getcursor): New prototype.
37707
37708 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
37709 integers on ARM. Reported by Timothy Baldwin
37710 <T.E.Baldwin99@members.leeds.ac.uk>.
37711
bb34586c 377122005-10-11 Marco Gerards <mgerards@xs4all.nl>
37713
37714 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
37715 allocated.
37716 (grub_sfs_dir): Likewise.
37717
9a909877 377182005-10-09 Marco Gerards <mgerards@xs4all.nl>
37719
37720 Add support for the SFS filesystem.
37721
37722 * fs/sfs.c: New file.
37723
37724 * DISTLIST: Added `fs/sfs.c'.
37725
37726 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
37727 (grub_probefs_SOURCES): Likewise.
37728 (grub_emu_SOURCES): Likewise.
37729 (pkgdata_MODULES): Add `sfs.mod'.
37730 (sfs_mod_SOURCES): New variable.
37731 (sfs_mod_CFLAGS): Likewise.
37732 (sfs_mod_LDFLAGS): Likewise.
37733
37734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
37735 (pkgdata_MODULES): Add `sfs.mod'.
37736 (sfs_mod_SOURCES): New variable.
37737 (sfs_mod_CFLAGS): Likewise.
37738
37739 * util/grub-emu.c (main): Call `grub_sfs_init' and
37740 `grub_sfs_fini'.
37741
37742 * include/grub/fs.h (grub_sfs_init): New prototype.
37743 (grub_sfs_fini): Likewise.
37744
57bdbde3 377452005-10-07 Marco Gerards <mgerards@xs4all.nl>
37746
37747 Add support for the AFFS filesystem.
37748
37749 * fs/affs.c: New file.
37750
37751 * DISTLIST: Added `fs/affs.c'.
37752
37753 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
37754 (grub_probefs_SOURCES): Likewise.
37755 (grub_emu_SOURCES): Likewise.
37756 (pkgdata_MODULES): Add `affs.mod'.
37757 (affs_mod_SOURCES): New variable.
37758 (affs_mod_CFLAGS): Likewise.
37759 (affs_mod_LDFLAGS): Likewise.
37760
37761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
37762 (pkgdata_MODULES): Add `affs.mod'.
37763 (affs_mod_SOURCES): New variable.
37764 (affs_mod_CFLAGS): Likewise.
37765
37766 * util/grub-emu.c (main): Call `grub_affs_init' and
37767 `grub_affs_fini'.
37768
37769 * include/grub/fs.h (grub_affs_init): New prototype.
37770 (grub_affs_fini): Likewise.
37771
047b67e0 377722005-10-01 Marco Gerards <mgerards@xs4all.nl>
37773
37774 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
37775
59b8208a 377762005-10-01 Marco Gerards <mgerards@xs4all.nl>
37777
37778 * configure.ac: Accept `x86_64' as host_cpu. In that case add
37779 `-m32' to CFLAGS.
37780
37781 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
37782 linking.
f19dbdb7 37783
59b8208a 37784 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
37785 (COMMON_LDFLAGS): New variable.
37786 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
37787 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
37788 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
37789 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
37790 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
37791 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
37792 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37793 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37794 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37795 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37796 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37797 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37798 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37799 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37800 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37801 variables.
37802 (normal_mod_ASFLAGS): Add `-m32'.
37803
37804 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37805 (grub_host_size_t, grub_host_ssize_t): New types.
37806 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 37807 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 37808 `GRUB_HOST_SIZEOF_VOID_P'.
37809
37810 * include/grub/kernel.h (struct grub_module_header): Type of
37811 member offset changed to `grub_host_off_t'. Type of member size
37812 changed to `grub_host_size_t'.
37813 (struct grub_module_info): Type of member offset changed to
37814 `grub_host_off_t'. Type of member size changed to
37815 `grub_host_size_t'.
37816
b4093103 378172005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37818
37819 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 37820
b4093103 37821 * kern/i386/pc/startup.S (multiboot_header): New label.
37822 (multiboot_entry): Likewise.
37823 (multiboot_trampoline): Likewise.
37824
37825 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37826 Increased to 0x4A0.
37827
37828 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37829 put parentheses after a question mark.
37830 [!GRUB_UTIL] (my_mod): New variable.
37831
37832 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37833
b2499b29 378342005-09-28 Marco Gerards <mgerards@xs4all.nl>
37835
37836 Adds support for the XFS filesystem. Btrees are not supported
37837 yet.
37838
37839 * fs/xfs.c: New file.
37840
37841 * DISTLIST: Added `fs/xfs.c'.
37842
37843 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37844 (grub_probefs_SOURCES): Likewise.
37845 (grub_emu_SOURCES): Likewise.
37846 (pkgdata_MODULES): Add `xfs.mod'.
37847 (xfs_mod_SOURCES): New variable.
37848 (xfs_mod_CFLAGS): Likewise.
37849
37850 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37851 (pkgdata_MODULES): Add `xfs.mod'.
37852 (xfs_mod_SOURCES): New variable.
37853 (xfs_mod_CFLAGS): Likewise.
37854
37855 * util/grub-emu.c (main): Call `grub_xfs_init' and
37856 `grub_xfs_fini'.
37857
37858 * include/grub/fs.h (grub_xfs_init): New prototype.
37859 (grub_xfs_fini): Likewise.
37860
f19dbdb7 37861
83d37a62 378622005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37863
37864 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37865 color modes, allow greater than 16 colors to be configured as
37866 a default palette.
37867
47d2d65e 378682005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37869
37870 * normal/completion.c (complete_arguments): Add the qualifier
37871 const into OPTIONS.
37872
37873 From Omniflux <omniflux+lists@omniflux.com>:
37874 * include/grub/terminfo.h: New file.
37875 * include/grub/tparm.h: Likewise.
37876 * include/grub/i386/pc/serial.h: Likewise.
37877 * term/terminfo.c: Likewise.
37878 * term/tparm.c: Likewise.
37879 * term/i386/pc/serial.c: Likewise.
37880 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37881 serial.mod.
37882 (terminfo_mod_SOURCES): New variable.
37883 (terminfo_mod_CFLAGS): Likewise.
37884 (serial_mod_SOURCES): Likewise.
37885 (serial_mod_CFLAGS): Likewise.
37886
48b671ff 378872005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37888
37889 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37890 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37891 and kern/powerpc/ieee1275/cmain.c, respectively.
37892
37893 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37894 * kern/powerpc/ieee1275/crt0.S: ... here.
37895
37896 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37897 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 37898
48b671ff 37899 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37900 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37901 instead of boot/powerpc/ieee1275/crt0.S and
37902 boot/powerpc/ieee1275/cmain.c, respectively.
37903
37904 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37905 sectors. It was not used anyway.
37906
09fc77a7 379072005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37908
37909 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37910 `unused parameter' warning.
37911
003789c7 379122005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37913
37914 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37915 function.
37916 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37917 getcharwidth.
37918
67f44c86 379192005-08-28 Marco Gerards <metgerards@student.han.nl>
37920
37921 * include/grub/normal.h (enum grub_completion_type): Added
37922 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37923
37924 * normal/cmdline.c (print_completion): Handle
37925 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37926 * normal/menu_entry.c (store_completion): Likewise.
37927
37928 * normal/completion.c (complete_arguments): New function.
37929 (grub_normal_do_completion): Call `complete_arguments' when the
37930 current words start with a dash.
37931
0b5abe02 379322005-08-27 Marco Gerards <metgerards@student.han.nl>
37933
37934 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37935 `gzio.mod' instead of `io.mod').
37936
d9864ee1 379372005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37938
37939 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37940 (DISTDIRS): Added io and video.
37941 Rewrite the search routine to make an output consistently.
37942
37943 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37944 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37945 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37946 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37947 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37948 util/powerpc/ieee1275/misc.c.
f19dbdb7 37949
d9864ee1 37950 * include/grub/gzio.h: New file.
37951 * io/gzio.c: Likewise.
f19dbdb7 37952
d9864ee1 37953 * kern/file.c (grub_file_close): Call grub_device_close only if
37954 FILE->DEVICE is not NULL.
37955
37956 * include/grub/mm.h [!NULL] (NULL): New macro.
37957
37958 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37959
37960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37961 (pkgdata_MODULES): Added gzio.mod.
37962 (gzio_mod_SOURCES): New variable.
37963 (gzio_mod_CFLAGS): Likewise.
37964
37965 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37966 (pkgdata_MODULES): Added gzio.mod.
37967 (gzio_mod_SOURCES): New variable.
37968 (gzio_mod_CFLAGS): Likewise.
37969
37970 * commands/cat.c: Include grub/gzio.h.
37971 (grub_cmd_cat): Use grub_gzfile_open instead of
37972 grub_file_open.
f19dbdb7 37973
d9864ee1 37974 * commands/cmp.c: Include grub/gzio.h.
37975 (grub_cmd_cmp): Use grub_gzfile_open instead of
37976 grub_file_open.
37977
37978 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37979 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37980 grub_file_open.
37981 (grub_rescue_cmd_module): Likewise.
37982
fa46f4b5 379832005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37984
37985 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37986 kern/sparc64/ieee1275/init.c because it contains _start.
37987 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37988
e9211b5d 379892005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37990
37991 * configure.ac: Add support for sparc64 host with ieee1275
37992 firmware.
37993 * configure: Generated from configure.ac.
37994 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37995 instead of int.
37996 (grub_ofdisk_read): Likewise.
37997 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37998 pointers as (void *) to remove a warning.
37999 (grub_ofdisk_close): Likewise.
38000 (grub_ofdisk_read): Likewise.
38001 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
38002 returns, so make it return void to remove a warning.
38003 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
38004 Corresponding prototype change.
38005 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
38006 values, and cast the pointers as (void *) to remove a warning.
38007 (grub_mm_dump): Likewise.
38008 * conf/sparc64-ieee1275.mk: New file.
38009 * conf/sparc64-ieee1275.rmk: Likewise.
38010 * include/grub/sparc64/setjmp.h: Likewise.
38011 * include/grub/sparc64/types.h: Likewise.
38012 * include/grub/sparc64/ieee1275/console.h: Likewise.
38013 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38014 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38015 * include/grub/sparc64/ieee1275/time.h: Likewise.
38016 * kern/sparc64/cache.c: Likewise.
38017 * kern/sparc64/dl.c: Likewise.
38018 * kern/sparc64/ieee1275/init.c: Likewise.
38019 * kern/sparc64/ieee1275/openfw.c: Likewise.
38020
385c6a92 380212005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
38022
38023 * util/console.c (grub_ncurses_putchar): If C is greater than
38024 0x7f, set C to a question mark.
38025 (grub_ncurses_getcharwidth): New function.
38026 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
38027 getcharwidth.
38028
38029 * normal/menu.c (print_entry): Made aware of Unicode. First,
38030 convert TITLE to UCS-4, and predict the cursor position by
38031 grub_getcharwidth.
38032
38033 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
38034 const to SRC.
38035 * kern/misc.c (grub_utf16_to_utf8): Likewise.
38036
16ccb8b1 380372005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38038
38039 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
38040 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38041 grub_strcat.
38042
38043 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
38044 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38045 grub_strcpy and grub_strlen. Take it into account that a space
38046 character is inserted as a delimiter.
38047
6a85ce79 380482005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38049
38050 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 38051 invalid magic in the error.
6a85ce79 38052
38053 * commands/search.c: New file.
f19dbdb7 38054
6a85ce79 38055 * util/grub-emu.c (main): Call grub_search_init and
38056 grub_search_fini.
38057
38058 * kern/rescue.c (grub_rescue_print_disks): Removed.
38059 (grub_rescue_print_devices): New function.
38060 (grub_rescue_cmd_ls): Use grub_device_iterate with
38061 grub_rescue_print_devices instead of grub_disk_dev_iterate with
38062 grub_rescue_print_disks.
38063
38064 * kern/partition.c (grub_partition_iterate): Return the result of
38065 PARTMAP->ITERATE instead of GRUB_ERRNO.
38066
38067 * kern/device.c: Include grub/partition.h.
38068 (grub_device_iterate): New function.
38069
38070 * include/grub/partition.h (grub_partition_iterate): Return int
38071 instead of grub_err_t.
38072
38073 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
38074 prototype.
38075 [GRUB_UTIL] (grub_search_fini): Likewise.
38076
38077 * include/grub/device.h (grub_device_iterate): New prototype.
38078
38079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38080 commands/search.c.
38081 (pkgdata_MODULES): Added search.mod.
38082 (search_mod_SOURCES): New variable.
38083 (search_mod_CFLAGS): Likewise.
38084
38085 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
38086 (pkgdata_MODULES): Added search.mod.
38087 (search_mod_SOURCES): New variable.
38088 (search_mod_CFLAGS): Likewise.
38089
38090 * commands/ls.c (grub_ls_list_disks): Renamed to ...
38091 (grub_ls_list_devices): ... this, and use grub_device_iterate.
38092 All callers changed.
38093
38094 * DISTLIST: Added commands/search.c.
38095
ef095434 380962005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38097
38098 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
38099 conversion.
38100 (grub_getcharwidth): New function.
38101
38102 * kern/misc.c (grub_utf8_to_ucs4): New function.
38103
38104 * include/grub/term.h (struct grub_term): Added a new member
38105 "getcharwidth".
38106 (grub_getcharwidth): New prototype.
38107
38108 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
38109
38110 * term/i386/pc/console.c (map_char): New function. Segregated from
38111 grub_console_putchar.
38112 (grub_console_putchar): Use map_char.
38113 (grub_console_getcharwidth): New function.
38114 (grub_console_term): Specified grub_console_getcharwidth as
38115 getcharwidth.
38116
38117 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
38118 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
38119
38120 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
38121 GRUB_ERRNO.
38122 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
38123 on grub_strtoul completely.
38124 (write_char): Declare local variables in the beginning of the
38125 function.
38126 (grub_vesafb_getcharwidth): New function.
38127 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
38128 getcharwidth.
38129
1f0a95e4 381302005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
38131
38132 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
38133 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
38134 commands/i386/pc/vbetest.c.
38135
38136 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
38137 call grub_vbe_get_controller_info again, because the returned
38138 information is volatile.
38139 (grub_vbe_set_video_mode): Mostly rewritten.
38140 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
38141 grub_vbe_status_t correctly.
38142 (grub_vbe_get_video_mode_info): Likewise.
38143 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
38144 several if statements.
38145
38146 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
38147 * commands/i386/pc/vbeinfo.c: ... this.
38148
38149 * commands/i386/pc/vbe_test.c: Renamed to ...
38150 * commands/i386/pc/vbetest.c: ... this.
38151
38152 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
38153 ...
38154 (grub_cmd_vbeinfo): ... this. Save video modes before
38155 iterating. Skip a video mode, if it is not available, not enough
38156 information is given or it is monochrome. Show the memory
38157 model. Leave the interpretation of MODEVAR to grub_strtoul
38158 completely.
38159 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
38160 (GRUB_MOD_FINI): Likewise.
38161
38162 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
38163 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
38164 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
38165 duplicated grub_env_get. Leave the interpretation of MODEVAR to
38166 grub_strtoul completely.
38167 (real2pm): Removed.
38168 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
38169 (GRUB_MOD_FINI): Likewise.
38170
38171 * normal/misc.c: Include grub/mm.h.
38172
38173 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
38174 vbe_list_modes with vbetest.mod and vbeinfo.mod.
38175 (vbe_list_modes_mod_SOURCES): Removed.
38176 (vbe_list_modes_mod_CFLAGS): Likewise.
38177 (vbe_test_mod_SOURCES): Likewise.
38178 (vbe_test_mod_CFLAGS): Likewise.
38179 (vbeinfo_mod_SOURCES): New variable.
38180 (vbeinfo_mod_CFLAGS): Likewise.
38181 (vbetest_mod_SOURCES): Likewise.
38182 (vbetest_mod_CFLAGS): Likewise.
38183
992ffbbe 381842005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
38185
38186 * normal/misc.c: New file.
38187
38188 * DISTLIST: Added normal/misc.c.
f19dbdb7 38189
992ffbbe 38190 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
38191 DISK to HOOK. Call HOOK with DISK.
38192 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38193 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38194 * partmap/sun.c (sun_partition_map_iterate): Likewise.
38195
38196 * normal/menu_entry.c (struct screen): Added a new member
38197 "completion_shown".
38198 (completion_buffer): New global variable.
38199 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
38200 (store_completion): New function.
38201 (complete): Likewise.
38202 (clear_completions): Likewise.
38203 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
38204 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
38205 a tab, call complete.
38206
38207 * normal/completion.c (disk_dev): Removed.
38208 (print_simple_completion): Likewise.
38209 (print_partition_completion): Likewise.
38210 (print_func): New global variable.
38211 (add_completion): Do not take the arguments WHAT or PRINT any
38212 longer. Added a new argument TYPE. Instead of printing directly,
38213 call PRINT_FUNC if not NULL.
38214 All callers changed.
38215 (complete_device): Use a local variable DEV instead of
38216 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
38217 (grub_normal_do_completion): Take a new argument HOOK. Do not
38218 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
38219 empty string, return NULL instead.
38220 All callers changed.
38221
38222 * normal/cmdline.c (print_completion): New function.
38223
38224 * kern/partition.c (grub_partition_iterate): Add an argument DISK
38225 to HOOK.
38226 All callers changed.
38227
38228 * kern/disk.c (grub_print_partinfo): Removed.
38229
38230 * include/grub/partition.h (struct grub_partition_map): Add a new
38231 argument DISK into HOOK of ITERATE.
38232 (grub_partition_iterate): Add a new argument DISK to HOOK.
38233
38234 * include/grub/normal.h (enum grub_completion_type): New enum.
38235 (grub_completion_type_t): New type.
38236 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
38237 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
38238 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
38239 (GRUB_COMPLETION_TYPE_FILE): Likewise.
38240 (grub_normal_do_completion): Added a new argument HOOK.
38241 (grub_normal_print_device_info): New prototype.
38242
38243 * include/grub/disk.h (grub_print_partinfo): Removed.
38244
38245 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
38246 (normal_mod_SOURCES): Likewise.
38247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38248 (normal_mod_SOURCES): Likewise.
38249
38250 * commands/ls.c (grub_ls_list_disks): Use
38251 grub_normal_print_device_info instead of grub_print_partinfo. Free
38252 PNAME.
38253 (grub_ls_list_files): Use grub_normal_print_device_info instead of
38254 duplicating the code.
38255
0bd41162 382562005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
38257
38258 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 38259 follow GCS more precisely.
38260 * commands/i386/pc/vbe_test.c: Likewise.
38261 * include/grub/i386/pc/vbe.h: Likewise.
38262 * term/i386/pc/vesafb.c: Likewise.
38263 * video/i386/pc/vbe.c: Likewise.
0bd41162 38264
6323696a 382652005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
38266
38267 * DISTLIST: Added term/i386/pc/vesafb.c
38268 DISTLIST: Added video/i386/pc/vbe.c
38269 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
38270 DISTLIST: Added commands/i386/pc/vbe_test.c.
38271 * commands/i386/pc/vbe_list_modes.c: New file.
38272 * commands/i386/pc/vbe_test.c: Likewise.
38273 * term/i386/pc/vesafb.c: Likewise.
38274 * video/i386/pc/vbe.c: Likewise.
38275 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
38276 (grub_vbe_probe) Added prototype.
38277 (grub_vbe_set_video_mode) Likewise.
38278 (grub_vbe_get_video_mode) Likewise.
38279 (grub_vbe_get_video_mode_info) Likewise.
38280 (grub_vbe_set_pixel_rgb) Likewise.
38281 (grub_vbe_set_pixel_index) Likewise.
38282 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
38283 (pkgdata_MODULES): Added vesafb.mod.
38284 (pkgdata_MODULES): Added vbe_list_modes.mod.
38285 (pkgdata_MODULES): Added vbe_test.mod.
38286 (vbe_mod_SOURCES): Added.
38287 (vbe_mod_CFLAGS): Likewise.
38288 (vesafb_mod_SOURCES): Likewise.
38289 (vesafb_mod_CFLAGS): Likewise.
38290 (vbe_list_modes_mod_SOURCES): Likewise.
38291 (vbe_list_modes_mod_CFLAGS): Likewise.
38292 (vbe_test_mod_SOURCES): Likewise.
38293 (vbe_test_mod_CFLAGS): Likewise.
38294
0a74e62f 382952005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
38296
0a74e62f 38297 * normal/command.c (grub_command_execute): If INTERACTIVE is
38298 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
38299 CMDLINE. Disable the pager if INTERACTIVE is true.
38300 All callers are changed.
38301
38302 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
38303 before reading a config file.
38304 * normal/main.c (read_config_file): Even if a command is not
38305 found, register it if it is within an entry.
38306
38307 * util/grub-emu.c: Include sys/types.h and unistd.h.
38308 (options): Added --hold.
38309 (struct arguments): Added a new member "hold".
38310 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
38311 missing.
38312 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
38313 cleared by a debugger, if it is not zero.
38314
38315 * include/grub/normal.h (grub_command_execute): Add an argument
38316 INTERACTIVE.
38317
e51f85ae 383182005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
38319
38320 * DISTLIST: Added include/grub/i386/pc/vbe.h.
38321
e9c6f39b 383222005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
38323
38324 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
38325 program with another one, because the old one didn't detect a bug
38326 in gcc-3.4. Always use regparm 2, because the new test is still
38327 not enough for gcc-4.0. Someone must investigate a simple test
38328 case which detects a bug in gcc-4.0.
38329
8de3495c 383302005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
38331
38332 * DISTLIST: Added normal/completion.c.
38333
38334 * normal/completion.c: New file.
f19dbdb7 38335
8de3495c 38336 * term/i386/pc/console.c (grub_console_getwh): New function.
38337 (grub_console_term): Assign grub_console_getwh to getwh.
38338
38339 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
38340 function is defined in normal/completion.c as
38341 grub_normal_do_completion.
38342 (grub_cmdline_get): Use grub_normal_do_completion instead of
38343 grub_tab_complete.
38344
38345 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
38346 returns non-zero, otherwise return 0.
38347 (grub_partition_iterate): First, probe the partition map. Then,
38348 call ITERATE only for this partition map.
38349
38350 * kern/misc.c (grub_strncmp): Rewritten.
38351
38352 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
38353 returns non-zero. Otherwise return 0.
38354
38355 * include/grub/partition.h (grub_partition_map_iterate): Return
38356 int instead of void.
38357
38358 * include/grub/normal.h (grub_normal_do_completion): New prototype.
38359
38360 * include/grub/misc.h (grub_strncmp): Change the type of N to
38361 grub_size_t.
38362
38363 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
38364 of void.
38365
38366 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 38367 unsigned explicitly before comparing it with I.
8de3495c 38368
38369 * kern/main.c (grub_env_write_root): Add the attribute unused into
38370 VAR.
38371
38372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38373 normal/completion.c.
38374 (normal_mod_SOURCES): Likewise.
38375 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38376 (normal_mod_SOURCES): Likewise.
38377
38378 * normal/command.c (grub_iterate_commands): If ITERATE returns
38379 non-zero, return one immediately.
38380
e85e144b 383812005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
38382
38383 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
38384 * kern/i386/pc/startup.S: Updated Global Descriptor table's
38385 descriptions.
38386 (grub_vbe_get_controller_info): New function.
38387 (grub_vbe_get_mode_info): Likewise.
38388 (grub_vbe_set_mode): Likewise.
38389 (grub_vbe_get_mode): Likewise.
38390 (grub_vbe_set_memory_window): Likewise.
38391 (grub_vbe_get_memory_window): Likewise.
38392 (grub_vbe_set_scanline_length): Likewise.
38393 (grub_vbe_get_scanline_length): Likewise.
38394 (grub_vbe_set_display_start): Likewise.
38395 (grub_vbe_get_display_start): Likewise.
38396 (grub_vbe_set_palette_data): Likewise.
38397 * include/grub/i386/pc/vbe.h: New file.
38398
c46153d2 383992005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38400
38401 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38402 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
38403 * DISTLIST: Likewise.
38404 * kern/ieee1275/of.c: Moved to ...
38405 * kern/ieee1275/ieee1275.c: ... here.
38406
0cb90c45 384072005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38408
38409 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
38410 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
38411 Pass 0 as `end' parameter to grub_strtoul().
38412
a19fb360 384132005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38414
38415 * include/grub/powerpc/ieee1275/console.h: Do not include
38416 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
38417 ifdef.
38418 (grub_console_cur_color): Remove i386-specific prototype.
38419 (grub_console_real_putchar): Likewise.
38420 (grub_console_checkkey): Likewise.
38421 (grub_console_getkey): Likewise.
38422 (grub_console_getxy): Likewise.
38423 (grub_console_gotoxy): Likewise.
38424 (grub_console_cls): Likewise.
38425 (grub_console_setcursor): Likewise.
38426 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
38427 Include <grub/machine/console.h>.
38428 * term/ieee1275/ofconsole.c: Likewise.
38429
4ac9bd04 384302005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
38431
38432 * Makefile.in (LIBLZO): New variable.
38433
38434 * configure.ac: Check for LZO version 2.
38435
38436 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
38437 lzo/lzo1x.h instead of lzo1x.h.
38438
38439 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
38440 of -llzo.
38441
38442 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
38443 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
38444
38445 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
38446 copying the data from PARTITION to P.
38447
f4917dfd 384482005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38449
38450 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
38451 negative, unload the module.
38452
38453 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
38454 map is "pc_partition_map" but not "pc".
38455 (usage): Fix the description. The options are --boot-image and
38456 --core-image but not --boot-file or --core-file.
38457 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
38458 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
38459 DEFAULT_DIRECTORY.
38460
38461 * util/i386/pc/grub-install.in: Do not specify --boot-file or
38462 --core-file. Specify INSTALL_DEVICE as an argument.
38463
38464 * util/console.c: Include config.h.
38465 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
38466 [HAVE_NCURSES_H]: Include ncurses.h.
38467 [HAVE_CURSES_H]: Include curses.h.
38468 [!A_NORMAL] (A_NORMAL): Defined as zero.
38469 [!A_STANDOUT] (A_STANDOUT): Likewise.
38470
38471 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
38472 -lncurses.
38473 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
38474
38475 * configure.ac: Check for curses libraries and headers.
38476
38477 * Makefile.in (LIBCURSES): New variable.
38478
38479 * genmk.rb (Script::rule): Set the executable bits.
38480
38481 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
38482 name of the PC partition map is "pc_partition_map" but not "pc".
38483
0e143073 384842005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38485
38486 * util/i386/pc/grub-install.in (grub_probefs): New variable.
38487 (modules): Likewise.
38488 (usage): Added descriptions for --modules and --grub-probefs.
38489 Handle --modules and --grub-probefs. Save the arguments in MODULES
38490 and GRUB_PROBEFS, respectively.
38491 Auto-detect a filesystem module against GRUBDIR. If the result is
38492 empty and modules are not specified explicitly, abort the
38493 installation. Add the result to MODULES.
38494
38495 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
38496 disk/powerpc/ieee1275/ofdisk.c,
38497 include/grub/powerpc/ieee1275/init.h and
38498 term/powerpc/ieee1275/ofconsole.c.
38499 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
38500 term/ieee1275/ofconsole.c.
38501
38502 * include/grub/powerpc/ieee1275/console.h: Resurrected.
38503
38504 * COPYING: Upgraded to the latest version. Only the address of the
38505 FSF office has changed.
f19dbdb7 38506
efd6e6d5 385072005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38508
38509 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38510 kern/ieee1275.c with kern/ieee1275/of.c.
38511
38512 * kern/ieee1275.c: Moved to ...
38513 * kern/ieee1275/of.c: ... here.
38514
8ceafda2 385152005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
38516
38517 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 38518 readability.
8ceafda2 38519
38520 * config.guess: Updated to the latest version from gnulib.
38521 * config.sub: Likewise.
38522 * install.sh: Likewise.
38523 * mkinstalldirs: Likewise.
38524
38525 * include/grub/console.h: Removed. This file is arch-specific. Do
38526 not put this in include/grub.
38527
38528 * include/grub/i386/pc/console.h: Resurrected.
38529
38530 * util/console.c: Include grub/machine/console.h instead of
38531 grub/console.h.
38532 * util/grub-emu.c: Likewise.
38533
267f6cd9 385342005-08-04 Marco Gerards <metgerards@student.han.nl>
38535
38536 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
38537 hardcoded value.
f19dbdb7 38538
267f6cd9 38539 From Vincent Pelletier <subdino2004@yahoo.fr>
38540 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
38541 Redefined to use grub_getwh.
38542 (grub_term): New member named getwh.
38543 (grub_getwh): New prototype.
38544 * kern/term.c (grub_getwh): New function.
38545 * term/i386/pc/console.c (grub_console_getwh): New function.
38546 (grub_console_term): New member `getwh'.
38547 * term/i386/pc/vga.c (grub_vga_getwh): New function.
38548 (grub_vga_term): New member `getwh'.
0b5abe02 38549 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 38550 grub_ssize_t.
38551 (grub_ofconsole_getw): New function.
38552 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
38553 (grub_ofconsole_term): New field named getwh and new initial
38554 value.
38555
3be7266d 385562005-08-03 Hollis Blanchard <hollis@penguinppc.org>
38557
38558 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
38559 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
38560 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
38561 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
38562 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
38563 of <grub/machine/ieee1275.h>.
38564 * commands/ieee1275/reboot.c: Likewise.
38565 * boot/powerpc/ieee1275/ieee1275.c: Move ...
38566 * kern/ieee1275.c: ... to here. All users updated. Change all
38567 parameter structs to use new type `grub_ieee1275_cell_t'.
38568 * term/powerpc/ieee1275/ofconsole.c: Move ...
38569 * term/ieee1275/ofconsole.c: ... to here. All users updated.
38570 * disk/powerpc/ieee1275/ofdisk.c: Move ...
38571 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
38572 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
38573 to return int.
38574 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
38575 Remove unused prototypes. All users updated.
38576 * include/grub/powerpc/ieee1275/console.h: Removed.
38577 * include/grub/powerpc/ieee1275/ieee1275.h: Define
38578 `grub_ieee1275_cell_t'.
38579 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
38580 Cast comparisons with -1 to the correct type.
38581 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
38582 type to match `grub_ieee1275_entry_fn'.
38583
8b5f3938 385842005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
38585
38586 * DISTLIST: Added util/i386/pc/grub-probefs.c.
38587
38588 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
38589 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
38590 partmap/sun.c.
38591 (grub_probefs_SOURCES): New variable.
38592
38593 * util/i386/pc/grub-probefs.c: New file.
38594
38595 * util/i386/pc/grub-setup.c (main): Call
38596 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
38597 grub_hfs_init and grub_jfs_init to initialize the system. Call
38598 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
38599 grub_pc_partition_map_fini to finish the system.
38600
ea409713 386012005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
38602
38603 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
38604 function.
38605 (grub_multiboot_load_elf32): Likewise.
38606 (grub_multiboot_is_elf64): Likewise.
38607 (grub_multiboot_load_elf64): Likewise.
38608 (grub_multiboot_load_elf): Likewise.
38609 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
38610 an ELF32 or ELF64 file.
38611 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
38612
38613 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
38614 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
38615 NULL before calling FS->LABEL.
38616 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
38617 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
38618 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
38619 before calling FS->LABEL.
38620
141a288b 386212005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
38622
38623 * util/i386/pc/grub-install.in (datadir): New variable.
38624 (libdir): Removed.
38625 (pkgdatadir): New variable.
38626 (pkglibdir): Removed.
38627
0d5f8a54 386282005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
38629
38630 * DISTLIST: Added util/i386/pc/grub-install.in.
38631
38632 * util/i386/pc/grub-install.in: New file.
38633
38634 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
38635 (grub_install_SOURCES): Likewise.
38636
38637 * genmk.rb: Added support for scripts.
38638 (Script): New class.
38639 (scripts): New variable.
38640
38641 * Makefile.in (install-local): Install sbin_SCRIPTS by
38642 INSTALL_SCRIPT.
38643 (uninstall): Remove sbin_SCRIPTS.
38644
38645 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
38646 device, try to get a GRUB device by
38647 grub_util_biosdisk_get_grub_dev.
38648 Free DEST_DEV.
38649
38650 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
38651 description for --device-map.
38652
5f968e1e 386532005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38654
38655 Change the semantics of variable hooks. They now return strings
38656 instead of error values.
f19dbdb7 38657
5f968e1e 38658 * util/i386/pc/grub-setup.c: Include grub/env.h.
38659 (setup): Use grub_device_set_root instead of grub_env_set.
38660
38661 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
38662 grub_env_get instead of grub_device_set_root and
38663 grub_device_get_root, respectively.
38664
38665 * kern/main.c (grub_env_write_root): New function.
38666 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
38667 grub_env_set instead of grub_device_set_root.
38668
38669 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
38670 many variables.
38671 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
38672 rather than calling ENV->WRITE_HOOK afterwards.
38673 (grub_env_get): Return the result of ENV->READ_HOOK rather than
38674 passing a pointer of a pointer.
38675 (grub_register_variable_hook): Change the types of "read_hook" and
38676 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
38677 respectively.
38678 Allocate the default empty string on the heap, because this string
38679 may be freed later.
38680
38681 * kern/device.c: Include grub/env.h.
38682 (grub_device_set_root): Removed.
38683 (grub_device_get_root): Likewise.
38684 (grub_device_open): Use grub_env_get instead of
38685 grub_device_get_root.
38686
38687 * include/grub/env.h (grub_env_read_hook_t): New type.
38688 (grub_env_write_hook_t): Likewise.
38689 (grub_env_var): Change the types of "read_hook" and "write_hook"
38690 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
38691 (grub_register_variable_hook): Likewise.
38692
38693 * include/grub/device.h (grub_device_set_root): Removed.
38694 (grub_device_set_root): Likewise.
38695
38696 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
38697 make sure that DIRNAME terminates with '/', so that
38698 grub_fat_find_dir will fail if PATH is not a directory.
38699
38700 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
38701 from DIRNAME.
38702 Use the qualifier auto for print_files and print_files_long.
38703 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
38704 as a regular file.
38705 Put a newline only if there is no error.
38706 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
38707 used.
38708
896f0afd 387092005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38710
38711 * kern/partition.c (grub_partition_probe): Initialize PART to
38712 NULL. Otherwise, when no partition map is registered, this returns
38713 a garbage.
38714
b28b81b2 387152005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
38716
38717 * partmap/apple.c (apple_partition_map_iterate): Check if POS
38718 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
38719 valid.
38720
5f3607e0 387212005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
38722
38723 * commands/ls.c (grub_ls_list_disks): Print the filesystem
38724 information on each device, if it does not have partitions. Print
38725 "Device" instead of "Disk", because this function is not specific
38726 to disk devices.
38727
38728 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
38729 static to ensure that it is put on the memory rather than a
38730 register.
38731
502c87e8 387322005-07-17 Yoshinori Okuji <okuji@enbug.org>
38733
38734 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
38735 (grub_cat_init): Likewise.
38736 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
38737 (options): Likewise.
38738 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
38739 (grub_configfile_init): Likewise.
38740 * font/manager.c (GRUB_MOD_INIT): Likewise.
38741 * commands/help.c (GRUB_MOD_INIT): Likewise.
38742 (grub_help_init): Likewise.
38743 * normal/command.c (grub_command_init): Likewise.
38744 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
38745 * disk/loopback.c (grub_loop_init): Likewise.
38746 (GRUB_MOD_INIT): Likewise.
38747 * commands/ls.c (grub_ls_init): Likewise.
38748 (GRUB_MOD_INIT): Likewise.
38749 (options): Likewise.
38750 * commands/boot.c (grub_boot_init): Likewise.
38751 (GRUB_MOD_INIT): Likewise.
38752 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
38753 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
38754 (GRUB_MOD_INIT): Likewise.
38755 * commands/cmp.c (grub_cmp_init): Likewise.
38756 (GRUB_MOD_INIT): Likewise.
38757
38758 * normal/arg.c: Use <> instead of "" to include header files.
38759 (SHORT_ARG_HELP): New macro.
38760 (SHORT_ARG_USAGE): Likewise.
38761 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
38762 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
38763 descriptions.
38764 (find_short): Check if C is 'h' or 'u' explicitly.
38765 (grub_arg_show_help): Use space characters instead of tabs. Treat
38766 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
38767 are shown with --help and --usage only if they are not used for
38768 the command itself.
38769 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
38770 'h' and 'u'.
38771
38772 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
38773 const into "longarg". Change the type of "shortarg" to int.
38774
f806d18e 387752005-07-17 Yoshinori Okuji <okuji@enbug.org>
38776
38777 * boot/i386/pc/boot.S (boot_drive_check): New label.
38778
38779 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
38780 macro.
38781
38782 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
38783 which do not pass a boot drive correctly. Copied from GRUB Legacy.
38784
e293232b 387852005-07-17 Yoshinori Okuji <okuji@enbug.org>
38786
38787 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
38788 When turning off Gate A20, skip the check and return immediately,
38789 because this is not fatal usually.
38790
ebedfd00 387912005-07-17 Yoshinori Okuji <okuji@enbug.org>
38792
38793 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38794 be 0x7C00 instead of 0x8000.
38795
38796 * boot/i386/pc/pxeboot.S: Rewritten.
38797
38798 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38799 EXT_C.
38800 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38801 result.
38802
654fc59f 388032005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38804
38805 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38806 robustness. This routine now supports a BIOS call and System
38807 Control Port A to modify the gate A20.
38808
38809 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38810 Increased to 0x440.
38811
09f9923f 388122005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38813
38814 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38815 device path and resulting ihandle.
38816 (grub_ofdisk_close): dprintf the ihandle being closed.
38817 (grub_ofdisk_read): dprintf function parameters.
38818 * kern/mm.c (grub_mm_init_region): Likewise.
38819 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38820 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38821 size, and boot arguments.
38822 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38823 before loading into memory.
38824 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38825 before loading into memory.
38826
7ef504d8 388272005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38828
38829 * kern/mm.c: Added much documentation.
38830 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38831 8, set to 5 instead of 8.
38832
e0f050c2 388332005-07-10 Yoshinori Okuji <okuji@enbug.org>
38834
38835 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38836
38837 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38838 (grub_mkdevicemap_SOURCES): New variable.
38839
38840 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38841 lib/device.c of GRUB Legacy.
38842
7224189a 388432005-07-10 Yoshinori Okuji <okuji@enbug.org>
38844
38845 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38846 instead of PATH is NULL.
38847
68c864eb 388482005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38849
38850 * commands/cmp.c (BUFFER_SIZE): New macro.
38851 (grub_cmd_cmp): Close the right file at the right time. Compare
38852 only data just read. Don't report files of different size as
38853 identical. Dynamically allocate buffers. Move variable
38854 declarations at the beginning of function.
38855
e6f3e614 388562005-07-09 Yoshinori Okuji <okuji@enbug.org>
38857
38858 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38859 reverse.
38860
f8f1559a 388612004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38862
38863 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38864 when backspace is pressed at beginning of line.
38865
39c9d41d 388662005-07-03 Yoshinori Okuji <okuji@enbug.org>
38867
38868 * DISTLIST: Added genfslist.sh.
38869
38870 * normal/main.c (fs_module_list): New variable.
38871 (autoload_fs_module): New function.
38872 (read_fs_list): Likewise.
38873 (grub_normal_execute): Call read_fs_list.
38874
38875 * kern/fs.c (grub_fs_autoload_hook): New variable.
38876 (grub_fs_probe): Added support for auto-loading.
38877
38878 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38879 (grub_fs_module_list_t): New type.
38880
38881 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38882 (grub_fs_autoload_hook): New prototype.
38883
38884 * genfslist.sh: New file.
f19dbdb7 38885
39c9d41d 38886 * genmk.rb: Added a rule to generate a filesystem list.
38887
121c1d83 388882005-06-30 Marco Gerards <metgerards@student.han.nl>
38889
38890 * configure.ac: Fix the test for cross-compiling.
38891
38892 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38893 define GRUB_UTIL anymore.
38894
38895 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38896 so this function works on other systems than just big endian.
38897 (load_modules): Likewise.
38898 (add_segments): Likewise.
38899
e75d76e1 389002005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38901
38902 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38903 contains `l' modifier, get a long from va_arg().
38904
50b5a0a7 389052005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38906
38907 * kern/mm.c (grub_free): If the next free block which is being
38908 merged is the first free block, set the first block to the block
38909 being freed.
38910 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38911
89371b20 389122005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38913
38914 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38915 `grub_ieee1275_chosen'.
38916
168d6e58 389172005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38918
38919 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38920 (grub_ieee1275_chosen): New variable.
38921 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38922 `chosen'.
38923 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38924 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38925 Rename first argument to `phandle' for consistency.
38926 (grub_ieee1275_get_property_length): Likewise.
38927 (grub_ieee1275_next_property): Likewise. Change type of first argument
38928 to grub_ieee1275_phandle_t.
38929 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38930 Move export next to declaration.
38931 (grub_ieee1275_chosen): New variable.
38932 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38933 Correct cosmetic typo.
38934 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38935 `grub_ieee1275_chosen'.
38936 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38937 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38938 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38939 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38940 `grub_ieee1275_chosen'.
38941
ca5baa3f 389422005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38943
38944 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38945 /chosen/bootargs.
38946 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38947 /chosen/bootargs as "variable=value" pairs.
38948
708b345f 389492005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38950
38951 * include/grub/misc.h (grub_dprintf): New macro.
38952 (grub_real_dprintf): New prototype.
38953 (grub_strword): Likewise.
38954 (grub_iswordseparator): Likewise.
38955 * kern/misc.c (grub_real_dprintf): New function.
38956 (grub_strword): Likewise.
38957 (grub_iswordseparator): Likewise.
38958
f4c5e67c 389592005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38960
38961 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38962 (roundup): Remove macro.
38963 (grub_ieee1275_flags): Make static.
38964 (grub_ieee1275_realmode): Remove.
38965 (grub_ieee1275_test_flag): New function.
38966 (grub_ieee1275_set_flag): Likewise.
38967 (find_options): Rename to `grub_ieee1275_find_options'; update
38968 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38969 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38970 (cmain): New prototype.
38971 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38972 `grub_ieee1275_flags' directly.
38973 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38974 machine/biosdisk.h.
38975 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38976 Don't include grub/machine/init.h.
38977 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38978 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38979 Remove prototype.
38980 (grub_ieee1275_realmode): Likewise.
38981 (grub_ieee1275_flag): New enum.
38982 (grub_ieee1275_test_flag): New prototype.
38983 (grub_ieee1275_set_flag): New prototype.
38984 * include/grub/powerpc/ieee1275/init.h: Remove file.
38985 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38986 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38987 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38988 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38989 comment.
38990 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38991 `grub_ieee1275_test_flag'.
38992 (grub_ieee1275_encode_devname): Likewise.
38993
ed16607e 389942005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38995
38996 * include/grub/powerpc/ieee1275/ieee1275.h
38997 (grub_ieee1275_encode_devname): New prototype.
38998 (grub_ieee1275_get_filename): Likewise.
38999 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
39000 function.
39001 (grub_set_prefix): Likewise.
39002 (grub_machine_init): Call grub_set_prefix.
39003 * kern/powerpc/ieee1275/openfw.c: Fix typos.
39004 (grub_parse_type): New enum.
39005 (grub_ieee1275_get_devargs): New function.
39006 (grub_ieee1275_get_devname): Likewise.
39007 (grub_ieee1275_parse_args): Likewise.
39008 (grub_ieee1275_get_filename): Likewise.
39009 (grub_ieee1275_encode_devname): Likewise.
39010
be369920 390112005-03-30 Marco Gerards <metgerards@student.han.nl>
39012
39013 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
39014 `grub_loader_unset'.
39015
a5ce3a4a 390162005-03-26 Hollis Blanchard <hollis@penguinppc.org>
39017
39018 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
39019 instead of grub_ieee1275_interpret.
39020 (grub_halt_init): New function.
39021 (grub_halt_fini): Likewise.
39022 (GRUB_MOD_INIT): Correct message grammar.
39023 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
39024 instead of grub_ieee1275_interpret.
39025 (grub_reboot_init): New function.
39026 (grub_reboot_fini): Likewise.
39027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
39028 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
39029 util/i386/pc/misc.c with commands/ieee1275/halt.c,
39030 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
39031 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
39032 function.
39033 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
39034 Add prototype.
39035 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
39036 prototype.
39037 (grub_halt): Likewise.
39038 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
39039 (cmain): Remove __attribute__((unused)).
39040 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
39041 (grub_heap_len): Likewise.
39042 (grub_machine_fini): New function.
39043 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
39044 (grub_halt): Likewise.
39045 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
39046 function.
39047 * util/powerpc/ieee1275/misc.c: New file.
39048
0058f771 390492005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39050
39051 * DISTLIST: New file.
39052 * gendistlist.sh: Likewise.
f19dbdb7 39053
0058f771 39054 * Makefile.in (COMMON_DISTFILES): Removed.
39055 (BOOT_DISTFILES): Likewise.
39056 (CONF_DISTFILES): Likewise.
39057 (DISK_DISTFILES): Likewise.
39058 (FS_DISTFILES): Likewise.
39059 (INCLUDE_DISTFILES): Likewise.
39060 (KERN_DISTFILES): Likewise.
39061 (LOADER_DISTFILES): Likewise.
39062 (TERM_DISTFILES): Likewise.
39063 (UTIL_DISTFILES): Likewise.
39064 (DISTFILES): Likewise.
39065 (uninstall): Uninstall files in $(pkgdata_DATA).
39066 (DISTLIST): New target.
39067 (distdir): Use the contents of the file DISTLIST to get a list of
39068 distributed files.
39069
46b3b8a5 390702005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39071
39072 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
39073 descriptor. This is ported from GRUB Legacy.
39074
39075 * gencmdlist.sh: Added an extra semicolon to make it work with
39076 old sed versions. Reported by Robert Bihlmeyer
39077 <robbe@orcus.priv.at>.
39078
5822ff87 390792005-03-08 Yoshinori Okuji <okuji@enbug.org>
39080
39081 Automatic loading of commands is supported.
f19dbdb7 39082
5822ff87 39083 * normal/main.c (read_command_list): New function.
39084 (grub_normal_execute): Call read_command_list.
39085
39086 * normal/command.c (grub_register_command): Return zero or CMD.
39087 Allocate CMD->NAME from the heap.
39088 Initialize CMD->MODULE_NAME to zero.
39089 Find the same name as well. If the same command is found and it is
39090 a dummy command, overwrite members. If it is not a dummy command,
39091 return zero.
39092 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
39093 (grub_command_find): If a dummy command is found, load a module
39094 and retry to find a command only once.
39095
39096 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
39097 make sure that each command is loaded.
39098
39099 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
39100 macro.
39101 (struct grub_command): Remove const from the member `name'.
39102 Add a new member `module_name'.
39103 (grub_register_command): Return grub_command_t.
39104
39105 * commands/help.c (grub_cmd_help): Call grub_command_find to make
39106 sure that each command is loaded.
39107
39108 * genmk.rb (PModule::rule): Specify a module name without the
39109 suffix ".mod" to gencmdlist.sh.
39110
7b1f4b57 391112005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39112
39113 * gencmdlist.sh: New file.
f19dbdb7 39114
7b1f4b57 39115 * genmk.rb (PModule::rule): Generate a rule for a command list.
39116 Clean command.lst.
39117 Generate command.lst from $(COMMANDFILES).
39118
39119 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
39120 (DATA): Added $(pkgdata_DATA).
39121 (install-local): Install files in $(pkgdata_DATA).
39122
062aaf39 391232005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39124
39125 * term/i386/pc/vga.c (debug_command): Removed.
39126 (GRUB_MOD_INIT): Do not register the command "debug".
39127
39128 From Hollis Blanchard:
39129 * commands/configfile.c: New file.
39130 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39131 commands/configfile.c.
39132 (pkgdata_MODULES): Added configfile.mod.
39133 (configfile_mod_SOURCES): New variable.
39134 (configfile_mod_CFLAGS): Likewise.
39135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39136 commands/configfile.c.
39137 (pkgdata_MODULES): Added configfile.mod.
39138 (configfile_mod_SOURCES): New variable.
39139 (configfile_mod_CFLAGS): Likewise.
39140 * util/grub-emu.c (main): Call grub_configfile_init and
39141 grub_configfile_fini.
39142 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
39143 prototype.
39144 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 39145
cee01aa6 391462005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
39147
39148 * normal/arg.c (grub_arg_show_help): Do not show the bug report
39149 address.
39150
39151 * commands/help.c (grub_cmd_help): Do not print newlines after
39152 the last command in print_command_help.
39153
93f3a1d8 391542005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
39155
39156 * commands/default.h: New file.
39157 * commands/timeout.h: Likewise.
39158 * normal/context.c: Likewise.
f19dbdb7 39159
93f3a1d8 39160 * util/misc.c: Do not include sys/times.h.
39161 Include sys/time.h and grub/machine/time.h.
39162 (grub_get_rtc): Rewritten with gettimeofday.
39163
39164 * util/grub-emu.c (main): Call grub_default_init and
39165 grub_timeout_init before grub_normal_init, and call
39166 grub_timeout_fini and grub_default_fini after grub_main.
39167
39168 * util/console.c (grub_ncurses_checkkey): Return the read
39169 character or -1.
39170
39171 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
39172 timeouts.
39173
39174 * normal/main.c (read_config_file): Push MENU. If this fails,
39175 print an error and wait for a user input.
39176 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
39177 If a menu is empty or an error occurs, pop MENU.
39178 (grub_normal_execute): Pop and free MENU after grub_menu_run
39179 returns.
39180
39181 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
39182
39183 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
39184 include time.h.
39185 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
39186 without GRUB_UTIL.
39187 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
39188 time.h.
39189 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
39190 without GRUB_UTIL.
39191
39192 * include/grub/normal.h (struct grub_menu_list): New struct.
39193 (grub_menu_list_t): New type.
39194 (struct grub_context): New struct.
39195 (grub_context_t): New type.
39196 (grub_register_command): Got rid of EXPORT_FUNC.
39197 (grub_unregister_command): Likewise.
39198 (grub_context_get): New prototype.
39199 (grub_context_get_current_menu): Likewise.
39200 (grub_context_push_menu): Likewise.
39201 (grub_context_pop_menu): Likewise.
39202 [GRUB_UTIL] (grub_default_init): Likewise.
39203 [GRUB_UTIL] (grub_default_fini): Likewise.
39204 [GRUB_UTIL] (grub_timeout_init): Likewise.
39205 [GRUB_UTIL] (grub_timeout_fini): Likewise.
39206
39207 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
39208 commands/timeout.c and normal/context.c.
39209 (pkgdata_MODULES): Added default.mod and timeout.mod.
39210 (normal_mod_SOURCES): Added normal/context.c.
39211 (default_mod_SOURCES): New variable.
39212 (default_mod_CFLAGS): Likewise.
39213 (timeout_mod_SOURCES): Likewise.
39214 (timeout_mod_CFLAGS): Likewise.
39215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
39216 conf/i386-pc.rmk.
39217 (pkgdata_MODULES): Added default.mod and timeout.mod.
39218 (normal_mod_SOURCES): Added normal/context.c.
39219 (default_mod_SOURCES): New variable.
39220 (default_mod_CFLAGS): Likewise.
39221 (timeout_mod_SOURCES): Likewise.
39222 (timeout_mod_CFLAGS): Likewise.
39223
39224 * Makefile.in (all-local): Added $(MKFILES).
39225
4ed2e1dd 392262005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
39227
39228 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
39229 (grub_emu_SOURCES): Likewise.
39230 (pkgdata_MODULES): Add `sun.mod'.
39231 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
39232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39233 `partmap/sun.c'.
39234 (pkgdata_MODULES): Add `sun.mod'.
39235 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
39236 * include/grub/partition.h (grub_sun_partition_map_init): New
39237 prototype.
39238 (grub_sun_partition_map_fini): Likewise.
39239 * partmap/sun.c: New file.
39240 * util/grub-emu.c (main): Initialize and de-initialize the sun
39241 partitionmap support.
39242
4d4e372e 392432005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
39244
39245 This implements an Emacs-like menu entry editor.
f19dbdb7 39246
4d4e372e 39247 * normal/menu_entry.c: New file.
f19dbdb7 39248
4d4e372e 39249 * util/console.c (grub_ncurses_putchar): Translate some Unicode
39250 characters to ASCII.
39251 (saved_char): New variable.
39252 (grub_ncurses_checkkey): Rewritten completely.
39253 (grub_ncurses_getkey): Likewise.
39254 (grub_ncurses_init): Call raw instead of cbreak.
39255
39256 * normal/menu.c (print_entry): Do not put a space.
39257 (init_page): Renamed to ...
39258 (grub_menu_init_page): ... this. All callers changed.
39259 (edit_menu_entry): Removed.
39260 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
39261
39262 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
39263
39264 * kern/misc.c (grub_vprintf): Call grub_refresh.
39265
39266 * normal/menu.c (DISP_LEFT): Renamed to ...
39267 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
39268 * normal/menu.c (DISP_UP): Renamed to ...
39269 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
39270 * normal/menu.c (DISP_RIGHT): Renamed to ...
39271 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
39272 * normal/menu.c (DISP_DOWN): Renamed to ...
39273 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
39274 * normal/menu.c (DISP_HLINE): Renamed to ...
39275 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
39276 * normal/menu.c (DISP_VLINE): Renamed to ...
39277 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
39278 * normal/menu.c (DISP_UL): Renamed to ...
39279 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
39280 * normal/menu.c (DISP_UR): Renamed to ...
39281 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
39282 * normal/menu.c (DISP_LL): Renamed to ...
39283 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
39284 * normal/menu.c (DISP_LR): Renamed to ...
39285 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
39286 * normal/menu.c (TERM_WIDTH): Renamed to ...
39287 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
39288 * normal/menu.c (TERM_HEIGHT): Renamed to ...
39289 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
39290 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
39291 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
39292 * normal/menu.c (TERM_MARGIN): Renamed to ...
39293 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
39294 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
39295 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
39296 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
39297 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
39298 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
39299 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
39300 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
39301 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
39302 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
39303 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
39304 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
39305 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
39306 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
39307 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
39308 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
39309 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
39310 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
39311 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
39312 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
39313 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
39314 All callers changed.
39315
39316 * include/grub/normal.h: New prototype.
39317
39318 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39319 normal/menu_entry.c.
39320 (normal_mod_SOURCES): Likewise.
39321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39322 (normal_mod_SOURCES): Likewise.
39323
e6b92c8a 393242005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
39325
39326 * include/grub/normal.h (grub_halt_init): New prototype.
39327 (grub_halt_fini): Likewise.
39328 (grub_reboot_init): Likewise.
39329 (grub_reboot_fini): Likewise.
39330
39331 * util/grub-emu.c: Include signal.h.
39332 (main_env): New global variable.
39333 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
39334 catch C-c.
39335 (grub_machine_fini): New function.
39336 (main): Call grub_halt_init and grub_reboot_init before
39337 grub_main, and grub_reboot_fini and grub_halt_fini after it.
39338 Call setjmp with MAIN_ENV to go back afterwards.
39339 Call grub_machine_fini right before return.
39340
39341 * include/grub/util/misc.h: Include setjmp.h.
39342 (main_env): New prototype.
39343
39344 * include/grub/kernel.h (grub_machine_fini): New prototype.
39345 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
39346 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
39347
39348 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
39349 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
39350 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 39351
e6b92c8a 39352 * util/i386/pc/misc.c: New file.
f19dbdb7 39353
e6b92c8a 39354 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39355 util/i386/pc/misc.c, commands/i386/pc/halt.c and
39356 commands/i386/pc/reboot.c.
39357
c642636f 393582005-02-14 Guillem Jover <guillem@hadrons.org>
39359
39360 * include/grub/dl.h (grub_dl_check_header): New prototype.
39361 (grub_arch_dl_check_header): Change return type to grub_err_t,
39362 remove size parameter and export function. Update all callers.
39363 * kern/dl.c (grub_dl_check_header): New function.
39364 (grub_dl_load_core): Use `grub_dl_check_header' instead of
39365 `grub_arch_dl_check_header'. Check ELF type. Check if sections
39366 are inside the core.
39367 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
39368 independent ELF header checks.
39369 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39370 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
39371 `grub_dl_check_header' instead of explicit checks. Check for the
39372 ELF type.
39373 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
39374 `grub_dl_check_header' instead of explicit checks. Remove arch
39375 specific ELF header checks.
39376
e6b92c8a 39377 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
39378 argument SIZE.
39379
5eabe94b 393802005-02-13 Hollis Blanchard <hollis@penguinppc.org>
39381
39382 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
39383 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
39384
1b14a681 393852005-02-12 Hollis Blanchard <hollis@penguinppc.org>
39386
39387 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 39388 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 39389 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 39390 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 39391 * partmap/amiga.c (amiga_partition_map_iterate): Return
39392 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
39393 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39394
aca108aa 393952005-02-01 Guillem Jover <guillem@hadrons.org>
39396
39397 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
39398 help info.
39399
c9f9c556 394002005-01-31 Marco Gerards <metgerards@student.han.nl>
39401
39402 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
39403 Removed prototype.
39404 (grub_rescue_cmd_linux): New prototype.
39405 (grub_rescue_cmd_initrd): Likewise.
39406 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
39407 `bi_rec'.
39408 (grub_linux_release_mem): Release the memory for the initrd.
39409 (grub_load_linux): Renamed from this...
39410 (grub_rescue_cmd_linux): ...To this. Changed all callers.
39411 Changed `entry' not to be static. Loop over memory regions to
39412 find another one when the default fails.
39413 (grub_rescue_cmd_initrd): New function.
39414 (grub_linux_init): Remove function.
39415 (grub_linux_fini): Likewise.
39416 (GRUB_MOD_INIT): Register `initrd'.
39417 (GRUB_MOD_FINI): Unregister `initrd'.
39418 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
39419 Function removed.
39420 (grub_linux_normal_fini): Likewise.
39421 (GRUB_MOD_INIT): Register `initrd'.
39422 (GRUB_MOD_FINI): Unregister `initrd'.
39423
990cf3aa 394242005-01-31 Marco Gerards <metgerards@student.han.nl>
39425
39426 * commands/help.c: New file.
39427 * normal/arg.c (show_help): Renamed to...
39428 (grub_arg_show_help): ... this.
39429 * commands/i386/pc/halt.c: New file.
39430 * commands/i386/pc/reboot.c: Likewise.
39431 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
39432 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
39433 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
39434 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
39435 variables.
39436 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39437 `commands/help.c'.
39438 (pkgdata_MODULES): Add `help.mod'.
39439 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
39440 * grub/i386/pc/init.h (grub_reboot): New prototype.
39441 (grub_halt): Likewise.
39442 * include/grub/normal.h (grub_arg_show_help): New prototype.
39443 (grub_help_init): Likewise.
39444 (grub_help_fini): Likewise.
39445 * util/grub-emu.c (main): Initialize and deinitialize the help
39446 command.
39447
39448 * normal/cmdline.c (grub_cmdline_get): Doc fix.
39449
39450 * normal/command.c (grub_command_init): Fixed the description of
39451 the `set' and `unset' commands.
39452
394532005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 39454
39455 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
39456 function.
39457 * commands/ieee1275/halt.c: New file.
39458 * commands/ieee1275/reboot.c: Likewise.
39459 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
39460 `__attribute__ ((unused))'. Some GCS related fixed.
39461 (grub_suspend_init) [GRUB_UTIL]: Function removed.
39462 (grub_suspend_fini): Likewise.
39463 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
39464 and `halt.mod'.
39465 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
39466 (halt_mod_CFLAGS): New variables.
39467 * include/grub/powerpc/ieee1275/ieee1275.h
39468 (grub_ieee1275_interpret): New prototype.
39469
1ab09cc7 394702005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
39471
39472 * include/grub/misc.h (memmove): New prototype.
39473 (memcpy): Likewise.
39474
8b8cbdb2 394752005-01-22 Hollis Blanchard <hollis@penguinppc.org>
39476
39477 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
39478 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
39479
e3741a27 394802005-01-22 Marco Gerards <metgerards@student.han.nl>
39481
39482 * kern/misc.c (grub_strndup): Function rewritten.
39483
776bd780 394842005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
39485
39486 * normal/menu.c (TERM_WIDTH): Macro redefined.
39487 (TERM_TOP_BORDER_Y): Likewise.
39488 (draw_border): Replaced while-loop by a for-loop. Make the number
39489 of lines consistent with the number of lines displayed in
39490 print_entries. Added a margin below the rectangle.
39491 (print_entry): Make the entry fit in the rectangle.
39492 (print_entries): Display the scroll arrows next to the right
39493 border.
39494
78026bce 394952005-01-21 Marco Gerards <metgerards@student.han.nl>
39496
39497 * fs/minix.c (grub_minix_find_file): Reserve more space for
39498 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
39499 `grub_strncpy' to copy `path' into it.
39500
67bbaf0f 395012005-01-21 Marco Gerards <metgerards@student.han.nl>
39502
39503 Add the loopback device, a device via which files can be accessed
39504 as devices.
f19dbdb7 39505
67bbaf0f 39506 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
39507 (pkgdata_MODULES): Add loopback.mod.
39508 (loopback_mod_SOURCES): New variable.
39509 (loopback_mod_CFLAGS): Likewise.
39510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39511 `disk/loopback.c'.
39512 (pkgdata_MODULES): Add loopback.mod.
39513 (loopback_mod_SOURCES): New variable.
39514 (loopback_mod_CFLAGS): Likewise.
39515 * disk/loopback.c: new file.
39516 * include/grub/normal.h (grub_loop_init): New prototype.
39517 (grub_loop_fini): New prototype.
39518 * util/grub-emu.c (main): Initialize and de-initialize loopback
39519 support.
39520 * include/grub/disk.h (grub_disk_dev_id): Add
39521 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
39522
6f1c18bd 395232005-01-20 Hollis Blanchard <hollis@penguinppc.org>
39524
39525 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
39526 function.
39527 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
39528 (suspend_mod_SOURCES): New variable.
39529 (suspend_mod_CFLAGS): Likewise.
39530 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
39531 New prototype.
39532 * commands/ieee1275/suspend.c: New file.
39533
b38551da 395342005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39535
39536 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 39537 ((unused))' to `__attribute__ ((used))'.
b38551da 39538 (GRUB_MOD_FINI): Likewise.
39539 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
39540 * genmk.rb (PModule): Assign space to common symbols when linking
39541 modules.
39542
777aff39 395432005-01-20 Marco Gerards <metgerards@student.han.nl>
39544
39545 * include/grub/mm.h (grub_mm_init_region): Change the type of the
39546 `unsigned' arguments to `grub_size_t'.
39547 (grub_malloc): Likewise.
39548 (grub_realloc): Likewise.
39549 (grub_memalign): Likewise.
39550 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
39551 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39552 * util/misc.c (grub_malloc): Likewise.
39553 (grub_realloc): Likewise.
39554 * kern/mm.c (get_header_from_pointer): Change the casts to
39555 `unsigned' into a cast to `grub_size_t'.
39556
39557 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
39558 point to `currnode' when `currnode' is changed.
39559
39560 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
39561 Schottelius <nico-linux@schottelius.org>.
39562
d0ff18e1 395632005-01-09 Hollis Blanchard <hollis@penguinppc.org>
39564
39565 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
39566 (note_path): Remove variable.
39567 (GRUB_IEEE1275_NOTE_NAME): New macro.
39568 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
39569 (grub_ieee1275_note_hdr): New structure.
39570 (grub_ieee1275_note_desc): Likewise.
39571 (grub_ieee1275_note): Likewise.
39572 (load_note): Remove `dir' argument. All callers updated. Remove
39573 `note_img' and `path'. Do not load a file from `note_path'.
39574 Initialize a struct grub_ieee1275_note and write that to `out'.
39575 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
39576
4ca7004c 395772005-01-05 Marco Gerards <metgerards@student.han.nl>
39578
39579 * util/misc.c (grub_util_read_image): Revert last change. It
39580 called `grub_util_read_at', which seeks from the beginning of the
39581 file.
39582
0b412211 395832005-01-04 Hollis Blanchard <hollis@penguinppc.org>
39584
39585 * TODO: Add note about endianness in grub-mkimage.
39586 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
39587 section.
39588 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
39589 (grub_mkimage_SOURCES): New target.
39590 * include/grub/kernel.h (grub_start_addr): Remove variable.
39591 (grub_end_addr): Likewise.
39592 (grub_total_module_size): Likewise.
39593 (grub_kernel_image_size): Likewise.
39594 (GRUB_MODULE_MAGIC): New constant.
39595 (grub_module_info): New structure.
39596 (grub_arch_modules_addr): New prototype.
39597 (grub_get_end_addr): Remove prototype.
39598 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
39599 * include/grub/powerpc/ieee1275/kernel.h: New file.
39600 * include/grub/util/misc.h (grub_util_get_fp_size): New
39601 prototype.
39602 (grub_util_read_at): Likewise.
39603 (grub_util_write_image_at): Likewise.
39604 * kern/main.c (grub_get_end_addr): Remove function.
39605 (grub_load_modules): Call grub_arch_modules_addr instead of using
39606 grub_end_addr. Look for a grub_module_info struct in memory. Use
39607 the grub_module_info fields instead of calling grub_get_end_addr
39608 as loop conditions. Move grub_add_unused_region code here.
39609 (grub_add_unused_region): Remove function.
39610 * kern/i386/pc/init.c: Include grub/cache.h.
39611 (grub_machine_init): Remove call to grub_get_end_addr. Remove
39612 one call to add_mem_region.
39613 (grub_arch_modules_addr): New function.
39614 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
39615 (grub_total_module_size): Likewise.
39616 Include grub/machine/kernel.h.
39617 (grub_arch_modules_addr): New function.
39618 * util/grub-emu.c (grub_end_addr): Remove variable.
39619 (grub_total_module_size): Likewise.
39620 (grub_arch_modules_addr): New function.
39621 * util/misc.c: Include unistd.h.
39622 (grub_util_get_fp_size): New function.
39623 (grub_util_read_at): Likewise.
39624 (grub_util_write_image_at): Likewise.
39625 (grub_util_read_image): Call grub_util_read_at.
39626 (grub_util_write_image): Call grub_util_write_image_at.
39627 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
39628 additional memory in kernel_img for a struct grub_module_info.
39629 Fill in that grub_module_info.
39630 * util/powerpc/ieee1275/grub-mkimage.c: New file.
39631
458786f8 396322005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39633
39634 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
39635 New function.
39636 * include/grub/powerpc/ieee1275/ieee1275.h
39637 (grub_ieee1275_milliseconds): New prototype.
39638 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
39639 Change to 1000.
39640 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
39641 grub_ieee1275_milliseconds.
39642
ac507d1b 396432005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39644
39645 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
39646 variable.
39647 (find_options): New function.
39648 (cmain): Call find_options.
39649 * include/grub/powerpc/ieee1275/ieee1275.h
39650 (grub_ieee1275_realmode): New extern variable.
39651 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
39652 grub_map if grub_ieee1275_realmode is false.
39653
6b8fd1c4 396542004-12-29 Marco Gerards <metgerards@student.han.nl>
39655
39656 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
39657 lines are inserted and make it work like readline. Reported by
39658 Vincent Pelletier <subdino2004@yahoo.fr>.
39659
8514a1e0 396602004-12-28 Marco Gerards <metgerards@student.han.nl>
39661
39662 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
39663
39664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
39665 `kern/powerpc/cache.S'.
39666
924b6140 396672004-12-27 Marco Gerards <metgerards@student.han.nl>
39668
39669 * genmk.rb: Handle the `Program' class in the main loop. Written
39670 by Johan Rydberg <jrydberg@gnu.org>.
39671 (Program): New class.
39672 (programs): New variable.
39673 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
39674 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
39675 instead of "grub/kernel.h". Include <grub/machine/init.h>.
39676 (help_arch): Function removed.
39677 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
39678 `powerpc/libgcc.h' and `loader.h'.
39679 (pkgdata_PROGRAMS): New variable.
39680 (sbin_UTILITIES): Variable removed.
39681 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
39682 (grubof_SOURCES): Variable re-defined so it only includes the
39683 core functionality.
39684 (grubof_CFLAGS): Remove `-DGRUBOF'.
39685 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
39686 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
39687 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
39688 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
39689 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
39690 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
39691 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
39692 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
39693 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
39694 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
39695 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39696 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
39697 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
39698 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
39699 (pc_mod_CFLAGS): New variables.
39700 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
39701 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
39702 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
39703 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
39704 Moved from here...
39705 * include/grub/i386/pc/init.h (grub_os_area_addr)
39706 (rub_os_area_size): ... to here.
39707 * include/grub/powerpc/ieee1275/ieee1275.h
39708 (grub_ieee1275_entry_fn): Export symbol.
39709 * include/grub/powerpc/ieee1275/init.h: New file.
39710 * include/grub/powerpc/libgcc.h: Likewise.
39711 * include/grub/cache.h: Likewise.
39712 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
39713 <hollis@penguinppc.org>.
39714 * kern/dl.c: Include <grub/cache.h>.
39715 (grub_dl_flush_cache): New function.
39716 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
39717 for this module.
39718 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
39719 (grub_console_init): Removed prototypes.
39720 (grub_machine_init): Don't initialize the modules anymore.
39721 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
39722 static.
39723 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
39724 Macro undef removed.
39725 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
39726 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
39727 relocation `R_PPC_REL32'. Return an error when the relocation is
39728 unknown.
39729 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
39730 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
39731 * util/misc.c (grub_arch_sync_caches): Likewise.
39732
e4b47e0c 397332004-12-19 Marco Gerards <metgerards@student.han.nl>
39734
39735 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
39736 `symlist.c', add `grubof_symlist.c'.
39737 (symlist.c): Variable removed.
39738 (grubof_HEADERS): Variable added.
39739 (grubof_symlist.c): New target.
39740 (kernel_syms.lst): Use `grubof_HEADERS' instead of
39741 `kernel_img_HEADERS'.
39742 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
39743 * kern/powerpc/dl.c: New file.
39744 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
39745 Function removed.
39746 (grub_arch_dl_relocate_symbols): Likewise.
39747 (grub_register_exported_symbols): Likewise.
39748
4ceb3636 397492004-12-13 Marco Gerards <metgerards@student.han.nl>
39750
39751 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
39752 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
39753 to fail instead. Reported by Vincent Pelletier
39754 <subdino2004@yahoo.fr>.
39755
39756 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
39757 it is not allocated. Reported by Vincent Pelletier
39758 <subdino2004@yahoo.fr>.
39759
39760 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
39761 output so the output looks better.
f19dbdb7 39762
3f1578fe 397632004-12-04 Marco Gerards <metgerards@student.han.nl>
39764
39765 Modulize the partition map support and add support for the amiga
39766 partition map.
f19dbdb7 39767
3f1578fe 39768 * commands/ls.c: Include <grub/partition.h> instead of
39769 <grub/machine/partition.h>.
39770 * kern/disk.c: Likewise.
39771 * kern/rescue.c: Likewise.
39772 * loader/i386/pc/chainloader.c: Likewise.
39773 * normal/cmdline.c: Likewise.
39774 * kern/powerpc/ieee1275/init.c: Likewise.
39775 (grub_machine_init): Call `grub_pc_partition_map_init',
39776 `grub_amiga_partition_map_init' and
39777 `grub_apple_partition_map_init'.
39778 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
39779 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
39780 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
39781 `partition.h' and `pc_partition.h'.
39782 (grub_setup_SOURCES): Remove
39783 `disk/i386/pc/partition.c'. Add `kern/partition.c',
39784 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39785 (grub_emu_SOURCES): Likewise.
39786 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
39787 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
39788 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
39789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39790 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
39791 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39792 (grubof_SOURCES): Likewise.
39793 * disk/i386/pc/partition.c: File removed.
39794 * disk/powerpc/ieee1275/partition.c: Likewise.
39795 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39796 * include/grub/i386/pc/partition.h: Likewise.
39797 * kern/partition.c: New file.
39798 * partmap/amiga.c: Likewise.
39799 * partmap/apple.c: Likewise.
39800 * partmap/pc.c: Likewise.
39801 * include/grub/partition.h: Likewise..
39802 * include/grub/pc_partition.h: Likewise.
39803 * util/grub-emu.c: Include <grub/partition.h> instead of
39804 <grub/machine/partition.h>.
39805 (main): Call `grub_pc_partition_map_init',
39806 `grub_amiga_partition_map_init' and
39807 `grub_apple_partition_map_init' and deinitialize afterwards.
39808 * util/i386/pc/biosdisk.c: Include `#include
39809 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39810 `<grub/machine/partition.h>'.
39811 * util/i386/pc/grub-setup.c: Likewise.
39812 * util/i386/pc/biosdisk.c: Likewise.
39813 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39814 partition information in case of a PC partition.
39815 * util/i386/pc/grub-setup.c: Include `#include
39816 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39817 `<grub/machine/partition.h>'.
39818 (setup): Only access the PC specific partition information in case
39819 of a PC partition.
39820
0ef4ced9 398212004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39822
0ef4ced9 39823 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39824 (grub_longjmp): Likewise.
39825 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39826 20.
39827 * normal/powerpc/setjmp.S: New file.
39828 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39829 `normal/powerpc/setjmp.S'.
39830 (grubof_CFLAGS): Add `-DGRUBOF'.
39831 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39832 [GRUB_UTIL && !GRUBOF].
f19dbdb7 39833
19950e29 398342004-11-16 Marco Gerards <metgerards@student.han.nl>
39835
39836 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39837 property named `name'. Correctly handle the error returned by
39838 `grub_ieee1275_finddevice' if a device can not be opened.
39839
a2fea427 398402004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39841
39842 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39843 `actual' for negativity.
39844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39845 kern/fshelp.c.
39846
41ea0ea3 398472004-11-01 Marco Gerards <metgerards@student.han.nl>
39848
39849 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39850 (PAGE_OFFSET): New macro.
39851 (CRTC_ADDR_PORT): Likewise.
39852 (CRTC_DATA_PORT): Likewise.
39853 (START_ADDR_HIGH_REGISTER): Likewise.
39854 (START_ADDR_LOW_REGISTER): Likewise.
39855 (GRAPHICS_ADDR_PORT): Likewise.
39856 (GRAPHICS_DATA_PORT): Likewise.
39857 (READ_MAP_REGISTER): Likewise.
39858 (INPUT_STATUS1_REGISTER): Likewise.
39859 (INPUT_STATUS1_VERTR_BIT): Likewise.
39860 (page): New variable.
39861 (wait_vretrace): New function.
39862 (set_read_map): Likewise.
39863 (set_start_address): Likewise.
39864 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39865 the right page.
39866 (check_vga_mem): Take the page into account.
39867 (write_char): Likewise.
39868 (write_cursor): Likewise.
39869 (scroll_up): Likewise. Copy the page to the page that is not
39870 shown and switch between both pages.
39871 (grub_vga_putchar): Fix off by one error.
39872 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39873 account.
39874
ad0bd20b 398752004-11-01 Marco Gerards <metgerards@student.han.nl>
39876
39877 Add support for iso9660 (including rockridge).
f19dbdb7 39878
ad0bd20b 39879 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39880 (iso9660_mod_SOURCES): New variable.
39881 (iso9660_mod_CFLAGS): Likewise.
39882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39883 * include/grub/fs.h (grub_iso9660_init): New prototype.
39884 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39885 * fs/iso9660.c: New file.
39886
39887 * include/grub/misc.h (grub_strncat): New prototype.
39888 * kern/misc.c (grub_strncat): New function.
f19dbdb7 39889
ad0bd20b 39890 * fs/hfs.c (grub_hfs_mount): Translate the error
39891 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39892 * fs/jfs.c (grub_jfs_mount): Likewise.
39893 * fs/ufs.c (grub_ufs_mount): Likewise.
39894
a5477a59 398952004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39896
39897 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39898 which initialized BAT registers.
39899 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39900 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39901 Move from here...
39902 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39903 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39904 ... to here.
39905 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39906 (grub_mapclaim): Likewise.
39907 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39908 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39909 hand.
39910
9304c1f8 399112004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39912
39913 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39914 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39915 -ffreestanding and -msoft-float.
39916
86f4ae25 399172004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39918
39919 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39920 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39921 set in grub_ieee1275_flags.
39922
38912228 399232004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39924
39925 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39926 prototype.
39927 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39928 grub_console_init first.
39929 Change the memory range used for grub_ieee1275_claim and
39930 grub_mm_init_region.
39931 Print an error message if the claim fails.
39932 Include <grub/misc.h>.
39933
d1923dc8 399342004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39935
39936 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39937 Call grub_children_iterate for device nodes of type `scsi',
39938 `ide', or `ata'.
39939 (grub_ofdisk_open): Remove manual device alias resolution.
39940 Fix memory leak when device cannot be opened.
f19dbdb7 39941 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 39942 (grub_children_iterate): New prototype.
39943 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39944 New function.
39945 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39946 Return -1 if args.size was -1.
39947
4512e4f3 399482004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39949
39950 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39951 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39952 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39953 Open Firmware's memory for it; claim memory from _start to _end.
39954 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39955 (_end): New extern.
39956 (_start): Zero BSS from __bss_start to _end.
39957 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39958 New extern.
39959 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39960
4d61feb0 399612004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39962
ad0bd20b 39963 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39964 -1 if args.base was -1.
4d61feb0 39965
026fa2f9 399662004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39967
39968 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39969 escape sequence instead of a literal ^L. Also call
39970 grub_ofconsole_gotoxy.
39971
9f2220ef 399722004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39973
39974 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39975 void * arguments to grub_addr_t. All callers updated. Also make
39976 the `result' argument optional.
39977 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39978 All callers updated.
39979
8a572cd7 399802004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39981
39982 * commands/ls.c (grub_ls_list_files): Use the string following the
39983 initial ')', if present, as the filesystem path.
39984 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39985
39986 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39987
18aa81f2 399882004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39989
39990 Make the source code of the menu interface more readable.
f19dbdb7 39991
18aa81f2 39992 * normal/menu.c: Include grub/mm.h.
39993 (TERM_WIDTH): New macro.
39994 (TERM_HEIGHT): Likewise.
39995 (TERM_INFO_HEIGHT): Likewise.
39996 (TERM_MARGIN): Likewise.
39997 (TERM_SCROLL_WIDTH): Likewise.
39998 (TERM_TOP_BORDER_Y): Likewise.
39999 (TERM_LEFT_BORDER_X): Likewise.
40000 (TERM_BORDER_WIDTH): Likewise.
40001 (TERM_MESSAGE_HEIGHT): Likewise.
40002 (TERM_BORDER_HEIGHT): Likewise.
40003 (TERM_NUM_ENTRIES): Likewise.
40004 (TERM_FIRST_ENTRY_Y): Likewise.
40005 (TERM_ENTRY_WIDTH): Likewise.
40006 (TERM_CURSOR_X): Likewise.
40007 (draw_border): Use macros instead of magic numbers.
40008 (print_entry): Likewise.
40009 (print_entries): Likewise.
40010 (run_menu): Likewise. Also, handle the key 'e'.
40011 (run_menu_entry): Ignore empty command lines.
40012 (print_message): Added a new argument EDIT. If EDIT is true,
40013 print a different message.
40014 (init_page): Likewise.
40015 (edit_menu_entry): New function. Not implemented yet.
40016
b47efe30 400172004-09-17 Marco Gerards <metgerards@student.han.nl>
40018
40019 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
40020 can be loaded from normal mode.
f19dbdb7 40021
b47efe30 40022 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
40023 `multiboot.mod'.
40024 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
40025 (multiboot_mod_CFLAGS): New variables.
40026 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 40027 * loader/i386/pc/multiboot_normal.c: Likewise.
40028
b47efe30 40029 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
40030 attribute `unused'.
f19dbdb7 40031
b47efe30 40032 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
40033 `fdiro' to read the mode information from instead of `diro'.
40034
40035 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
40036 looking up a symlink.
40037
40038 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
40039 macro.
40040 * normal/command.c (grub_command_execute): Don't parse the
40041 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
40042 flags of the command.
40043
40044 * normal/menu.c (grub_menu_run): Fix typo.
40045
da75ac71 400462004-09-14 Hollis Blanchard <hollis@penguinppc.org>
40047
40048 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
40049
40050 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
40051 `y + 1' instead of `y - 1'.
40052
40053 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 40054
062b24c2 400552004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
40056
40057 From Hollis Blanchard <hollis@penguinppc.org>:
40058 * kern/misc.c (memmove): New alias for grub_memmove.
40059 (memcmp): New alias for grub_memcmp.
40060 (memset): New alias for grub_memset.
f19dbdb7 40061 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 40062 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 40063 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 40064 (grub_ieee1275_get_property): Likewise.
f19dbdb7 40065
8ddad845 400662004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
40067
40068 Added normal mode command `chainloader' as module chain.mod, which
40069 depends on normal.mod and _chain.mod.
f19dbdb7 40070
8ddad845 40071 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
40072 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
40073 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
40074 Deleted prototype.
40075 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
40076 but arguments parsing moved to ...
40077 (grub_chainloader_cmd): ... here. New function.
40078 * include/grub/i386/pc/chainloader.h: New file.
40079 * loader/i386/pc/chainloader_normal.c: Likewise.
40080
2c1f4ce3 400812004-09-11 Marco Gerards <metgerards@student.han.nl>
40082
40083 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
40084 (grub_mkimage_LDFLAGS): Likewise.
40085 (grub_emu_SOURCES): Likewise.
40086 (kernel_img_HEADERS): Added fshelp.h.
40087 * fs/ext2.c: Include <grub/fshelp.h>.
40088 (FILETYPE_REG): New macro.
40089 (FILETYPE_INO_REG): Likewise.
40090 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
40091 Changed all users.
40092 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
40093 all users.
40094 (grub_fshelp_node): New struct.
40095 (grub_ext2_data): Added member `diropen'. Changed member `inode'
40096 to a pointer.
40097 (grub_ext2_get_file_block): Removed function.
40098 (grub_ext2_read_block): New function.
40099 (grub_ext2_read_file): Replaced parameter `data' by `node'.
40100 This function was written.
40101 (grub_ext2_mount): Read the root inode. Create a diropen struct.
40102 (grub_ext2_find_file): Removed function.
40103 (grub_ext2_read_symlink): New function.
40104 (grub_ext2_iterate_dir): Likewise.
40105 (grub_ext2_open): Rewritten.
40106 (grub_ext2_dir): Rewritten.
40107 * include/grub/fshelp.h: New file.
40108 * fs/fshelp.c: Likewise.
40109
3c52136a 401102004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
40111
40112 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
40113 (print_message): Add a missing newline.
40114 (run_menu): Added timeout support.
40115 (run_menu_entry): New local function.
40116 (grub_menu_run): Added support for booting.
40117
40118 * kern/loader.c (grub_loader_is_loaded): New function.
40119
40120 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
40121 (grub_get_rtc): Exported.
40122
40123 * include/grub/i386/pc/time.h: Include grub/symbol.h.
40124 (grub_get_rtc): Exported.
40125
40126 * include/grub/normal.h (struct grub_command_list): Remove
40127 constant from the member `command'.
40128
40129 * include/grub/loader.h (grub_loader_is_loaded): Declared.
40130
40131 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
40132
40133 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
40134
aa033560 401352004-08-28 Marco Gerards <metgerards@student.han.nl>
40136
40137 Add support for the JFS filesystem.
40138
40139 * fs/jfs.c: New file.
40140 * include/grub/fs.h (grub_jfs_init): New prototype.
40141 (grub_jfs_fini): New prototype.
40142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
40143 (grub_emu_SOURCES): Likewise.
40144 (pkgdata_MODULES): Add jfs.mod.
40145 (jfs_mod_SOURCES): New variable.
40146 (jfs_mod_CFLAGS): Likewise.
40147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
40148 (grubof_SOURCES): Likewise.
40149 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
40150
40151 * fs/fat.c (grub_fat_find_dir): Convert the filename little
40152 endian to the host endian.
40153 (grub_fat_utf16_to_utf8): Move function from there...
40154 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 40155 the endianness of the source string anymore.
aa033560 40156 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
40157
94bc45af 401582004-08-24 Marco Gerards <metgerards@student.han.nl>
40159
40160 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
40161 (grub_boot_fini) [GRUB_UTIL]: Likewise.
40162 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
40163 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 40164
94bc45af 40165 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
40166 (grub_hfs_iterate_dir): Make the function static. Add prototypes
40167 for `node_found' and `it_dir'.
40168 (grub_hfs_dir): Add prototype for `dir_hook'.
40169
40170 * fs/minix.c (grub_minix_get_file_block): Add prototype for
40171 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
40172 and `indir32' to silence a gcc warning.
40173
40174 * include/grub/fs.h (grub_hfs_init): New prototype.
40175 (grub_hfs_fini): Likewise.
f19dbdb7 40176
40177
97543f08 401782004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40179
40180 Each disk device has its own id now. This is useful to make use
40181 of multiple disk devices.
f19dbdb7 40182
97543f08 40183 * include/grub/disk.h (grub_disk_dev_id): New enum.
40184 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
40185 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
40186
40187 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
40188 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
40189
40190 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
40191 GRUB_DISK_DEVICE_OFDISK_ID as an id.
40192
40193 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
40194 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
40195
40196 * include/grub/disk.h (struct grub_disk_dev): Added a new member
40197 "id" which is used by the cache manager.
40198
40199 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
40200 of just "GRUB".
40201
64372eb4 402022004-08-18 Marco Gerards <metgerards@student.han.nl>
40203
40204 * fs/hfs.c: New file.
40205 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
40206 (grub_emu_SOURCES): Likewise.
40207 (pkgdata_MODULES): Add hfs.mod.
40208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
40209 (grubof_SOURCES): Likewise.
40210 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
40211
40212 * include/grub/misc.h (grub_strncasecmp): Add prototype.
40213 * kern/misc.c (grub_strncasecmp): Add function.
40214
cc61b58f 402152004-08-14 Marco Gerards <metgerards@student.han.nl>
40216
40217 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
40218 with parentheses.
40219
40220 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
40221 (grub_ext2_dir): In case the directory entry type is unknown, read
40222 it from the inode.
40223
0ef123f6 402242004-08-02 Peter Bruin <pjbruin@dds.nl>
40225
40226 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
40227 grub_load_linux instead of grub_rescue_cmd_linux as second
40228 argument of grub_rescue_register_command.
40229
40230 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
40231
a447c5df 402322004-07-27 Marco Gerards <metgerards@student.han.nl>
40233
40234 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
40235 function.
40236 * commands/boot.c: Remove the check for `GRUB_UTIL'.
40237 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
40238 `loader/powerpc/ieee1275/linux.c',
40239 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
40240 * include/grub/powerpc/ieee1275/ieee1275.h
40241 (grub_ieee1275_release): New prototype.
40242 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
40243 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
40244 normal, boot, linux and linux_normal.
40245 * loader/powerpc/ieee1275/linux.c: New file.
40246 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40247
5a9e3546 402482004-07-12 Marco Gerards <metgerards@student.han.nl>
40249
40250 * normal/arg.c (grub_arg_parse): Correct error handling after
40251 reallocating the argumentlist (check if `argl' is not null instead
40252 of checking if `args' is not null).
40253 * kern/mm.c (grub_realloc): Return the same pointer when using the
40254 same region, instead of returning the header address.
40255
e15199cb 402562004-07-11 Marco Gerards <metgerards@student.han.nl>
40257
40258 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
40259 one block instead of two when looking for the initial partition.
40260 (grub_partition_probe): Initialize the local variable `p' with 0.
40261 Use base 10 for the grub_strtoul call.
40262 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
40263 need for one local variable.
40264 (grub_strtoul): Don't add the new value to `num', instead of that
40265 just assign it.
40266
020616c2 402672004-07-11 Marco Gerards <metgerards@student.han.nl>
40268
40269 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
40270 (pxeboot_img_SOURCES): New variable.
40271 (pxeboot_img_ASFLAGS): Likewise.
40272 (pxeboot_img_LDFLAGS): Likewise.
40273 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
40274 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
40275 <lode_leroy@hotmail.com>.
40276
6c51eb64 402772004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
40278
40279 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
40280 there was no input.
40281
cfb12aff 402822004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
40283
40284 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
40285 the history buffer logic.
40286
6eabba74 402872004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
40288
40289 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
40290 (FILETYPE_INO_SYMLINK): New macros.
40291 (grub_ext2_find_file): Check if the node is a directory using the
40292 inode stat information instead of using the filetype in the
40293 dirent. Exclude the first character of an absolute symlink.
40294 (grub_ext2_dir): Mask out the filetype part of the mode member of
40295 the inode.
40296
66e19ef8 402972004-05-24 Marco Gerards <metgerards@student.han.nl>
40298
40299 Add support for UFS version 1 and 2. Add support for the minix
40300 filesystem version 1 and 2, both the variants with 14 and 30 long
40301 filenames.
f19dbdb7 40302
66e19ef8 40303 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
40304 fs/minix.c.
40305 (grub_emu_SOURCES): Likewise.
40306 (pkgdata_MODULES): Add ufs.mod and minix.mod.
40307 (ufs_mod_SOURCES): New variable.
40308 (ufs_mod_CFLAGS): Likewise.
40309 (minix_mod_SOURCES): Likewise.
40310 (minix_mod_CFLAGS): Likewise.
40311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
40312 fs/minix.c.
40313 (grubof_SOURCES): Likewise.
40314 * fs/ufs.c: New file.
40315 * fs/minix.c: New file.
40316 * include/grub/fs.h (grub_ufs_init): New prototype.
40317 (grub_ufs_fini): Likewise.
40318 (grub_minix_init): Likewise.
40319 (grub_minix_fini): Likewise.
40320 * util/grub-emu.c (main): Initialize and deinitialize UFS and
40321 minix fs.
40322
cc2e748a 403232004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
40324
40325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
40326 commands/ls.c, commands/terminal.c, commands/boot.c,
40327 commands/cmp.c and commands/cat.c.
40328 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
40329
40330 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
40331 "env.h"
40332
4b13b216 403332004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40334
40335 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
40336 and grub_, respectively. Because the conversion is trivial and
40337 mechanical, I omit the details here. Please refer to the CVS
40338 if you need more information.
40339
6a142551 403402004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40341
40342 * include/pupa: Renamed to ...
40343 * include/grub: ... this.
40344 * util/i386/pc/pupa-mkimage.c: Renamed to ...
40345 * util/i386/pc/grub-mkimage.c: ... this.
40346 * util/i386/pc/pupa-setup.c: Renamed to ...
40347 * util/i386/pc/grub-setup.c: ... this.
40348 * util/pupa-emu.c: Renamed to ...
40349 * util/grub-emu.c: ... this.
40350
e56cdf21 403512004-03-29 Marco Gerards <metgerards@student.han.nl>
40352
40353 Add support for the newworld apple macintosh (PPC). This has been
40354 tested on the powerbook 2000 only. It only adds support for
40355 generic ieee1275 functions, console and disk support. This should
40356 be easy to port to other architectures with support for Open
40357 Firmware.
f19dbdb7 40358
e56cdf21 40359 * configure.ac: Accept the powerpc as host_cpu. In the case of
40360 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
40361 specific tests are only executed while building for the i386.
40362 Inverse test for crosscompile.
40363 * genmk.rb (Utility): Allow assembler files.
40364 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
40365 * conf/powerpc-ieee1275.rmk: New file.
40366 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
40367 * disk/powerpc/ieee1275/partition.c: Likewise.
40368 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
40369 * include/pupa/powerpc/ieee1275/console.h: Likewise.
40370 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
40371 * include/pupa/powerpc/ieee1275/time.h: Likewise.
40372 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
40373 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
40374 * include/pupa/powerpc/ieee1275/loader.h
40375 * include/pupa/powerpc/setjmp.h: Likewise.
40376 * include/pupa/powerpc/types.h: Likewise.
40377 * kern/powerpc/ieee1275/init.c: Likewise.
40378 * kern/powerpc/ieee1275/openfw.c: Likewise.
40379 * term/powerpc/ieee1275/ofconsole.c: Likewise.
40380
40381 These files were written by Johan Rydberg
40382 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 40383
e56cdf21 40384 * boot/powerpc/ieee1275/cmain.c: New file.
40385 * boot/powerpc/ieee1275/crt0.S: Likewise.
40386 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
40387 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
40388
8c8cc205 403892004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
40390
40391 * Makefile.in: Update copyright.
40392 * genmodsrc.sh: Likewise.
40393 * gensymlist.sh: Likewise.
40394 * term/i386/pc/vga.c: Indent correctly.
40395
40396 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
40397 bugreporting address.
40398 * util/i386/pc/pupa-setup.c (usage): Likewise,
40399 (main): Call pupa_ext2_init and pupa_ext2_fini.
40400
f19dbdb7 40401 * fs/fat.c (log2): Renamed to ...
8c8cc205 40402 (fat_log2): ... this.
40403 All callers changed.
40404 * kern/misc.c (memcpy): Alias to pupa_memmove.
40405 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
40406 lvalue cast.
40407 * util/console.c (pupa_ncurses_fini): Return 0.
40408
40409 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
40410 Move fail label here.
40411 [__GNU__]: Don't warn when using stat.
40412 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
40413 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
40414 long int. Use strtol instead of strtoul.
f19dbdb7 40415
db1771cf 404162004-03-14 Marco Gerards <metgerards@student.han.nl>
40417
40418 * commands/boot.c: New file.
40419 * commands/cat.c: Likewise.
40420 * commands/cmp.c: Likewise.
40421 * commands/ls.c: Likewise.
40422 * commands/terminal.c: Likewise.
40423 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
40424 (pupa_register_command): Changed interface to match the new
40425 argument parser.
40426 (pupa_command_execute): Changed (almost rewritten) so it uses
40427 pupa_split_command. Added support for setting variables using the
40428 syntax `foo=bar'.
40429 (rescue_command): Changed to work with the new argument parser.
40430 (terminal_command): Moved from here to commands/terminal.c.
40431 (set_command): New function.
40432 (unset_command): New function.
40433 (insmod_command): New function.
40434 (rmmod_command): New function.
40435 (lsmod_command): New function.
40436 (pupa_command_init): Don't initialize the command terminal
40437 anymore. Initialize the commands set, unset, insmod, rmmod and
40438 lsmod.
40439 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
40440 (kernel_img_HEADERS): Add arg.h and env.h.
40441 (pupa_mkimage_LDFLAGS): Add kern/env.c.
40442 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
40443 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
40444 normal/arg.c.
40445 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
40446 terminal.mod.
40447 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
40448 (boot_mod_SOURCES): New variable.
40449 (terminal_mod_SOURCES): Likewise.
40450 (ls_mod_SOURCES): Likewise.
40451 (cmp_mod_SOURCES): Likewise.
40452 (cat_mod_SOURCES): Likewise.
40453
40454 * normal/arg.c: New file.
40455 * kern/env.c: Likewise.
40456 * include/pupa/arg.h: Likewise.
40457 * include/pupa/env.h: Likewise.
40458 * font/manager.c (font_command): Changed to match argument parsing
40459 interface changes.
40460 (PUPA_MOD_INIT): Likewise.
40461 * hello/hello.c (pupa_cmd_hello): Likewise.
40462 (PUPA_MOD_INIT): Likewise.
40463 * include/pupa/disk.h: Include <pupa/device.h>.
40464 (pupa_print_partinfo): New prototype.
40465 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
40466 (pupa_dl_get_prefix): Likewise.
40467 * include/pupa/misc.h: Include <pupa/err.h>.
40468 (pupa_isgraph): New prototype.
40469 (pupa_isdigit): Likewise.
40470 (pupa_split_cmdline): Likewise.
40471 * include/pupa/normal.h: Include <pupa/arg.h>.
40472 (pupa_command): Changed the prototype of the member `func' to
40473 match the argument parsing interface. Added member `options'.
40474 (pupa_register_command): Updated to match function.
40475 (pupa_arg_parse): New prototype.
40476 (pupa_hello_init) [PUPA_UTIL]: New prototype.
40477 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
40478 (pupa_ls_init) [PUPA_UTIL]: Likewise.
40479 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
40480 (pupa_cat_init) [PUPA_UTIL]: Likewise.
40481 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
40482 (pupa_boot_init) [PUPA_UTIL]: Likewise.
40483 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
40484 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
40485 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
40486 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
40487 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
40488 * kern/disk.c: Include <pupa/file.h>.
40489 (pupa_print_partinfo): New function.
40490 * kern/dl.c: Include <pupa/env.h>.
40491 (pupa_dl_dir): Variable removed.
40492 (pupa_dl_load): Use the environment variable `prefix' instead of
40493 the variable pupa_dl_dir.
40494 (pupa_dl_set_prefix): Function removed.
40495 (pupa_dl_get_prefix): Likewise.
40496 * kern/i386/pc/init.c: Include <pupa/env.h>.
40497 (pupa_machine_init): Use the environment variable `prefix' instead of
40498 using pupa_dl_set_prefix to set the prefix.
40499 * kern/main.c: Include <pupa/env.h>.
40500 (pupa_set_root_dev): Use the environment variable `prefix' instead of
40501 using pupa_dl_get_prefix to get the prefix.
40502 * kern/misc.c: Include <pupa/env.h>.
40503 (pupa_isdigit): New function.
40504 (pupa_isgraph): Likewise.
40505 (pupa_ftoa): Likewise.
40506 (pupa_vsprintf): Added support for printing values of the type
40507 `double'. Make it possible to format variable output when using
40508 formatting like `%1.2%f'.
40509 (pupa_split_cmdline): New function.
40510 * kern/rescue.c: Include <pupa/env.h>.
40511 (next_word): Removed function.
40512 (pupa_rescue_cmd_prefix): Likewise.
40513 (pupa_rescue_cmd_set): New function.
40514 (pupa_rescue_cmd_unset): New function.
40515 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
40516 split the command line instead of splitting it here. Added
40517 support for setting variables using the syntax `foo=bar'. Don't
40518 initialize the prefix command anymore. Initialized the set and
40519 unset commands.
40520 * normal/cmdline.c: Include <pupa/env.h>.
40521 (pupa_tab_complete): Added prototypes for print_simple_completion,
40522 print_partition_completion, add_completion, iterate_commands,
40523 iterate_dev, iterate_part and iterate_dir. Moved code to print
40524 partition information from here to kern/disk.c.
fe6b695a 40525 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 40526 * normal/main.c: Include <pupa/env.h>.
40527 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
40528 instead of using pupa_dl_get_prefix to get the prefix.
40529 * term/i386/pc/vga.c: Include <pupa/arg.h>.
40530 (check_vga_mem): Cast pointers to `void *' to silence a gcc
40531 warning.
40532 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
40533 (pupa_vga_setcolor): Declare unused variables with `__attribute__
40534 ((unused))' to silence a gcc warning.
40535 (pupa_vga_setcolor): Likewise.
40536 (debug_command): Changed to match argument parsing
40537 interface changes.
40538 * util/pupa-emu.c: Include <pupa/env.h>.
40539 (options): Added 0's for unused fields to silence a gcc warning.
40540 (argp): Likewise.
40541 (main): Use the environment variable `prefix' instead of using
40542 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
40543 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
40544 and terminal.
40545
40546 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
40547 * util/misc.c: Include <malloc.h>.
40548 (pupa_malloc): Rewritten so errors are correctly reported.
40549 (pupa_realloc): Likewise.
40550 (pupa_memalign): Likewise.
40551 (pupa_mm_init_region): Declare unused variables with
40552 `__attribute__ ((unused))' to silence a gcc warning.
40553 * normal/i386/setjmp.S: Remove tab at the end of the file to
40554 silence a gcc warning.
40555 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
40556 variables with `__attribute__ ((unused))' to silence a gcc
40557 warning.
40558 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
40559 local variable i unsigned to silence a gcc warning.
40560
40561 * kern/term.c: Include <pupa/misc.h>.
40562 (pupa_more_lines): New variable.
40563 (pupa_more): Likewise.
40564 (pupa_putcode): When the pager is active pause at the end of every
40565 screen.
40566 (pupa_set_more): New function.
40567 * include/pupa/term.h (pupa_set_more): New prototype.
40568
40569
3b1139cb 405702004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
40571
40572 Now this project is GRUB 2 rather than PUPA. The location of
40573 the CVS repository was moved to GRUB's.
f19dbdb7 40574
3b1139cb 40575 * configure.ac: Use bug-grub as the reporting address.
40576 Use GRUB instead of PUPA.
40577 Change the version number to 1.90.
40578
8367695c 405792004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
40580
40581 * genkernsyms.sh: Updated copyright information.
40582 * genmk.rb: Likewise.
40583 * genmodsrc.sh: Likewise.
40584 * gensymlist.sh: Likewise.
40585 * boot/i386/pc/boot.S: Likewise.
40586 * boot/i386/pc/diskboot.S: Likewise.
40587 * disk/i386/pc/biosdisk.c: Likewise.
40588 * disk/i386/pc/partition.c: Likewise.
40589 * font/manager.c: Likewise.
40590 * fs/ext2.c: Likewise.
40591 * fs/fat.c: Likewise.
40592 * include/pupa/boot.h: Likewise.
40593 * include/pupa/device.h: Likewise.
40594 * include/pupa/disk.h: Likewise.
40595 * include/pupa/dl.h: Likewise.
40596 * include/pupa/elf.h: Likewise.
40597 * include/pupa/err.h: Likewise.
40598 * include/pupa/file.h: Likewise.
40599 * include/pupa/font.h: Likewise.
40600 * include/pupa/fs.h: Likewise.
40601 * include/pupa/kernel.h: Likewise.
40602 * include/pupa/loader.h: Likewise.
40603 * include/pupa/misc.h: Likewise.
40604 * include/pupa/mm.h: Likewise.
40605 * include/pupa/net.h: Likewise.
40606 * include/pupa/normal.h: Likewise.
40607 * include/pupa/rescue.h: Likewise.
40608 * include/pupa/setjmp.h: Likewise.
40609 * include/pupa/symbol.h: Likewise.
40610 * include/pupa/term.h: Likewise.
40611 * include/pupa/types.h: Likewise.
40612 * include/pupa/i386/setjmp.h: Likewise.
40613 * include/pupa/i386/types.h: Likewise.
40614 * include/pupa/i386/pc/biosdisk.h: Likewise.
40615 * include/pupa/i386/pc/boot.h: Likewise.
40616 * include/pupa/i386/pc/console.h: Likewise.
40617 * include/pupa/i386/pc/init.h: Likewise.
40618 * include/pupa/i386/pc/kernel.h: Likewise.
40619 * include/pupa/i386/pc/linux.h: Likewise.
40620 * include/pupa/i386/pc/loader.h: Likewise.
40621 * include/pupa/i386/pc/memory.h: Likewise.
40622 * include/pupa/i386/pc/multiboot.h: Likewise.
40623 * include/pupa/i386/pc/partition.h: Likewise.
40624 * include/pupa/i386/pc/time.h: Likewise.
40625 * include/pupa/i386/pc/vga.h: Likewise.
40626 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
40627 * include/pupa/util/getroot.h: Likewise.
40628 * include/pupa/util/misc.h: Likewise.
40629 * include/pupa/util/resolve.h: Likewise.
40630 * kern/device.c: Likewise.
40631 * kern/disk.c: Likewise.
40632 * kern/dl.c: Likewise.
40633 * kern/err.c: Likewise.
40634 * kern/file.c: Likewise.
40635 * kern/fs.c: Likewise.
40636 * kern/loader.c: Likewise.
40637 * kern/main.c: Likewise.
40638 * kern/misc.c: Likewise.
40639 * kern/mm.c: Likewise.
40640 * kern/rescue.c: Likewise.
40641 * kern/term.c: Likewise.
40642 * kern/i386/dl.c: Likewise.
40643 * kern/i386/pc/init.c: Likewise.
40644 * kern/i386/pc/lzo1x.S: Likewise.
40645 * kern/i386/pc/startup.S: Likewise.
40646 * loader/i386/pc/chainloader.c: Likewise.
40647 * loader/i386/pc/linux.c: Likewise.
40648 * loader/i386/pc/multiboot.c: Likewise.
40649 * normal/cmdline.c: Likewise.
40650 * normal/command.c: Likewise.
40651 * normal/main.c: Likewise.
40652 * normal/menu.c: Likewise.
40653 * normal/i386/setjmp.S: Likewise.
40654 * term/i386/pc/console.c: Likewise.
40655 * term/i386/pc/vga.c: Likewise.
40656 * util/console.c: Likewise.
40657 * util/genmoddep.c: Likewise.
40658 * util/misc.c: Likewise.
40659 * util/pupa-emu.c: Likewise.
40660 * util/resolve.c: Likewise.
40661 * util/unifont2pff.rb: Likewise.
40662 * util/i386/pc/biosdisk.c: Likewise.
40663 * util/i386/pc/getroot.c: Likewise.
40664 * util/i386/pc/pupa-mkimage.c: Likewise.
40665 * util/i386/pc/pupa-setup.c: Likewise.
40666
e6eced71 406672004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
40668
40669 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
40670 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
40671 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
40672 reading and reset it after reading.
40673 (pupa_ext2_close): Return PUPA_ERR_NONE.
40674
40675 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
40676 Correct value.
40677 (struct linux_kernel_header): Add kernel_version and
40678 initrd_addr_max.
40679 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
40680 pupa_file_read succeeds.
40681 (pupa_rescue_cmd_initrd): Implement.
40682
5aded270 406832003-12-03 Marco Gerards <metgerards@student.han.nl>
40684
40685 * fs/ext2.c (pupa_ext2_label): New function.
40686 (pupa_ext2_fs): Added label.
40687 * fs/fat.c (pupa_fat_label): New function.
40688 (pupa_fat_fs): Added label.
40689 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
40690
40691 * kern/misc.c (pupa_strndup): New function.
40692 * include/pupa/misc.h (pupa_strndup): New prototype.
40693
40694 * include/pupa/normal.h: Include <pupa/err.h>.
40695 (pupa_set_history): New prototype.
40696 (pupa_iterate_commands): New prototype.
40697 * normal/cmdline.c: Include <pupa/machine/partition.h>,
40698 <pupa/disk.h>, <pupa/file.h>.
40699 (hist_size): New variable.
40700 (hist_lines): Likewise.
40701 (hist_end): Likewise.
40702 (hist_used): Likewise.
40703 (pupa_set_history): New function.
40704 (pupa_history_get): Likewise.
40705 (pupa_history_add): Likewise.
40706 (pupa_history_replace): Likewise.
40707 (pupa_tab_complete): Likewise.
40708 (pupa_cmdline_run): Added tab completion and history buffer. Tab
40709 completion shows partitionnames while completing partitions, this
40710 feature was suggested by Jeff Bailey.
40711 * normal/command.c (pupa_iterate_commands): New function.
40712 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
40713 (pupa_normal_init): Initialize history buffer.
40714 (PUPA_MOD_INIT): Likewise.
40715 (pupa_normal_fini): Free the history buffer.
40716 (PUPA_MOD_FINI): Likewise.
40717
40718 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
40719 key.
40720
40721 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
40722 * configure.ac [i386]: Check for regparam bug.
40723 (NESTED_FUNC_ATTR) [! i386]: Defined.
40724
1f7315a3 407252003-11-17 Marco Gerards <metgerards@student.han.nl>
40726
40727 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
40728 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
40729 (pupa_emu_SOURCES): New variable.
40730 (pupa_emu_LDFLAGS): Likewise.
40731 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
40732 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
40733 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
40734 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40735 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
40736 (pupa_jmp_buf): New typedef.
40737 (pupa_setjmp) [PUPA_UTIL]: New macro.
40738 (pupa_longjmp) [PUPA_UTIL]: Likewise.
40739 * include/pupa/term.h (struct pupa_term): New member `refresh'.
40740 (pupa_refresh): New prototype.
40741 * include/pupa/util/getroot.h: New file.
40742 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
40743 it.
40744 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
40745 (pupa_rescue_cmd_cat): Likewise.
40746 (pupa_rescue_cmd_ls): Likewise.
40747 (pupa_rescue_cmd_testload): Likewise.
40748 (pupa_rescue_cmd_lsmod): Likewise.
40749 * normal/cmdline.c (pupa_cmdline_get): Likewise.
40750 * normal/menu.c (run_menu): Likewise.
40751 * kern/term.c (pupa_cls): Likewise.
40752 (pupa_refresh): New function.
40753 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
40754 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40755 * util/console.c: New file.
f19dbdb7 40756
1f7315a3 40757 * util/i386/pc/getroot.c: New file.
40758 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
40759 (pupa_putchar): New function.
40760 (pupa_refresh): Likewise.
40761 (xgetcwd): Function moved to ...
40762 (strip_extra_slashes): Likewise.
40763 (get_prefix): Likewise.
f19dbdb7 40764 * util/i386/pc/getroot.c: ... here.
1f7315a3 40765 (find_root_device): Function moved and renamed to...
40766 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
40767 Changed all callers.
40768 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
40769 and renamed to...
40770 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
40771 Changed all callers.
40772 * util/misc.c (pupa_memalign): New function.
40773 (pupa_mm_init_region): Likewise.
40774 (pupa_register_exported_symbols): Likewise.
40775 (pupa_putchar): Function removed.
40776 * util/pupa-emu.c: New file.
40777
9a5c1ade 407782003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
40779
40780 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
40781 (_multiboot_mod_SOURCES): New variable.
40782 (_multiboot_mod_CFLAGS): Likewise.
40783 * loader/i386/pc/multiboot.c: New file.
40784 * include/pupa/i386/pc/multiboot.h: Likewise.
40785 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
40786 (pupa_multiboot_real_boot): New function.
40787 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
40788 (pupa_multiboot_real_boot): New prototype.
40789 (pupa_rescue_cmd_multiboot): Likewise
40790 (pupa_rescue_cmd_module): Likewise.
40791
40792 * kern/loader.c (pupa_loader_set): Continue when
40793 pupa_loader_unload_func() fails.
40794 (pupa_loader_unset): New function.
40795 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40796
40797 * kern/misc.c (pupa_stpcpy): New function.
40798 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40799
8e72a9c0 408002003-11-12 Marco Gerards <metgerards@student.han.nl>
40801
40802 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40803 for available extensions.
40804
40805 * include/pupa/i386/pc/time.h: New file.
40806 * kern/disk.c: Include <pupa/machine/time.h>.
40807 (PUPA_CACHE_TIMEOUT): New macro.
40808 (pupa_last_time): New variable.
40809 (pupa_disk_open): Flush the cache when there was a timeout.
40810 (pupa_disk_close): Reset the timer.
40811 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40812 pupa_currticks.
40813 * util/misc.c: Include <sys/times.h>
40814 (pupa_get_rtc): New function.
40815
c4adbd32 408162003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40817
40818 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40819 as blocks.
40820 (pupa_ext2_get_file_block): Use blocks member.
40821
40822 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40823 first block. Return -1 instead of pupa_errno on error.
40824
bfd30f06 408252003-10-27 Marco Gerards <metgerards@student.han.nl>
40826
40827 * README: In the pupa-mkimage example use _chain instead of chain
40828 and ext2 instead of fat.
40829 * TODO: Replace ext2fs with jfs as an example. Add an item for
40830 adding journal playback for ext2fs.
40831 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40832 (pkgdata_MODULES): Added ext2.mod.
40833 (ext2_mod_SOURCES): New variable.
40834 (ext2_mod_CFLAGS): Likewise.
40835 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40836 * include/pupa/misc.h (pupa_strncpy): New prototype.
40837 (pupa_strcat): Likewise.
40838 (pupa_strncmp): Likewise.
40839 * kern/misc.c (pupa_strcat): Enable function.
40840 (pupa_strncpy): New function.
40841 (pupa_strncmp): Likewise.
40842 * fs/ext2.c: New file.
f19dbdb7 40843
bfd30f06 40844 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40845 when the read failed before retrying.
40846 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40847 (_FILE_OFFSET_BITS): Likewise.
40848 * configure.ac: Added AC_SYS_LARGEFILE.
40849
98d15063 408502003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40851
40852 * genmk.rb (PModule#rule): Make sure to get only symbol names
40853 from the output of nm.
59cad637 40854 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 40855
18d9c7cd 408562003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40857
40858 I forgot to check in these changes for a long time. This adds
40859 incomplete support for VGA console, and this is still very
40860 buggy. Also, a lot of consideration is required for I18N,
40861 UNICODE, and VGA font issues. Therefore, assume that this is
40862 such that "better than nothing".
f19dbdb7 40863
18d9c7cd 40864 * font/manager.c: New file.
40865 * include/pupa/font.h: Likewise.
40866 * include/pupa/i386/pc/vga.h: Likewise.
40867 * term/i386/pc/vga.c: Likewise.
40868 * util/unifont2pff.rb: Likewise.
40869
40870 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40871 (pkgdata_MODULES): Added vga.mod and font.mod.
40872 (vga_mod_SOURCES): New variables.
40873 (vga_mod_CFLAGS): Likewise.
40874 (font_mod_SOURCES): Likewise.
40875 (font_mod_CFLAGS): Likewise.
40876
40877 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40878
40879 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 40880 (struct pupa_term): Added init and fini.
18d9c7cd 40881 Changed the argument of putchar to pupa_uint32_t.
40882
40883 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40884 (pupa_console_real_putchar): New prototype.
40885 (pupa_console_putchar): Removed.
40886 (pupa_console_checkkey): Exported.
40887 (pupa_console_getkey): Likewise.
40888
40889 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40890 characters.
40891
40892 * kern/term.c (pupa_term_set_current): Rewritten.
40893 (pupa_putchar): Likewise.
40894 (pupa_putcode): New function.
40895
40896 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40897 (pupa_console_real_putchar): ... this.
40898 (pupa_vga_set_mode): New function.
40899 (pupa_vga_get_font): Likewise.
40900
40901 * normal/command.c: Include pupa/term.h.
40902 (terminal_command): New function.
40903 (pupa_command_init): Register the command "terminal".
40904
40905 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40906 (DISP_UP): Likewise.
40907 (DISP_RIGHT): Likewise.
40908 (DISP_DOWN): Likewise.
40909 (DISP_HLINE): Likewise.
40910 (DISP_VLINE): Likewise.
40911 (DISP_UL): Likewise.
40912 (DISP_UR): Likewise.
40913 (DISP_LL): Likewise.
40914 (DISP_LR): Likewise.
40915
40916 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 40917
977329f5 409182003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40919
40920 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40921 FIX. Reverse the path_list.
40922
40923 * include/pupa/normal.h: Export pupa_register_command and
40924 pupa_unregister_command.
40925
40926 * hello/hello.c (pupa_cmd_hello): New module.
40927 * conf/i386-pc.rmk: Added hello.mod.
40928
1f5ab428 409292003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40930
40931 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 40932
1f5ab428 40933 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40934 (compress_kernel): New variable.
40935 (generate_image): Heavily modified to support compressing a
40936 large part of the core image.
40937
40938 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40939 leak.
40940 (pupa_util_load_image): New function.
40941
40942 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40943 (pupa_compressed_size): New variable.
40944 (codestart): Enable Gate A20 here.
40945 Decompress the compressed part of the core image.
40946 Rearrange the code to put functions and variables which are
40947 required for initialization in the non-compressed part.
40948 Include lzo1x.S.
40949
40950 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40951 here.
40952
40953 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40954
f19dbdb7 40955 * include/pupa/i386/pc/kernel.h
1f5ab428 40956 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40957 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40958 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40959 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40960 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40961
40962 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40963
40964 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40965 (Utility#rule): Likewise.
40966
40967 * configure.ac: Check if LZO is available.
40968
ce5bf700 409692003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40970
40971 * include/pupa/normal.h: New file.
40972 * include/pupa/setjmp.h: Likewise.
40973 * include/pupa/i386/setjmp.h: Likewise.
40974 * normal/cmdline.c: Likewise.
40975 * normal/command.c: Likewise.
40976 * normal/main.c: Likewise.
40977 * normal/menu.c: Likewise.
40978 * normal/i386/setjmp.S: Likewise.
f19dbdb7 40979
ce5bf700 40980 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40981 (pupa_rescue_cmd_initrd): Likewise.
40982
40983 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40984 Likewise.
40985
40986 * kern/i386/pc/startup.S (translation_table): New variable.
40987 (translate_keycode): New function.
40988 (pupa_console_getkey): Call translate_keycode.
40989
40990 * kern/rescue.c (attempt_normal_mode): New function.
40991 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40992 it failed, print a message.
40993
40994 * kern/mm.c (pupa_real_malloc): Print more information when a
40995 free magic is broken.
40996 (pupa_free): If the first free header is not free actually, set
40997 it to P.
40998
40999 * kern/main.c (pupa_load_normal_mode): Just load the module
41000 "normal".
41001 (pupa_main): Don't print the message
41002 "Entering into rescue mode..." here.
41003
41004 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
41005 Declared.
41006 (pupa_rescue_cmd_initrd): Likewise.
41007 (pupa_rescue_cmd_initrd): Likewise.
41008
41009 * include/pupa/symbol.h (FUNCTION): Specify the type.
41010 (VARIABLE): Likewise.
41011
41012 * include/pupa/err.h (pupa_err_t): Added
41013 PUPA_ERR_UNKNOWN_COMMAND.
41014
41015 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
41016 (pupa_dl_get_prefix): Likewise.
41017
41018 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
41019 Added _chain.mod and _linux.mod instead of chain.mod and
41020 linux.mod.
41021 (chain_mod_SOURCES): Renamed to ...
41022 (_chain_mod_SOURCES): ... this.
41023 (chain_mod_CFLAGS): Renamed to ...
41024 (_chain_mod_CFLAGS): ... this.
41025 (linux_mod_SOURCES): Renamed to ...
41026 (_linux_mod_SOURCES): ... this.
41027 (linux_mod_CFLAGS): Renamed to ...
41028 (_linux_mod_CFLAGS): ... this.
41029 (normal_mod_SOURCES): New variable.
41030 (normal_mod_CFLAGS): Likewise.
41031 (normal_mod_ASFLAGS): Likewise.
41032
410332003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
41034
41035 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
41036 possible.
41037
fe6b695a 41038 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 41039 recursively.
41040 (pupa_dl_unref): Unrefer depending modules recursively.
41041 Don't call pupa_dl_unload implicitly, because PUPA can crash if
41042 a module is unloaded before one depending on that module is
41043 unloaded.
41044 (pupa_dl_unload): Unload depending modules explicitly,
41045 if possible.
41046
c04da074 410472003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
41048
41049 * include/pupa/i386/pc/linux.h: New file.
41050 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 41051
c04da074 41052 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
41053 Removed.
41054 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
41055 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
41056 of PUPA_CHAINLOADER_BOOT_SECTOR.
41057
41058 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
41059 (pupa_linux_prot_size): New variable.
41060 (pupa_linux_tmp_addr): Likewise.
41061 (pupa_linux_real_addr): Likewise.
41062 (pupa_linux_boot_zimage): New function.
41063 (pupa_linux_boot_bzimage): Likewise.
41064
41065 * kern/i386/pc/init.c (struct mem_region): New structure.
41066 (MAX_REGIONS): New macro.
41067 (mem_regions): New variable.
41068 (num_regions): Likewise.
41069 (pupa_os_area_addr): Likewise.
41070 (pupa_os_area_size): Likewise.
41071 (pupa_lower_mem): Likewise.
41072 (pupa_upper_mem): Likewise.
41073 (add_mem_region): New function.
41074 (compact_mem_regions): Likewise.
41075 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
41076 the size of the conventional memory and that of so-called upper
41077 memory (before the first memory hole).
41078 Instead of adding each found region to free memory, use
41079 add_mem_region and add them after removing overlaps.
41080 Also, add only 1/4 of the upper memory to free memory. The rest
41081 is used for loading OS images. Maybe this is ad hoc, but this
41082 makes it much easier to relocate OS images when booting.
41083
41084 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
41085 (pupa_enter_rescue_mode): Don't register initrd and module.
41086
41087 * kern/mm.c: Include pupa/dl.h.
41088
41089 * kern/main.c: Include pupa/file.h and pupa/device.h.
41090
41091 * kern/loader.c (pupa_loader_load_module_func): Removed.
41092 (pupa_loader_load_module): Likewise.
41093
41094 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
41095 ``.o''.
41096
41097 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
41098 (pupa_linux_tmp_addr): Likewise.
41099 (pupa_linux_real_addr): Likewise.
41100 (pupa_linux_boot_zimage): Likewise.
41101 (pupa_linux_boot_bzimage): Likewise.
41102
41103 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
41104 (pupa_upper_mem): Likewise.
41105 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
41106 module is too dangerous.
41107
41108 * include/pupa/loader.h (pupa_os_area_addr): Declared.
41109 (pupa_os_area_size): Likewise.
41110 (pupa_loader_set): Remove the first argument. Loader doesn't
41111 manage modules or initrd any longer.
41112 (pupa_loader_load_module): Removed.
41113
41114 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
41115 (linux_mod_SOURCES): New variable.
41116 (linux_mod_CFLAGS): Likewise.
41117
a13f9237 411182003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
41119
41120 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
41121 the length of a blocklist correctly.
41122
41123 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
41124 Use ioctl only if the OS file is a block device.
41125 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
41126 not very useful for normal files.
41127
41128 * kern/main.c (pupa_set_root_dev): New function.
41129 (pupa_load_normal_mode): Likewise.
41130 (pupa_main): Call those above.
41131
41132 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
41133 pupa_uint16_t.
41134
41135 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
41136
a5ffe966 411372003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41138
41139 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
41140 (setup): Configure the installed partition information and the
41141 dl prefix.
41142
41143 * loader/i386/pc/chainloader.c (my_mod): New variable.
41144 (pupa_chainloader_unload): New function.
41145 (pupa_rescue_cmd_chainloader): Refer itself.
41146 (PUPA_MOD_INIT): Save its own module in MY_MOD.
41147
41148 * kern/i386/pc/startup.S (install_partition): Removed.
41149 (version_string): Likewise.
41150 (config_file): Likewise.
41151 (pupa_install_dos_part): New variable.
41152 (pupa_install_bsd_part): Likewise.
41153 (pupa_prefix): Likewise.
41154 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
41155
41156 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
41157 and pupa/misc.h.
41158 (make_install_device): New function.
41159 (pupa_machine_init): Set the dl prefix.
41160
41161 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
41162 (buf): Renamed to ...
41163 (linebuf): ... this.
41164 (pupa_rescue_cmd_prefix): New function.
41165 (pupa_rescue_cmd_insmod): Likewise.
41166 (pupa_rescue_cmd_rmmod): Likewise.
41167 (pupa_rescue_cmd_lsmod): Likewise.
41168 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
41169 rmmod and lsmod.
41170
41171 * kern/mm.c (pupa_memalign): If failed even after invalidating
41172 disk caches, unload unneeded modules and retry.
41173
41174 * kern/misc.c (pupa_memmove): New function.
41175 (pupa_memcpy): Removed.
41176 (pupa_strcpy): New function.
41177 (pupa_itoa): Made static.
41178
41179 * kern/dl.c (pupa_dl_iterate): New function.
41180 (pupa_dl_ref): Likewise.
41181 (pupa_dl_unref): Likewise.
41182 (pupa_dl_unload): Return if succeeded or not.
41183 (pupa_dl_unload_unneeded): New function.
41184 (pupa_dl_unload_all): Likewise.
41185 (pupa_dl_init): Renamed to ...
41186 (pupa_dl_set_prefix): ... this.
41187 (pupa_dl_get_prefix): New function.
41188
41189 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
41190 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
41191 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
41192 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
41193 (pupa_install_dos_part): Declared.
41194 (pupa_install_bsd_part): Likewise.
41195 (pupa_prefix): Likewise.
41196 (pupa_boot_drive): Likewise.
41197
41198 * include/pupa/types.h: Fix a typo.
41199
41200 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
41201 pupa_memmove.
41202 (pupa_memmove): Declared.
41203 (pupa_strcpy): Likewise.
41204
41205 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
41206 pupa_mod_init takes one argument, its own module.
41207 (pupa_dl_unload_unneeded): Declared.
41208 (pupa_dl_unload_all): Likewise.
41209 (pupa_dl_ref): Likewise.
41210 (pupa_dl_unref): Likewise.
41211 (pupa_dl_iterate): Likewise.
41212 (pupa_dl_init): Renamed to ...
41213 (pupa_dl_set_prefix): ... this.
41214 (pupa_dl_get_prefix): Declared.
41215
41216 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 41217 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 41218 unloaded.
41219 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
41220 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
41221
41222 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
41223 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
41224
012d7999 412252003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
41226
41227 * util/i386/pc/pupa-setup.c (setup): Define the internal
41228 function find_first_partition_start at the top level, because GCC
41229 3.0.x cannot compile internal functions in deeper scopes
41230 correctly.
41231 (find_root_device): Use lstat instead of stat.
41232 Don't follow symbolic links.
41233 Fix the path-constructing code.
41234
41235 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
41236 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
41237 by a BLKGETSIZE ioctl first, because block devices don't fill
41238 the member st_mode of the structure stat on Linux.
41239 [__linux__] (linux_find_partition): Use a temporary buffer
41240 REAL_DEV for the working space. Copy it to DEV before returning.
41241 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
41242 buffer cache consistent.
41243 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
41244 strncmp. The previous value was merely wrong.
41245 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
41246
41247 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
41248 FAT size is 12. The previous value was merely wrong.
41249
41250 * kern/main.c (pupa_main): Don't split the starting message from
41251 newlines.
41252
41253 * kern/term.c (pupa_putchar): Put CR after LF instead of before
41254 LF, because BIOS goes crazy about character attributes in this
41255 case.
41256
1cc73a62 412572003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
41258
41259 * include/i386/pc/util/biosdisk.h: New file.
41260 * util/i386/pc/biosdisk.c: Likewise.
41261 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 41262
1cc73a62 41263 * Makefile.in (INCLUDE_DISTFILES): Added
41264 include/pupa/i386/pc/util/biosdisk.h.
41265 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
41266 directory util/i386/pc.
41267 (install-local): Added a rule for sbin_UTILITIES.
41268 (uninstall): Likewise.
41269
41270 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
41271
41272 * util/misc.c (xrealloc): New function.
41273 (pupa_malloc): Likewise.
41274 (pupa_free): Likewise.
41275 (pupa_realloc): Likewise.
41276 (pupa_stop): Likewise.
41277 (pupa_putchar): Likewise.
41278
41279 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
41280
41281 * include/pupa/util/misc.h (xrealloc): Declared.
41282
41283 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
41284 macro.
41285 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
41286 (PUPA_BOOT_MACHINE_BPB_END): ... this.
41287
41288 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
41289 [PUPA_UTIL] (pupa_fat_fini): Likewise.
41290
41291 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
41292 way should be implemented.
41293 [PUPA_UTIL] (pupa_fat_fini): Likewise.
41294
41295 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
41296 the size of NAME for safety.
41297 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
41298 0x88.
41299
41300 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
41301 (pupa_setup_SOURCES): Likewise.
41302
41303 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
41304
08b70fe8 413052002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
41306
41307 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
41308 bunch of pushl's from pusha, because this destroys the return
41309 value.
41310
62ddcc8f 413112002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
41312
41313 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
41314 This means that any missing prototypes could be fatal. Also, you
41315 must take care when writing assembly code. See the comments at
41316 the beginning of startup.S, for more details.
f19dbdb7 41317
62ddcc8f 41318 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
41319 compilation mechanism.
41320 (pupa_chainloader_real_boot): Likewise.
41321 (pupa_biosdisk_rw_int13_extensions): Likewise.
41322 (pupa_biosdisk_rw_standard): Likewise.
41323 (pupa_biosdisk_check_int13_extensions): Likewise.
41324 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
41325 (pupa_biosdisk_get_diskinfo_standard): Likewise.
41326 (pupa_get_memsize): Likewise.
41327 (pupa_get_mmap_entry): Likewise.
41328 (pupa_console_putchar): Likewise.
41329 (pupa_console_setcursor): Likewise.
41330 (pupa_getrtsecs): Use pushl instead of push.
41331
41332 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
41333 memory instead of the stack for a mmap entry, because some
41334 BIOSes may ignore the maximum size and overflow.
41335
41336 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
41337
41338 * genmk.rb (PModule#rule): Compile automatically generated
41339 sources with module-specific CFLAGS as well as other sources.
41340
9962ed99 413412002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41342
41343 * configure.ac: Check ld.
41344 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
41345 respectively, before checking endianness and sizes.
41346
41347 * Makefile.in (LD): New variable.
f19dbdb7 41348
abdfc3c5 413492002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41350
41351 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
41352
6a161fa9 413532002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41354
41355 * Changelog: New file.
41356