]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
[grub2.git] / ChangeLog
CommitLineData
54e2be26
VS
12012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
4
f7c71e68
VS
52012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8 macro.
9 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
10 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11
a32d5c71
VS
122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
15 * util/grub-install.in: Gettextize.
16 * util/grub-mkconfig.in: Likewise.
17 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
18 if not available.
19 (grub_warn): Gettextize.
20 * util/grub-mknetdir.in: Gettextize.
21 * util/grub-mkrescue.in: Likewise.
22 * util/grub-mkstandalone.in: Likewise.
23 * util/grub-reboot.in: Likewise.
24 * util/grub-set-default.in: Likewise.
25 * util/grub.d/00_header.in: Likewise.
26 * util/grub.d/10_hurd.in: Likewise.
27 * util/grub.d/10_kfreebsd.in: Likewise.
28 * util/grub.d/10_linux.in: Likewise.
29 * util/grub.d/10_netbsd.in: Likewise.
30 * util/grub.d/10_windows.in: Likewise.
31 * util/grub.d/20_linux_xen.in: Likewise.
32 * util/grub.d/30_os-prober.in: Likewise.
33 * po/POTFILES-shell.in: Regenerate.
34
69edd81a
RL
352012-02-03 Richard Laager <rlaager@wiktel.com>
36
37 * util/grub-mkimage.c (main): Fix format-security warning.
38 * util/grub-mkrelpath.c (main): Likewise.
39 * util/grub-probe.c (main): Likewise.
40
65f08dbf
RL
412012-02-03 Richard Laager <rlaager@wiktel.com>
42
43 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
44 failure.
45 Put back lost PRINT_DRIVE.
46
e9084abe
RL
472012-02-03 Richard Laager <rlaager@wiktel.com>
48
49 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
50 (grub_guess_root_devices): Replace strlen with sizeof.
51 Avoid crash.
52 (find_root_devices_from_poolname): Remove unused variable.
53 Handle raidzN.
54
cf5f7ee7
VS
552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
56
57 Support install on multi-device filesystems.
58
59 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
60 (grub_guess_root_devices): ...this. Return char **. All users updated.
61 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
62 Removed.
63 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
64 (find_root_devices_from_poolname): ... here.
65 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
66 Support zfs-fuse.
67 (grub_guess_root_device): Rename to ...
68 (grub_guess_root_devices): ... this. Return char **. All users updated.
69 * util/grub-install.in: Handle multi-device filesystems.
70 * util/grub-probe.c (probe). Make device_names a char **. Add delim
71 argument. All users updated.
72 Handle multi-device filesystems.
73 Use 'delim' as separator.
74 Remove device check to allow filesystems on file.
75 (main): Support -0 argument. Handle multi-device.
76 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
77 Fix a cross-device check while on it.
78 (arguments): Remove root_dev.
79 (argp_parser): Remove -r.
80 (main): Remove root_dev.
81
2f53a9ed
VS
822012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
85
17e1d934
VS
862012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
89 symbol.
90 Reported by: NODA, Kai <nodakai>.
91
d3e3fab5
VS
922012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
93
94 Fix ehci on amd64.
95
96 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
97 pointers.
98 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
99 (grub_ehci_setup_qh): Likewise.
100 (grub_ehci_find_qh): Likewise.
101 (grub_ehci_transaction): Likewise.
102 (grub_ehci_setup_transfer): Likewise.
103 (grub_ehci_check_transfer): Likewise.
104 (grub_ehci_portstatus): Likewise.
105 (grub_ehci_detect_dev): Likewise.
106 (grub_ehci_transfer_controller_data): New field td_last_phys.
107 (grub_ehci_setup_transfer): Fill td_last_phys.
108 (grub_ehci_check_transfer): Use td_last_phys.
109
3008675b
SG
1102012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
111
112 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
113 if no submenu is present.
114
fc9b5652
AN
1152012-02-01 Aleš Nesrsta <starous@volny.cz>
116
117 CBI support.
118
119 * include/grub/usb.h (grub_usbms_protocol_t): New values
120 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
121 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
122 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
123 (grub_usbms_dev): Add subclass, protocol and intrpt.
124 Remove in_maxsz and out_maxsz.
125 (grub_usbms_reset): Rename to ...
126 (grub_usbms_bo_reset): .. this.
127 (grub_usbms_cbi_cmd): New function.
128 (grub_usbms_cbi_reset): Likewise.
129 (grub_usbms_reset): Likewise.
130 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
131 (grub_usbms_transfer): Rename to ...
132 (grub_usbms_transfer_bo): ... this.
133 (grub_usbms_transfer_cbi): Likewise.
134 (grub_usbms_transfer): Likewise.
135
a2b81d53
AN
1362012-02-01 Aleš Nesrsta <starous@volny.cz>
1372012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
138
139 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
140 the support for the CS5536 modification thereos and few bugfixes.
141
142 * grub-core/Makefile.core.def (ehci): New module.
143 * grub-core/bus/usb/ehci.c: New file.
144 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
145 port and hubaddr. All users updated.
146 Save port and hubaddr into dev structure.
147 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
148 define.
149 * include/grub/pci.h (grub_dma_phys2virt): New function.
150 (grub_dma_virt2phys): Likewise.
151 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
152
b1d51f02
VS
1532012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
156 check as some mkfs implementations omit it.
157
fc694106
VS
1582012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * docs/grub.texi (Unicode): Mention identifier and space limitations.
161
6c0920e3
VS
1622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
165 Add new member volname2.
166 (grub_jfs_label): Use volname2 if available.
167
d1a46f9a
VS
1682012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
171 over last_mounted as seen in image generated by mkfs.nilfs2.
172 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
173
dec8ed14
VS
1742012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
177 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
178 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
179
7397c69b
VS
1802012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
183 over the sector.
184
b3fe42ad
VS
1852012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
188 subvolume name (by removing a bogus and useless check).
189
10476bb0
VS
1902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
193 sizeof while on it.
194
9c08ad87
VS
1952012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
198 (grub_scsi_read_capacity10): ... this.
199 (grub_scsi_read_capacity16): New function.
200 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
201 0xffffffff.
202 Fix off-by-one error.
203 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
204 64-bit unsigned.
205 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
206 (grub_scsi_read_capacity10): ... this.
207 (grub_scsi_read_capacity_data): Rename to ...
208 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
209 (grub_scsi_read_capacity16): New struct.
210 (grub_scsi_read_capacity16_data): Likewise.
211 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
212 grub_scsi_cmd_read_capacity10.
213 New command grub_scsi_cmd_read_capacity16.
214
bc8d0f45
VS
2152012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
216
217 SCSI >2TiB support.
218
219 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
220 (grub_scsi_write16): Likewise.
221 (grub_scsi_read): Use read16 when necessary.
222 (grub_scsi_write): Likewise.
223 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
224 (grub_scsi_write16): Likewise.
225 (grub_scsi_cmd_t): Add READ16 and WRITE16.
226
cc774926
VS
2272012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
228
229 SCSI write support (for usbms mainly).
230
231 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
232 a const pointer.
233 (grub_scsi_write): Implement.
234 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
235
67639fd7
VS
2362012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
239 variable.
240
9079d3ed
VS
2412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * grub-core/lib/posix_wrap/string.h (memchr): New function.
244
c6a6f204
VS
2452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * po/POTFILES.in: Regenerate.
248
ecbf8cd1
VS
2492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
252 with grub_printf to avoid unnecessary fatal failure.
253
0b3b3b38
VS
2542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
257 (INT_MAX): Likewise.
258 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
259 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
260 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
261 (strcpy): Likewise.
262 (strstr): Likewise.
263 (strchr): Likewise.
264 (strncpy): Likewise.
265 (strcat): Likewise.
266 (strncat): Likewise.
267 (strcoll): Likewise.
268 * include/grub/types.h (GRUB_SHRT_MAX): New define.
269 (GRUB_INT_MAX): Likewise.
270
db7337a3
VS
2712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
274 unexpected error.
275 (optimize_utf8): Likewise.
276 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
277
f37c87e1
VS
2782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/boot/i386/pc/lnxboot.S: Use
281 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
282 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
283 location.
284 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
285 definition.
286 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
287
63fe43f3
VS
2882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
291 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
292 now to avoid double free.
293 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
294 hostdisk.
295 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
296 * util/grub-probe.c (escape_of_path): Always return a new copy.
297 (print_full_name): Escape path.
298 (probe): Don't call grub_util_devname_to_ofpath on NULL.
299 Fix hints on abstractions.
300
ebe2c961
VS
3012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
304 Don't add "root" line if no compatibility hont is available.
305 Suggested by: Seth Goldberg.
306
2b5336a2
VS
3072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
310 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
311 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
312 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
313
74310bd8
VS
3142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
317
c30582ba
VS
3182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * util/grub-pe2elf.c (ehdr): Make static.
321 (shdr): Likewise.
322 (num_sections): Likewise.
323 (offset): Likewise.
324
5f47782c
VS
3252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
326
327 Eliminate ofpath limits and possible overflows.
328
329 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
330 (OF_PATH_MAX): Removed.
331 (MAX_DISK_CAT): New const.
332 (find_obppath): Use allocated rather than preallocated buffer.
333 Return result. Argument of_path removed. All users updated.
334 Add missing fdstat.
335 (xrealpath): New function.
336 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
337 Allocate rather than use preallocated buffer. All users updated.
338 (__of_path_common): Use allocated rather than preallocatecd buffer.
339 Return result. Argument of_path removed. All users updated.
340 (vendor_is_ATA): Read only needed part form the file.
341 (check_sas): Allocate depending on contents rather than fixed.
342 (main) [STANDALONE]: Handle NULL result.
343
f990cbf9
VS
3442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/normal/completion.c (iterate_dev): Close the disk.
347
9c6e84b8
VS
3482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
349
350 Cryptodisk write support.
351
352 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
353 (grub_cryptodisk_decrypt): Moved logic to ...
354 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
355 (grub_cryptodisk_write): Implement.
356 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
357 (grub_util_fd_write): ... this. Make global.
358 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
359
87cf9744
VS
3602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * include/grub/list.h (grub_list_remove): Don't crash if element is
363 removed twice.
364
ca8c0baf
VS
3652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
366
367 Rename ofconsole to console.
368
369 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
370 as sysnonym to console.
371 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
372 * grub-core/term/ieee1275/console.c: ... this. All users updated.
373 Rename grub_ofconsole_ to grub_console_. All users updated
374 (grub_console_term_output): Rename "ofconsole" to "console".
375 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
376 as "console".
377
64c8b8f6
VS
3782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
381 handling.
382 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
383 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
384 GRUB_DISK_DEVICE_FILE_ID.
385
f6c434d5
VS
3862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
389 and improve performance.
390
5858b42d
VS
3912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
394 missing ieee1275/ prefix on whole disk.
395
4ed3c26b
VS
3962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
399 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
400
df71143e
VS
4012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
404
076e7c0f
VS
4052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
406
407 Merge common RAID and LVM logic to an abstract diskfilter.
408 Add LDM support using the same framework.
409
410 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
411 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
412 (libgrubmods): Remove grub-core/disk/raid.c and
413 grub-core/partmap/gpt.c.
414 * grub-core/Makefile.core.def (ldm): New module.
415 (raid): Renamed to diskfilter. All users updated.
416 * grub-core/disk/raid.c: Moved to ...
417 * grub-core/disk/diskfilter.c: ... here.
418 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
419 (lv_num): New var.
420 (find_array): Renamed to ...
421 (find_lv): ... this. Support multi-LV. Skip nameless LVs
422 (grub_is_array_readable): Renamed to ...
423 (grub_is_lv_readable): ... this. Support multinode hierarchy.
424 (insert_array): New argument id.
425 (is_node_readable): New function.
426 (scan_device): Rename to ...
427 (scan_disk): .. this. Restrict to one disk.
428 (scan_devices): New function.
429 (grub_diskfilter_iterate): Support multi-LV.
430 Skip invisible and nameless LVs.
431 (grub_diskfilter_memberlist): Support multi-LV.
432 (grub_diskfilter_read_node): New function.
433 (grub_raid_read): Most of logic moved to ...
434 (read_segment): ... here
435 (read_lv): New function.
436 (grub_diskfilter_get_vg_by_uuid): New function.
437 (grub_diskfilter_make_raid): Likewise.
438 * grub-core/disk/ldm.c: New file.
439 * grub-core/disk/lvm.c (vg_list): Removed.
440 (lv_count): Likewise.
441 (scan_depth): Likewise.
442 (is_lv_readable): Likewise.
443 (grub_lvm_getvalue): Advance pointer past the number.
444 (find_lv): Removed.
445 (do_lvm_scan): Refactored into ...
446 (grub_lvm_detect): ... this. Support raid.
447 (grub_lvm_iterate): Removed.
448 (grub_lvm_memberlist): Likewise.
449 (grub_lvm_open): Likewise.
450 (grub_lvm_close): Likewise.
451 (read_lv): Likewise.
452 (read_node): Likewise.
453 (is_node_readable): Likewise.
454 (is_lv_readable): Likewise.
455 (grub_lvm_read): Likewise.
456 (grub_lvm_write): Likewise.
457 (grub_lvm_dev): Use diskfilter
458 (GRUB_MOD_INIT): Likewise.
459 (GRUB_MOD_FINI): Likewise.
460 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
461 new interface.
462 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
463 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
464 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
465 grub_diskfilter_read_node.
466 Fix a bug with xor.
467 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
468 grub_diskfilter_read_node.
469 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
470 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
471 (grub_disk_dev_iterate): Move from here...
472 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
473 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
474 Make global.
475 (grub_hostdisk_find_partition_start): Likewise.
476 (grub_hostdisk_os_dev_to_grub_drive): New function.
477 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
478 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
479 * util/getroot.c (make_device_name): ... here.
480 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
481 Move to ...
482 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
483 * grub-core/kern/emu/hostdisk.c
484 (convert_system_partition_to_system_disk): Move to ...
485 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
486 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
487 * util/getroot.c (device_is_wholedisk): ... here.
488 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
489 * util/getroot.c (find_system_device): ... here.
490 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
491 Move to ...
492 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
493 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
494 Move to ...
495 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
496 Handle LDM.
497 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
498 Move to ...
499 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
500 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
501 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
502 DISKFILTER.
503 * include/grub/raid.h: Renamed to ...
504 * include/grub/diskfilter.h: ... this.
505 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
506 (GRUB_RAID_LAYOUT_*): Make into array.
507 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
508 (grub_diskfilter_vg): New struct.
509 (grub_diskfilter_pv_id): Likewise.
510 (grub_raid_member): Removed.
511 (grub_raid_array): Likewise.
512 (grub_diskfilter_pv): New struct.
513 (grub_diskfilter_lv): Likewise.
514 (grub_diskfilter_segment): Likewise.
515 (grub_diskfilter_node): Likewise.
516 (grub_diskfilter_get_vg_by_uuid): New proto.
517 (grub_raid_register): Inline.
518 (grub_diskfilter_unregister): Likewise.
519 (grub_diskfilter_make_raid): New proto.
520 (grub_diskfilter_vg_register): Likewise.
521 (grub_diskfilter_read_node): Likewise.
522 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
523 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
524 (grub_util_is_ldm): Likewise.
525 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
526 (grub_hostdisk_find_partition_start): Likewise.
527 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
528 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
529 New definition.
530 (grub_gpt_partition_map_iterate): New proto.
531 * include/grub/lvm.h (grub_lvm_vg): Removed.
532 (grub_lvm_pv): Likewise.
533 (grub_lvm_lv): Likewise.
534 (grub_lvm_segment): Likewise.
535 (grub_lvm_node): Likewise.
536 * util/getroot.c [...]
537 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
538 (probe_abstraction): Likewise.
539 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
540 (main): Remove dead logic.
541
8a7f9b9c
VS
5422012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
543
544 Simplify root device discover and don't fail when trying to open
545 incorrect devices.
546
547 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
548 function.
549 (get_diskname_from_path): Likewise.
550 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
551 of iterating.
552
30545b85
VS
5532012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
556
28ea58cf
VS
5572012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
560 pastthe end.
561
692dabca
VS
5622012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * util/grub-install.in: Add missing \.
565 Reported by: gentoofan
566
f6e4ea70
VS
5672012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
570 (direct_read): Use correct compressed size.
571 (grub_squash_read_data): Likewise.
572
5732012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
574
575 * docs/grub.texi (Platform limitations): New section.
576 (Platform-specific operations): Likewise.
577 * docs/grub-dev.texi (Porting): Likewise.
578
76261110
VS
5792012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
580
581 IEEE1275 disk write support.
582
583 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
584 const void *.
585 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
586 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
587 and seek loginc to ...
588 (grub_ofdisk_prepare): ... here.
589 (grub_ofdisk_write): Implement.
590
fc36d603
VS
5912012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
592
593 ARC disk write support.
594
595 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
596 (reopen): New argument writable. All users updated.
597 Handle required access mode.
598 (grub_arcdisk_write): Implement.
599 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
600 (grub_arc_firmware_vector): Make buffer to write a const buffer.
601
e06c2e7a
VS
6022012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
605 (read_sblock): Don't attempt to read superblocks outside the disk size.
606
ff447958
VS
6072012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
610 first superblock to find the second one when possible.
611
9e88df39
VS
6122012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * util/grub-install.in: Fix an ARC bug.
615 Print a warning if no platform-specific setup is available.
616
bb26e4ff
VS
6172012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
618
619 Use static allocation rather than scratch pointer in reed_solomon.
620 It decreases its size significantly and avoids a variable in .text.
621
622 * grub-core/lib/reed_solomon.c (scratch): Removed.
623 (chosenstat): New const or static array.
624 (sigma): Likewise.
625 (errpot): Likewise.
626 (errpos): Likewise.
627 (sy): Likewise.
628 (mstat): Likewise.
629 (errvals): Likewise.
630 (eqstat): Likewise.
631 (pol_evaluate): Replace x with log_x argument. All users updated.
632 (syndroms): Removed.
633 (gauss_solve): Use statically allocated arrays.
634 (rs_recover): Likewise.
635 Calculate syndroms directly.
636 (decode_block): Use statically allocated arrays.
637 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
638 (main) [TEST]: Allow -DTEST -DSTANDALONE.
639
2e13ede5
VS
6402012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
641
642 Eliminate fixed limit on reed solomon decoder length.
643
644 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
645 rather than hardcoding the address.
646 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
647 no_reed_solomon_length.
648 Move gate_a20 to no-reed-solomon part.
649 Don't force a particular size of no reed-solomon part.
650 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
651 Removed.
652 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
653 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
654
f8a9ab12
VS
6552012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/commands/wildcard.c (match_files): Handle filenames
658 without explicit device.
659 (wildcard_expand): Don't add explicit device if not already present.
660 * tests/grub_script_echo1.in: Add a new expansion test.
661
87edb894
VS
6622012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
663
664 Replace single-linked with double-linked lists. It results in more
665 compact and more efficient code.
666
667 * grub-core/kern/list.c (grub_list_push): Moved from here ...
668 * include/grub/list.h (grub_list_push): ... to here. Set prev.
669 (grub_list_remove): Moved from here ...
670 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
671 (grub_prio_list_insert): Set prev.
672 * include/grub/list.h (grub_list): Add prev. All users updated.
673
48b391e9
VS
6742012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
675
676 Handle newer autotools. Add some missing quotes while on it.
677
678 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
679 (pkglib_DATA): Move grub-mkconfig_lib from here ...
680 (pkgdata_DATA): ... here.
681 * Makefile.util.def (update-grub_lib): Removed.
682 * conf/Makefile.common (pkglib_DATA): Removed.
683 (pkglib_SCRIPTS): Likewise.
684 (pkgdata_DATA): New variable.
685 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
686 needed.
687 Add missing quotes.
688 Remove unused variable while on it.
689 * tests/util/grub-shell.in: Likewise.
690 * util/grub-install.in: Likewise.
691 * util/grub-mkconfig.in: Likewise.
692 * util/grub-mknetdir.in: Likewise.
693 * util/grub-mkrescue.in: Likewise.
694 * util/grub-mkstandalone.in: Likewise.
695 * util/grub.d/00_header.in: Likewise.
696 * util/grub.d/10_hurd.in: Likewise.
697 * util/grub.d/10_illumos.in: Likewise.
698 * util/grub.d/10_kfreebsd.in: Likewise.
699 * util/grub.d/10_linux.in: Likewise.
700 * util/grub.d/10_netbsd.in: Likewise.
701 * util/grub.d/10_windows.in: Likewise.
702 * util/grub.d/20_linux_xen.in: Likewise.
703 * util/grub.d/30_os-prober.in: Likewise.
704 * util/update-grub_lib.in: Removed.
705
7062012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
707
708 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
709 a workaround for intel problem.
710
66832792
PRP
7112012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
7122012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
7132012-01-23 pfsmorigo
714
715 * util/grub-install.in: Support dd'in into PreP partition.
716 * util/grub-probe.c (probe): Support discovering partition type.
717 (main): Support -t msdos_parttype.
718
7816a17e
VS
7192012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
722 infinite recursion using counter.
723 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
724 init to skip it if the magic check fails.
725 (dec_stream_header): Init s->crc32.
726
8f9d3a8c
ZB
7272012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7282012-01-22 Zachary Bedell <pendorbound@gmail.com>
7292012-01-22 Richard Laager <rlaager@wiktel.com>
730
731 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
732 All users updated.
733 (find_bestub): Determine correct size.
734 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
735 (scan_disk): Align the size down.
736 Call check pool before find_bestub to have ashift.
737
b055dd32
VS
7382012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
741 dprintf in no-malloc zone.
742
d779e9bd
ML
7432012-01-22 Mario Limonciello <mario_limonciello@dell.com>
744
745 * configure.ac: Add back in test for limits.h.
746
b508af69
VS
7472012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
748
749 Support 4K-sector NTFS.
750
751 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
752 (grub_ntfs_data): Remove blocksize.
753 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
754 Remove data argument. All users updated.
755
dad9c8b5
VS
7562012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
759 being in .text to avoid dprel references.
760 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
761 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
762 (grub_arch_highmemsize): Likewise.
763 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
764 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
765 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
766
d43a777e
VS
7672012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
768
769 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
770
771 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
772 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
773
34e4208f
VS
7742012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
777 GRUB_UTIL.
778 (grub_set_datetime_cmos): Likewise.
779
3ec0fc1c
VS
7802012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
781
782 Make XZ compression parameters dependent on target and not host CPU.
783
784 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
785 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
786
22489834
VS
7872012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
790 set but not used variable.
791
8502fbca
VS
7922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
795 created when no uuid support is compiled into mkfs.reiser.
796
76df2068
VS
7972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
800 (utf8_to_macroman): Do the opposite.
801 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
802
64e3f8f6
VS
8032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * configure.ac: Refise build qemu_mips w/o unifont.
806
9c271078
VS
8072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
808
809 Eliminate grub_min/grub_max prone to overflow usage.
810
811 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
812 (poll_nonroot_hub): Likewise.
813 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
814 (grub_affs_label): Likewise.
815 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
816 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
817 (grub_hfs_label): Likewise.
818 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
819 * grub-core/fs/zfs/zfs.c (MIN): Remove.
820 (zap_leaf_array_equal): Use grub_size. Remove MIN.
821 (zap_leaf_array_get): Likewise.
822 (dnode_get_path): Likewise.
823 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
824 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
825 * grub-core/script/execute.c (grub_script_break): Likewise.
826 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
827 grub_max.
828 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
829 * include/grub/misc.h (grub_min): Removed.
830 (grub_max): Likewise.
831
80662dbc
VS
8322012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
833
834 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
835 direct.inode = 0.
836
e6da1467
VS
8372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
840
b1ac4cb1
VS
8412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
844
b4bf7c3b
VS
8452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
848 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
849
8ee1101a
VS
8502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
853 rather than a hack for grub_strncasemap.
854
8552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
856
857 Support multiple initrds
858 Note: part of this was accidently committed in r3739.
859
860 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
861 initrd.
862 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
863 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
864 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
865 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
866 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
867
4d1e2bc9
VS
8682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
871 disks with unknown size.
872 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
873
75b49ebe
VS
8742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
875
876 Remove defines pertaining to arbitrary limits not affecting GRUB
877 anymore.
878
879 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
880 (EXT2_MAX_SYMLINKCNT): Likewise.
881 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
882 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
883 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
884 (GRUB_PXE_MAX_BLKSIZE): Likewise.
885 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
886 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
887 (DN_MAX_OBJECT_SHIFT): Likewise.
888 (DN_MAX_OFFSET_SHIFT): Likewise.
889 (DN_MAX_OBJECT): Likewise.
890 (DNODES_PER_LEVEL_SHIFT): Likewise.
891 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
892 (SPA_MAXBLOCKSIZE): Likewise.
893 (SPA_BLOCKSIZES): Likewise.
894 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
895 (MZAP_MAX_BLKSZ): Likewise.
896
74a1dce7
VS
8972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
900 handle NULL appropriately.
901 Remove MIN.
902
30c7d3ce
VS
9032012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
904
905 Fix efiemu.
906
907 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
908 cpu/types.h.
909 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
910 * configure.ac: Fix efiemu check.
911
3c76ea0c
VS
9122012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
915 grub_probe.
916 Reported by: adamwill
917
7e532280
SG
9182012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
919
920 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
921
30492374
VS
9222012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
923
924 Fix handling of wide characters in gfxterm.
925
926 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
927 (clear_char): Likewise.
928 (paint_char): Skip code == NULL chars.
929 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
930
e70cb72f
VS
9312012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/normal/charset.c: Move comment to right place.
934
5c827cf9
VS
9352012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
938 (GRUB_AFFS_FLAG_FFS): Put back where it was.
939 (grub_affs_mount): Revert the correct version checking.
940
53603892
VS
9412012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * docs/grub.texi (Unicode): Mention several other unsupported features.
944
ff094b9b
VS
9452011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
948 case statements as compile-time one.
949 (direct_read): Prevent spurious warnings.
950 (grub_squash_read_data): Likewise.
951
c029da8a
VS
9522011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
953
954 Various squash4 fixes and LZO and XZ support.
955
956 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
957 Add xzembed source files.
958 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
959 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
960 (grub_squash_inode): New subtype long_dir.
961 (SQUASH_TYPE_LONG_DIR): New inode type.
962 (COMPRESSION): New enum.
963 (XZBUFSIZ): New const.
964 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
965 (read_chunk): Use data->decompress.
966 (zlib_decompress): New function.
967 (lzo_decompress): Likewise.
968 (xz_decompress): Likewise.
969 (squash_mount): Set new data fields.
970 (grub_squash_iterate_dir): Handle long dir.
971 (squash_unmount): Free xzdec and xzbuf.
972 (grub_squash_open): Check ino type.
973 (direct_read): Stylistic fixes. Use data->decompress.
974 (grub_squash_read_data): Likewise.
975 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
976 (get_byte): Likewise.
977 (grub_zlib_disk_read): Removed.
978 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
979 (GRUB_POSIX_BOOL_DEFINED): New define.
980 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
981 * grub-core/lib/xzembed/xz.h: Addmissing includes.
982 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
983 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
984
7a45a539
VS
9852011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
986
987 Don't override more informative errors.
988
989 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
990 * grub-core/font/font.c (open_section): Likewise.
991 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
992 filename. Don't override errors.
993 (grub_cmd_openbsd_ramdisk): Don't override errors.
994 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
995 (grub_cmd_initrd): Likewise.
996 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
997 (grub_cmd_initrd): Likewise.
998 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
999 (grub_cmd_linux): Likewise.
1000 (grub_cmd_initrd): Likewise.
1001 (grub_cmd_payload): Likewise.
1002 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1003 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
1004 (grub_cmd_module): Likewise.
1005 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1006 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1007 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
1008 (grub_cmd_xnu_mkext): Likewise.
1009 (grub_cmd_xnu_ramdisk): Likewise.
1010 (grub_xnu_check_os_bundle_required): Likewise.
1011 (grub_xnu_load_kext_from_dir): Likewise.
1012 (grub_cmd_xnu_kextdir): Likewise.
1013 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
1014
b2d004db
VS
10152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
1018 as 1024 in block size field. Found on one of my test images.
1019 Small optimisation while on it.
1020
ec000eac
VS
10212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
1024 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
1025 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
1026 performance fixes while on it.
1027 (grub_sfs_close): Fix memory leak while on it.
1028 (grub_sfs_label): Convert Latin1 to UTF-8.
1029
f50e1165
VS
10302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
1033 space to avoid overflows.
1034 (grub_hfs_label): Convert from macroman to UTF-8.
1035
2ae254de
VS
10362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
1039
0108f491
VS
10402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
1043
f45f5f89
VS
10442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * unicode: Import Unicode 6.0 data.
1047
4d8c4765
VS
10482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1049
63fa8ef9
VS
1050 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
1051 outside of range.
1052
10532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
1056
1057 * include/grub/charset.h (grub_getend): New function.
1058 * grub-core/script/function.c (grub_script_function_find): Use
1059 grub_getend.
1060 * grub-core/normal/completion.c (add_completion): Likewise.
1061
f3cb4a4e
VS
10622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
1065 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
1066 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
1067 (GRUB_UNICODE_TAG_END): Likewise.
1068 (GRUB_UNICODE_LAST_VALID): Likewise.
1069
5da8dbc5
VS
10702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
1073 len and make it smaller. All users updated.
1074 * util/import_unicode.py: Put length and not end character.
1075 Check length.
1076
8569f13d
VS
10772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 Make better Unicode-compliant and unify some UTF-8 code pathes.
1080
1081 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
1082 valid character.
1083 (grub_is_valid_utf8): Use grub_utf8_process.
1084 Check resulting code range.
1085 (grub_utf8_to_ucs4): Use grub_utf8_process.
1086 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
1087 valid character.
1088
cc4fddf5
VS
10892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
1092
bbc47747
VS
10932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * docs/grub.texi (Filesystems): Mention AFS.
1096
f63d6bf4
VS
10972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * docs/grub.texi (Filesystems): Clarify restrictions.
1100 (Regexp): Mention non-Unicode regexp behaviour.
1101 (Other): Mention non-Unicode matching behaviour.
1102
74bbf0db
VS
11032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1104
f63d6bf4 1105 Make HFS implementation use MacRoman.
74bbf0db
VS
1106
1107 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
1108 (macroman): New const array.
1109 (macroman_to_utf8): New function.
1110 (utf8_to_macroman): Likewise.
1111 (grub_hfs_find_dir): Use utf8_to_macroman.
1112 (grub_hfs_dir): Use macroman_to_utf8.
1113 Set case_insensitive.
1114
4ea0316e
VS
11152011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
1118
d3c13cbd
VS
11192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 Integrate hints into autogeneration scripts.
1122
1123 * docs/grub.texi (Filesystems): Add a hostdisk example.
1124 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
1125 (grub-probe): Add ofpath.
1126 * gentpl.py: Remove group nosparc64.
1127 * grub-core/commands/search.c (cache_entry): New struct.
1128 (cache): New var.
1129 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
1130 * grub-core/commands/search_wrap.c (options): Add platform-specific
1131 hint options.
1132 (grub_cmd_search): Handle platform-specific hints.
1133 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
1134 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
1135 (grub_util_biosdisk_data): Likewise.
1136 (grub_util_biosdisk_open): Set device_map.
1137 (read_device_map): Handle "" as indication of no map.
1138 Set device_map.
1139 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
1140 (grub_util_biosdisk_get_compatibility_hint): New function.
1141 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
1142 * include/grub/emu/hostdisk.h
1143 (grub_util_biosdisk_get_compatibility_hint): New proto.
1144 * util/grub-install.in: Don't call grub-mkdevicemap.
1145 Add platform-specific hint to load.cfg.
1146 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
1147 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1148 hints. Set root preliminary to compatibility hint, not to OS name.
1149 * util/grub-probe.c (PRINT_*): Add hints.
1150 (print): Make static.
1151 (escape_of_path): New function.
1152 (guess_bios_drive): Likewise.
1153 (guess_efi_drive): Likewise.
1154 (guess_baremetal_drive): Likewise.
1155 (print_full_name): Likewise.
1156 (probe): Handle hints.
1157 (main): Likewise.
1158 * util/ieee1275/devicemap.c: Removed.
1159 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
1160 updated.
1161 (grub_util_devname_to_ofpath): Return NULL on failure.
1162
1163 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
1164 resource leak.
1165 * util/getroot.c (grub_util_pull_device): Fix memory leak.
1166
1167 * po/POTFILES.in: Regenerated.
1168
1169 Allow purely long options
1170
1171 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
1172 (SHORT_ARG_USAGE): Likewise.
1173 (grub_arg_show_help): Compare opt with help_options.
1174 (parse_option): Receive opt as argument. If makes big simplificatons.
1175 All users updated
1176
00ce2df3
VS
11772011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
1180 Restructure to avoid warning.
1181
e77e325f
VS
11822011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * util/grub-install.in: Account for possible escaped comma in device
1185 name.
1186
165099ea
VS
11872011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
1190 channel.
1191
ce4a999d
VS
11922011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
1195 allocation and zero-setting.
1196 (grub_ieee1275_get_devname): Check that alias is complete.
1197
379586ad
VS
11982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
1201 unaligned segments.
1202
9197b0ad
VS
12032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
1206 prefix.
1207 (grub_ofdisk_open): Check and discard ieee1275 prefix.
1208 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1209 Add ieee1275 prefix.
1210
edddb7f9
VS
12112011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * docs/grub.texi (Filesystems): Update.
1214
a1a8b1b9
VS
12152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 Support odc, newc and bigendian cpio formats.
1218
1219 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
1220 * grub-core/Makefile.core.def (newc): New module.
1221 (odc): Likewise.
1222 (cpio_be): Likewise.
1223 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
1224 (MAGIC): Likewise.
1225 (MAGIC2): Likewise.
1226 (head) [MODE_ODC]: Adapt for the format.
1227 (head) [MODE_NEWC]: Likewise.
1228 (head) [!MODE_*]: Write fields of interest as arrays.
1229 (MAGIC_USTAR): Removed.
1230 (read_number) [MODE_NEWC]: Change to hex.
1231 (read_number) [!MODE_*]: Parse binary arrays.
1232 (grub_cpio_find_file): Factor out the code for better structure and
1233 always use read_number.
1234 (grub_cpio_mount): Use MAGIC and MAGIC2.
1235 (grub_cpio_dir): Exit on first hook non-0 return.
1236 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
1237 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
1238 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
1239 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
1240 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
1241 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
1242 * grub-core/fs/newc.c: New file.
1243 * grub-core/fs/odc.c: Likewise.
1244 * grub-core/fs/cpio_be.c: Likewise.
1245
58eba9ee
VS
12462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 Fix handling of tar numbers occupying the whole field.
1249
1250 * grub-core/fs/cpio.c (read_number): New function.
1251 (grub_cpio_find_file): Use read_number instead of strtoull.
1252
a54a0e12
VS
12532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
1256 occupying the whole field size.
1257
a6120aca
LA
12582011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
1259
1260 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
1261
a93964ce
VS
12622011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
1265
3ea1ca46
SG
12662011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
1267
1268 * grub-core/Makefile.core.def (lzma_decompress): Add missing
1269 TARGET_IMG_LDFLAGS.
1270
b87f7ef2
VS
12712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * util/getroot.c (ESCAPED_PATH_MAX): New define.
1274 (mountinfo_entry): Increase the field size to take escaping into
1275 account.
1276 (find_root_device_from_libzfs): Add one byte to size of strings for
1277 security.
1278
62092395
VS
12792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
1282 an assert.
1283 * util/grub-setup.c (setup): Likewise.
1284
1f0b1a77
VS
12852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
1288 _LzmaDecodeA.
1289
8eba9997
VS
12902011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * docs/grub.texi (Internationalisation): New section.
1293
dd0c91e9
VS
12942011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 * docs/grub.texi (Loopback booting): New section.
1297
12982011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
1299
1300 * util/grub-mkstandalone.in: Fix minor typo errors.
1301
198e150a
VS
13022011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
1305
1306 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
1307 net/icmp.c and net/icmp6.c.
1308 (http): New module.
1309 (priority_queue): Likewise.
1310 * grub-core/io/bufio.c: Rewritten.
1311 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
1312 TYPE_WITH_CONFIGFILE_OPTION.
1313 (legacy_commands): Add bootp and dhcp.
1314 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
1315 (grub_legacy_parse): Likewise.
1316 * grub-core/lib/priority_queue.c: New file.
1317 * grub-core/net/arp.c: Add missing license header.
1318 (arp_find_entry): Removed.
1319 (arp_find_entry): Likewise.
1320 (grub_net_arp_resolve): Rename to ...
1321 (grub_net_arp_send_request): ...this.
1322 (grub_net_arp_receive): New card argument.
1323 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
1324 Set router and DNS server.
1325 (grub_net_configure_by_dhcp_ack): Handle routing information.
1326 (grub_cmd_bootp): Set checksum.
1327 (grub_bootp_init): Remove net_dhcp.
1328 * grub-core/net/dns.c: New file.
1329 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
1330 completion.
1331 (get_card_packet): Handle allocation.
1332 (grub_efinet_findcards): Set mtu.
1333 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
1334 (get_card_packet): Handle allocation.
1335 (emucard): Set mtu.
1336 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
1337 (GRUB_MOD_INIT): Set mtu.
1338 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
1339 mtu.
1340 (get_card_packet): Handle allocation.
1341 (grub_ofnet_findcards): Set mtu.
1342 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
1343 assert.
1344 (grub_net_recv_ethernet_packet): Handle IPv6.
1345 * grub-core/net/http.c: New file.
1346 * grub-core/net/icmp.c: Likewise.
1347 * grub-core/net/icmp6.c: Likewise.
1348 * grub-core/net/ip.c (ip6addr): New type.
1349 (ip6hdr): Likewise.
1350 (reassemble): Likewise.
1351 (cmp): New function.
1352 (reassembles): New variable.
1353 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
1354 (id): New variable.
1355 (send_fragmented): New function.
1356 (grub_net_send_ip_packet): Rename to ...
1357 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
1358 Handle non-UDP.
1359 (grub_net_recv_ip_packets): Rename to ...
1360 (handle_dgram): ... this. Check checksum. Handle non-UDP.
1361 (free_rsm): New function.
1362 (free_old_fragments): Likewise.
1363 (grub_net_recv_ip4_packets): New function.
1364 (grub_net_send_ip6_packet): Likewise.
1365 (grub_net_send_ip_packet): Likewise.
1366 (grub_net_recv_ip6_packets): Likewise.
1367 (grub_net_recv_ip_packets): Likewise.
1368 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
1369 (LINK_LAYER_CACHE_SIZE): New const.
1370 (link_layer_find_entry): New function.
1371 (grub_net_link_layer_add_address): Likewise.
1372 (grub_net_link_layer_resolve_check): Likewise.
1373 (grub_net_link_layer_resolve): Likewise.
1374 (grub_net_ipv6_get_slaac): Likewise.
1375 (grub_net_ipv6_get_link_local): Likewise.
1376 (grub_cmd_ipv6_autoconf): Likewise.
1377 (parse_ip): Handle one number representation.
1378 (parse_ip6): New functoion.
1379 (match_net): Handle IPv6.
1380 (grub_net_resolve_address): Handle IPv6 and DNS.
1381 (grub_net_resolve_net_address): Handle IPv6.
1382 (route_cmp): New function.
1383 (grub_net_route_address): Find best route.
1384 (grub_net_addr_to_str): Handle IPv6.
1385 (grub_net_addr_cmp): New function.
1386 (grub_net_add_addr): Register local route.
1387 (print_net_address): Handle net address.
1388 (grub_net_poll_cards): Retransmit TCP.
1389 (grub_net_poll_cards_idle_real): Likewise.
1390 (have_ahead): New function.
1391 (grub_net_seek_real): Use underlying seek.
1392 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
1393 * grub-core/net/tcp.c: New file.
1394 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
1395 (cmp): New function.
1396 (ack): Likewise.
1397 (tftp_receive): Handle unordered input.
1398 (destroy_pq): New function.
1399 (tftp_close): Close pq.
1400 * grub-core/net/udp.c: Put missing license header.
1401 (grub_net_udp_socket): New function.
1402 (udp_socket_register): Likewise.
1403 (grub_net_udp_close): Likewise.
1404 (grub_net_recv_udp_packet): Check checksum.
1405 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
1406 * include/grub/misc.h (grub_memchr): New function.
1407 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
1408 (grub_net_card_driver): Return buf in recv.
1409 (grub_net_slaac_mac_list): New struct.
1410 (grub_network_level_protocol_id): Add ipv6.
1411 (grub_net_network_level_addr): Likewise.
1412 (grub_net_network_level_net_addr): Likewise.
1413 (grub_net_app_protocol): Add seek.
1414 (grub_net_socket): Removed.
1415 (grub_net_sockets): Likewise.
1416 (grub_net_socket_register): Likewise.
1417 (grub_net_socket_unregister): Likewise.
1418 (FOR_NET_SOCKETS): Likewise.
1419 (grub_net_add_addr): Add const.
1420 (GRUB_NET_BOOTP_*): New enum.
1421 (grub_net_addr_cmp): New proto.
1422 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
1423 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
1424 (grub_net_hwaddr_to_str): NEw proto.
1425 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
1426 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
1427 (grub_dns_init): New proto.
1428 (grub_dns_fini): Likewise.
1429 (grub_net_tcp_retransmit): Likewise.
1430 (grub_net_link_layer_add_address): Likewise.
1431 (grub_net_link_layer_resolve_check): Likewise.
1432 (grub_net_link_layer_resolve): Likewise.
1433 (grub_net_dns_lookup): Likewise.
1434 (grub_net_add_dns_server): Likewise.
1435 (grub_net_remove_dns_server): Likewise.
1436 (GRUB_NET_TRIES): New const.
1437 (GRUB_NET_INTERVAL): Likewise.
1438 * include/grub/net/arp.h: Mostly rewritten.
1439 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
1440 * include/grub/net/ip.h: Mostly rewritten.
1441 * include/grub/net/netbuff.h: Indent.
1442 * include/grub/net/tcp.h: New file.
1443 * include/grub/net/udp.h: Mostly rewritten.
1444 * include/grub/priority_queue.h: New file.
1445 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
1446 (grub_swap_bytes64_compile_time): Likewise.
1447 (grub_cpu_to_be16_compile_time): Likewise.
1448 (grub_cpu_to_be32_compile_time): Likewise.
1449 (grub_cpu_to_be64_compile_time): Likewise.
1450 (grub_be_to_cpu64_compile_time): Likewise.
1451
215c1800
VS
14522011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
1455 UINT_TO_PTR with cast.
1456
c17e546c
VS
14572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
1460 don't use them.
1461
ff6b18b6
VS
14622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
1465 already there.
1466
70ffcc93
VS
14672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
1470 confusing ipxe.
1471
e5f4d260
VS
14722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
1475 Add missing const attribute.
1476 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
1477 Likewise.
1478 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
1479 Likewise.
1480
8e54b4b7
VS
14812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
1484 misaligned access.
1485 (serpent_setkey): Likewise.
1486 (serpent_encrypt_internal): Likewise.
1487 (serpent_decrypt_internal): Likewise.
1488 (serpent_encrypt): Don't put an alignment-increasing cast.
1489 (serpent_decrypt): Likewise.
1490 (serpent_test): Likewise.
1491
813c0a2b
VS
14922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
1495
f2b60fbd
VS
14962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
1499
1500 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
1501 grub_addr_t casts.
1502 (PTR_TO_UINT64): Likewise.
1503 (PTR_TO_UINT32): Likewise.
1504
5ef5c511
VS
15052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * util/grub-mkimage.c (generate_image): Decrease the higher limit
1508 because of stack.
1509 * util/grub-setup.c (setup): Don't add redundancy past the higher load
1510 limit.
1511
c476e6df
VS
15122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
1515 text_width > available width a bit more gracefully.
1516
384ad7cc
VS
15172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
1520 current address calculation.
1521
96f8caf8
VS
15222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
1525 stack.
1526 (encode_block): Likewise.
1527
276b7a8b
VS
15282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
1531 certainety.
1532
e3fd394a
VS
15332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
1536 non-RS part to avoid RS messing with GDT.
1537 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1538 Increase to suit in realmode routines.
1539
15402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * grub-core/kern/i386/realmode.S: Increase alignment.
1543 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
1544
ee9c2e7a
VS
15452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
1548 be deterministic.
1549 (syndroms): Compute 0 syndrom.
1550 (rs_recover): Use 0 syndrom.
1551
7a7f7cc9
VS
15522011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
1555
a14b16d1
VS
15562011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
1559 brackets.
1560
9f59e9fc
VS
15612011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1562
ca1b552c
VS
1563 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
1564 account.
1565 (get_top_pad): Likewise.
1566 (get_right_pad): Likewise.
1567 (get_bottom_pad): Likewise.
1568
15692011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 1572
e739d698
VS
15732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
1576 attribute as the structure isn't guaranteed to be properly aligned.
1577 (grub_efi_pci_device_path): Likewise.
1578 (grub_efi_pccard_device_path): Likewise.
1579 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
1580 specify the size of `memory_type'.
1581 (grub_efi_vendor_device_path): Likewise.
1582 (grub_efi_controller_device_path): Likewise.
1583 (grub_efi_acpi_device_path): Likewise.
1584 (grub_efi_expanded_acpi_device_path): Likewise.
1585 (grub_efi_atapi_device_path): Likewise.
1586 (grub_efi_scsi_device_path): Likewise.
1587 (grub_efi_fibre_channel_device_path): Likewise.
1588 (grub_efi_1394_device_path): Likewise.
1589 (grub_efi_usb_device_path): Likewise.
1590 (grub_efi_usb_class_device_path): Likewise.
1591 (grub_efi_i2o_device_path): Likewise.
1592 (grub_efi_mac_address_device_path): Likewise.
1593 (grub_efi_ipv4_device_path): Likewise.
1594 (grub_efi_ipv6_device_path): Likewise.
1595 (grub_efi_infiniband_device_path): Likewise.
1596 (grub_efi_uart_device_path): Likewise.
1597 (grub_efi_vendor_messaging_device_path): Likewise.
1598 (grub_efi_hard_drive_device_path): Likewise.
1599 (grub_efi_cdrom_device_path): Likewise.
1600 (grub_efi_vendor_media_device_path): Likewise.
1601 (grub_efi_file_path_device_path): Likewise.
1602 (grub_efi_protocol_device_path): Likewise.
1603 (grub_efi_piwg_device_path): Likewise.
1604 (grub_efi_bios_device_path): Likewise.
1605
cb8f88ea
VS
16062011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
1609 (grub_ucs4_to_utf8_alloc): Likewise.
1610 (grub_ucs4_to_utf8): Likewise.
1611 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
1612 (grub_ucs4_to_utf8_alloc): Likewise.
1613
309e5352
VS
16142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 AFFS never uses unicode.
1617
1618 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
1619 (grub_latin1_to_utf8): New inline function.
1620 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
1621
e7987e1b
VS
16222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
1625 overflow.
1626
efc2616e
VS
16272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
1630 (grub_squash_dirent_header): Likewise.
1631 (read_chunk): Don't double swap.
1632 (grub_squash_iterate_dir): Fix swap sizes.
1633
3c349f5a
VS
16342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
1637
b453412d
VS
16382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
1641 (grub_hfs_iterate_dir): Likewise.
1642
12e9d4d1
VS
16432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 Fix video on platforms where unaligned access is forbidden.
1646 Make several optimisations while on it.
1647
1648 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
1649 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1650 (grub_video_fbblit_replace_32bit_1bit): Likewise.
1651 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1652 Disable.
1653 (grub_video_fbblit_replace_16bit_1bit):
1654 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1655 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1656 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
1657 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
1658 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1659 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1660 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
1661 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
1662 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
1663 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
1664 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
1665 (grub_video_fbblit_replace_index_RGB888): Likewise.
1666 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
1667 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
1668 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
1669 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1670 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
1671 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1672 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1673 Disable.
1674 (grub_video_fbblit_blend_XXX565_1bit):
1675 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1676 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
1677 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
1678 void *.
1679 * grub-core/video/fb/video_fb.c (common_blitter)
1680 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
1681 (grub_video_fb_create_render_target_from_pointer)
1682 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1683 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
1684 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
1685 definition.
1686 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
1687
ace96609
VS
16882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
1691 HH22 and HM10 relocations.
1692
fd261d73
VS
16932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
1696
e59b7857
VS
16972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
1700 allocation succeeded.
1701
9b4baaa4
VS
17022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
1705 argument a u8 pointer. All users updated.
1706 Handle unaligned buffers.
1707
dc713193
VS
17082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
1711 add_part to workaround compiler bug.
1712
30dd48c2
VS
17132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
1716
0c6087a8
VS
17172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1720 Reserve alignment invariants.
1721 (grub_multiboot_load): Likewise.
1722 (retrieve_video_parameters): Likewise.
1723 (grub_multiboot_make_mbi): Likewise.
1724
c2e77777
VS
17252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1728 incorrect pointer.
1729
b70b6d11
VS
17302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1733 (grub_pata_pio_write): Likewise.
1734
02a2bf83
VS
17352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 Add noreturn attributes and remove unreachable code.
1738
1739 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1740 code.
1741 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1742 code. Mark as noreturn.
1743 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1744 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1745 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1746 unreachable code.
1747 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1748 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1749 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1750 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1751 * include/grub/kernel.h (grub_main): Mark as noreturn.
1752 * include/grub/reader.h (grub_rescue_run): Likewise.
1753
2019d09e
VS
17542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1757 redundant declaration.
1758
d1c501ee
VS
17592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1762 redundant declaration.
1763 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1764
61664420
VS
17652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1768 to ensure alignment.
1769 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1770 alignment. Ensure tmp alignment.
1771 (grub_cmd_hdparm): Ensure buf alignment.
1772 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1773 to ensure alignment.
1774 (grub_ata_dumpinfo): Ensure text alignment.
1775 (grub_atapi_identify): Preserve alignment invariant.
1776 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1777
0d51ee20
VS
17782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1781 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1782 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1783 * include/grub/misc.h (grub_reboot)
1784 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1785 (grub_halt) [__mips__]: Likewise.
1786
753ef8c1
VS
17872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1790 Remove redundant declaration.
1791 (grub_mmap_get_post64): Likewise.
1792 (grub_mmap_get_upper): Likewise.
1793 (grub_mmap_get_lower): Likewise.
1794
85c85365
VS
17952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1798 uint32_t * to ensure alignment.
1799 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1800
a23f2cc4
VS
18012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1802
93018f64
VS
1803 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1804 uint16_t * to ensure alignment.
1805 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1806 alignment.
1807
18082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
1811 to ensure alignment.
1812 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1813
58acccd6
VS
18142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1817 Handle unaligned pointers.
1818 (u32at): Likewise.
1819 (u64at): Likewise.
1820 (fixup): Use byte access instead of v16at.
1821 (find_attr): Fix imporper usage of v32at.
1822 (read_data): Likewise.
1823 (list_file): Handle byte-swapping and unaligned strings.
1824 (grub_ntfs_label): Likewise.
1825
9b05cad7
VS
18262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1829 as it's not necessarily aligned.
1830
b3950b84
VS
18312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1834 redundant declaration.
1835 (grub_serial_init): Likewise.
1836 (grub_terminfo_init): Likewise.
1837
fcd232b7
VS
18382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1841 function.
1842 (ZAP_HASH_IDX): Likewise.
1843 (ZAP_LEAF_HASH_SHIFT): Likewise.
1844 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1845 (LEAF_HASH): Likewise.
1846 (ZAP_LEAF_NUMCHUNKS): Likewise.
1847 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1848 alignment invariants. Return pointer. All users updated.
1849 (ZAP_LEAF_ENTRY): Make into inline function.
1850 (NBBY): Removed.
1851 (xor): LIkewise.
1852 (xor_out): Use grub_crypto_xor.
1853 (dnode_get_path): Use grub_get_unaligned.
1854 (nvlist_find_value): Likewise.
1855 (grub_zfs_nvlist_lookup_uint64): Likewise.
1856 (grub_zfs_nvlist_lookup_string): Likewise.
1857 (get_nvlist_size): Likewise.
1858 (grub_zfs_open): Likewise.
1859 (fill_fs_info): Likewise.
1860 (grub_zfs_dir): Likewise.
1861 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1862 alignment invariants.
1863 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1864 necessarily aligned.
1865
f138623a
VS
18662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1869
564840dc
VS
18702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1873 arithmetic to conserve alignment invariants.
1874
9b40df20
VS
18752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1878 redundant declaration.
1879 (grub_efiemu_mm_obtain_request): Likewise.
1880 (grub_efiemu_prepare): Likewise.
1881
d1c930f9
VS
18822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1885 to match types.
1886
4c5f3056
VS
18872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1890 case of aunaligned recptr.
1891 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1892 alignment.
1893 (grub_hfsplus_btree_search): Handle unaligned index.
1894
728cba91
VS
18952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1898 to get freetag and skip.
1899
eb561f31
VS
19002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1903 array.
1904 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1905 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1906
20993fbb
VS
19072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1910 name for checksum and fix allocation algorithm.
1911
1f313b94
VS
19122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * include/grub/types.h (grub_properly_aligned_t): New type.
1915 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1916 (grub_get_unaligned16): Add explicit casts.
1917 (grub_get_unaligned32): Likewise.
1918 (grub_get_unaligned64): Likewise.
1919 (grub_set_unaligned16): New function.
1920 (grub_set_unaligned32): Likewise.
1921
47ae27ec
VS
19222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1925
78c2cd1c
VS
19262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1929 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1930 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1931
53072f9b
VS
19322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1935 conditionals.
1936
055dc239
VS
19372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1940 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1941
496bd074
VS
19422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 Unify and improve RAID and crypto xor.
1945
1946 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1947 changed to grub_crypto_xor
1948 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1949 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1950 Use bigger types when possible.
1951
ef6e4335
VS
19522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/disk/raid.c (scan_devices): Fix condition.
1955
5d048bf2
VS
19562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1959 Make name a const ptr.
1960
ee533335
VS
19612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1964 first argument a const pointer.
1965 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1966 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1967 proto.
1968 (grub_children_iterate): Likewise.
1969 (grub_machine_mmap_iterate): Remove redundant declaration.
1970
cc8f3668
VS
19712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1974 (grub_cmd_acpi) [!x86]: Disable EBDA.
1975
c5fc563a
VS
19762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 Enable UTF8 in gnulib regexp.
1979
1980 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1981 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1982 (isupper): Use grub_isupper.
1983 (isascii): New inline function.
1984 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1985 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1986 * grub-core/normal/charset.c (grub_utf8_process): New function.
1987 (grub_utf8_to_utf16): Use grub_utf8_process.
1988 (grub_encode_utf8_character): New function.
1989 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1990 * include/grub/charset.h (grub_utf8_process): New declaration.
1991 (grub_encode_utf8_character): Likewise.
1992 * include/grub/misc.h (grub_islower): New inline function.
1993 (grub_isupper): Likewise.
1994 (grub_strchrsub): Moved down to fix the definitions.
1995
0af2346f
VS
19962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1999 specification.
2000
74dbd244
VS
20012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * include/grub/loader.h (grub_loader_register_preboot_hook):
2004 Use struct preboot * and not void * for handle. All users updated.
2005 (grub_loader_unregister_preboot_hook): Likewise.
2006
1bc8f60d
VS
20072011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
2010 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
2011 UTF-16-BE. All users updated.
2012 (grub_hfsplus_cmp_catkey): Fix unicode handling.
2013 (grub_hfsplus_iterate_dir): Likewise.
2014 (grub_hfsplus_label): Likewise.
2015
48d6e456
VS
20162011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
2019
bf3a3857
VS
20202011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 Add missing const qualifiers.
2023
2024 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
2025 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
2026 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
2027 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
2028 (grub_lvm_check_flag): Likewise.
2029 * grub-core/efiemu/i386/coredetect.c
2030 (grub_efiemu_get_default_core_name): Likewise
2031 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2032 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
2033 * grub-core/fs/ntfs.c (fixup): Likewise.
2034 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
2035 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
2036 (fzap_lookup): Likewise.
2037 (zap_lookup): Likewise.
2038 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
2039 * grub-core/lib/legacy_parse.c (check_option): Likewise.
2040 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
2041 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
2042 (grub_freebsd_add_meta_module): Likewise.
2043 (grub_cmd_freebsd_module): Likewise.
2044 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
2045 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
2046 (grub_xnu_writetree_get_size): Likewise.
2047 (grub_xnu_writetree_toheap_real): Likewise.
2048 (grub_xnu_find_key): Likewise.
2049 (grub_xnu_create_key): Likewise.
2050 (grub_xnu_create_value): Likewise.
2051 (grub_xnu_register_memory): Likewise.
2052 (grub_xnu_check_os_bundle_required): Likewise.
2053 (grub_xnu_scan_dir_for_kexts): Likewise.
2054 (grub_xnu_load_kext_from_dir): Likewise.
2055 * grub-core/normal/color.c (color_list): Likewise.
2056 * grub-core/normal/completion.c (current_word): Likewise.
2057 * grub-core/normal/menu_entry.c (insert_string): Likewise.
2058 * grub-core/term/serial.c (grub_serial_find): Likewise.
2059 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
2060 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
2061 Likewise.
2062 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
2063 (grub_freebsd_add_meta_module): Likewise.
2064 * include/grub/lib/arg.h (grub_arg_option): Likewise.
2065 * include/grub/net.h (grub_net_card_driver): Likewise.
2066 (grub_net_card): Likewise.
2067 (grub_net_app_protocol): Likewise.
2068 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
2069 * include/grub/serial.h (grub_serial_find): Likewise.
2070 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
2071 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
2072 (grub_xnu_create_value): Likewise.
2073 (grub_xnu_find_key): Likewise.
2074 (grub_xnu_scan_dir_for_kexts): Likewise.
2075 (grub_xnu_load_kext_from_dir): Likewise.
2076
2077 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
2078 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
2079 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
2080 Moved from here ...
2081 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
2082
112b4837
CW
20832011-11-28 Colin Watson <cjwatson@ubuntu.com>
2084
2085 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
2086
49e891ac
VS
20872011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
2090 (read_device): Fix size calculation.
2091
fd258e5c
RM
20922011-11-25 Robert Millan <rmh@gnu.org>
2093
2094 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
2095 (find_root_device_from_libzfs): Add zpool output parser to be used
2096 as fallback when libzfs isn't available.
2097
78845dc2
SG
20982011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
2099
2100 * po/Makefile.in.in: Add missing escape-continuation.
2101
adac5211
VS
21022011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
2105
10b64f1c
VS
21062011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
2109
bb416954
VS
21102011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
2113
bdfe9eeb
VS
21142011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
2117
581ffa8a
VS
21182011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/lib/adler32.c: Add missing license specification.
2121 * grub-core/lib/crc64.c: Likewise.
2122 * grub-core/loader/i386/pc/plan9.c: Likewise.
2123 * grub-core/partmap/plan.c: Likewise.
2124
2536cf64
LK
21252011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
2126
2127 Add facility to debug GRUB with gdb under qemu.
2128
2129 * grub-core/gdb_grub.in: New file.
2130 * grub-core/gmodule.pl.in: Likewise.
2131 * grub-core/Makefile.core.def (gmodule.pl): New script.
2132 (gdb_grub): Likewise.
2133
bc108a4a
VS
21342011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * util/grub-mount.c (argp_parser): Accept relative pathes.
2137 * util/grub-fstest.c (argp_parser): Likewise.
2138
111c1778
VS
21392011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 Plan9 support.
2142
2143 * Makefile.util.def (libgrubmods): Add
2144 grub-core/partmap/plan.c.
2145 * docs/grub.texi: Notice Plan9 support.
2146 * grub-core/Makefile.core.def (plan9): New module.
2147 (part_plan): Likewise.
2148 * grub-core/loader/i386/pc/plan9.c: New file.
2149 * grub-core/partmap/plan.c: Likewise.
2150 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
2151 define.
2152 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
2153 * include/grub/mm.h (grub_extend_alloc): New inline function.
2154
c30be3b6
VS
21552011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 Make Reed-Solomon faster by using power of generator representation of
2158 GF(256)*.
2159
2160 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
2161 (gf_double_t): Likewise.
2162 (gf_invert): Removed.
2163 (gf_powx): New array.
2164 (gf_powx_inv): Likewise.
2165 (scratch): Move higher.
2166 (gf_reduce): Removed.
2167 (gf_mul): Use powx.
2168 (gf_invert): Likewise.
2169 (init_inverts): Replaced with ...
2170 (init_powx): ...this. All users updated.
2171 (pol_evaluate): Replace multiplications with additions.
2172 (rs_encode): Likewise.
2173 (gauss_eliminate): Call gf_invert.
2174 (grub_reed_solomon_add_redundancy): Call init_powx.
2175 (grub_reed_solomon_recover): Call init_powx unconditionally.
2176
fa5aeffc
VS
21772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
2180
a346b81c
VS
21812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
2184 disk->partiton for safety.
2185
d89ee414
VS
21862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
2189 Fix a memory leak.
2190 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
2191
91ee7b6d
VS
21922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
2195
91e5a33d
VS
21962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
2199
9edd7be2
VS
22002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 Fix spaces handling in proc/self/mountinfo.
2203
2204 * util/getroot.c (unescape): New function.
2205 (grub_find_root_device_from_mountinfo): Use unescape.
2206
ba102053
VS
22072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 Support ZFS embedding.
2210
2211 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
2212 (grub_zfs_fs): Register grub_zfs_embed.
2213
aa94b870
VS
22142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 Fix MIPS compilation.
2217
2218 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
2219 * include/grub/offsets.h: Rename decompressor fields from
2220 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
2221 * util/grub-mkimage.c (image_targets): Use new names.
2222
5fbdac14
VS
22232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 Defer multiboot device parsing until we're in compressed part.
2226
2227 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
2228 bsd_part. setdevice has fallen into disuse.
2229 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
2230 (bsd_part): Likewise.
2231 (boot_dev): New variable.
2232 (multiboot_trampoline): Don't parse multiboot device.
2233 Pass multiboot device in %edx.
2234 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
2235 grub_boot_device.
2236 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
2237 Likewise.
2238 * grub-core/kern/i386/pc/startup.S: Save edx.
2239 (grub_boot_drive): Removed.
2240 (grub_install_dos_part): Likewise.
2241 (grub_install_bsd_part): Likewise.
2242 (grub_boot_device): New variable.
2243 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
2244 (grub_install_bsd_part): Likewise.
2245 (grub_boot_drive): Likewise.
2246 (grub_boot_device): New variable.
2247 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
2248 Removed.
2249 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2250 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
2251 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
2252 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
2253 * util/grub-install.in: Remove redundant condition.
2254
691cbb58
VS
22552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 Fix bug introduced by previous commit.
2258
2259 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
2260
60240b8b
VS
22612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 Use decompressors framework on i386-pc. It increases core size
2264 by 46 bytes but improves compatibility and maintainability.
2265
2266 * grub-core/Makefile.core.def (lzma_decompress): New image.
2267 (kernel): Add i386_pc_ldflags.
2268 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
2269 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
2270 to real_to_prot, prot_to_real and device info.
2271 * include/grub/offsets.h: Renamed decompressor offsets.
2272 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
2273 (image_target_desc): Remove raw_size and rename decompressor fields.
2274 (compress_kernel): Handle lzma.
2275 (generate_image): Handle decompressors on i386-pc.
2276
e9d3421c
VS
22772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * configure.ac: Add -fno-asynchronous-unwind-tables.
2280
2b23074a
VS
22812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 Move assembly code to C by using intwrap. It increases core size
2284 by 88 bytes but improves compatibility and maintainability.
2285
2286 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
2287 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
2288 ... here. Translated to C.
2289 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
2290 * grub-core/term/i386/pc/console.c (grub_console_getkey):
2291 ... here. Translated to C.
2292 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
2293 * grub-core/term/i386/pc/console.c (grub_console_getxy):
2294 ... here. Translated to C.
2295 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
2296 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
2297 ... here. Translated to C.
2298 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
2299 * grub-core/term/i386/pc/console.c (grub_console_cls):
2300 ... here. Translated to C.
2301 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
2302 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
2303 ... here. Translated to C.
2304 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
2305 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
2306 Translated to C.
2307 * grub-core/term/i386/pc/console.c (int10_9): New function.
2308 (grub_console_putchar): Likewise.
2309 * include/grub/i386/pc/console.h: Removed the not anymore shared
2310 functions.
2311
678f4b67
VS
23122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 Move grub_chainloader_real_boot out of the kernel.
2315
2316 * grub-core/Makefile.am: Remove machine/loader.h.
2317 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2318 Removed.
2319 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
2320 variable.
2321 (grub_relocator16_keep_a20_enabled): Likewise.
2322 (grub_relocator16_boot): Fill new variables.
2323 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
2324 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
2325 relocator.
2326 (grub_chainloader_unload): Likewise.
2327 (grub_chainloader_cmd): Likewise.
2328 * include/grub/i386/pc/loader.h: Removed.
2329 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
2330 and esi. All initialisers updated.
2331
4626edf6
VS
23322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
23332011-11-12 Colin Watson <cjwatson@ubuntu.com>
2334
2335 * Makefile.util.def (grub-mount): New util.
2336 * .bzrignore: Add grub-mount.
2337 * configure.ac: Check for fuse and enable grub-mount if available.
2338 * docs/man/grub-mount.h2m: New file.
2339 * util/grub-mount.c: Likewise.
2340
10f0117b
VS
23412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/commands/efi/fixvideo.c: Gettextize.
2344 * grub-core/commands/hashsum.c: Likewise.
2345 * grub-core/commands/i386/cmostest.c: Likewise.
2346 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2347 * grub-core/commands/i386/pc/lsapm.c: Likewise.
2348 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2349 * grub-core/commands/lsmmap.c: Likewise.
2350 * grub-core/commands/menuentry.c: Likewise.
2351 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2352 * grub-core/commands/setpci.c: Likewise.
2353 * grub-core/loader/i386/bsd.c: Likewise.
2354 * grub-core/loader/i386/linux.c: Likewise.
2355 * util/getroot.c: Likewise.
2356 * util/grub-editenv.c: Likewise.
2357 * util/grub-fstest.c: Likewise.
2358 * util/grub-mkfont.c: Likewise.
2359 * util/grub-mkimage.c: Likewise.
2360 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2361 * util/grub-pe2elf.c: Likewise.
2362 * util/grub-probe.c: Likewise.
2363 * util/grub-setup.c: Likewise.
2364 * util/ieee1275/ofpath.c: Likewise.
2365 * util/misc.c: Likewise.
2366 * util/raid.c: Likewise.
2367
566f779b
RM
23682011-11-11 Robert Millan <rmh@gnu.org>
2369
2370 * util/getroot.c (grub_util_get_geom_abstraction): Remove
2371 __attribute__((unused)) from `os_dev', which *is* being used.
2372
b50787de
VS
23732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
2376 forgotten define.
2377 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
2378 GRUB_IA64_DL_GOT_ALIGN.
2379 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
2380 GRUB_IA64_DL_TRAMP_ALIGN.
2381
119d11c8
VS
23822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 Replace grub_fatal with normal errors in i386 linux loader.
2385
2386 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
2387 (allocate_pages): Check find_efi_mmap_size return value.
2388 (grub_e820_add_region): Return error.
2389 (grub_linux_boot): Check mmap return value.
2390
6e0632e2
VS
23912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * grub-core/commands/acpihalt.c: Gettextized.
2394 * grub-core/commands/cacheinfo.c: Likewise.
2395 * grub-core/commands/cmp.c: Likewise.
2396 * grub-core/commands/efi/loadbios.c: Likewise.
2397 * grub-core/commands/gptsync.c: Likewise.
2398 * grub-core/commands/ieee1275/suspend.c: Likewise.
2399 * grub-core/commands/legacycfg.c: Likewise.
2400 * grub-core/commands/memrw.c: Likewise.
2401 * grub-core/commands/minicmd.c: Likewise.
2402 * grub-core/commands/parttool.c: Likewise.
2403 * grub-core/commands/time.c: Likewise.
2404 * grub-core/commands/videoinfo.c: Likewise.
2405 * grub-core/disk/geli.c: Likewise.
2406 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
2407 * grub-core/disk/luks.c: Likewise.
2408 * grub-core/disk/lvm.c: Likewise.
2409 * grub-core/font/font_cmd.c: Likewise.
2410 * grub-core/fs/zfs/zfscrypt.c: Likewise.
2411 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2412 * grub-core/gfxmenu/view.c: Likewise.
2413 * grub-core/kern/emu/hostdisk.c: Likewise.
2414 * grub-core/kern/emu/main.c: Likewise.
2415 * grub-core/kern/emu/misc.c: Likewise.
2416 * grub-core/kern/emu/mm.c: Likewise.
2417 * grub-core/kern/mips/arc/init.c: Likewise.
2418 * grub-core/kern/mips/loongson/init.c: Likewise.
2419 * grub-core/kern/partition.c: Likewise.
2420 * grub-core/lib/i386/halt.c: Likewise.
2421 * grub-core/lib/mips/arc/reboot.c: Likewise.
2422 * grub-core/lib/mips/loongson/reboot.c: Likewise.
2423 * grub-core/loader/i386/pc/chainloader.c: Likewise.
2424 * grub-core/loader/i386/xnu.c: Likewise.
2425 * grub-core/loader/multiboot.c: Likewise.
2426 * grub-core/net/bootp.c: Likewise.
2427 * grub-core/net/net.c: Likewise.
2428 * grub-core/normal/term.c: Likewise.
2429 * grub-core/partmap/bsdlabel.c: Likewise.
2430 * grub-core/parttool/msdospart.c: Likewise.
2431 * grub-core/term/gfxterm.c: Likewise.
2432 * grub-core/term/terminfo.c: Likewise.
2433 * grub-core/video/i386/pc/vbe.c: Likewise.
2434 * util/grub-menulst2cfg.c: Likewise.
2435 * util/grub-mkdevicemap.c: Likewise.
2436 * util/grub-mklayout.c: Likewise.
2437 * util/grub-mkrelpath.c: Likewise.
2438 * util/grub-script-check.c: Likewise.
2439 * util/ieee1275/grub-ofpathname.c: Likewise.
2440 * util/resolve.c: Likewise.
2441
073aa7a9
VS
24422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 Support %1$d syntax.
2445
2446 * tests/printf_unit_test.c: New file.
2447 * Makefile.util.def (printf_test): New test.
2448 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
2449
c76b5417
VS
24502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
2453 fix.
2454
df067ad1
VS
24552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
2458 dprintf.
2459 * grub-core/font/font.c (grub_font_load): Likewise.
2460
5b289bc5
VS
24612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * util/grub-macho2img.c: Add comment concerning gettext.
2464 * grub-core/lib/legacy_parse.c: Likewise.
2465
c1860f87
VS
24662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
2469 (grub_xvasprintf): Likewise.
2470
d35d0d37
VS
24712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Add const keyword to grub_env_get and gettextize week days.
2474
2475 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
2476 (grub_read_hook_datetime): Return const char *.
2477 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
2478 updated.
2479 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2480 Mark for gettext.
2481 (grub_get_weekday_name): Return const char *. Call gettext.
2482 * grub-core/script/argv.c (grub_script_argv_append): Receive const
2483 char * and len as the argument. All users updated.
2484 (grub_script_argv_split_append): Receive const char *.
2485 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
2486 * include/grub/env.h (grub_env_get): Likewise.
2487 (grub_env_read_hook_t): Return const char *.
2488 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
2489 (grub_script_argv_split_append): Likewise.
2490
9aed8a71
VS
24912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
2494
067fdf00
VS
24952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
2498 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
2499
a8bd9d39
VS
25002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
2503 Fix prototype.
2504
f7ce5baf
VS
25052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 Fix mips compilation.
2508
2509 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
2510 normal decoder.
2511 (hashes): Use in embed decoder as well (for sizes).
2512 (dec_stream_header): Fix embed decompressor logic.
2513 (dec_stream_footer): Likewise.
2514
9bb182f3
VS
25152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
2518 an error and not a fatal on unrecognised relocation types.
2519
63a9e6f6
VS
25202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2523 Issue error rather than printf on unknown arguments.
2524
4c458569
VS
25252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
2528 Make buf a const.
2529
e2d22baf
VS
25302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
2533 Fix module name.
2534
53dc8590
VS
25352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
2538 leftover debug printf.
2539
6c189294
VS
25402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
2543
f7688369
VS
25442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
2547 A stylistic fix.
2548
11a775a3
VS
25492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
2552
33f784e8
SL
25532011-11-10 Shea Levy <slevy@tieronedesign.com>
2554
2555 Allow all modules to perform serial IO
2556
2557 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
2558 * include/grub/serial.h (grub_serial_port_configure): New inline
2559 function.
2560 (grub_serial_port_fetch): Likewise.
2561 (grub_serial_port_put): Likewise.
2562 (grub_serial_port_fini): Likewise.
2563 (grub_serial_find): New proto.
2564
f6276525
VS
25652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 Put symlink at the end of the node and fix a potential
2568 memory corruption.
2569
2570 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
2571 Make symlink into an array.
2572 (set_rockridge): Set have_symlink and alloc_dirents.
2573 (grub_iso9660_read_symlink): Use new layout.
2574 (grub_iso9660_iterate_dir): Fix memory corruption.
2575 Use new layout.
2576 (grub_iso9660_dir): Set have_symlink.
2577 (grub_iso9660_open): Likewise.
2578
c3591189
VS
25792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 Remove local keyword.
2582
2583 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
2584 (version_test_gt): Likewise.
2585 (version_find_latest): Likewise.
2586 (gettext_printf): Likewise.
2587 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
2588
cb544caa
VS
25892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2592
45bd824d
VS
25932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 Fix ZFS memory and resource leaks.
2596
2597 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
2598 All users updated.
2599 Free type on exit.
2600 (fill_vdev_info): New parameter inserted. All users updated.
2601 (check_pool_label): Likewise.
2602 (scan_disk): Likewise.
2603 (scan_devices): Close non-inserted disks.
2604 (fzap_iterate): Free l.
2605 (unmount_device): Free children descripto memory.
2606
ad9a2f44
VS
26072011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
2610 argument (access out of bounds).
2611
6b68db81
VS
26122011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
2615 >= 6 drives.
2616
28840fda
VS
26172011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
2620 Fix declaration.
2621
8a5a3a5b
VS
26222011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 Fix several memory leaks.
2625
2626 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
2627 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
2628 (grub_cpio_dir): Likewise.
2629 * grub-core/fs/fat.c (grub_fat_label): Likewise.
2630 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
2631 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
2632 (grub_romfs_label): Likewise.
2633 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
2634 (squash_unmount): New function.
2635 (grub_squash_dir): Fix memory leak.
2636 (grub_squash_open): Likewise.
2637 (grub_squash_read): Likewise.
2638 (grub_squash_mtime): Likewise.
2639 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
2640 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
2641 * util/grub-fstest.c (fstest): Likewise.
2642
57b01250
VS
26432011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
2646 avoid accessing beyond the array.
2647
19e81ba7
VS
26482011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2651
52b656c0
VS
26522011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 Several AFFS fixes.
2655
2656 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
2657 (GRUB_AFFS_FLAG_FFS): Removed.
2658 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
2659 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
2660 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
2661 (grub_fshelp_node): Make block 32-bit.
2662 Add block_cache and last_block_cache.
2663 (grub_affs_read_block): Fill and use block cache.
2664 (grub_affs_read_file): Removed.
2665 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
2666 boot block.
2667 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
2668 safety.
2669 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
2670 space.
2671 (grub_affs_close): Free block cache.
2672 (grub_affs_read): Use grub_fshelp_read_file directly.
2673
438a746a
VS
26742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
2677 with no error set.
2678
49a45021
VS
26792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
2682 used variable.
2683 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2684 Likewise.
2685
3ae17eb8
VS
26862011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
2689
2690 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
2691 byteswap when needed.
2692
27610c38
VS
26932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 Fix FreeBSD compilation.
2696
2697 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
2698 to avoid circular dependency.
2699 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
2700 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
2701 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
2702
4a19b601
VS
27032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 Fix ZFS crypto error types.
2706
2707 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
2708 (grub_gcm_decrypt): Likewise.
2709 (grub_zfs_load_key_real): Fix error code type. Handle possible error
2710 from PBKDF2.
2711
958ee221
VS
27122011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 Illumos support.
2715
2716 * Makefile.util.def (10_illumos): New script.
2717 * configure.ac: Set COND_HOST_ILLUMOS.
2718 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2719 Support Illumos calls.
2720 (find_partition_start) [__sun__]: Likewise.
2721 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2722 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2723 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2724 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2725 device.
2726 * util/grub-probe.c (probe) [__sun__]: Do character check.
2727 * util/grub.d/10_illumos.in: New file.
2728
cac14fb6
VS
27292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 Support escaped commas in hostdisk.
2732
2733 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2734 (find_grub_drive): Use unescape_cmp.
2735 (make_device_name): Escape commas.
2736
78e08dc3
VS
27372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2740
9f421dd1
VS
27412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2744 variable.
2745
ed64e9e2
VS
27462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 Support trampoline jumps on powerpc.
2749
2750 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2751 __ia64__ path.
2752 (grub_dl_load_segments): Set mod->sz.
2753 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2754 segments.
2755 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2756 (jump): Likewise.
2757 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2758 function.
2759 (trampoline): New struct.
2760 (trampoline_template): New const.
2761 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2762 * include/grub/dl.h (grub_dl): Add sz element.
2763 [__powerpc__]: Follow __ia64__.
2764 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2765 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2766 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2767 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2768
3084ede4
VS
27692011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 ZFS crypto support.
2772
2773 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2774 * grub-core/Makefile.core.def (zfscrypt): New module.
2775 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2776 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2777 it. All users updated.
2778 (grub_zfs_decrypt): New var.
2779 (grub_zfs_load_key): Likewise.
2780 (zio_checksum_functions): Add SHA256+MAC.
2781 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2782 (zio_read): Handle encrypted blocks.
2783 (zap_verify): Remove incorrect check.
2784 (fzap_iterate): Handle non-standard fzap.
2785 (zap_iterate): Likewise.
2786 (zap_iterate_u64): New function.
2787 (dnode_get_fullpath): Load keys.
2788 * grub-core/fs/zfs/zfscrypt.c: New file.
2789 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2790 (grub_crypto_ecb_encrypt): Make input const.
2791 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2792 (grub_crypto_ecb_encrypt): Make input const.
2793 (GRUB_CIPHER_AES): New macro.
2794 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2795 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2796 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2797 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2798 prefix. All users updated.
2799 (grub_zfs_add_key): New proto.
2800 (grub_zfs_decrypt): Likewise.
2801 (grub_zfs_load_key): Likewise.
2802 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2803 * util/grub-fstest.c (options): Add -K option.
2804 (argp_parser): Likewise.
2805
b632b404
VS
28062011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 Support zle compression on ZFS.
2809
2810 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2811 (decomp_table): Add zle.
2812 * include/grub/zfs/zio.h (zio_compress): Add zle.
2813
c7ba4f69
VS
28142011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 Support BtrFS embedding.
2817
2818 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2819 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2820 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2821 * util/grub-setup.c (setup): Use fs embedding if available.
2822 Add additional sanity check.
2823
455377d9
VS
28242011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * util/grub-install.in: Fix condition for config_opt.
2827
c2fd16ca
VS
28282011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 Support third redundancy strip on raidz3.
2831
2832 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2833 Return error on singularity. All users updated.
2834 (read_device): Don't stop on 3rd failure on raidz3.
2835
8622923b
VS
28362011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 Support case-insensitive ZFS subvolumes.
2839
2840 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2841 All users updated.
2842 (zap_hash): Likewise.
2843 (name_cmp): New function.
2844 (zap_leaf_array_equal): New parameter case_insensitive.
2845 All users updated.
2846 (zap_leaf_lookup): Likewise.
2847 (fzap_lookup): Likewise.
2848 (zap_lookup): Likewise.
2849 (dnode_get_path): New parameter case_insensitive. Retrieve case
2850 sensitiviness of a volume. All users updated.
2851 (dnode_get_fullpath): New parameter case_insensitive.
2852 All users updated.
2853 (grub_zfs_dir): Set info.case_insensitiveness.
2854
95f2e860
VS
28552011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 Support second redundancy strip on raidz(2,3).
2858
2859 * grub-core/fs/zfs/zfs.c (powx): New array.
2860 (powx_inv): Likewise.
2861 (poly): New const.
2862 (xor_out): New function.
2863 (gf_mul): Likewise.
2864 (recovery): Likewise.
2865 (read_device): Use second redundancy strip.
2866
11ee4389
VS
28672011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 Use a power of generator representation of GF(256) multiplication group
2870 to save space time and complexity.
2871
2872 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2873 (raid6_table2): Likewise.
2874 (powx): New array.
2875 (powx_inv): Likewise.
2876 (poly): New const.
2877 (grub_raid_block_mul): Replace with ...
2878 (grub_raid_block_mulx): ...this.
2879 (grub_raid6_init_table): Rewritten.
2880 (grub_raid6_recover): Use power of generator representation.
2881
09e2763f
VS
28822011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2885 for the right device.
2886
8bec9a28
VS
28872011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2890 expected by grub-mkimage and it's more clear since there is no implicit
2891 padding.
2892
dbd3a32e
VS
28932011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2896 disk.
2897 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2898
182c872a
PMH
28992011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2900
2901 * util/grub-mkrescue.in: Fix handling xorriso option.
2902
1e51cabd
VS
29032011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2906 NULL.
2907
9cc3581d 29082011-11-03 crocket <crockabiscuit@gmail.com>
2909
2910 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2911
158dc1ea
VS
29122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 XZ CRC64 and SHA256 support.
2915
2916 * Makefile.util.def (libgrubmods): Add crc64.c.
2917 * grub-core/Makefile.core.def (crc64): New module.
2918 * grub-core/lib/crc64.c: New file.
2919 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2920 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2921 Fix the type.
2922 (MAX_HASH_SIZE): New define.
2923 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2924 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2925 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2926 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2927 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2928 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2929 Handle non-crc32 hashes.
2930 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2931 (dec_stream_header): Handle non-crc32 hashes.
2932 (dec_stream_footer): Likewise.
2933 (dec_block_header): Likewise.
2934 (dec_main): Likewise.
2935 (xz_dec_init): Likewise.
2936 (xz_dec_reset): Likewise.
2937 (xz_dec_end): Likewise.
2938 * util/import_gcry.py: Add CRC64 line.
2939
9d9b3d2f
VS
29402011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2943 as well.
2944
7d0ac931
VS
29452011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 Make reiserfs label retrieval similar to other *_label functions.
2948
2949 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2950 (REISERFS_MAX_LABEL_LENGTH): Removed.
2951 (REISERFS_LABEL_OFFSET): Likewise.
2952 (grub_reiserfs_label): Rewritten.
2953
29542011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2957 field.
2958
cf5ba824
VS
29592011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2962
17744004
VS
29632011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2966 drive failure on both raidz and raidz2.
2967
aca5aefc
VS
29682011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 Fix RAIDZ(2) for >= 5 devices.
2971
2972 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2973 asize argument. All users updated.
2974
ce8ca56e
VS
29752011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 Fix RAIDZ(2).
2978
2979 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2980 (fill_vdev_info_real): Set ashift.
2981 (read_device): Rewrite RAIDZ part based on reverse engineering.
2982
7c01e783
VS
29832011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2986 don't report potentially unavialiable fields in debug output.
2987 (find_path): Fix double-free and memory leak.
2988
ce109e84
VS
29892011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 Read label on UFS1.
2992
2993 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2994 (grub_ufs_fs): Always set .label.
2995
87661123
VS
29962011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 Use shifts in UFS.
2999
3000 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
3001 (grub_ufs_data): New field log2_blksz.
3002 (grub_ufs_read_file): Use shifts.
3003 (grub_ufs_mount): Check block size and logarithm it.
3004
46bc1dc2
VS
30052011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
3008 long symlinks.
3009
19ee2987
VS
30102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 Handle symlinks and long names on tar and cpio.
3013
3014 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
3015 (ATTR_FILE): Likewise.
3016 (ATTR_DIR): Likewise.
3017 (ATTR_LNK): Likewise.
3018 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
3019 (grub_cpio_find_file): Fill mode, handle linkname field as well as
3020 L and K entries.
3021 (grub_cpio_mount): Zero-fill data.
3022 (handle_symlink): New function.
46bc1dc2
VS
3023 (grub_cpio_dir): Handle symlinks.
3024 (grub_cpio_open): Likewise.
3025 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 3026
c83a08d8
VS
30272011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 Fix iso9660 filename limitations and fix memory leaks.
3030
3031 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
3032 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
3033
45cdd3ea
VS
30342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 Fix JFS file name length limitations.
3037
3038 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
3039 (grub_jfs_diropen): Fix maximum filename length.
3040 (grub_jfs_getent): Fix filename length.
3041 (grub_jfs_lookup_symlink): Fix size checks.
3042
94ef05c2
VS
30432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
3046 string.
3047
785ab8c7
VS
30482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3049
eb0b6b45
VS
3050 Leverage BFS implementation to read AFS.
3051
3052 * Makefile.util.def (libgrubmods): Add afs.c.
3053 * grub-core/Makefile.core.def (afs): New module
3054 * grub-core/fs/afs.c: New file.
3055 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
3056
30572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 3060
c4a1628f
VS
30612011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/fs/bfs.c: Run indent.
3064
5825b379
VS
30652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 BFS implementation based on the specification.
3068
3069 * grub-core/fs/bfs.c: New file.
3070 * Makefile.util.def (libgrubmods): Add bfs.c.
3071 * grub-core/Makefile.core.def (bfs): New module.
3072
42b2a706
VS
30732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * util/grub-fstest.c (cmd_cp): Clarify error message.
3076 (cmd_cmp): Likewise.
3077
61b99bfc
YB
30782011-10-30 Yves Blusseau <blusseau@zetam.org>
3079
3080 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
3081 and befs_be.
3082
faba3d16
VS
30832011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 Remove afs and befs because of copyright problem.
3086
3087 * grub-core/fs/afs.c: Removed.
3088 * grub-core/fs/afs_be.c: Removed.
3089 * grub-core/fs/befs.c: Removed.
3090 * grub-core/fs/befs_be.c: Removed.
3091 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
3092 * grub-core/Makefile.core.def (afs): Removed.
3093 (afs_be): Likewise.
3094 (befs): Likewise.
3095 (befs_be): Likewise.
3096
c39224b0
VS
30972011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 Prefer rockridge over Joliet.
3100
3101 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
3102 to ...
3103 (set_rockridge): ... here.
3104 (grub_iso9660_mount): Check rockridge on the primary label when
3105 discovering. Ignore Joliet if Rockridge is present.
3106
e551115a
VS
31072011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 Use shifts in nilfs2.
3110
3111 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
3112 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
3113 (grub_nilfs2_palloc_entries_per_group): Replace with ...
3114 (grub_nilfs2_log_palloc_entries_per_group): ... this.
3115 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
3116 (grub_nilfs2_entries_per_block): Replaced with ...
3117 (grub_nilfs2_log_entries_per_block_log): ... this.
3118 (grub_nilfs2_blocks_per_group): Replaced with ...
3119 (grub_nilfs2_blocks_per_group_log): ... this.
3120 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
3121 (grub_nilfs2_blocks_per_desc_block_log): ... this.
3122 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
3123 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
3124 (grub_nilfs2_palloc_entry_offset): Replaced ...
3125 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
3126 (grub_nilfs2_dat_translate): Use shifts.
3127 (grub_nilfs2_read_inode): Likewise.
3128 (GRUB_MOD_INIT): Ensure that logs are correct.
3129
564dd58c
VS
31302011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 Use shifts in minix filesystem.
3133
3134 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
3135 (GRUB_MINIX_ZONE2SECT): Likewise.
3136 (grub_minix_data): Replace block_size with log_block_size.
3137 (grub_minix_read_file): Use shifts.
3138 (grub_minix_mount): Check block size and take a logarithm.
3139
ed9ba06d
VS
31402011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 Use shifts in squash4.
3143
3144 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
3145 (squash_mount): Check block size and take logarithm.
3146 (direct_read): Use shifts.
3147
ad03fe76
VS
31482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Correct befs block counting logic.
3151
3152 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
3153 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
3154 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
3155 (grub_afs_read_inode): Use block_shift.
3156 (RANGE_SHIFT): New definition.
3157 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
3158 unexpected conditions, use shifts and appropriate types.
3159 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
3160
6563f63d
VS
31612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * grub-core/disk/raid.c (scan_devices): Check partition.
3164 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
3165
5b1ae25f
VS
31662011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 Support BFS (befs) UUID.
3169
3170 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
3171 (grub_afs_small_data_element_header): New struct.
3172 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
3173 (grub_afs_read_attribute) [MODE_BFS]: New function.
3174 (grub_afs_iterate_dir): Allocate for complete inode.
3175 (grub_afs_mount): Likewise.
3176 (grub_afs_uuid) [MODE_BFS]: New function.
3177 (grub_afs_fs) [MODE_BFS]: Add .uuid.
3178
f8d82408
VS
31792011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
3182 (zfs_unmount): Fix memory leak.
3183
5773fb64
VS
31842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 Support NTFS reparse points.
3187
3188 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
3189 (symlink_descriptor): New struct.
3190 (grub_ntfs_read_symlink): New function.
3191 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
3192 (grub_ntfs_open): Likewise.
3193
91c3fdde
VS
31942011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
3197
3be82e10
VS
31982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 fstest xnu_uuid subcommand.
3201
3202 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
3203 grub-core/commands/xnu_uuid.c.
3204 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
3205 (fstest): Handle xnu_uuid.
3206 (options): Document xnu_uuid.
3207 (argp_parser): Parse xnu_uuid.
3208
8e32442e
VS
32092011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
3212 -l argument. Add newline at the end if printing.
3213 (GRUB_MOD_INIT): Document -l.
3214
52a05075
VS
32152011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
3218
1869edb5
VS
32192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 ZFS multi-device and version 33 support.
3222
3223 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
3224 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
3225 (grub_zfs_data): Add multidev-ice-related fields.
3226 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
3227 (dva_get_offset): Make dva const.
3228 (zfs_fetch_nvlist): New function.
3229 (fill_vdev_info_real): Likewise.
3230 (fill_vdev_info): Likewise.
3231 (check_pool_label): Likewise.
3232 (scan_disk): Likewise.
3233 (scan_devices): Likewise.
3234 (read_device): Likewise.
3235 (read_dva): Likewise.
3236 (zio_read_gang): Use read_dva.
3237 (zio_read_data): Likewise.
3238 (zap_leaf_lookup): Add missing endian conversion.
3239 (zap_verify): Add missing endian conversion. All users updated.
3240 (fzap_lookup): Likewise.
3241 (fzap_iterate): Likewise.
3242 (dnode_get_path): Handle SA bonus.
3243 (nvlist_find_value): Make input const. All users updated.
3244 (unmount_device): New function.
3245 (zfs_unmount): Use unmount_device.
3246 (zfs_mount): Use scan_disk.
3247 (zfs_mtime): New function.
3248 (grub_zfs_open): Handle system attributes.
3249 (fill_fs_info): Likewise.
3250 (grub_zfs_dir): Likewise.
3251 (grub_zfs_fs): Add mtime.
3252 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
3253 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
3254 (SA_MTIME_OFFSET): Likewise.
3255 (SA_SYMLINK_OFFSET): Likewise.
3256 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
3257 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
3258 (fstest): Support zfsinfo.
3259 (argp_parser): Likewise.
3260
186b4028
VS
32612011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
3264 error.
3265
32662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
3267
3268 ZFS fixes.
3269
3270 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
3271 sharing the same block. Iterate over correct number of indices.
3272 (dnode_get_path): Handle symlinks correctly.
3273
c0584900
VS
32742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
3277
67e2bd71
VS
32782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 Read label on HFS+.
3281
3282 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
3283 (grub_hfsplus_btree_search): Fix types.
3284 (grub_hfsplus_label): Implement.
3285
e9cc6b7b
VS
32862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
3289
19832ddb
VS
32902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
3293
66b40850
VS
32942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 Fix symlink handling on iso9660.
3297
3298 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
3299 All users updated.
3300 (grub_iso9660_susp_iterate): Accept zero-size iterate.
3301 (grub_iso9660_read_symlink): Moved most of code ...
3302 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
3303
db821363
VS
33042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3307 Use union to avoid breaking strict-aliasing rules.
3308
e1211949
VS
33092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 Support multi-extent iso files.
3312
3313 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
3314 Add node.
3315 (grub_fshelp_node): Revamp. All users updated.
3316 (FLAG_*): New enum.
3317 (read_node): New function.
3318 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
3319 All users updated.
3320 (grub_iso9660_mount): Don't attempt to read sua when there is none.
3321 (get_node_size): New function.
3322 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
3323 entries.
3324 Fix memory leak on . and ..
3325 (grub_iso9660_read): Use read_node.
3326 (grub_iso9660_close): Free node.
3327
d4888031
VS
33282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 Fix tar 4G limit and handle paths containing dot.
3331
3332 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
3333 (canonicalize): New function.
3334 (grub_cpio_find_file): Use canonicalize. Store offs in
3335 grub_disk_addr_t.
3336 (grub_cpio_dir): Use grub_disk_addr_t.
3337 (grub_cpio_open): Likewise.
3338
9f12e664
VS
33392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 Fix handling of uncompressed blocks on squashfs and break 4G limit.
3342
3343 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
3344 unused flags.
3345 (grub_squash_inode): Add long_file and block_size.
3346 (grub_squash_cache_inode): New struct.
3347 (grub_squash_dirent): Make types into enum.
3348 (SQUASH_TYPE_LONG_REGULAR): New type.
3349 (grub_squash_frag_desc): Add field size.
3350 (SQUASH_BLOCK_FLAGS): New enum.
3351 (grub_squash_data): Use grub_squash_cache_inode.
3352 (grub_fshelp_node): Make ino_chunk 64-bit.
3353 (read_chunk): Minor argument change. All users updated.
3354 (squash_mount): Use correct le_to_cpu.
3355 (grub_squash_open): Handle LONG_REGULAR.
3356 (direct_read): New function.
3357 (grub_squash_read_data): Handle blocks correctly.
3358
9f326fba
VS
33592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
3362
f4d9b64b
VS
33632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
3366
5bbd28b8
VS
33672011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 Fix 2G limit on ZFS.
3370
3371 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
3372 types.
3373 (uberblock_verify): Likewise.
3374 (dmu_read): Likewise.
3375 (grub_zfs_read): Likewise. Remove invalid cast.
3376
68c72069
VS
33772011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
3380 (grub_jfs_blkno): Fix incorrect shift.
3381 (grub_jfs_read_file): Use more appropriate types.
3382
6e536dc8
VS
33832011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 Support triple indirect on minix2 and minix3.
3386
3387 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
3388 Declare triple_indir_zone.
3389 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
3390 indirect.
3391
e0864e7a
VS
33922011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 Minix FS fixes.
3395
3396 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
3397 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
3398 Rename ctime to mtime. All users updated.
3399 (grub_minix_get_file_block): Fix types and double indirect computations.
3400
89481cab
VS
34012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
3404 if no label is found.
3405 (grub_fat_iterate_dir): Fix file size type.
3406 (grub_fat_iterate_dir): Likewise.
3407
f646e143
VS
34082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
3411 save some space.
3412 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3413 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3414
534d769e
VS
34152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
3418
e084ba18
VS
34192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * util/import_gcry.py: Accept space between # and include.
3422
3471ecdf
VS
34232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
3426
124df5f6
VS
34272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 Fine grainely disable warnings on lexer. Remove Wno-error on it.
3430
3431 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
3432 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
3433 yylex_strncpy.
3434 * grub-core/script/yylex.l: Add fine-grained #pragma.
3435
4defb8d5
VS
34362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
3439 New inline function.
3440 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
3441 Likewise.
3442 (memset) [GRUB_UTIL]: Likewise.
3443 (memcmp) [GRUB_UTIL]: Likewise.
3444
4e94ae65
VS
34452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
3448 inline function rather than a define.
3449
18c575e5
VS
34502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * util/grub-setup.c: Add missing include.
3453
f8bc22a8
VS
34542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * util/ieee1275/grub-ofpathname.c: Add missing include.
3457
3ce69fc9
VS
34582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
3461 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
3462 Likewise.
3463
d1e293bb
VS
34642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
3467 grub_memcmp usage.
3468
7a5c54a4
VS
34692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * util/grub-install.in: Add datarootdir as per automake manual
3472 suggestion.
3473 * util/grub-mknetdir.in: Likewise.
3474
34752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
3476
3477 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
3478 suggestion.
3479 * util/grub.d/10_kfreebsd.in: Likewise.
3480 * util/grub.d/10_linux.in: Likewise.
3481 * util/grub.d/10_netbsd.in: Likewise.
3482 * util/grub.d/10_windows.in: Likewise.
3483 * util/grub.d/20_linux_xen.in: Likewise.
3484
766f7d08
VS
34852011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 Remove redundant grub_kernel_image_size.
3488
3489 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
3490 _edata and _start.
3491 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
3492 the small code. It moves it only by few bytes but simplifies the code.
3493 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
3494 _start.
3495 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
3496 (grub_kernel_image_size): Removed.
3497 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
3498 (grub_kernel_image_size): Removed.
3499 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
3500 compiled with Apple toolchain.
3501 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
3502 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
3503 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
3504 (grub_total_module_size): Likewise.
3505 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
3506 Removed.
3507 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
3508 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
3509 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3510 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
3511 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
3512 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
3513 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
3514 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
3515 Removed.
3516 (grub_total_module_size): Removed.
3517 * util/grub-mkimage.c (image_target_desc): Remove image_size.
3518 (image_targets): Likewise.
3519 Set .compressed_size to no field on sparc.
3520 (generate_image): Remove kernel_image_size handling.
3521
fcf1d672
SJ
35222011-10-19 Szymon Janc <szymon@janc.net.pl>
3523
3524 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
3525 NULL pointer dereference.
3526
de9c615e
VS
35272011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
3530 done with a dedicated section.
3531
3532 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
3533 Ensure the correct position of boot_path.
3534 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
3535 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
3536 other fields.
3537 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
3538 * include/grub/boot.h: Removed. All references removed.
3539 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
3540 Removed.
3541 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
3542
e55599dc
VS
35432011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
3546 name.
3547
36dd20ad
VS
35482011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
3551
f8f72eb8
VS
35522011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3555 Don't add the bogus brackets.
3556
a374751b
VS
35572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 ExFAT support.
3560
3561 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
3562 * grub-core/Makefile.core.def (exfat): New module.
3563 * grub-core/fs/exfat.c: New file.
3564 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
3565 (GRUB_FAT_ATTR_*): Make into an enum.
3566 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
3567 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
3568 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
3569 (GRUB_FAT_MAXFILE): Removed.
3570 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
3571 (grub_current_fat_bpb_t): New type.
3572 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
3573 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
3574 (grub_fat_dir_node_t): New type.
3575 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
3576 (fat_log2) [MODE_EXFAT]: Removed.
3577 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
3578 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
3579 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
3580 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
3581 (grub_fat_label) [MODE_EXFAT]: New function.
3582 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
3583 reserved_first_sector to 0.
3584
544c2487
VS
35852011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 Move grub_reboot out of the kernel.
3588
3589 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
3590 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
3591 * grub-core/lib/efi/reboot.c: ... here.
3592 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
3593 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3594 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
3595 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
3596 * grub-core/lib/i386/reboot_trampoline.S: ... here.
3597 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
3598 * grub-core/lib/ieee1275/reboot.c: ... here.
3599 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
3600 * grub-core/lib/mips/arc/reboot.c: ... here.
3601 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
3602 * grub-core/lib/mips/loongson/reboot.c: ...here.
3603 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
3604 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
3605 * include/grub/emu/misc.h (grub_reboot): New function declaration.
3606 * include/grub/i386/reboot.h: New file.
3607 * include/grub/mips/loongson/ec.h: Fix includes.
3608 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
3609 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
3610 * grub-core/lib/i386/reboot.c: New file.
3611
a97501d2
VS
36122011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 Make grub_prefix into module to fix the arbitrary limit and save
3615 some space.
3616
3617 * grub-core/kern/emu/main.c (grub_prefix): Removed.
3618 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
3619 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
3620 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
3621 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
3622 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
3623 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
3624 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
3625 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3626 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
3627 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
3628 * include/grub/ia64/efi/kernel.h: Removed.
3629 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
3630 (grub_prefix): Removed.
3631 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
3632 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
3633 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
3634 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
3635 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
3636 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
3637 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
3638 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
3639 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
3640 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
3641 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3642 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3643 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3644 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3645 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
3646 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
3647 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
3648 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3649 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
3650 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
3651 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
3652 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
3653 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
3654 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
3655 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
3656 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
3657 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
3658 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
3659 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
3660 from module.
3661 * util/grub-mkimage.c (image_target_desc): Removed prefix and
3662 prefix_end.
3663 (image_targets): Likewise.
3664 (generate_image): Put prefix as a module.
3665
39705fad
VS
36662011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 Replace grub_module_iterate with FOR_MODULES.
3669
3670 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
3671 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
3672 (grub_efi_modules_addr): ...this.
3673 * grub-core/kern/efi/init.c (grub_modbase): New variable.
3674 (grub_efi_init): Set grub_modbase.
3675 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
3676 (grub_modbase): New variable.
3677 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
3678 (grub_modbase): New variable.
3679 (grub_machine_init): Set grub_modbase.
3680 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
3681 (grub_modbase): New variable.
3682 (grub_machine_init): Set grub_modbase.
3683 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
3684 (grub_modbase): New variable.
3685 (grub_machine_init): Set grub_modbase.
3686 * grub-core/kern/main.c (grub_module_iterate): Remove.
3687 (grub_modules_get_end): Use grub_modbase.
3688 (grub_load_modules): Use FOR_MODULES.
3689 (grub_load_config): Likewise.
3690 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
3691 (grub_modbase): New variable.
3692 (grub_machine_init): Set grub_modbase.
3693 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
3694 (grub_modbase): New variable.
3695 (grub_machine_init): Set grub_modbase.
3696 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
3697 Removed.
3698 (grub_modbase): New variable.
3699 (grub_machine_init): Set grub_modbase.
3700 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
3701 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
3702 (grub_module_iterate): Likewise.
3703 (grub_modbase): New variable declaration.
3704 (FOR_MODULES): New macro.
3705
2afb7f6c
VS
37062011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * configure.ac: Check for __ctzdi2 and __ctzsi2.
3709 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
3710
366e34fa
VS
37112011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 Fix few obvious type discrepancies.
3714
3715 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
3716 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
3717 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3718 variable.
3719 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3720 and connected types.
3721 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3722 offset.
3723 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3724 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3725 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3726 and connected types.
3727
177b960e
VS
37282011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 Fix python 3.x incompatibilities.
3731
3732 * gentpl.py: Put brackets around print strings.
3733 * util/import_gcry.py: Open explicitly as utf-8.
3734 Use in instead of has_key.
3735
3b619ae1
VS
37362011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3739 (GRUB_XFS_INO_AGBITS): Make into inline function.
3740 (GRUB_XFS_INO_INOINAG): Likewise.
3741 (GRUB_XFS_INO_AG): Likewise.
3742 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3743 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3744 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3745 (GRUB_XFS_EXTENT_SIZE): Likewise.
3746 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3747 (GRUB_XFS_NEXT_DIRENT): Likewise.
3748 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3749 (grub_xfs_read_file): Fix offset type.
3750
8bcebcb8
RM
37512011-10-15 Robert Millan <rmh@gnu.org>
3752
3753 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3754
0017e5ef
RM
37552011-10-15 Robert Millan <rmh@gnu.org>
3756
3757 Fix build problem on FreeBSD and GNU/kFreeBSD.
3758
3759 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3760
d8919552
VS
37612011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3764
3765 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3766 types.
3767 (grub_hfsplus_btree_recoffset): Likewise.
3768 (grub_hfsplus_btree_recptr): Likewise.
3769 (grub_hfsplus_find_block): Likewise.
3770 (grub_hfsplus_btree_search): Likewise.
3771 (grub_hfsplus_read_block): Likewise.
3772 (grub_hfsplus_read_file): Likewise.
3773 (grub_hfsplus_mount): Likewise.
3774 (grub_hfsplus_btree_iterate_node): Likewise.
3775 (grub_hfsplus_btree_search): Likewise.
3776 (grub_hfsplus_iterate_dir): Likewise.
3777 (grub_hfsplus_read): A small code simplification.
3778
c81296b6
VS
37792011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * grub-core/kern/emu/hostdisk.c
3782 (convert_system_partition_to_system_disk): Don't assume that children
3783 of mapper nodes are mapper nodes.
3784
0eb8ffb1
VS
37852011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3788 * include/grub/misc.h (grub_isxdigit): New function.
3789 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3790 switched to grub_isxdigit.
3791 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3792 number starting with a letter.
3793
a98f4a08
RM
37942011-10-09 Robert Millan <rmh@gnu.org>
3795
3796 LVM support for FreeBSD and GNU/kFreeBSD.
3797
3798 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3799 GNU/kFreeBSD.
3800 (LVM_DEV_MAPPER_STRING): Move from here ...
3801 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3802 * util/getroot.c: Include `<grub/util/lvm.h>'.
3803 (grub_util_get_dev_abstraction): Enable
3804 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3805 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3806 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3807 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3808 support it.
3809 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3810 GNU/kFreeBSD.
3811 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3812 when LVM abstraction is required for ${GRUB_DEVICE}.
3813
050e8e90
SJ
38142011-10-06 Szymon Janc <szymon@janc.net.pl>
3815
3816 Add support for LZO compression in GRUB:
3817 - import of minilzo library,
3818 - LZO decompression for btrfs,
3819 - lzop files decompression.
3820
3821 * grub-core/io/lzopio.c: New file.
3822 * grub-core/lib/adler32.c: Likewise.
3823 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3824 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3825 * grub-core/lib/minilzo/minilzo.c: Likewise.
3826 * grub-core/lib/minilzo/minilzo.h: Likewise.
3827 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3828 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3829 grub-core/lib/minilzo/minilzo.c to common.
3830 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3831 cflags in cppflags.
3832 * grub-core/Makefile.core.def (btrfs): Likewise.
3833 * grub-core/Makefile.core.def (lzopio): New module.
3834 (adler32): Likewise.
3835 * grub-core/fs/btrfs.c: Include minilzo.h.
3836 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3837 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3838 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3839 (grub_btrfs_lzo_decompress): New function.
3840 (grub_btrfs_extent_read): Add support for LZO compression type.
3841 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3842 (GRUB_USHRT_MAX): Likewise.
3843 (GRUB_UINT_MAX): Likewise.
3844 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3845 (UINT_MAX): Likewise.
3846 (CHAR_BIT): Likewise.
3847 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3848 grub-core/lib/posix_wrap/limits.h
3849 (UCHAR_MAX): Likewise.
3850 * include/grub/file.h (grub_file_filter_id): New compression filter
3851 GRUB_FILE_FILTER_LZOPIO.
3852 * include/grub/file.h (grub_file_filter_id): Set
3853 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3854 * include/grub/types.h (grub_get_unaligned16): New function.
3855 (grub_get_unaligned32): Likewise.
3856 (grub_get_unaligned64): Likewise.
3857 * util/import_gcry.py (cryptolist): Add adler32.
3858
0eb8ffb1
VS
38592011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3862 in perspective decreases the complexity of build system and fixes
3863 compilation right now.
3864
ce79cc99 38652011-10-01 Ales Nesrsta <starous@volny.cz>
3866
3867 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3868 (fixed problem related to using UHCI with coreboot).
3869
8667a314
BC
38702011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3871
3872 * gentpl.py: Use Autogen macros so that the output template file
3873 (Makefile.tpl) size is reduced.
3874
fc5efcc0
MK
38752011-09-29 Mads Kiilerich <mads@kiilerich.com>
3876
3877 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3878 extra_dist.
3879
d1ab689d
ML
38802011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3881
3882 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3883 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3884
c05de032
ML
38852011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3886
3887 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3888 _fullpath.
3889
cca7ccd8
ML
38902011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3891
3892 Remove extra declaration of sleep for mingw32.
3893
3894 * util/misc.c (sleep) [__MINGW32__]: Removed.
3895 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3896
e0b0dc83
GS
38972011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3898
3899 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3900 type and packname.
3901 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3902 Resurrected.
3903 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3904 (grub_netbsd_btinfo_bootwedge): New struct.
3905 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3906 New function.
3907 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3908
91a1a164
TH
39092011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3910
3911 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3912 loader.
3913
2ded951e
AB
39142011-09-28 Andreas Born <futur.andy@googlemail.com>
3915
3916 Fix incorrect identifiers in bash-completion.
3917
3918 * util/bash-completion.d/grub-completion.bash.in
3919 (_grub_mkpasswd-pbkdf2): Rename to ...
3920 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3921 (_grub_script-check): Rename to ...
3922 (_grub_script_check): ... this. All users updated.
3923
69915030
VS
39242011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3927 Return 0 if disk isn't biosdisk.
3928
20fd15f9
GS
39292011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3930
3931 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3932 on NetBSD.
3933 * Makefile.util.def (grub-fstest): Likewise.
3934
1a7d7db9
GS
39352011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3936
3937 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3938 Get sector size from disk label.
3939
2221ab6c
CW
39402011-09-05 Colin Watson <cjwatson@ubuntu.com>
3941
3942 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3943 */README* as well as README*.
3944 Reported by: Axel Beckert.
3945
ca51c4a0
VS
39462011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3949 case of less than 256 MiB of RAM.
3950
ab80f326
VS
39512011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/commands/wildcard.c (make_regex): Handle @.
3954
4155e697
VS
39552011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3958
ab178c08
SJ
39592011-08-21 Szymon Janc <szymon@janc.net.pl>
3960
3961 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3962 AC_LANG_CONFTEST macros.
3963
7dc3c686
SJ
39642011-08-20 Szymon Janc <szymon@janc.net.pl>
3965
3966 Add grub-fstest option to uncompress data for commands.
3967
3968 * util/grub-fstest.c (uncompress): New var.
3969 (options): New option -u.
3970
fe8d4a7b
SJ
39712011-08-20 Szymon Janc <szymon@janc.net.pl>
3972
3973 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3974 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3975
a5219af1
SJ
39762011-08-20 Szymon Janc <szymon@janc.net.pl>
3977
3978 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3979 file type was not recognized correctly (not gzip or corrupted).
3980
f87abff5
VS
39812011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3984 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3985
d94497ea
VS
39862011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3989 loongson.
3990 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3991 video_radeon_fuloong2e.
3992 * grub-core/video/radeon_fuloong2e.c: New file.
3993 * include/grub/video.h (grub_video_id_t): Add new ID
3994 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3995
0d1fd011
VS
39962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3999 define.
4000 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
4001 that PRID matches the detected subplatform and reset the subplatform
4002 if it doesn't.
4003
84beb0ee
VS
40042011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
4007
1227c133
VS
40082011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 Fix PCI iterating on functions >= 4.
4011
4012 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
4013 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
4014 Removed.
4015 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
4016 (grub_pci_read): Fix bitmask.
4017 (grub_pci_read_word): Likewise.
4018 (grub_pci_read_byte): Likewise.
4019 (grub_pci_write): Likewise.
4020 (grub_pci_write_word): Likewise.
4021 (grub_pci_write_byte): Likewise.
4022
9594c689
VS
40232011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
4026 can still be specified in TARGET_CFLAGS)
4027
14a2562c
VS
40282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
4031
4032 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
4033 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
4034 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
4035 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
4036 (FULOONG): Rename to ...
4037 (FULOONG2F): ... this. All users updated.
4038 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
4039 (machtype_fuloong2f_str): ... this.
4040 (machtype_fuloong2e_str): New string.
4041 Check for machtype_fuloong2e_str.
4042 * grub-core/loader/mips/linux.c (loongson_machtypes)
4043 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
4044 * grub-core/term/serial.c (loongson_defserial)
4045 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
4046 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
4047 loongson_defserial.
4048 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
4049 Rename to ...
4050 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
4051 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
4052 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
4053 to IMAGE_FULOONG2F_FLASH. All users updated.
4054 (image_targets): Rename images.
4055 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
4056
b526cbb6
SJ
40572011-08-19 Szymon Janc <szymon@janc.net.pl>
4058
4059 Make enable of disk cache statistics code configurable.
4060
4061 * configure.ac: --enable-cache-stats added.
4062 * config.h.in (DISK_CACHE_STATS): New define.
4063 * grub-core/Makefile.core.def (cacheinfo): New command.
4064 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
4065 * grub-core/commands/cacheinfo.c: New file.
4066 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
4067 moved to cacheinfo.c.
4068 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
4069 debug code.
4070 * include/grub/disk.h: Likewise.
4071
fb739ccd
SJ
40722011-08-19 Szymon Janc <szymon@janc.net.pl>
4073
4074 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
4075 * grub-core/Makefile.am: Likewise.
4076
2bba8cfd
VS
40772011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
4080 non-zero pull.
4081
43526629
VS
40822011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
4085 All users updated.
4086 (grub_jfs_lookup_symlink): Use correct starting inode.
4087
5c144cc8
VS
40882011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * util/grub-setup.c (main): Add missing gcry initialisation.
4091
b1257f65
VS
40922011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 Don't accept text modes on EFI when booting Linux.
4095
4096 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
4097 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
4098
828bc390
ML
40992011-08-15 Mario Limonciello <mario_limonciello@dell.com>
41002011-08-15 Colin Watson <cjwatson@ubuntu.com>
4101
4102 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
4103 use of "/path/.." as in grub-install for EFI as well as handling
4104 symlinks correctly.
4105 Fixes Debian bug #637768.
4106
5f60ccac
CW
41072011-08-15 Colin Watson <cjwatson@ubuntu.com>
4108
4109 * util/grub-probe.c: Remove duplicate #include.
4110
6dc212f9
RM
41112011-08-10 Robert Millan <rmh@gnu.org>
4112
4113 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
4114
4115 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
4116 function.
4117 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
4118 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
4119
66816d85
RM
41202011-08-03 Robert Millan <rmh@gnu.org>
4121
4122 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
4123 la_array as packed.
4124 Reported by: Zachary Bedell
4125
20168fca
CW
41262011-07-26 Colin Watson <cjwatson@ubuntu.com>
4127
4128 * configure.ac: The Loongson port requires grub-mkfont due to its
4129 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
4130 be built.
4131
303b6246
CW
41322011-07-26 Colin Watson <cjwatson@ubuntu.com>
4133
4134 * util/grub-install.in: Don't source grub-mkconfig_lib until after
4135 processing arguments (otherwise help2man fails when GRUB has not yet
4136 been installed).
4137
6795300e
VS
41382011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4139
41aa28ea
VS
4140 New script grub-mkstandalone.
4141
4142 * Makefile.util.def (grub-mkstandalone): New script.
4143 * docs/man/grub-mkstandalone.h2m: New file.
4144 * util/grub-mkstandalone.in: Likewise.
4145
41462011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4147
4148 Support ATA disks with 4K sectors.
6795300e
VS
4149
4150 * include/grub/ata.h (grub_ata): New member log_sector_size.
4151 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
4152 (grub_ata_identify): Read sector size.
4153 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
4154
92227597
VS
41552011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * util/grub-install.in: Don't use uhci outside of x86.
4158
c77069f5
VS
41592011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * util/grub-mkrescue.in: Add missing quotes.
4162
41632011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
4164
4165 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
4166 dereference.
4167
583168a2
VS
41682011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
4171
6be1c01f
VS
41722011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * include/grub/video.h: add missing EXPORT_FUND on
4175 grub_video_edid_checksum and grub_video_edid_preferred_mode.
4176
a1167439
VS
41772011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * include/grub/mips/kernel.h: Fix define conflict.
4180
bf66054f
VS
41812011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
4184 all four ways.
4185
8fc4fa45
CW
41862011-07-21 Colin Watson <cjwatson@ubuntu.com>
4187
4188 Preferred resolution detection for VBE.
4189
4190 * grub-core/video/video.c (grub_video_edid_checksum): New function.
4191 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
4192 the Flat Panel extension, in line with the X.org VESA driver.
4193 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
4194 New function.
4195 (grub_vbe_bios_get_ddc_capabilities): Likewise.
4196 (grub_vbe_bios_read_edid): Likewise.
4197 (grub_vbe_get_preferred_mode): Likewise.
4198 (grub_video_vbe_setup): When the mode is "auto", try to get the
4199 preferred mode from VBE, and use the largest mode that is no larger
4200 than the preferred mode (some BIOSes expose a preferred mode that is
4201 not in their mode list!). If this fails, fall back to 640x480 as a
4202 safe conservative choice.
4203 (grub_video_vbe_get_edid): New function.
4204 (grub_video_vbe_adapter): Add get_edid.
4205 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
4206 (struct grub_video_adapter): Add get_edid.
4207 (grub_video_edid_checksum): Add prototype.
4208 (grub_video_edid_preferred_mode): Likewise.
4209 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
4210 structure.
4211
4212 * grub-core/commands/videoinfo.c (print_edid): New function.
4213 (grub_cmd_videoinfo): Print EDID if available.
4214
4215 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
4216 is more appropriate on a wider range of platforms than 640x480.
4217 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
4218 documentation.
4219
ca5572a9
VS
42202011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
4223
e4bcf625
VS
42242011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * po/POTFILES.in: Regenerate.
4227
c4edd548
VS
42282011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
4231 incorrect memory usage.
4232
16a2bab0
VS
42332011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * util/grub-install.in: Source grub-mkconfig_lib.
4236
2e418de6
VS
42372011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 Remove getroot.c from core on emu platform.
4240
4241 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
4242 kern/emu/raid.c.
4243 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
4244 useless.
4245 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
4246 * util/getroot.c (get_win32_path): ... here.
4247 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
4248 * util/getroot.c (fini_libzfs): ... here.
4249 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
4250 * util/getroot.c (grub_get_libzfs_handle): ... here.
4251 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
4252 Moved from here...
4253 * util/getroot.c (grub_find_zpool_from_dir): ... here.
4254 * grub-core/kern/emu/misc.c
4255 (grub_make_system_path_relative_to_its_root): Moved from here...
4256 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
4257 * grub-core/kern/emu/getroot.c: Moved from here ...
4258 * util/getroot.c: ... here. All users updated.
4259 * grub-core/kern/emu/raid.c: Moved from here ...
4260 * util/raid.c: ... here. All users updated.
4261
def9832a
VS
42622011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * po/POTFILES.in: Regenerate.
4265
cd8fe79a
VS
42662011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 Fix compilation on GNU/Linux.
4269
4270 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
4271 Disable geli.
4272 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
4273 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
4274 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
4275
a251b719
VS
42762011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
42772011-07-07 Michael Gorven <michael@gorven.za.net>
42782011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
4279
4280 LUKS and GELI support.
4281
4282 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
4283 grub-core/disk/luks.c, grub-core/disk/geli.c,
4284 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
4285 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
4286 grub-core/lib/arg.c.
4287 (libgrubmods.a): Remove gcrypts cflags and cppflags.
4288 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
4289 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
4290 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
4291 (grub-bin2h): Add libgcry.a.
4292 (grub-mkimage): Likewise.
4293 (grub-mkrelpath): Likewise.
4294 (grub-script-check): Likewise.
4295 (grub-editenv): Likewise.
4296 (grub-mkpasswd-pbkdf2): Likewise.
4297 (grub-pe2elf): Likewise.
4298 (grub-fstest): Likewise.
4299 (grub-mkfont): Likewise.
4300 (grub-mkdevicemap): Likewise.
4301 (grub-probe): Likewise.
4302 (grub-ofpath): Likewise.
4303 (grub-mklayout): Likewise.
4304 (example_unit_test): Likewise.
4305 (grub-menulst2cfg): Likewise.
4306 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
4307 * grub-core/Makefile.core.def (cryptodisk): New module.
4308 (luks): Likewise.
4309 (geli): Likewise.
4310 * grub-core/disk/AFSplitter.c: New file.
4311 * grub-core/disk/cryptodisk.c: Likewise.
4312 * grub-core/disk/geli.c: Likewise.
4313 * grub-core/disk/luks.c: Likewise.
4314 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
4315 grub_util_is_lvm.
4316 (grub_util_get_dm_abstraction): New function.
4317 (grub_util_follow_gpart_up): Likewise.
4318 (grub_util_get_geom_abstraction): Likewise.
4319 (grub_util_get_dev_abstraction): Use new functions.
4320 (grub_util_pull_device): Pull GELI and LUKS.
4321 (grub_util_get_grub_dev): Handle LUKS and GELI.
4322 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
4323 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
4324 (follow_geom_up): Removed.
4325 (grub_util_fd_seek): New function.
4326 (open_device): Use grub_util_fd_seek.
4327 (nread): Rename to ..
4328 (grub_util_fd_read): ... this. All users updated.
4329 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
4330 (grub_crypto_cbc_decrypt): Likewise.
4331 (grub_crypto_hmac_write): Likewise.
4332 (grub_crypto_hmac_buffer): Likewise.
4333 (grub_password_get): Extend to util.
4334 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
4335 New member modname.
4336 (gcry_md_spec) [GRUB_UTIL]: Likewise.
4337 * include/grub/cryptodisk.h: New file.
4338 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
4339 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
4340 LUKS and GELI.
4341 (grub_util_follow_gpart_up): New proto.
4342 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
4343 (grub_util_fd_read): Likewise.
4344 (grub_cryptodisk_cheat_mount): Likewise.
4345 (grub_util_cryptodisk_print_uuid): Likewise.
4346 (grub_util_get_fd_sectors): Likewise.
4347 * util/grub-fstest.c (mount_crypt): New var.
4348 (fstest): Mount crypto if requested.
4349 (options): New option -C.
4350 (argp_parser): Parse -C.
4351 (main): Init and fini gcry.
4352 * util/grub-install.in: Support cryptodisk install.
4353 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
4354 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
4355 cryptodisk.
4356 (prepare_grub_to_access_device): Likewise.
4357 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
4358 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
4359 (probe_cryptodisk_uuid): New function.
4360 (probe_abstraction): Likewise.
4361 (probe): Use new functions.
4362 * util/import_gcry.py: Create Makefile.utilgcry.def.
4363 Add modname member.
4364
9bfdcbbc
VS
43652011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 Lazy device scanning.
4368
4369 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
4370 (grub-setup): Remove util/raid.c.
4371 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
4372 * grub-core/disk/lvm.c (scan_depth): New variable.
4373 (grub_lvm_iterate): Rescan if necessary.
4374 (find_lv): New function based on grub_lvm_open.
4375 (grub_lvm_open): Use find_lv. Rescan on error.
4376 (is_node_readable): New function.
4377 (is_lv_readable): Likewise.
4378 (grub_lvm_scan_device): Skip already found disks.
4379 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
4380 Stop if searched device is found and readable.
4381 * grub-core/disk/raid.c (inscnt): New variable.
4382 (scan_depth): Likewise.
4383 (scan_devices): New function based on grub_raid_register. Abort if
4384 looked for device is found.
4385 (grub_raid_iterate): Rescan if needed.
4386 (find_array): NEw function based on -grub_raid_open.
4387 (grub_raid_open): Use find_array and rescan.
4388 (insert_array): Set became_readable_at.
4389 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
4390 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
4391 New function.
4392 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
4393 (grub_util_pull_device): New function.
4394 (grub_util_get_grub_dev): Call grub_util_pull_device.
4395 * util/raid.c: Moved to ..
4396 * grub-core/kern/emu/raid.c: ... here.
4397 (grub_util_raid_getmembers): New parameter "bootable".
4398 All users updated. Support 1.x.
4399 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
4400 All users updated.
4401 * include/grub/disk.h (grub_disk_pull_t): New enum.
4402 (grub_disk_dev): Change iterate prototype.
4403 All users updated.
4404 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
4405 New proto.
4406 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
4407 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
4408 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
4409 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
4410 All users updated.
4411 * include/grub/util/raid.h: Removed.
4412
1c358e59
VS
44132011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * po/POTFILES.in: Regenerate.
4416
abee94ed
VS
44172011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 Unify sparc init with other ieee1275.
4420
4421 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
4422 instead of kern/sparc64/ieee1275/init.c.
4423 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
4424 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
4425 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
4426 grub/machine/kernel.h.
4427 (grub_ieee1275_original_stack) [__sparc__]: New variable.
4428 (grub_claim_heap) [__sparc__]: Use sparc version.
4429 (grub_machine_init): Moved args parsing to
4430 (grub_parse_cmdline): ...this.
4431 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
4432 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
4433 New definition.
4434 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
4435
4436 Move BOOTP to separate file.
4437
4438 * grub-core/Makefile.core.def (net): Add net/bootp.c.
4439 * grub-core/net/net.c: Move all BOOTP functions to
4440 * grub-core/net/bootp.c: ... here.
4441
4442 Use frame interface on PXE.
4443
4444 * grub-core/Makefile.core.def (pxecmd): Removed.
4445 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
4446 * grub-core/commands/i386/pc/pxecmd.c: Removed.
4447 * grub-core/i386/pc/pxe.c: Moved from here ...
4448 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
4449 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
4450 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
4451
4452 EFI network support.
4453
4454 * grub-core/Makefile.core.def (efinet): New module.
4455 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
4456 here...
4457 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
4458 All users updated.
4459 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
4460 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
4461 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
4462 * grub-core/net/drivers/efi/efinet.c: New file.
4463 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
4464 (grub_efi_net_config): New extern var.
4465
4466 Various cleanups and bugfixes.
4467
4468 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
4469 error.
4470 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
4471 disk declared as partition.
4472 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
4473 leak on failure.
4474 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
4475 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
4476 (grub_debug_zalloc): Likewise.
4477 (grub_debug_realloc): Likewise.
4478 (grub_debug_memalign): Likewise.
4479 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
4480 Check that target is IPv4.
4481 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
4482 local-mac-address as fallback.
4483 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
4484 memory leak.
4485 * grub-core/net/ip.c (ipchksum): Rename to ...
4486 (grub_net_ip_chksum): ... this. All users updated.
4487 (grub_net_recv_ip_packets): Special handling for DHCP.
4488 * util/grub-mkimage.c (generate_image): Zero-out aout header.
4489
4490 Unify prefix handling
4491
4492 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
4493 (grub_machine_get_bootlocation): ... this.
4494 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
4495 (grub_machine_get_bootlocation): ... this.
4496 (grub_prefix): New variable.
4497 (prefix): Removed.
4498 (root_dev): New variable.
4499 (dir): Likewise.
4500 (main): Use new variables.
4501 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
4502 Revamped into ...
4503 (grub_machine_get_bootlocation): ... this.
4504 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
4505 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
4506 (grub_machine_get_bootlocation): ... this.
4507 (grub_machine_set_prefix): Removed.
4508 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
4509 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
4510 Revamped into ...
4511 (grub_machine_get_bootlocation): ... this.
4512 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
4513 (grub_set_prefix_and_root): ... this. All users updated.
4514 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
4515 Revamped into ...
4516 (grub_machine_get_bootlocation): ... this.
4517 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
4518 (grub_machine_get_bootlocation): New proto.
4519 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
4520
4521 Less intrusive and more reliable seek on network implementation.
4522
4523 * grub-core/kern/file.c (grub_file_net_seek): Removed.
4524 (grub_file_seek): Don't call grub_file_net_seek.
4525 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
4526 (grub_net_fs_read_real): .. this.
4527 (grub_net_seek_real): Use net->offset.
4528 (grub_net_fs_read): Seek if necessary.
4529
4530 Unify IEEE1275 netwotk config with the other platforms.
4531
4532 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
4533 New variable.
4534 (grub_machine_get_bootlocation): Support network.
4535 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4536 Support type and device parsing.
4537 (grub_ieee1275_get_device_type): New function.
4538 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
4539 into ...
4540 (grub_ieee1275_net_config_real): ... this.
4541 (grub_ofnet_probecards): Removed.
4542 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
4543 * include/grub/ieee1275/ofnet.h: Removed.
4544 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
4545 extern var.
4546 (grub_ieee1275_get_device_type): New function.
4547
4548 Unify network device closing across platforms and make more robust.
4549
4550 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
4551 grub_grubnet_fini.
4552 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
4553 already.
4554 * grub-core/net/net.c (grub_net_network_level_interface_register):
4555 Update num_ifaces.
4556 (grub_net_card_unregister): Close all interfaces.
4557 (receive_packets): Don't poll if no iterfaces are registered.
4558 Open if necessary.
4559 (grub_net_fini_hw): New function.
4560 (grub_net_restore_hw): Likewise.
4561 (fini_hnd): New variable.
4562 (GRUB_MOD_INIT): Register preboot hook.
4563 (GRUB_MOD_FINI): Run and unregister preboot hook.
4564
4565 Poll network cards when idle.
4566
4567 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
4568 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
4569 * grub-core/net/net.c (receive_packets): Save last poll time.
4570 (grub_net_poll_cards_idle_real): New function.
4571 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
4572 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
4573 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
4574
4575 Rename ofnet interfaces.
4576
4577 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
4578 (grub_ofnet_findcards): Use ofnet_%s names.
4579
4580 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
4581
4582 Cleanup socket opening.
4583
4584 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
4585 (grub_net_fs_close): Likewise.
4586 (grub_net_fs_read_real): Use eof member.
4587 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
4588 (+grub_net_udp_close): New inline function.
4589
4590 * include/grub/net/tftp.h: Moved to the top of ...
4591 * grub-core/net/tftp.c: ... here.
4592 * include/grub/net/ip.h: Moved mostly to the top of ...
4593 * grub-core/net/ip.c: ... here.
4594 * include/grub/net/ethernet.h: Moved mostly to the top of ...
4595 * grub-core/net/ethernet.c: ... here.
4596
4597 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
4598
4599 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
4600 FS name.
4601
4602 * include/grub/net/ip.h (ipv4_ini): Removed.
4603 (ipv4_fini): Likewise.
4604
4605 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
4606 (grub_net_send_ip_packets): Likewise.
4607
cf1337aa
VS
46082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
4611 grub_read_cmos prototype.
4612
93c06ff9
VS
46132011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 VGA text support in qemu-mips
4616
4617 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
4618 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
4619 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
4620 text.
4621 * grub-core/kern/i386/qemu/init.c: Renamed to ...
4622 * grub-core/kern/vga_init.c: ... this.
4623 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
4624 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
4625 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
4626 Adjust.
4627 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
4628 GRUB_MACHINE_PCI_IO_BASE.
4629
748ccabe
VS
46302011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 MIPS qemu flash support.
4633
4634 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
4635 magic.
4636 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
4637 (grub_machine_init): Probe memory if its size isn't known.
4638 * util/grub-mkimage.c (image_targets): Add flash targets.
4639 (generate_image): Handle flash targets.
4640
d7345994
VS
46412011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 MIPS qemu at_keyboard support.
4644
4645 * gentpl.py (videoinkernel): Add qemu-mips.
4646 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
4647 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
4648 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
4649 modules.
4650 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
4651 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
4652 * grub-core/term/serial.c (grub_serial_register)
4653 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
4654
a07a81b3
VS
46552011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 CMOS support on sparc.
4658
4659 * gentpl.py (cmos): Add powerpc and sparc.
4660 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
4661 powerpc and sparc.
4662 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
4663 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
4664 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
4665 grub_set_datetime_cmos.
4666 * grub-core/lib/ieee1275/cmos.c: New file.
4667 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
4668 (find_rtc): Set no_ieee1275_rtc on error.
4669 (grub_get_datetime): Call grub_get_datetime_cmos on error.
4670 (grub_set_datetime): Call grub_set_datetime_cmos on error.
4671 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
4672 fail. Move value to argument. All users updated
4673 (grub_cmos_write): Likewise.
4674 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
4675 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
4676 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
4677 grub_get_datetime_cmos and grub_set_datetime_cmos.
4678
77546584
GS
46792011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4680
4681 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
4682 sourcing grub-mkconfig_lib.
4683 * util/update-grub_lib.in: Likewise.
4684 * util/grub.d/00_header.in: Likewise.
4685 * util/grub.d/10_hurd.in: Likewise.
4686 * util/grub.d/10_kfreebsd.in: Likewise.
4687 * util/grub.d/10_linux.in: Likewise.
4688 * util/grub.d/10_netbsd.in: Likewise.
4689 * util/grub.d/10_windows.in: Likewise.
4690 * util/grub.d/20_linux_xen.in: Likewise.
4691 * util/grub.d/30_os-prober.in: Likewise.
4692
54894791
CW
46932011-06-28 Colin Watson <cjwatson@ubuntu.com>
4694
4695 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4696 default_bg_color rather than black.
4697 (grub_gfxterm_fullscreen): Likewise.
4698 (grub_gfxterm_background_color_cmd): Save new background color in
4699 default_bg_color.
4700
8d5d8444
VS
47012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
4704
5afeb5bd
VS
47052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
4708 mismerge.
4709
ba7df45e
VS
47102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 Chainloading on coreboot support.
4713
4714 * grub-core/Makefile.core.def (chain): Add coreboot.
4715 * grub-core/loader/i386/coreboot/chainloader.c: New file.
4716
d0b526b2
VS
47172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4720 if it happens.
4721
5ff1d945
VS
47222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 Implement time command.
4725
4726 * grub-core/Makefile.core.def (time): New module.
4727 * grub-core/commands/time.c: New file.
4728 * grub-core/script/parser.y: Remove "time" keyword.
4729 * grub-core/script/yylex.l: Likewise.
4730
5ebaad7e
VS
47312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4734
bdea3798
VS
47352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4738 when handling leftovers.
4739
b28c5655
VS
47402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4743 so that help2man doesn't fail.
4744
b6f945dc
VS
47452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4748 type in pointers on sparc64.
4749 (get_card_packet): Likewise.
4750
f9b75e8a
CW
47512011-06-27 Colin Watson <cjwatson@ubuntu.com>
4752
4753 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4754 with `*'.
4755 (grub_cmd_videoinfo): Fetch current video mode.
4756
1e3d9b86
VS
47572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4760 because of underlying system restrictions.
4761
efff4b1c
VS
47622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4765 necessary.
4766
9fc9ce37
VS
47672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 Coreboot video support.
4770
4771 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4772 (vbe): Likewise.
4773 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4774 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4775 here ...
4776 * grub-core/kern/i386/int.S: ... here.
4777 * grub-core/video/i386/pc/vbe.c: Updated includes.
4778 * grub-core/video/i386/pc/vga.c: Likewise.
4779 * include/grub/i386/coreboot/memory.h
4780 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4781 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4782 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4783 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4784 Disable interrupts.
4785 * include/grub/i386/pc/vga.h: Removed. All users updated.
4786
41bec7fe
VS
47872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4790 definitions for dprintf.
4791 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4792
ca80309d
VS
47932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4796 prototype.
4797 (get_card_packet): Likewise.
4798
9e322ce8
YB
47992011-06-26 Yves Blusseau <blusseau@zetam.org>
4800
4801 Display the path of the file when file is not found
4802
4803 * grub-core/fs/fat.c: Display the filename when file is not found.
4804 * grub-core/fs/fshelp.c: Likewise.
4805 * grub-core/fs/hfs.c: Likewise.
4806 * grub-core/fs/jfs.c: Likewise.
4807 * grub-core/fs/minix.c: Likewise.
4808 * grub-core/fs/ufs.c: Likewise.
4809 * grub-core/fs/btrfs.c: Likewise.
4810 * grub-core/commands/i386/pc/play.c: Likewise.
4811
cbf597af
SJ
48122011-06-26 Szymon Janc <szymon@janc.net.pl>
4813
4814 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4815 pointer checks before calling grub_free().
4816 * grub-core/commands/wildcard.c (match_devices): Likewise.
4817 * grub-core/commands/wildcard.c (match_files): Likewise.
4818 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4819 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4820 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4821 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4822 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4823 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4824 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4825 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4826 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4827
6295b32f
P
48282011-06-25 Patrick <p55@mailinator.com>
4829
4830 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4831
77c0840b
VS
48322011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4835 (grub_pxe_send): Likewise.
4836 (GRUB_MOD_INIT): Fix types.
4837
40ea05de
SJ
48382011-06-24 Szymon Janc <szymon@janc.net.pl>
4839
4840 * grub-core/io/xzio.c: Fix code style issues
4841
90162423
MRA
48422011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
48432011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
4844
4845 Network infrastructure.
4846 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4847
4848 * include/grub/net/arp.h: New file.
90162423
MRA
4849 * include/grub/net/device.h: Likewise.
4850 * include/grub/net/ethernet.h: Likewise.
4851 * include/grub/net/ip.h: Likewise.
4852 * include/grub/net/netbuff.h: Likewise.
4853 * include/grub/net/tftp.h: Likewise.
4854 * include/grub/net/udp.h: Likewise.
4855 * include/grub/ieee1275/ofnet.h: Likewise.
4856 * include/grub/emu/export.h: Likewise.
4857 * include/grub/net.h: Likewise.
4858 * grub-core/net/arp.c: Likewise.
4859 * grub-core/net/ethernet.c: Likewise.
4860 * grub-core/net/ip.c: Likewise.
4861 * grub-core/net/udp.c: Likewise.
4862 * grub-core/net/tftp.c: Likewise.
4863 * grub-core/net/netbuff.c: Likewise.
4864 * grub-core/net/net.c: Likewise.
4865 * grub-core/net/drivers/emu/emunet.c: Likewise.
4866 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4867 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4868 export.h.
4869 * grub-core/Makefile.core.def (net): New module.
4870 (tftp): Likewise.
4871 (ofnet): Likewise.
4872 (emunet): Likewise.
4873 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4874 network protocols.
4875 * grub-core/kern/device.c (grub_net_open) : New variable.
4876 (grub_device_open): Handle network device.
4877 (grub_device_close): Likewise.
4878 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4879 (grub_grubnet_fini): Likewise.
4880 (grub_file_seek): Seek in network device.
4881 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4882 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4883 network root.
4884 (grub_machine_fini): Call grub_grubnet_fini.
4885 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4886 network.
4887 (grub_ieee1275_get_aliasdevname): New function.
4888 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4889 Add unofficial Solaris network info.
4890 (grub_multiboot_make_mbi): Likewise.
4891 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4892 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4893 * include/grub/device.h (grub_fs): Removed.
4894 * include/grub/err.h (grub_err_t): Add network-related values.
4895 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4896 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4897 (grub_ieee1275_get_aliasdevname): New proto.
4898 * include/grub/net.h: Rewritten.
423a1849 4899
031f22a0
VS
49002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4903 names.
4904
4388ca72
VS
49052011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4908 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4909 it truncates the output.
4910 Reported by: Ximin Luo.
4911
98e2f506
VS
49122011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4915
2a5e94d8
VS
49162011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4919 partmap before abstraction.
4920
535c1910
AK
49212011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4922
4923 * util/grub-mkconfig_lib.in: Add missing quotes.
4924
bc09e1a2
VS
49252011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4928 old method if mountinfo would return /dev/root and /dev/root doesn't
4929 exist.
4930
290766fb
VS
49312011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 ZFS zlib support
4934
4935 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4936 (decomp_table): Add zlib entries.
4937 (zio_read): USe 8 bits for compression function rather than 3.
4938 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4939
49402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/disk/ahci.c: Add missing license statements.
4943 * grub-core/fs/romfs.c: Likewise.
4944 * grub-core/lib/ia64/setjmp.S: Likewise.
4945 * grub-core/loader/i386/pc/freedos.c: Likewise.
4946 * grub-core/loader/ia64/efi/linux.c: Likewise.
4947 * grub-core/video/colors.c: Likewise.
4948 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4949
5ab3f48a
VS
49502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 AHCI support.
4953
4954 * grub-core/Makefile.core.def (ata_pthru): Removed.
4955 (ahci): New module.
4956 (pata): Likewise.
4957 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4958 on unload.
4959 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4960 readwrite.
4961 (grub_hdparm_do_check_powermode_cmd): Likewise.
4962 (grub_hdparm_do_smart_cmd): Likewise.
4963 (grub_hdparm_set_val_cmd): Likewise.
4964 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4965 * grub-core/disk/ahci.c: New file.
4966 * grub-core/disk/ata.c: Factor out the low-level part into ...
4967 * grub-core/disk/pata.c: ... here.
4968 * grub-core/disk/ata_pthru.c: Contents moved to ...
4969 * grub-core/disk/pata.c: ... here.
4970 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4971 (grub_scsi_iterate): Use grub_scsi_names.
4972 (grub_scsi_open): Likewise.
4973 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4974 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4975 (grub_ata_regs_t): New struct.
4976 (grub_disk_ata_pass_through_parms): Likewise.
4977 (grub_ata_device): Renamed to ...
4978 (grub_ata): ... this.
4979 (grub_ata_dev): New struct.
4980 Removed all low-level inline functions.
4981 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4982 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4983 iterate hooks and open. All users updated.
4984 * util/grub-install.in: Handle AHCI disk module.
4985
c31dc5f5
SJ
49862011-06-23 Szymon Janc <szymon@janc.net.pl>
4987
4988 Add support for DRI and RSTn markers in JPEG files.
4989
4990 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4991 (JPEG_MARKER_RST0): Likewise.
4992 (JPEG_MARKER_RST1): Likewise.
4993 (JPEG_MARKER_RST2): Likewise.
4994 (JPEG_MARKER_RST3): Likewise.
4995 (JPEG_MARKER_RST4): Likewise.
4996 (JPEG_MARKER_RST5): Likewise.
4997 (JPEG_MARKER_RST6): Likewise.
4998 (JPEG_MARKER_RST7): Likewise.
4999 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
5000 (grub_jpeg_decode_dri): New function.
5001 (grub_jpeg_decode_sos): Move image data related part into
5002 grub_jpeg_decode_data function.
5003 (grub_jpeg_decode_data): New function.
5004 (grub_jpeg_reset): New function.
5005 (grub_jpeg_decode_jpeg): Handle new markers.
5006
fe12fd5b
VS
50072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 * util/ieee1275/ofpath.c (check_sas): Close fd.
5010 (main): Free of_path.
5011 Reported by: David Volgyes <dvolgyes>.
5012
03147f46
VS
50132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
5016 Reported by: David Volgyes <dvolgyes>.
5017
cad3237f
VS
50182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
5021 file after stat.
5022 Reported by: David Volgyes <dvolgyes>.
5023
13548d26
VS
50242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
5027
5028 Reported by: David Volgyes <dvolgyes>.
5029
e061a1b5
VS
50302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
5033 Prevent memory leak.
5034
1abe47dc
VS
50352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
5038 (main): Close file.
e061a1b5 5039 Reported by: David Volgyes <dvolgyes>.
1abe47dc 5040
fbc62666
VS
50412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
5044 to continue if allocation is failed.
5045
5046 Reported by: David Volgyes <dvolgyes>.
5047
e98c83e9
DV
50482011-06-23 David Volgyes <dvolgyes>
5049
5050 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
5051 dereference.
5052
a199a8cd
VS
50532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 Fix spurious warning.
5056
5057 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
5058 (acorn_partition_map_find): Use .bin member.
5059
e2d1dba0
VS
50602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
5063 /dev/root as a valid device.
5064
8a5d6919
JM
50652011-06-23 Jim Meyering <meyering@redhat.com>
5066
e2d1dba0
VS
5067 Avoid NULL deref in grub_device_open.
5068
8a5d6919
JM
5069 * grub-core/kern/device.c (grub_device_open): Don't dereference
5070 a NULL pointer upon failed grub_env_get.
5071
f7db6f4a
VS
50722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 Support non-512B sectors and agglomerate reads.
5075
5076 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
5077 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
5078 (disk_io_guid): Removed.
5079 (make_devices): Locate solely by BlockIO.
5080 (grub_efidisk_open): Fill log_sector_size and total_sectors.
5081 (grub_efidisk_read): Use read_blocks.
5082 (grub_efidisk_write): Use write_blocks.
5083 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
5084 log_sector_size.
5085 (get_safe_sectors): Handle non-512B sectors.
5086 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
5087 sectors.
5088 (grub_biosdisk_write): Handle non-512B sectors.
5089 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
5090 (grub_scsi_read): Remove special non-512B block handling (now handled
5091 one level up).
5092 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
5093 and do sanity checks.
5094 (grub_disk_adjust_range): Handle non-512B sectors.
5095 (transform_sector): New function.
5096 (grub_disk_read_small): Likewise.
5097 (grub_disk_read): Rewritten.
5098 (grub_disk_write): Handle non-512B sectors.
5099 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
5100 log_sector_size.
5101 (open_device): Use log_sector_size.
5102 (grub_util_biosdisk_read): Likewise.
5103 (grub_util_biosdisk_write): Likewise.
5104 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
5105 non-512B sectors.
5106 (pc_partition_map_embed): Likewise.
5107 * include/grub/disk.h (grub_disk): New field log_sector_size.
5108 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
5109 (GRUB_DISK_CACHE_BITS): Increased to 6.
5110 * util/grub-fstest.c (fstest): New command testload.
5111 (argp_parser): Likewise.
5112
881ac815
RM
51132011-06-16 Robert Millan <rmh@gnu.org>
5114
5115 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
5116 `ata' driver on kernel of FreeBSD 9.
5117
5118 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
5119 (get_ataraid_disk_name): New functions.
5120 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
5121 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
5122 get_ataraid_disk_name() and get_ada_disk_name().
5123
1e9aef7d
CW
51242011-06-13 Colin Watson <cjwatson@ubuntu.com>
5125
5126 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
5127 input format.
5128
351c7c8a
CW
51292011-05-29 Colin Watson <cjwatson@ubuntu.com>
5130
5131 * docs/grub.texi (Obtaining and Building GRUB): Substitute
5132 `ftp.gnu.org' for `alpha.gnu.org'.
5133
6b4e6430
CW
51342011-05-27 Colin Watson <cjwatson@ubuntu.com>
5135
5136 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
5137 partitions under /dev/disk/by-id/.
5138
c64db050
CW
51392011-05-27 Colin Watson <cjwatson@ubuntu.com>
5140
5141 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
5142 after ten consecutive open failures. Scanning all the way up to
5143 10000 is excessive and can cause serious performance problems in
5144 some configurations.
5145 Fixes Ubuntu bug #787461.
5146
245f4aba
VS
51472011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
5150 opening new one.
5151
f767c929
VS
51522011-05-21 Colin Watson <cjwatson@ubuntu.com>
51532011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 Don't stat devices unless we have to.
5156
5157 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
5158 dir == /dev/mapper.
5159 (grub_guess_root_device): Use already known os_dev if possible.
5160 * grub-core/kern/emu/hostdisk.c
5161 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
5162 if device is known to be a dm one.
5163
f35fa3a6
CW
51642011-05-20 Colin Watson <cjwatson@ubuntu.com>
5165
5166 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
5167 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
5168 Reported by: Pawel Tecza.
5169
9a79fcf2
VS
51702011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
5173 (lsefisystab): Likewise.
5174 (lssal): Likewise.
5175 (lsefimmap): Likewise.
5176 (hdparm): Enable on qemu-mips.
5177 (setjmp): Add ia64 nodist.
5178 (serial): Simplify tags.
5179
63e3eea9
CW
51802011-05-18 Colin Watson <cjwatson@ubuntu.com>
5181
5182 * Makefile.util.def (grub-ofpathname): Install manual page.
5183
09728256
CW
51842011-05-18 Colin Watson <cjwatson@ubuntu.com>
5185
5186 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
5187
8b63a142
CW
51882011-05-18 Colin Watson <cjwatson@ubuntu.com>
5189
5190 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
5191
e775d8ed
VS
51922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
5195 into dprintf.
5196
bf947d36
VS
51972011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 Use full 64-bit division.
5200
5201 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
5202 (grub_divmod64): ... this.
5203 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
5204 version.
5205
b84f26c5
CW
52062011-05-18 Colin Watson <cjwatson@ubuntu.com>
5207
5208 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
5209 `source'.
5210
5626056f
CW
52112011-05-18 Colin Watson <cjwatson@ubuntu.com>
5212
5213 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
5214 to avoid accidents when debugging with 'sh -x'.
5215 * grub-core/gensyminfo.sh.in: Likewise.
5216 * tests/example_scripted_test.in: Likewise.
5217 * tests/grub_cmd_regexp.in: Likewise.
5218 * tests/grub_script_blanklines.in: Likewise.
5219 * tests/grub_script_dollar.in: Likewise.
5220 * tests/grub_script_expansion.in: Likewise.
5221 * tests/grub_script_final_semicolon.in: Likewise.
5222 * tests/partmap_test.in: Likewise.
5223 * tests/util/grub-shell-tester.in: Likewise.
5224 * tests/util/grub-shell.in: Likewise.
5225
e2965f4a
CW
52262011-05-18 Colin Watson <cjwatson@ubuntu.com>
5227
5228 Move gfxmenu color handling to video, so that gfxterm can use it
5229 too.
5230
5231 * grub-core/gfxmenu/named_colors.c: Move to ...
5232 * grub-core/video/colors.c: ... here. Rename
5233 grub_gui_get_named_color to grub_video_get_named_color.
5234 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
5235 * grub-core/video/colors.c (my_isxdigit): ... here.
5236 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
5237 Move to ...
5238 * grub-core/video/colors.c (parse_hex_color_component): ... here.
5239 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
5240 to ...
5241 * grub-core/video/colors.c (grub_video_parse_color): ... here.
5242
5243 * include/grub/gui.h (grub_gui_color_t): Move to ...
5244 * include/grub/video.h (grub_video_rgba_color_t): ... here.
5245 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
5246 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
5247 * include/grub/gui.h (grub_gui_map_color): Move to ...
5248 * include/grub/video.h (grub_video_map_rgba_color): ... here.
5249 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
5250 to ...
5251 * include/grub/video.h (grub_video_get_named_color): ... here.
5252 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
5253 * include/grub/video.h (grub_video_parse_color): ... here.
5254
5255 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
5256 video/colors.c.
5257 (gfxmenu): Remove gfxmenu/named_colors.c.
5258 (video) [videomodules]: Add video/colors.c.
5259
5260 Add a background_color command.
5261
5262 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
5263 function.
5264 (GRUB_MOD_INIT): Register background_color command.
5265 (GRUB_MOD_FINI): Unregister background_color command.
5266 (redraw_screen_rect): Allow blend/replace of text layer to be
5267 controlled independently from whether there is a background bitmap.
5268 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
5269 changing bitmap.
5270
1e4b4390
VS
52712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5272
26618ff0
VS
5273 Patch BPB in ntldr and chainloader --bpb.
5274
1e4b4390
VS
5275 * grub-core/fs/fat.c: Include grub/fat.h.
5276 (grub_fat_bpb): Moved to ...
5277 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
5278 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
5279 grub/ntfs.h.
5280 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
5281 Moved from here...
5282 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
5283 here.
5284 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
5285 New function.
5286 (grub_chainloader_cmd): Patch BPB if --bpb is given.
5287 (GRUB_MOD_INIT): Show --bpb.
5288 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
5289 * grub-core/normal/main.c (features): New variable.
5290 (GRUB_MOD_INIT): Set feature_* variables.
5291 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
5292 proto.
5293 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
5294
cf02731e
VS
52952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
5298 for cleanness.
5299
e3a1073f
VS
53002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 FreeDOS direct loading support.
5303
5304 * docs/grub.texi (Supported OS): Add FreeDOS.
5305 * grub-core/Makefile.core.def (freedos): New module.
5306 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
5307 variable.
5308 (grub_relocator16_boot): Handle %ebx.
5309 * grub-core/lib/i386/relocator16.S: Likewise.
5310 * grub-core/loader/i386/pc/freedos.c: New file.
5311
05caa461
VS
53122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 Long Linux command line support.
5315
5316 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5317 (maximal_cmdline_size): New variable.
5318 (allocate_pages): Use maximal_cmdline_size.
5319 (grub_cmd_linux): Set and use maximal_cmdline_size.
5320 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5321 (allocate_pages): Use maximal_cmdline_size.
5322 (grub_cmd_linux): Set and use maximal_cmdline_size.
5323 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
5324 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
5325 and cmdline_size.
5326
a2491e23
VS
53272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
53282011-05-18 Colin Watson <cjwatson@ubuntu.com>
5329
5330 Improve devmapper support
5331
5332 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
5333 (grub_util_is_lvm): New function.
5334 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
5335 than lvm if not dmraid.
5336 Handle mapped md nodes.
5337 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
5338 (grub_util_device_is_mapped): ... this. Make always available. All users
5339 updated.
5340 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
5341 (convert_system_partition_to_system_disk): Handle lvm, mpath and
5342 dmraid nodes.
5343 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
5344
6ad6223e
VS
53452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
5348
5349 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
5350 * grub-core/modinfo.sh.in: New file.
5351 * grub-core/Makefile.core.def (modinfo.sh): New script.
5352 * util/grub-mknetdir.in: Use modinfo.sh.
5353 * util/grub-mkrescue.in: Likewise.
5354
543a8f6e
VS
53552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5358 Fix potential usage of Elf32 instead of Elf64 when compiling on
5359 32-bit architecture. Add endianness macros while on it.
5360
4959e111
VS
53612011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 Use mipsel- rather than mips- in directories involving mipsel ports to
5364 allow both endiannesses coexist.
5365
5366 * configure.ac: proparate target_cpu=mipsel rather than resetting to
5367 mips. All conditions adjusted.
5368 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
5369 variable.
5370 * util/grub-install.in: Adjust conditions to take renaming into account.
5371 * util/grub-mkimage.c (image_targets): Likewise. New target
5372 mips-qemu_mips-elf for bigendian mips.
5373
35341bbc
VS
53742011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 Avoid unnecessary copying on MIPS.
5377
5378 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
5379 early if src == dest.
5380 * util/grub-mkimage.c (generate_image): Arange for src == dest if
5381 compression is none.
5382
b772baed
VS
53832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 Reduce memory footprint on SGI by putting modules before the kernel
5386 as opposed to after.
5387
5388 * grub-core/Makefile.core.def (kernel): Increase linking address.
5389 (none_decompress): Likewise.
5390 (xz_decompress): Likewise.
5391 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
5392 address.
5393 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
5394 layout change.
5395 (grub_arch_modules_addr): New function.
5396 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
5397 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
5398 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
5399 here.
5400 * grub-core/kern/mips/startup.S (total_size): Rename to ...
5401 (grub_total_modules_size): ... this. Make global.
5402 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
5403 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
5404 New definition.
5405 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
5406 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
5407 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
5408 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
5409 * util/grub-mkimage.c (image_target_desc): New flag
5410 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
5411 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
5412 (generate_image): Handle images with modules before kernel.
5413
566a1917
VS
54142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 Prevent potential loss of memory map by overwrite on qemu-mips.
5417
5418 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5419 Save ram size in $s4.
5420 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
5421 All users changed to grub_arch_memsize.
5422 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
5423 Loongson.
5424 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
5425 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
5426 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
5427 external variable.
5428
5d420cd9
CW
54292011-05-17 Colin Watson <cjwatson@ubuntu.com>
5430
5431 * .bzrignore: Remove grub-dumpbios.
5432
d064b830
CW
54332011-05-17 Colin Watson <cjwatson@ubuntu.com>
5434
5435 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
5436 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
5437 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
5438 existing options which append).
5439 * docs/grub.texi (Simple configuration): Document new options.
5440 Reported by: Ian Jackson. Fixes Debian bug #617538.
5441
3ca2b466
CW
54422011-05-17 Colin Watson <cjwatson@ubuntu.com>
5443
5444 * util/grub-fstest.c (cmd_cat): New function.
5445 (fstest): Handle CMD_CAT.
5446 (options): Add cat.
5447 (argp_parser): Handle cat.
5448
24c9143a
CW
54492011-05-17 Colin Watson <cjwatson@ubuntu.com>
5450
5451 * Makefile.util.def (grub-bin2h): Don't install.
5452 * docs/man/grub-bin2h.h2m: Remove.
5453
90f7ac19
VS
54542011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
5457 place.
5458
8d4a5178
VS
54592011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 Reenable qemu-mips port.
5462
5463 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
5464 Fix small arc bug while on it.
5465 * gentpl.py: Handle qemu_mips.
5466 * grub-core/Makefile.am: Likewise.
5467 * grub-core/Makefile.core.def: Likewise.
5468 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
5469 inappropriate includes.
5470 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
5471 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
5472 * grub-core/kern/main.c (grub_modules_get_end)
5473 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
5474 * grub-core/kern/mips/qemu-mips: Moved to ..
5475 * grub-core/kern/mips/qemu_mips: ... this.
5476 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
5477 (grub_machine_init): Call terminfo_init and serial_init.
5478 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
5479 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5480 New variable.
5481 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
5482 parameter passing.
5483 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
5484 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
5485 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5486 * include/grub/mips/qemu_mips/cmos.h: New file.
5487 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
5488 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
5489 Removed.
5490 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
5491 Use correct mips-style address.
5492 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
5493 (GRUB_TICKS_PER_SECOND): Removed.
5494 (grub_get_rtc): Likewise.
5495 (grub_cpu_idle): Likewise.
5496 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
5497 New definition.
5498 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
5499 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
5500 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
5501 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
5502 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5503 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5504 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
5505 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
5506
400b9371
VS
55072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 SGI ARCS port.
5510
5511 * Makefile.util.def (libgrubmods.a): Add dvh.c.
5512 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
5513 platforms.
5514 * configure.ac: New target mips-arc.
5515 * gentpl.py: Likewise.
5516 * grub-core/Makefile.am: Likewise.
5517 * grub-core/Makefile.core.def: Likewise.
5518 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
5519 (none_decompress): Likewise.
5520 (lsdev): New module.
5521 (datetime): Use lib/arc/datetime.c on ARC.
5522 (part_dvh): New module.
5523 * grub-core/commands/arc/lsdev.c: New file.
5524 * grub-core/disk/arc/arcdisk.c: Likewise.
5525 * grub-core/kern/mips/arc/init.c: Likewise.
5526 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
5527 aligned addresses.
5528 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
5529 support.
5530 (grub_arch_dl_relocate_symbols): Likewise.
5531 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
5532 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
5533 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
5534 platforms.
5535 * grub-core/lib/arc/datetime.c: New file.
5536 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
5537 pci.h on non-loongson.
5538 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
5539 (grub_linux_boot): Set unused registers to 0.
5540 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
5541 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
5542 * grub-core/mmap/mips/uppermem.c: ...here.
5543 * grub-core/partmap/dvh.c: New file.
5544 * grub-core/term/arc/console.c: Likewise.
5545 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
5546 (grub_terminfo_set_current): Add terminal "arc".
5547 (grub_terminfo_readkey): Support ARC sequences.
5548 * include/grub/arc/arc.h: New file.
5549 * include/grub/arc/console.h: Likewise.
5550 * include/grub/disk.h (grub_disk_dev_id): Add
5551 GRUB_DISK_DEVICE_ARCDISK_ID.
5552 * include/grub/mips/arc/kernel.h: New file.
5553 * include/grub/mips/arc/memory.h: Likewise.
5554 * include/grub/mips/arc/time.h: Likewise.
5555 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
5556 * include/grub/mips/kernel.h (grub_halt): ... here.
5557 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
5558 here...
5559 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
5560 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
5561 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
5562 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
5563 proto.
5564 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
5565 from here ...
5566 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
5567 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
5568 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
5569 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
5570 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
5571 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
5572 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
5573 (grub_phys_addr_t): Moved from here ...
5574 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
5575 (grub_vtop): Moved from here ...
5576 * include/grub/mips/memory.h (grub_vtop): ... here.
5577 (grub_map_memory): Moved from here ...
5578 * include/grub/mips/memory.h (grub_map_memory): ... here.
5579 (grub_unmap_memory): Moved from here ...
5580 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
5581 (grub_machine_mmap_iterate): Moved from here ...
5582 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
5583 (grub_mmap_get_lower): Moved from here ...
5584 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
5585 (grub_mmap_get_upper): Moved from here ...
5586 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
5587 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5588 here ...
5589 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5590 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
5591 here ...
5592 * include/grub/mips/time.h (grub_get_rtc): ... here.
5593 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5594 here ...
5595 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5596 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
5597 here ...
5598 * include/grub/mips/time.h (grub_cpu_idle): ... here.
5599 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
5600 definition.
5601 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
5602 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
5603 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
5604 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
5605 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5606 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5607 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
5608 (GRUB_MACHINE_LINK_ADDR): Likewise.
5609 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
5610 to 6.
5611 * util/grub-install.in: Run dvhtool on ARC.
5612 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 5613 (generate_image): Handle ECOFF output for mips-arc.
400b9371 5614
c8ecc840
VS
56152011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
5618 blocks.
5619
153a4b55
VS
56202011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
5623 after enabling port.
5624
ff44d107
VS
56252011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 Skip incorrect USB devices.
5628
5629 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
5630 configcnt == 0.
5631 * include/grub/usb.h (grub_usb_err_t): New enum value
5632 GRUB_USB_ERR_BADDEVICE.
5633
638dbe4f
VS
56342011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 Fuloong video init support.
5637
5638 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
5639 well.
5640 (grub_vga_read_arx): New function.
5641 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
5642 definition.
5643 (framebuffer): New members io, mmioptr and mmiobase.
5644 (read_sis_cmd): New function.
5645 (write_sis_cmd): Likewise.
5646 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
5647 rather than 640x400.
5648 * grub-core/video/sis315_init.c: New file.
5649
c3fc520c
VS
56502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
5653 non-loongson.
5654 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
5655 to grub_dl_register_symbol.
5656
67b1e5c9
VS
56572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 Fix compilation errors.
5660
5661 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
5662 potentially unused.
5663 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
5664 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
5665 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
5666 to loongson machines.
5667
b756f75f
VS
56682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 Several FS mtime support.
5671
5672 * grub-core/fs/affs.c (grub_affs_time): New struct.
5673 (grub_affs_file): New field mtime.
5674 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
5675 type. Removed 'size'. New field 'di'. All users updated.
5676 (grub_affs_mount): Simplify checsum checking.
5677 (grub_affs_iterate_dir): New helper grub_affs_create_node.
5678 (grub_affs_dir): Handle mtime.
5679 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
5680 (grub_cpio_dir): Likewise.
5681 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
5682 (grub_hfs_filerec): New field mtime.
5683 (grub_hfs_dir): Handle mtime.
5684 (grub_hfs_mtime): New function.
5685 (grub_hfs_fs): Register grub_hfs_mtime.
5686 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
5687 (grub_iso9660_dir): New field mtime.
5688 (grub_fshelp_node): New field dirent.
5689 (iso9660_to_unixtime): New function.
5690 (iso9660_to_unixtime2): Likewise.
5691 (grub_iso9660_read_symlink): Use node->dirent.
5692 (grub_iso9660_iterate_dir): Likewise.
5693 (grub_iso9660_dir): Set mtime.
5694 (grub_iso9660_mtime): New function.
5695 (grub_iso9660_fs): Register grub_iso9660_mtime.
5696 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
5697 (grub_jfs_inode): New fields atime, ctime and mtime.
5698 (grub_jfs_dir): Set mtime.
5699 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5700 * grub-core/fs/ntfs.c (list_file): Set mtime.
5701 (grub_ntfs_dir): Likewise.
5702 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
5703 (grub_reiserfs_iterate_dir): Set mtime.
5704 (grub_reiserfs_dir): Likewise.
5705 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
5706 (grub_fshelp_node): Likewise.
5707 (grub_sfs_iterate_dir): Set mtime.
5708 (grub_sfs_dir): Likewise.
5709 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
5710 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
5711 (grub_xfs_inode): New fields atime, mtime, ctime.
5712 (grub_xfs_dir): Set mtime.
5713 * include/grub/datetime.h (grub_datetime2unixtime): New function.
5714 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
5715 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
5716
5717 Support UDF symlinks.
5718
5719 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5720 (grub_ufs_read_symlink): New function. All users updated.
5721
5722 Check amiga partmap checksum.
5723
5724 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5725 (grub_amiga_partition): Likewise.
5726 (amiga_partition_map_checksum): New function.
5727 (amiga_partition_map_iterate): Check checksum.
5728
5470225d
VS
57292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 ROMFS support.
5732
5733 * Makefile.util.def (libgrubmods.a): Add romfs.
5734 * grub-core/Makefile.core.def (romfs): New module.
5735 * grub-core/fs/romfs.c: New file.
5736
d4680a35
VS
57372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 Squashfs v4 support.
5740
5741 * Makefile.util.def (libgrubmods.a): Add squash4.
5742 * grub-core/Makefile.core.def (squash4): New module.
5743 * grub-core/fs/squash4.c: New file.
5744 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5745 disk_input_start, disk_input.
5746 (get_byte): Handle disk_input.
5747 (grub_zlib_disk_read): New function.
5748 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5749
bcb18e74
FZ
57502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
57512011-05-15 Feiran Zheng <famcool@gmail.com>
5752
5753 * Makefile.util.def (libgrubmods.a): Add minix3.
5754 * grub-core/Makefile.core.def (minix3): New module.
5755 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5756 (GRUB_MINIX_BSIZE): Removed.
5757 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5758 (grub_minix_ino_t): New type.
5759 (grub_minix_le_to_cpu_ino): New macro.
5760 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5761 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5762 (grub_minix_data): New field block_size.
5763 (grub_minix_read_file): Handle 64-bit correctly.
5764 * grub-core/fs/minix3.c: New file.
5765
32297d5f
TG
57662011-05-15 Tristan Gingold <gingold@free.fr>
57672011-05-15 Robert Millan <rmh.grub@aybabtu.com>
57682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 IA64 support.
5771
5772 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5773 * configure.ac: Add ia64-efi target.
5774 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5775 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5776 * gentpl.py: Add ia64_efi platform.
5777 Rename x86_efi to efi and Add ia64-efi. All users updated.
5778 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5779 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5780 Remove kern/generic/rtc_get_time_ms.c on EFI.
5781 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5782 kern/ia64/dl_helper.c on ia64-efi.
5783 Add kern/emu/cache.c on emu.
5784 (linux): Use on loader/ia64/efi/linux.c on ia64.
5785 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5786 whether symbol is a function.
5787 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5788 (grub_symbol): New field 'isfunc'.
5789 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5790 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5791 (grub_dl_load_segments): Place all sections into the same region.
5792 [__ia64__]: Create trampolines and got.
5793 [GRUB_MACHINE_EMU]: Call mprotect.
5794 (grub_dl_resolve_symbols): Resolve symbol type as well.
5795 [__ia64__]: Create function descriptors.
5796 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5797 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5798 (grub_get_rtc): New function.
5799 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5800 * grub-core/kern/emu/cache.S: Renamed to ...
5801 * grub-core/kern/emu/cache_s.S: ... this.
5802 [__ia64__]: Add a nop.
5803 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5804 [__ia64__]: New function.
5805 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5806 * grub-core/kern/ia64/dl.c: New file.
5807 * grub-core/kern/ia64/dl_helper.c: Likewise.
5808 * grub-core/kern/ia64/efi/init.c: New file.
5809 * grub-core/kern/ia64/efi/startup.S: Likewise.
5810 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5811 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5812 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5813 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5814 * grub-core/loader/ia64/efi/linux.c: New file.
5815 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5816 (GRUB_MOD_DEP): Likewise.
5817 (grub_dl) [__ia64__]: New fields got and tramp.
5818 (grub_dl): New field 'base'.
5819 (grub_dl_register_symbol): New argument isfunc. All users updated.
5820 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5821 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5822 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5823 (grub_ia64_dl_get_tramp_got_size): New proto.
5824 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5825 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5826 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5827 * include/grub/efi/api.h: Skip call wrappers on ia64.
5828 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5829 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5830 * include/grub/elf.h (ELF_ST_INFO): New definition.
5831 * include/grub/ia64/efi/kernel.h: New file.
5832 * include/grub/ia64/efi/memory.h: Likewise.
5833 * include/grub/ia64/efi/time.h: Likewise.
5834 * include/grub/ia64/kernel.h: Likewise.
5835 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5836 * include/grub/ia64/time.h: New file.
5837 * include/grub/ia64/types.h: Likewise.
5838 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5839 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5840 New protos.
5841 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5842 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5843 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5844 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5845 All users updated.
5846 (EFI64_HEADER_SIZE): New definition. All users updated.
5847 (image_targets): Add ia64-efi.
5848 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5849 jumpers_addr. All users updated.
5850 Create function descriptors.
5851 (count_funcs): New function.
5852 (unaligned_uint32): New struct.
5853 (MASK20): New definition.
5854 (MASK19): Likewise.
5855 (MASKF21): Likewise.
5856 (add_value_to_slot_20b): New function.
5857 (add_value_to_slot_21_real): Likewise.
5858 (add_value_to_slot_21): Likewise.
5859 (ia64_kernel_trampoline): New struct.
5860 (nopm): New variable.
5861 (jump): Likewise.
5862 (make_trampoline): New function.
5863 (relocate_addresses): Handle ia64.
5864 (make_reloc_section): Likewise.
5865 (load_image): Likewise.
5866
983b414d
VS
58672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5870 warning. Move variables before code while on it.
5871
5d063cdc
VS
58722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 Fuloong support.
5875
5876 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5877 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5878 * grub-core/boot/mips/loongson/fuloong.S: New file.
5879 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5880 Explicitly init CS5536.
5881 [FULOONG]: Don't use serial until CS5536 is available.
5882 Set GPIO based on dumps.
5883 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5884 [FULOONG]: Handle GPIO and memory controller differences.
5885 Parse machine type in $a2.
5886 * grub-core/boot/mips/startup_raw.S: Determine and save the
5887 architecture.
5888 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5889 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5890 init on architecture type.
5891 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5892 SIS315E. Don't init at_keyboard on fuloong.
5893 (grub_halt): Support Fuloong.
5894 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5895 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5896 (loongson_machtypes): New array.
5897 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5898 type.
5899 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5900 config. All users updated. Handle CS5536 serial.
5901 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5902 default port on machine type. Register serial as inactive.
5903 * grub-core/video/sis315pro.c: New file.
5904 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5905 definition.
5906 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5907 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5908 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5909 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5910 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5911 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5912 to ...
5913 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5914 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5915 definition.
5916 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5917 (grub_arch_machine): New extern var.
5918 * include/grub/mips/loongson/serial.h
5919 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5920 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5921 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5922 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5923 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5924 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5925 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5926 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5927 * include/grub/term.h (grub_term_register_input_inactive): New inline
5928 function.
5929 (grub_term_register_output_inactive): Likewise.
5930 * include/grub/video.h (grub_video_driver_id): New value
5931 GRUB_VIDEO_DRIVER_SIS315PRO.
5932 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5933 New field "names". All users updated.
5934 New field value IMAGE_FULOONG_FLASH.
5935 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5936
6ada82d1
JU
59372011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5938
5939 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5940 and add some clarification.
5941
90c571a4
VS
59422011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5945 platforms if kernel is compressed.
5946
de04eecf
VS
59472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5950 unused modules since currently referrence counter isn't reliable and
5951 there isn't much memory to recover there anyway.
5952
57688121
VS
59532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5956 rather than resetting it to allow modules to reference themselves
5957 in init.
5958
3d2c7e35
VS
59592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5962 counter on dependencies since grub_dl_unref already handles this.
5963
b25db218
VS
59642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5967 on error if not already done.
5968
25a45338
VS
59692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 Fix few potential memory misusage.
5972
5973 * grub-core/font/font.c (load_font_index): Don't free char_index to
5974 avoid double free.
b25db218
VS
5975 (grub_font_load): Zero-fill font at alloc for safety.
5976 Close file on error.
5977 (free_font): Free bmp_idx.
25a45338 5978
0cac83df
VS
59792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * docs/grub.texi (Installation): Fix several outdated claims.
5982
2217a143
VS
59832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 Handle module_license on windows.
5986
5987 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5988 sections shifted.
5989 (insert_string): Make argument const char * instead of char *.
5990 (write_section_data): Handle long section names.
5991 Handle module_license.
5992
d4de6b01
VS
59932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5996 handle class-free menuentries.
5997 (grub_normal_add_menu_entry): Add a check to be sure.
5998
4c2a3b43
VS
59992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
6002 PgUp and PgDown.
6003
85c6210f
VS
60042011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * configure.ac: Bump version to 1.99.
6007
36084912
VS
60082011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 Give ATA device a bit more time on first try in order to allow disks
6011 to spin up.
6012
6013 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
6014 if dev->present is 1. Reset dev->present on failure.
6015 (grub_ata_device_initialize): Set dev->present to 1.
6016 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
6017 (grub_ata_device): New member 'present'.
6018
bda0e219
VS
60192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * util/grub-mkimage.c (generate_image): Update hash.
6022
19e1c41b
VS
60232011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 Flush caches on DMA memory.
6026
6027 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
6028 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
6029 (grub_dma_free): Likewise.
6030 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
6031
91bbcc0c
VS
60322011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
6035 to avoid asm treating ld and sd as macros.
6036
60ddfad3
VS
60372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
6040 decompressor.
6041
a298aa04
VS
60422011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
6045 grub_decompress_core since later would fail if grub_decompress_core
6046 is too far.
6047
9b44feca
VS
60482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
6051 R_MIPS_JALR since it's used by newer compiler.
6052
56dbe7b4
VS
60532011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
6056
52856af2
VS
60572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
6060 file_path to 0 for surety.
6061 (grub_chainloader_boot): Set exit_data to NULL.
6062 Unset the loader once done.
6063 (grub_cmd_chainloader): Fix confusing error message if file is empty.
6064
9c9bfc6d
VS
60652011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
6068 unknown key into a dprintf.
6069
dd94a3df
VS
60702011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
6073 on first non-existant partition.
6074
fa68d99c
VS
60752011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
6078 openning fails.
6079 Reported by: Mark Korenberg.
6080
157effb7
VS
60812011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
6084 overflow.
6085
ea75312f
VS
60862011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * util/grub-mkimage.c (main): Explicitely flush and sync the output
6089 before closing to ensure that it will be readable by grub-setup.
6090
072b5d31
VS
60912011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
6094 (devpath_1): Use MAKE_PIWG_PATH.
6095 (devpath_2): Likewise.
6096 (devpath_3): Likewise.
6097 (devpath_4): Likewise.
6098 (devpath_5): Likewise.
6099 (devpath_6): Likewise.
6100
6101 The appleldr.mod was checked that to be binary identical to previous
6102 version.
6103
7fae0051
Z
61042011-05-05 Zach <mikezackles>
6105
6106 Support 2010 Macbooks.
6107
6108 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
6109 (devs): Add devpath_6.
6110
7c515bee
VS
61112011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
6114 /dev/random. /dev/urandom is good enough for our purposes (salting).
6115
ed660bd8
VS
61162011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
6119
ee5614b7
VS
61202011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
6123 hexadecimal.
6124
664889a6
VS
61252011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
6128 and not 0 on failure.
6129
bd405bbc
CW
61302011-05-03 Colin Watson <cjwatson@ubuntu.com>
6131
6132 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
6133 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
6134 disk; otherwise grub_fs_probe will not fall back to the next
6135 filesystem.
6136 (grub_pxefs_open): Likewise, for consistency.
6137 Reported and tested by: Ezekiel Grave.
6138
4ebff753
CW
61392011-05-03 Colin Watson <cjwatson@ubuntu.com>
6140
6141 * tests/partmap_test.in: Don't hardcode path to parted.
6142 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
6143
8f942553
CW
61442011-05-01 Colin Watson <cjwatson@ubuntu.com>
6145
6146 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
6147 of `ls' to find out which devices are available.
6148
3c62402d
VS
61492011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
6152 than source address for efi mmap buffer.
6153
723f63f2
VS
61542011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
6157 wrong action on non-detecting the magic.
6158
68797f92
VS
61592011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
6162 already supplied by another part of the module (fixes compilation on
6163 FreeBSD).
6164
6be8715d
VS
61652011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
6168 match the one used by mdadm.
6169
e91dba5b
CW
61702011-04-21 Colin Watson <cjwatson@ubuntu.com>
6171
6172 * po/README: Add instructions for creating po/LINGUAS.
6173
c85140b3
CW
61742011-04-21 Colin Watson <cjwatson@ubuntu.com>
6175
6176 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
6177 #551428.
6178
6179 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
6180 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
6181 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
6182 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6183 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
6184 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
6185 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
6186 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
6187 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
6188 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6189 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
6190 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
6191 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
6192 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
6193 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
6194 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
6195 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
6196 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
6197 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
6198 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
6199 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
6200 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
6201
92051871
CW
62022011-04-21 Colin Watson <cjwatson@ubuntu.com>
6203
6204 * grub-core/kern/emu/getroot.c
6205 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
6206 test that was incorrectly reintroduced in r3214.
6207 Reported by: Ian Dall. Fixes Savannah bug #33133.
6208
b13f79a4
CW
62092011-04-21 Colin Watson <cjwatson@ubuntu.com>
6210
6211 Fix stack pointer handling in 16-bit relocator.
6212
6213 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
6214 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
6215 Fixes Ubuntu bug #683904.
6216
9b710a88
VS
62172011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * configure.ac: Bump version to 1.99~rc2.
6220
d97e7b59
VS
62212011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
6224 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
6225 * grub-core/lib/x86_64/setjmp.S: Likewise.
6226 * grub-core/lib/mips/setjmp.S: Likewise.
6227 * grub-core/lib/powerpc/setjmp.S: Likewise.
6228 * grub-core/lib/sparc64/setjmp.S: Likewise.
6229
0624551c
VS
62302011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
6233 * grub-core/lib/efi/datetime.c: Likewise.
6234
e8f28d4c
VS
62352011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
6238 New function.
6239 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
6240 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
6241 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
6242
bba79a15
VS
62432011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
6246 bitmap.
6247 (grub_gfxterm_term_init): Likewise.
6248
abc474ef
VS
62492011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 Take into account the decorations the computing menu entry width.
6252
6253 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
6254 (grub_gfxmenu_create_box): Register get_border_width.
6255 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
6256 if available.
6257 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
6258 get_border_width.
6259
e74b3947
EP
62602011-04-18 Endres Puschner <code@e7p.de>
6261
6262 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
6263 Don't skip first class.
6264
34faa595
VS
62652011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
6268 chunks.
6269 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
6270
93a777e3
VS
62712011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Complete 64-bit division support.
6274
6275 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
6276 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
6277 * include/grub/misc.h (grub_divmod64): Rename to ...
6278 (grub_divmod64_full): ... this.
6279 (grub_divmod64): New inline function.
6280
a5102d94
VS
62812011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * util/grub-mkimage.c (generate_image): Add forgotten comma.
6284
f3fb7b36
VS
62852011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
6288 performing the necessary test.
6289
9ac718b0
VS
62902011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
6293 (kfreebsd.elf): Likewise.
6294 (pc-chainloader.elf): Likewise.
6295 (ntldr.elf): Likewise.
6296
50d2cc5a
VS
62972011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 Identify RAID by its UUID rather than (guessed) name.
6300
6301 * grub-core/disk/raid.c (ascii2hex): New function.
6302 (grub_raid_open): Accept mduuid/%s specification.
6303 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
6304 (get_mdadm_uuid): ... this.
6305 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
6306
e03f7bea
VS
63072011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
6310 to negative size.
6311
e74c3112
CW
63122011-04-13 Colin Watson <cjwatson@ubuntu.com>
6313
6314 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
6315 btrfs subvolume.
6316 * util/grub.d/20_linux_xen.in: Likewise.
6317
78fa584f
CW
63182011-04-13 Colin Watson <cjwatson@ubuntu.com>
6319
6320 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
6321 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
6322
6323 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6324 Build a list of relevant visible mounts using the mnt_id and
6325 parent_mnt_id fields, and then scan that list at the end.
6326
9d5f8162
CW
63272011-04-12 Colin Watson <cjwatson@ubuntu.com>
6328
6329 * docs/grub.texi (normal): New section.
6330 (normal_exit): New section.
6331 (Embedded configuration): Add reference to normal.
6332 (GRUB only offers a rescue shell): Likewise.
6333 * docs/grub-dev.texi (Error Handling): Fix typo.
6334
09a9d66f
CW
63352011-04-12 Colin Watson <cjwatson@ubuntu.com>
6336
6337 * NEWS: Drop obsolete entry about probe-only btrfs support.
6338
0c676933
CW
63392011-04-12 Colin Watson <cjwatson@ubuntu.com>
6340
6341 * util/import_gcry.py: Fix typo.
6342
ec9f5e0d
VS
63432011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * NEWS: Add btrfs support.
6346
fe6b2cba
VS
63472011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
63482011-04-11 Colin Watson <cjwatson@ubuntu.com>
6349
6350 BtrFS support. Written by me (Vladimir) with important bugfixes and
6351 even more important testing by Colin.
6352
6353 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
6354 * grub-core/Makefile.core.def (btrfs): Add crc.c.
6355 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
6356 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
6357 mem_input_off and mem_input. All users updated to accept in-RAM input.
6358 (gzio_seek): New function.
6359 (test_zlib_header): Likewise.
6360 (grub_gzio_read): Likewise.
6361 (grub_zlib_decompress): Likewise.
6362 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
6363 Accept partial and non-virtual mounts.
6364 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
6365 avoid receiving /dev/dm-X as device.
6366 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
6367 Handle bind and partial mounts.
6368 * grub-core/lib/crc.c: New file.
6369 * include/grub/deflate.h: Likewise.
6370 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
6371 proto.
6372 * include/grub/lib/crc.h: New file.
6373
e745cf0c
VS
63742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 Implement automatic module license checking according to new GNU
6377 guidelines.
6378
6379 * grub-core/kern/dl.c (grub_dl_check_license): New function.
6380 (grub_dl_load_core): Use grub_dl_check_license.
6381 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
6382 (GRUB_MOD_LICENSE): Likewise.
6383 (GRUB_MOD_DUAL_LICENSE): Likewise.
6384 All modules updated.
6385
2a9bc016
CW
63862011-04-11 Colin Watson <cjwatson@ubuntu.com>
6387
6388 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
6389 reserved_first_sector to 1. btrfs reserves plenty of space for boot
6390 loaders.
6391 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
6392
8a3bc88e
VS
63932011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
6396
af869a4a
VS
63972011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * util/grub-fstest.c (read_file): Report GRUB error if file opening
6400 failed.
6401
9ee8d94f
VS
64022011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * grub-core/kern/file.c (grub_file_open): Don't take into account the
6405 parenthesis in the middle of the filename.
6406
b01abe3e
VS
64072011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
6410 rather than trying to put initrd way too high.
6411 Reported by: Ryan Lortie <desrt@desrt.ca>
6412
335bda1e
VS
64132011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
6416 improperly removed string.
6417
5ca1a64d
VS
64182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
6421 is_disk.
6422 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
6423 (open_device) Likewise.
6424 (grub_util_biosdisk_close): Likewise.
d8ce9995 6425 Reported by: Mark Korenberg.
5ca1a64d 6426
cbac5b1e
AK
64272011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
6428
6429 * util/grub-mkconfig_lib.in: Add missing quotes.
6430
088cdb65
CW
64312011-04-10 Colin Watson <cjwatson@ubuntu.com>
6432
6433 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
6434 is NULL.
6435
8b8a81fa
VS
64362011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 Dynamically count the number of lines for the lower banner.
6439
6440 * grub-core/normal/menu_entry.c (per_term_screen): New member
6441 num_entries.
6442 (print_down): Use num_entries.
6443 (update_screen): Likewise.
6444 (grub_menu_entry_run): Set num_entries.
6445 * grub-core/normal/menu_text.c (menu_viewer_data): New member
6446 num_entries.
6447 (grub_print_message_indented): Move real part to ...
6448 (grub_print_message_indented_real): ... here. Additional argument
6449 dry_run.
6450 (draw_border): Additional argument num_entries.
6451 (print_message): Additional argument dry_run.
6452 (print_entries): Receive menu viewer data.
6453 (grub_menu_init_page): New argment num_entries.
6454 (menu_text_set_chosen_entry): Use num_entries.
6455 (grub_menu_try_text): Likewise.
6456 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
6457 All users updated.
6458 (grub_ucs4_count_lines): New function.
6459 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
6460 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
6461 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
6462 (grub_term_border_height): Likewise.
6463 (grub_term_num_entries): Likewise.
6464
277f955b
VS
64652011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
6468 Remove now unused string.
6469
536ce85a
CW
64702011-04-09 Colin Watson <cjwatson@ubuntu.com>
6471
6472 * docs/grub-dev.texi (Finding your way around): Update for 1.99
6473 build system.
6474 (Getting started): GRUB is developed in Bazaar now, not Subversion.
6475
6476 (Comment): Fix typo.
6477 (Getting started): General copy-editing.
6478 (Typical Development Experience): Likewise.
6479 (Error Handling): Likewise.
6480 (Video API): Likewise.
6481
2cf09e32
CW
64822011-04-09 Colin Watson <cjwatson@ubuntu.com>
6483
6484 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
6485 throughout.
6486
1ec652f4
VS
64872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * util/grub-mkimage.c (main): Handle special naming of yeeloong
6490 directory.
6491
2c583728
CW
64922011-04-08 Colin Watson <cjwatson@ubuntu.com>
6493
6494 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
6495 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
6496 "development".
6497
d7a565e9
VS
64982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
6501 grub_strcpy since the lines aren't necessarily 0-terminated.
6502
7c2e4909
VS
65032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
6506 root on legacy.
6507
34c09785
VS
65082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 * grub-core/commands/probe.c (options): Argument to set isn't optional.
6511 (GRUB_MOD_INIT): DEVICE isn't optional.
6512
6a6f8058
VS
65132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
6516 word on new line if it's too long anyway. Fixes a hang.
6517
2e335e90
VS
65182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
6521 const.
6522 * util/grub-setup.c (main): Reuse md device name if available.
6523 * util/raid.c (grub_util_raid_getmembers): Receive device name and
6524 not GRUB name as argument.
6525 Based on patch by: Florian Wagner <fwagner>.
6526
10a7a867
VS
65272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6530 Place mbi on low memory for better compatibility.
6531
7a3d6cd9
VS
65322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
6535
18dd6b47
VS
65362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
65372011-04-08 Colin Watson <cjwatson@ubuntu.com>
6538
6539 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 6540 * conf/Makefile.common: Likewise.
18dd6b47 6541
3c0e3f14
VS
65422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6543
f7148863
VS
6544 * grub-core/normal/menu.c: Add missing include.
6545
65462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 6549
6d1fa41f
MZ
65502011-04-08 Martin Zuther <mzuther@mzuther.de>
6551
6552 * util/grub-mkconfig.in: Ignore emacsen backup.
6553
478182a8
VS
65542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
6557 on open.
6558 (grub_util_biosdisk_close): Likewise.
6559
72a89a54
VS
65602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
6563 const attribute and use grub_isdigit.
6564
b5ebecfa
A
65652011-04-06 Andrey <dev_null@ukr.net>
6566
6567 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
6568 gcc warning.
6569
7755f66e
VS
65702011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
6573 useful grub_dprintf's.
6574
461121ff
VS
65752011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
6578
2a961775
VS
65792011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
6582
adf594cc
VS
65832011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 Output errors if theme loading failed.
6586
6587 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
6588 grub_gfxterm_fullscreen on error paths to ...
6589 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
6590 theme loading error.
6591
665900a3
VS
65922011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
6595 space for older compilers.
6596 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6597
a562b479
VS
65982011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
6601 and report them as not RAID members since they are useless for GRUB.
6602 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6603
850e9373
VS
66042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 Increase LVM implementation robustness in order not to crash on
6607 configurations like pvmove. Previously code assumed that in some places
6608 only lvs or only pvs are used whereas it seems that they are used
6609 interchangeably.
6610
6611 * grub-core/disk/lvm.c (read_node): New function.
6612 (read_lv): Use read_node.
6613 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
6614 Match volumes only at the end when all lvs are found. Take both
6615 pvs (first) and lvs (second) into account.
6616 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
6617 mirror_* into node_*. All users updated.
6618 (grub_lvm_stripe): Merge this ...
6619 (grub_lvm_mirror): ... and this ...
6620 (grub_lvm_node): ... into this. All users updated.
6621
6f332153
VS
66222011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
6625 of function to allow further scanning for LVMs.
6626
829ea451
VS
66272011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
6630 on failed seek as it breaks open fd reusage.
6631
09ceb9a5
VS
66322011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * util/grub-install.in: Add a recommendation to use --recheck before
6635 reporting bugs.
6636
67e11623
VS
66372011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
6640 are obtained.
6641
caee5efd
VS
66422011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 GRUB developper manual based on existing Internals section and
6645 contributions by the various authors with active copyright assignment.
6646
6647 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
6648 * docs/font_char_metrics.png: New file.
6649 * docs/font_char_metrics.txt: Likewise.
6650 * docs/grub-dev.texi: Likewise.
6651 * docs/grub.texi (Internals): Move from here ...
6652 * docs/grub-dev.texi: ... here.
6653
2cccc747
CW
66542011-04-01 Colin Watson <cjwatson@ubuntu.com>
6655
6656 Store the loopback device as data on loopback grub_disk structures,
6657 rather than the file it points to. This fixes use of freed memory
6658 if an existing loopback device is replaced.
6659
6660 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
6661 disk->data, not dev->file.
6662 (grub_loopback_read): Adjust file assignment to match.
6663 Fixes Ubuntu bug #742967.
6664
186ae367
CW
66652011-04-01 Colin Watson <cjwatson@ubuntu.com>
6666
6667 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
6668 when replacing an existing device.
6669
cfed2ad0
VS
66702011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
6673 memory corruptions.
6674
6675 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
6676 unsigned.
6677 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
6678 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
6679 (grub_jfs_read_inode): Likewise.
6680 (grub_jfs_opendir): Likewise. Remove now useless casts.
6681 (grub_jfs_getent): Likewise.
6682 Make ino a grub_uint32_t rather than int.
6683 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
6684 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
6685 division and module with bit operations.
6686 (grub_jfs_find_file): Make ino a grub_uint32_t.
6687 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
6688
05d2ed32
CW
66892011-04-01 Colin Watson <cjwatson@ubuntu.com>
6690
6691 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
6692 warning. (This was in fact always initialised before use, but GCC
6693 wasn't smart enough to prove that.)
6694 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6695
91dc6073
VS
66962011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
6699 stack alignment.
6700 (efi_wrap_1): Likewise.
6701 (efi_wrap_2): Likewise.
6702 (efi_wrap_3): Likewise.
6703 (efi_wrap_4): Likewise.
6704 (efi_wrap_5): Likewise.
6705 (efi_wrap_6): Likewise.
6706 (efi_wrap_10): Likewise.
6707 Based on information by: Red Hat/Peter Jones.
6708
a8afc1d1
CW
67092011-03-31 Colin Watson <cjwatson@ubuntu.com>
6710
6711 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
6712 set-but-not-used variable.
6713
a826cc7d
CW
67142011-03-31 Colin Watson <cjwatson@ubuntu.com>
6715
6716 * docs/grub.texi (Simple configuration): Be more explicit about
6717 GRUB_DEFAULT, and add an example.
6718 Reported by: Leslie Rhorer.
6719
875b67ba
CW
67202011-03-30 Colin Watson <cjwatson@ubuntu.com>
6721
6722 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6723 shell".
6724
fd7cd914
AS
67252011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6726
6727 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6728 * util/grub.d/20_linux_xen.in: Likewise.
6729
090b1b6a
VS
67302011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6731
6732 * util/grub.d/10_linux.in: Try alternative config filenames where
6733 we parse config file.
6734 * util/grub.d/20_linux_xen.in: Likewise.
6735
baad885c
AS
67362011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6737
6738 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6739 * util/grub.d/20_linux_xen.in: Likewise.
6740
241e41f5
VS
67412011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * grub-core/disk/raid.c (insert_array): Add few potentially
6744 useful grub_util_info.
6745 (grub_raid_register): Likewise.
6746
56445fb2
VS
67472011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6750 Preserve partition number in mdadm code path.
6751
c871b1c6
VS
67522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6755 few potentially useful grub_util_info.
6756
5e631b4f
CW
67572011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6760
2d5d0333
CW
67612011-03-30 Colin Watson <cjwatson@ubuntu.com>
6762
6763 * docs/grub.texi (default): Use @example rather than nested
6764 itemized lists to avoid breaking gendocs.
6765
3d7ed04e
CW
67662011-03-30 Colin Watson <cjwatson@ubuntu.com>
6767
6768 * docs/grub.texi (Future): Update.
6769
abf04200 67702011-03-30 Colin Watson <cjwatson@ubuntu.com>
6771
6772 * docs/grub.texi (Environment): New chapter.
6773 (Changes from GRUB Legacy): Link to "Environment block" section for
6774 details of limitations.
6775 (Simple configuration): Likewise. Link to documentation of gfxmode
6776 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6777 respectively.
6778 (Shell-like scripting): Note that normal variables are stored in the
6779 environment.
6780 (gettext): Link to documentation of lang and locale_dir.
6781 (list_env): New section.
6782 (load_env): New section.
6783 (save_env): New section.
6784
6785 (Reporting bugs): Fix typo.
6786
e1ad0edd
VS
67872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6790 the example.
6791
5d803174
VS
67922011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * grub-core/term/at_keyboard.c (set_scancodes)
6795 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6796
2a2da1d0
CW
67972011-03-30 Colin Watson <cjwatson@ubuntu.com>
6798
6799 * docs/grub.texi (Menu-specific commands): Remove some semantics
6800 that were true in GRUB Legacy but not in GRUB 2.
6801 (submenu): New section.
6802 (false): New section.
6803 (read): New section.
6804 (true): New section.
6805
a7527639
CW
68062011-03-30 Colin Watson <cjwatson@ubuntu.com>
6807
6808 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6809
68102011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
6811
6812 * docs/grub.texi (Simple configuration): Explain some of the
6813 current limitations of grub-mkconfig.
8a748df2 6814 Reported by: Leslie Rhorer.
e30af029 6815
fc858482
VS
68162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 Old macs search for boot.efi rather than for bootia32.efi.
6819
6820 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6821 * util/grub-mkrescue.in: Likewise.
6822 Suggested by: Peter Jones.
6823
e1eb511d
VS
68242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6827
70e75364
VS
68282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6831 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6832 (grub_lvm_mirror): New struct.
6833 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6834 (grub_lvm_iterate): Iterate only visible volumes.
6835 (grub_lvm_read): Factor out to ..
6836 (read_lv): ... this. Support mirrors.
6837 (grub_lvm_read): New wrapper function.
6838 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6839 stripped or mirrored.
6840
fc18f6a3
VS
68412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6844
5c650f4c
CW
68452011-03-29 Colin Watson <cjwatson@ubuntu.com>
6846
6847 * docs/grub.texi (loopback): New section.
6848
61d7156b
CW
68492011-03-29 Colin Watson <cjwatson@ubuntu.com>
6850
6851 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6852 removed -p option.
6853
994b8264
CW
68542011-03-29 Colin Watson <cjwatson@ubuntu.com>
6855
6856 * docs/grub.texi (BIOS installation): New section, partly based on
6857 previous text in other sections.
6858 (Installing GRUB using grub-install): Replace BIOS discussion with a
6859 cross-reference.
6860 (Images): Likewise.
6861
9e4d19e0
VS
68622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6865 [HAVE_DIOCGDINFO]: Add safety checks.
6866
a307c0b2
VS
68672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6870 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6871
b4db4f39
CW
68722011-03-29 Colin Watson <cjwatson@ubuntu.com>
6873
6874 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6875 real_sb->size is zero (e.g. RAID-0), get the disk size from
6876 real_sb->data_size instead.
6877 Fixes Ubuntu bug #743136.
6878
35e5f84c
VS
68792011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6882 printf clauses for printing size and start.
6883
d2e29d81
VS
68842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6887 Reported and tested by: Timothy Nikkel.
6888
ed5587af
VS
68892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6892 (dirty_region_add_real): ... this.
6893 (dirty_region_add): Don't discard margin refresh when performing
6894 scheduled repaint.
6895
a1dc717c
VS
68962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 * grub-core/lib/relocator.c (allocate_regstart)
6899 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6900 terminals are capabple of malloc-free operation.
6901 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6902 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6903
9f3677d3
VS
69042011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6905
6906 * util/grub-setup.c: Copy the partition table zone if floppy support
6907 is disabled, even if no partition table is found.
6908
6909 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6910 during POST if an invalid partition table is contained in the PBR
6911 of the active partition when GRUB is installed to a partition.
6912
24148725
CW
69132011-03-28 Colin Watson <cjwatson@debian.org>
6914
6915 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6916 comment.
6917
f329eda7
CW
69182011-03-28 Colin Watson <cjwatson@debian.org>
6919
6920 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6921 to be specific about what kind of RAID device we're scanning for.
6922
c482ad98
SG
69232011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6924
6925 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6926 return freed string.
6927
5ee04984
VS
69282011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6931
f4727da9
VS
69322011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 Use libgeom on FreeBSD to detect partitions.
6935
6936 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6937 (grub-mkrelpath): Likewise.
6938 (grub-script-check): Likewise.
6939 (grub-editenv): Likewise.
6940 (grub-mkpasswd-pbkdf2): Likewise.
6941 (grub-fstest): Likewise.
6942 (grub-mkfont): Likewise.
6943 (grub-mkdevicemap): Likewise.
6944 (grub-probe): Likewise.
6945 (grub-setup): Likewise.
6946 (grub-ofpathname): Likewise.
6947 (grub-mklayout): Likewise.
6948 (example_unit_test): Likewise.
6949 (grub-menulst2cfg): Likewise.
6950 * grub-core/Makefile.core.def (grub-emu): Likewise.
6951 (grub-emu-lite): Likewise.
6952 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6953 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6954 define HAVE_DIOCGDINFO.
6955 (follow_geom_up) [FreeBSD]: New function.
6956 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6957 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6958 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6959 unconditionally of HAVE_DIOCGDINFO.
6960
82fe6c75
VS
69612011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 Fix FreeBSD compilation problem.
6964
6965 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6966 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6967
4c6c9431
CW
69682011-03-24 Colin Watson <cjwatson@ubuntu.com>
6969
6970 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6971 Switch back to page zero before loading a kernel, since some kernel
6972 drivers expect that.
6973 Thanks to: Felix Kuehling.
6974
c7064d94
VS
69752011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6978 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6979 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6980
3f71cded
VS
69812011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6984 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6985
ef6de21a
VS
69862011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6989 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6990 malloc is disabled.
6991
8bc66a2c
VS
69922011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6995 for modules headers when counting the needed allocation size.
6996
5657722c
VS
69972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
7000 if no ASCII character is found to prevent crash.
7001
41a85f55
AK
70022011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
7003
7004 * grub-core/video/bitmap.c (match_extension): Ignore case.
7005
59e1e5f1
VS
70062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
7009
bd4d051a
VS
70102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/script/parser.y: Declare "time" as valid argument.
7013
bae7fcc1
PJ
70142011-03-23 Peter Jones <pjones@redhat.com>
7015
7016 Fix incorrect assert failure reporting.
7017
7018 * grub-core/tests/example_functional_test.c (example_test): Add
7019 a failure comment.
7020 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
7021 (failure_start): ...this. Check that malloc succeeded.
7022 Don't call xvasprintf. Return failure struct.
7023 (failure_append_vtext): New function.
7024 (failure_append_text): Likewise.
7025 (add_failure): Likewise.
7026 (grub_test_assert_helper): Likewise.
7027 * include/grub/test.h (grub_test_assert_helper): New declaration.
7028 (grub_test_assert): Macro rewritten.
7029
537dc9be
VS
70302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
7033
fa3e01bf
VS
70342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
7037
b1d28404
VS
70382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
7041 into GRUB-style one.
7042
2e3e2e09
VS
70432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
7046 error and not grub_errno.
7047 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
7048
ed57e557
VS
70492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
7052 GRUB_USB_SPEED_NONE in case of failure and not the error code.
7053
d1611f01
VS
70542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 * grub-core/efiemu/i386/pc/cfgtables.c
7057 (grub_machine_efiemu_init_tables): Make declaration a prototype.
7058 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
7059 (grub_xnu_unlock): Likewise.
7060 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
7061
7d4e39d6
VS
70622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
7065 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
7066 * grub-core/commands/hashsum.c (aliases): Likewise.
7067 * grub-core/commands/setpci.c (pci_registers): Likewise.
7068 * grub-core/disk/usbms.c (attach_hook): Likewise.
7069 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
7070 (zio_checksum_table): Likewise.
7071 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
7072 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
7073 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
7074 * grub-core/lib/relocator.c (leftovers): Likewise.
7075 (extra_blocks): Likewise.
7076 * grub-core/loader/i386/bsd.c (relocator): Likewise.
7077 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
7078 (modules_last): Likewise.
7079 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
7080 (devices): Likewise.
7081 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
7082 (modules_last): Likewise.
7083 * grub-core/normal/auth.c (users): Likewise.
7084 * grub-core/normal/context.c (initial_menu): Likewise.
7085 (current_menu): Likewise.
7086 * grub-core/normal/crypto.c (crypto_specs): Likewise.
7087 * grub-core/term/serial.c (grub_serial_ports): Likewise.
7088 (grub_serial_terminfo_input_template): Likewise.
7089 (grub_serial_terminfo_output_template): Likewise.
7090 (grub_serial_terminfo_input): Likewise.
7091 (grub_serial_terminfo_output): Likewise.
7092 (registered): Likewise.
7093 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
7094
40fc4659
VS
70952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
7098 grub_video_mode_type_t.
7099 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
7100 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
7101 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
7102
2da48d28
VS
71032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7104
7105 * util/grub-install.in: Correct the x86-64 name as x86_64.
7106
9b43bf39
CW
71072011-03-11 Colin Watson <cjwatson@ubuntu.com>
7108
7109 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
7110 initial chunk read from the kernel always includes GRUB's multiboot
7111 header, which is now outside the first sector.
7112
be1a7ce0
CW
71132011-03-09 Colin Watson <cjwatson@ubuntu.com>
7114
7115 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
7116 cached mmap_size, so that this works correctly when called multiple
7117 times.
7118 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
7119
83a3c48d
CW
71202011-03-09 Colin Watson <cjwatson@ubuntu.com>
7121
7122 * docs/grub.texi (Simple configuration): Tidy up formatting.
7123
57d75699
SJ
71242011-03-07 Szymon Janc <szymon@janc.net.pl>
7125
7126 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
7127 Set-but-not-used variable removed.
7128
028501a0
VS
71292011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 Workaround yet another IEEE1275 bug.
7132
7133 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7134 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
7135 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
7136 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
7137 is set.
7138 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7139 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
7140
d998657d
VS
71412011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
7144 error.
7145
fee7cdd4
CW
71462011-02-11 Colin Watson <cjwatson@ubuntu.com>
7147
7148 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
7149 empty, since in that case we can only generate either nothing or a
7150 syntactically invalid configuration file.
7151 Reported by: Michal Suchanek. Fixes Debian bug #612898.
7152
97286eb5
CW
71532011-02-09 Colin Watson <cjwatson@ubuntu.com>
7154
7155 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
7156 (Making a GRUB bootable CD-ROM): Likewise.
7157 (Invoking grub-mkrescue): New section.
7158 Reported by: Yann Dirson. Fixes Debian bug #612585.
7159
22b28eb3
CW
71602011-02-09 Colin Watson <cjwatson@ubuntu.com>
7161
7162 * util/grub-install.in: Remove unnecessary brackets from tr
7163 arguments.
7164 * util/grub.d/10_hurd.in: Likewise.
7165 * util/grub.d/10_kfreebsd.in: Likewise.
7166 * util/grub.d/10_linux.in: Likewise.
7167 * util/grub.d/20_linux_xen.in: Likewise.
7168 Reported by: Jamie Heilman. Fixes Debian bug #612564.
7169
7e735e43
CW
71702011-02-08 Colin Watson <cjwatson@ubuntu.com>
7171
7172 * include/grub/file.h (not_easly_seekable): Rename to ...
7173 (not_easily_seekable): ... this. Update all users.
7174
800f1881
CW
71752011-01-28 Colin Watson <cjwatson@ubuntu.com>
7176
7177 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
7178 grub-mkrescue.
7179
3281d3d6
VS
71802011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * util/grub-mkimage.c (generate_image): Refuse to create the images
7183 bigger than the actual flash (512K) in Loongson machines. 512K is also
7184 the biggest chip supported by them.
7185
3533413c
VS
71862011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
7189
73ae4f4f
VS
71902011-01-22 Anthony DeRobertis <anthony@derobert.net>
7191
7192 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
7193 super_offset field.
7194
37f4f608
VS
71952011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * util/grub-install.in: Ignore install device on platforms
7198 where it doesn't make sense. Always use UUIDs except on pc, efi and
7199 sparc64.
7200 Reported by: Daniel Kahn Gillmor.
7201
03a4ccb5
VS
72022011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
7205
ffc8f4d8
VS
72062011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
7209 (iterate_real): Don't rely on partition being non-NULL.
7210
80f23be7
VS
72112011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
7214 supported platforms. Put a compile time assert for this rather than
7215 generate a warning with 32-bit shift.
7216
5d4f4dd5
VS
72172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
7220 logical expression more readable.
7221
e489601a
VS
72222011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
7225 even if some elements have a name.
7226 Reported by: Alexander GQ Gerasiov.
7227
96e0a6ea
CW
72282011-01-22 Colin Watson <cjwatson@ubuntu.com>
7229
7230 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
7231 path unreadable if `grub-probe -t abstraction' fails, for example if
7232 memberlist fails on an LVM volume group.
7233 Reported by: Darius Jahandarie.
7234
81431e2b
CW
72352011-01-22 Colin Watson <cjwatson@ubuntu.com>
7236
7237 * docs/grub.texi (Simple configuration): Document
7238 GRUB_PRELOAD_MODULES.
7239
5e79d66a
CW
72402011-01-17 Colin Watson <cjwatson@ubuntu.com>
7241
7242 * .bzrignore: Remove nonexistent grub-pbkdf2.
7243
646ada34
VS
72442011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * configure.ac: Bump version to 1.99~rc1.
7247
04360337
VS
72482011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
7251 for safety.
7252
46c9db88
VS
72532011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
7256 module.
7257
72582011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
7259
7260 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
7261
4fbf1852
VS
72622011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
7265 diskdevid.
7266
f1632d4d
VS
72672011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 Fix compilation on cygwin.
7270
7271 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
7272 -R .drectve on cygwin.
7273 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
7274 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
7275 (COND_CYGWIN): New condition.
7276 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
7277 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
7278 not @TARGET_OBJ2ELF@.
7279 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
7280 type to determine whether aux is to be used.
7281
0b5e127b
VS
72822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
7285 realpath'ed device string.
7286 Handle floppy (somewhat).
7287 Issue error in unknown case rather than garbage.
7288 Reported by: Axel Beckert.
7289
173b71e9
VS
72902011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * util/grub.d/00_header.in (load_video): Handle the case when no video
7293 drivers available.
7294 Thanks to: Axel Beckert.
7295
f8f479db
VS
72962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
7299 variable. Fixes problem on big endian platforms.
7300
8fc0a245
VS
73012011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
7304 It doesn't work well there.
7305
b8494fbe
VS
73062011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
7309 warning.
7310 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
7311 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
7312 counter.
7313
b44a558c
VS
73142011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 Use alias->path rather than buggy "canon".
7317
7318 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
7319 (ofdisk_hash_add): New argument curcan. All users updated.
7320
51fa856c
CW
73212011-01-11 Colin Watson <cjwatson@ubuntu.com>
7322
7323 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
7324
9da068a5
VS
73252011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
7328 loadmask before doing any calculations. Use correct type for offset.
7329 (grub_linux_load64): Likewise.
7330
86205c94
CW
73312011-01-11 Colin Watson <cjwatson@ubuntu.com>
7332
7333 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
7334 with NULL.
7335 (console_grub_equivalences_unshift): Likewise.
7336 Reported by: Daniel Dehennin.
7337
4531a206
VS
73382011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
7341 (set_env_limn_ro): Likewise.
7342 (GRUB_MOD_INIT): Likewise.
7343 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
7344 ARRAY_SIZE while on it.
7345 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
7346 * grub-core/normal/context.c (grub_env_export): Move from here ...
7347 * grub-core/kern/env.c (grub_env_export): ... here.
7348 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
7349 prefix.
7350 * grub-core/kern/main.c (grub_main): Export root and prefix.
7351 * include/grub/env.h (grub_env_export): Export.
7352 Reported by: Seth Goldberg.
7353
45146057
VS
73542011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7357 Take into account space used by ELF sections and multiboot palette.
7358 Reported by: Grégoire Sutre.
7359
f093110b
VS
73602011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * BUGS: New file.
7363
3395fe52
VS
73642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 Pass more appropriate video id to Linux.
7367
7368 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
7369 grub_video_get_driver_id and variable gfxpayloadforcelfb to
7370 fill have_vga.
7371 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
7372 shift params->lfb_size.
7373 * include/grub/i386/linux.h: Make an enume out of have_vga values.
7374
c2fa6cbb
VS
73752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * util/grub-menulst2cfg.c: Add missing include of misc.h.
7378
b3ff6ff0
VS
73792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
7382 separator and pass bootpath/devid even if only one of them is available.
7383 Reported by: Seth Goldberg.
7384
ae67942e
VS
73852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
7388 implementations bug on them.
7389
7390 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
7391 memory.
7392 (filter_memory_map): Likewise.
7393
d570097a
VS
73942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
7397 Reported by: nebuchadnezzar.
7398
a508e776
VS
73992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
7402 Reported by: nebuchadnezzar.
7403
dcb883b1
VS
74042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 Submenu default support.
7407
7408 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
7409 auto_boot. All users updated.
7410 Declared static.
7411 Handle chosen and default with submenus.
7412 (grub_menu_execute_with_fallback): Declared static.
7413 Don't notify failure if autobooted. Upper level does it.
7414 (menuentry_eq): New function.
7415 (get_entry_number): Use menuentry_eq.
7416 (show_menu): New parameter "autobooted". All users updated.
7417 (grub_show_menu): Likewise.
7418 * include/grub/normal.h (grub_show_menu): Likewise.
7419 * include/grub/menu.h (grub_menu_execute_entry): Removed.
7420 (grub_menu_execute_with_fallback): Likewise.
7421
6fef99b4
VS
74222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * util/grub-mklayout.c (usage): Update help text.
7425
47a77af5
VS
74262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
7429
ce6bb3ee
VS
74302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * util/grub-menulst2cfg.c (main): Trim the line.
7433
db87be2a
VS
74342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
7437 (grub_machine_init): Don't check amount of low memory as reportedly
7438 INT 12h can be broken and if low memory is too low we wouldn't have
7439 gotten into grub_machine_init anyway.
7440
c49849cc
VS
74412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
7444 (grub_machine_mmap_iterate): Take low memory into account
7445
b1969b30
VS
74462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
7449 badfs.
7450 Reported by: TiCPU.
7451
cf0eaf13
VS
74522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
7455 members errors.
7456
1f060f39
GS
74572011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7458
7459 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
7460 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
7461
a21e5672
GS
74622011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7463
7464 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
7465 openbsd and netbsd types being in part_bsd module.
7466
c88172fa
VS
74672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
7470 (_FILE_OFFSET_BITS): Likewise.
7471 Reported by: Seth Goldberg.
7472
53798c4b
GS
74732011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7474
7475 * configure.ac: Check for libdevmapper header.
7476
e7121b69
VS
74772011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7478
7479 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
7480 avoid aliasing.
7481 (fzap_lookup): Likewise.
7482 (dnode_get): Likewise.
7483 (make_mdn): Likewise.
7484 (zfs_mount): Likewise.
7485 (fzap_iterate): Use temporary pointer to avoid aliasing.
7486 (grub_zfs_read): Likewise.
7487 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
7488 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
7489 pointers to avoid aliasing.
7490 (grub_cmd_xnu_kernel64): Likewise.
7491 (grub_xnu_load_driver): Likewise.
7492
fc836af9
VS
74932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
7496 aliasing warning.
7497 (grub_cmd_terminal_output): Likewise.
7498 Reported and tested by: Grégoire Sutre.
7499
f9f37648
VS
75002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
7503 warning.
7504 Reported and tested by: Grégoire Sutre.
7505
ec1dfd63
VS
75062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * configure.ac: Do CPU substitution even if it's specified explicitly.
7509 Reported and tested by: Alain Greppin.
7510
9462775a
VS
75112011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
7514 Reported and tested by: Alain Greppin.
7515
0fd48e35
VS
75162011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 Satisfy some bison versions need for inttypes.h.
7519
7520 * grub-core/lib/posix_wrap/inttypes.h: New file.
7521 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
7522 (int16_t): Likewise.
7523 (int32_t): Likewise.
7524 (int64_t): Likewise.
7525 Reported and tested by: Alain Greppin.
7526
43f1bc83
VS
75272011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
7530 Silence spurious warning.
7531 Reported and tested by: Alain Greppin.
7532
64d1f041
SJ
75332011-01-07 Szymon Janc <szymon@janc.net.pl>
7534
7535 * docs/grub.texi (Support automatic decompression): Update with xz
7536 decompression support.
7537
25953e10
SJ
75382011-01-07 Szymon Janc <szymon@janc.net.pl>
7539
7540 Improve loaders' kernel command line handling.
7541
7542 * grub-core/lib/cmdline.c: New file.
7543 * include/grub/lib/cmdline.h: Likewise.
7544 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
7545 grub_create_loader_cmdline to create kernel command line.
7546 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7547 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
7548 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
7549 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
7550 (linux): Add lib/cmdline.c on common.
7551
e72d259f
VS
75522011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
7555 inopos might be unaligned.
7556
c0cf26da
VS
75572011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7560 endian transformations.
7561 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7562 Based on report by: Doug Nazar.
7563
0ca09e6c
DN
75642011-01-07 Doug Nazar <nazard.michi@gmail.com>
7565
7566 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
7567 array->members[i].start_sector.
7568 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7569
014b6806
VS
75702011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
7573 Reported and tested by: Grégoire Sutre.
7574
415502c2
CW
75752011-01-06 Colin Watson <cjwatson@ubuntu.com>
7576
7577 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
7578 avoid causing test failures by clearing the screen.
7579
71b6a2b7
CW
75802011-01-06 Colin Watson <cjwatson@ubuntu.com>
7581
7582 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7583 Fix prefix check to handle the case where dir ends with a slash
7584 (most significantly, "/" itself).
7585 Reported by: Michael Vogt.
7586
b3f8d28a
VS
75872011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 Run terminfo_cls on initing terminfo output to clear the screen and
7590 move the cursor to (0,0).
7591
7592 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
7593 Call grub_terminfo_output_init.
7594 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
7595 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
7596 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
7597
4c3e4f37
VS
75982011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
7601 only when needed.
7602
488f71f1
VS
76032011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
7606 CTRL.
7607
18a38098
VS
76082011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 The E820 type 5 is BADRAM, not EXEC_CODE.
7611
7612 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7613 (GRUB_E820_BADRAM): New define.
7614 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
7615 into reserved. Propagate BADRAM.
7616 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7617 (GRUB_E820_BADRAM): New define.
7618
9eae2084
VS
76192011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
7622 Ignore the memory post-4G.
7623 (grub_relocator_firmware_alloc_region): Additional debug statement.
7624
ebc71d28
VS
76252011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
7628 names.
7629 Reported by: David Pravec.
7630
446fa400
VS
76312011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
7634 BIOSes.
7635
a0159f37
VS
76362011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
7639 Prevent overflow.
7640 (grub_reed_solomon_recover): Likewise.
7641
e5146ca1
VS
76422011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7643
7644 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
7645
76462011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
7647
7648 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
7649 variable.
7650
5b1bdf12
CW
76512011-01-04 Colin Watson <cjwatson@ubuntu.com>
7652
7653 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
7654 descriptions of extract_legacy_entries_source and
7655 extract_legacy_entries_configfile.
7656 Reported by: Seung Soo, Ha.
7657
99d925aa
CW
76582011-01-03 Colin Watson <cjwatson@ubuntu.com>
7659
7660 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
7661 on devices that do not implement function 0.
7662
4af0504b
DV
76632011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
7664
7665 * grub-core/fs/hfsplus.c: Make parent unsigned.
7666 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
7667 overflows.
7668 (grub_hfsplus_cmp_extkey): Likewise
7669
469ee10a
VS
76702011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * util/grub-install.in: Correctly use bootloader_id and not
7673 GRUB_DISTRIBUTOR on efibootmgr line.
7674
323a8e9c
VS
76752011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
7678
1b394975
IC
76792010-12-31 Ian Campbell <ijc@hellion.org.uk>
7680
7681 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
7682 Xen and reorder menu item wording to make it clearer that this entry
7683 will launch Xen. Print separate messages when loading Xen and
7684 Linux.
7685
275bff5f
VS
76862010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
7689 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
7690 loop in case of incorrect amiga partmap.
7691
307806cb
VS
76922010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
7695 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
7696 Reported by:EHeM.
7697
b12b923e
VS
76982010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
7701 spurious warning.
7702 Reported by: crocket
7703
14b48a19
VS
77042010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
7707 Preload EFIemu.
7708 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
7709
693db2df
VS
77102010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
7713 is loaded
7714 (grub_cmd_xnu_kextdir): Likewise.
7715 (grub_cmd_xnu_splash): Likewise.
7716
c7638645
VS
77172010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 Avoid using Reed-Solomon with 0 redundancy.
7720
7721 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7722 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7723 or 0 redundancy.
7724 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7725 (grub_reed_solomon_recover): Likewise.
7726
25dd4780
VS
77272010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 Don't use disk subsystem in freebsd_boot.
7730
7731 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7732 (freebsd_biosdev): Likewise.
7733 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7734 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7735
0b2db943
VS
77362010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 Handling of files of unknown size is currently limited. They can't be
7739 used e.g. for initrd or modules. Moreover gzip handling of not
7740 easily seekable files is buggy. Disable unknown file size for now. May
7741 be inefficient but works.
7742
7743 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7744 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7745
5c408d0f
MP
77462010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7747
7748 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7749 floppy probe.
7750
190a011a
JD
77512010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7752
7753 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7754
022d01b8
SL
77552010-12-25 Shea Levy <shlevy>
7756
7757 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7758
c4855fdc
VS
77592010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7762 Windows Server 2008.
7763 Reported by: Devin Giddings.
7764
0354b867
VS
77652010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7768 writing an error message because of async power management.
7769 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7770 (grub_reboot): Likewise.
7771
ab66c69f
JU
77722010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7773
7774 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7775 keep unit tests from failing when they shouldn't.
7776
1426ef35
CW
77772010-12-21 Colin Watson <cjwatson@ubuntu.com>
7778
7779 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7780 previous patch increased the size of the RS code by 20 bytes (at
7781 least with gcc-4.4), so increase this by 20 bytes to match.
7782 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7783
20641b6b
CW
77842010-12-21 Colin Watson <cjwatson@ubuntu.com>
7785
7786 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7787 scratch area. Make sure to initialise chosen in standalone mode as
7788 well as non-standalone.
7789 Reported by: Robert Hooker and Andy Whitcroft.
7790 Tested by: Andy Whitcroft.
7791
d060ad60
CW
77922010-12-21 Colin Watson <cjwatson@ubuntu.com>
7793
7794 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7795 constructing a new unescaped string and passing it to grub_xputs in
7796 one go, rather than passing characters to grub_printf one at a time.
7797
b889cfad
CW
77982010-12-21 Colin Watson <cjwatson@ubuntu.com>
7799
7800 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7801 initialising utf16.
7802
4e01b6c8
CW
78032010-12-21 Colin Watson <cjwatson@ubuntu.com>
7804
7805 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7806 comment. Add an extra layer of quotation, requiring the output of
7807 this function to be used in a printf format string.
7808 (gettext_printf): New function.
7809 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7810 Extract translatable strings from here-documents and use a temporary
7811 variable instead, so that xgettext can find them.
7812 * util/grub.d/10_kfreebsd.in: Likewise.
7813 * util/grub.d/10_linux.in: Likewise.
7814 * util/grub.d/20_linux_xen.in: Likewise.
7815
7816 * po/grub.d.sed: New file.
7817 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7818 arguments. Set c-format flags on all strings extracted from
7819 util/grub.d/ (xgettext refuses to include these itself for strings
7820 it extracted from a shell file, but these really are c-format).
7821
5318fe98
VS
78222010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7825 Avoid next pointing to nowhere.
7826
6c85b743
VS
78272010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7830 rather than assuming than rootblock is exactly in the middle.
7831 (grub_affs_label): Likewise.
7832
a2a08a35
VS
78332010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7836 reserved_first_sector to 0.
7837 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7838 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7839 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7840
7059d1ec
VS
78412010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 Fix handling of UTF-16 UDF labels.
7844
7845 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7846 (read_string): .. here.
7847 (grub_udf_label): Use read_string.
7848
30aff4cb
BC
78492010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7850
7851 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7852 editor under argument scope.
7853 Reported by: Jordan Uggla
7854
5cf86f4b
VS
78552010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7858
32570200
CW
78592010-12-18 Colin Watson <cjwatson@ubuntu.com>
7860
7861 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7862 line, and other keys scroll an entire page (previous handling was
7863 for \r and \n to scroll a page and other keys to scroll two lines).
7864
e1dffcf2
VS
78652010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7868 Set ptrdest to correct get_physical_target_address rather than
7869 incorrect get_virtual_current_address.
7870
b04298cf 78712010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7872
7873 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7874 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7875
5367ecd3
CW
78762010-12-10 Colin Watson <cjwatson@ubuntu.com>
7877
7878 * .bzrignore: Ignore grub-core/rs_decoder.S.
7879
1fb430f8
CW
78802010-12-10 Colin Watson <cjwatson@ubuntu.com>
7881
7882 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7883 .mo/.mo.gz opening sequence to ...
7884 (grub_mofile_open_lang): ... here.
7885 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7886 * util/grub.d/00_header.in (grub_lang): Include country part of
7887 locale.
7888 Reported by: Mario Limonciello.
7889
a94a6671
RM
78902010-12-09 Robert Millan <rmh@gnu.org>
7891
7892 * NEWS: Document addition of ZFS support.
7893
24b7938b
CW
78942010-12-04 Colin Watson <cjwatson@ubuntu.com>
7895
7896 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7897 rather than `/ 2', as the latter requires -Wa,--divide which would
7898 require bumping our minimum binutils version.
7899
bddc3ef6
BC
79002010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7901
7902 * util/grub-script-check.c (main): Print script line number on
7903 error.
7904
bf78d5b2
RM
79052010-12-01 Robert Millan <rmh@gnu.org>
7906
7907 * grub-core/fs/zfs/zfs.c: New file.
7908 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7909 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7910 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7911 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7912
7913 * include/grub/zfs/dmu.h: Likewise.
7914 * include/grub/zfs/dmu_objset.h: Likewise.
7915 * include/grub/zfs/dnode.h: Likewise.
7916 * include/grub/zfs/dsl_dataset.h: Likewise.
7917 * include/grub/zfs/dsl_dir.h: Likewise.
7918 * include/grub/zfs/sa_impl.h: Likewise.
7919 * include/grub/zfs/spa.h: Likewise.
7920 * include/grub/zfs/uberblock_impl.h: Likewise.
7921 * include/grub/zfs/vdev_impl.h: Likewise.
7922 * include/grub/zfs/zap_impl.h: Likewise.
7923 * include/grub/zfs/zap_leaf.h: Likewise.
7924 * include/grub/zfs/zfs.h: Likewise.
7925 * include/grub/zfs/zfs_acl.h: Likewise.
7926 * include/grub/zfs/zfs_znode.h: Likewise.
7927 * include/grub/zfs/zil.h: Likewise.
7928 * include/grub/zfs/zio.h: Likewise.
7929 * include/grub/zfs/zio_checksum.h: Likewise.
7930
7931 * Makefile.util.def: Build ZFS into libgrubmods.
7932 * grub-core/Makefile.core.def: Build zfs.mod.
7933
3f0f3831
SJ
79342010-11-30 Szymon Janc <szymon@janc.net.pl>
7935
7936 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7937 variable.
7938 * grub-core/commands/wildcard.c (match_files): Likewise.
7939
3a4253b2
RM
79402010-11-30 Robert Millan <rmh@gnu.org>
7941
7942 * grub-core/loader/i386/bsd.c
7943 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7944 whether kernel is loaded using grub_loader_is_loaded(), rather
7945 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7946 certain error conditions.
7947
8c317b27
RM
79482010-11-30 Robert Millan <rmh@gnu.org>
7949
c5c9cd3e
RM
7950 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7951 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 7952
49d3ab46
VS
79532010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 Avoid using tricks for initialising endian variables.
7956
7957 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7958 Make const.
7959 (GRUB_MOD_INIT): Don't byte-swap.
7960 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7961 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7962 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7963 (grub_swap_bytes32_compile_time): Likewise.
7964 (grub_cpu_to_le32_compile_time): Likewise.
7965 (grub_cpu_to_le16_compile_time): Likewise.
7966
f420a804
VS
79672010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * util/grub-setup.c (setup): Stop recommending --force. People who
7970 understand the dangers of blocklists are able to find this option
7971 anyway and the ones who don't shouldn't use it anyway.
7972
4e7db17b
RM
79732010-11-26 Robert Millan <rmh@gnu.org>
7974
7975 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7976 Update all users.
7977
9be57a0d
CW
79782010-11-26 Colin Watson <cjwatson@ubuntu.com>
7979
7980 Fix LVM-on-RAID probing.
7981
7982 * util/grub-probe.c (probe): Remember which disk was detected as
7983 RAID (perhaps an LVM physical volume). Use that disk's raidname
7984 rather than that of the top-level disk.
7985
2c7859b3 79862010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 7987
d7647bb6
BC
7988 Fix cmdline argument quotes for setparams command of menuentry
7989 definitions.
7e623b0d
BC
7990
7991 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7992 quotes for arguments.
f866fe80 7993 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 7994 grub_strchrsub function instead.
f866fe80 7995
7955bea0 7996 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 7997
74f72a64
CW
79982010-11-24 Colin Watson <cjwatson@ubuntu.com>
7999
8000 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
8001 effort by skipping "." and ".." entries up-front.
8002 Suggested by: Michael Lazarev.
8003
5a407278
CW
80042010-11-24 Colin Watson <cjwatson@ubuntu.com>
8005
8006 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
8007 ldflags to ldadd, to fix link line ordering.
8008 (none_decompress): Likewise.
8009
3030d8ec
CW
80102010-11-24 Colin Watson <cjwatson@ubuntu.com>
8011
8012 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
8013 platforms.
8014 (grub-emu-lite): Remove kern/emu/cache.S.
8015
b7fbac12
CW
80162010-11-23 Colin Watson <cjwatson@ubuntu.com>
8017
8018 * util/deviceiter.c (compare_devices): If the by-id link for a
8019 device couldn't be resolved, fall back to sorting by the by-id link
8020 rather than segfaulting.
8021 Reported and tested by: Daniel Mierswa.
8022
5225f328
CW
80232010-11-23 Colin Watson <cjwatson@ubuntu.com>
8024
8025 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
8026 ldflags, to fix link line ordering.
8027
038b3ce8
CW
80282010-11-23 Colin Watson <cjwatson@ubuntu.com>
8029
8030 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
8031 linkers are picky about this.
8032
bf16e98e
CW
80332010-11-23 Colin Watson <cjwatson@ubuntu.com>
8034
8035 * grub-core/Makefile.am (command.lst): Adjust sed expression
8036 ordering so that extended and priority commands aren't treated as
8037 ordinary commands.
8038
7242bab6
CW
80392010-11-23 Colin Watson <cjwatson@ubuntu.com>
8040
8041 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8042 Remove byte-swapping function calls, which are not valid in
8043 structure initialisers.
8044 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
8045 non-const.
8046 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
8047 grub_gpt_partition_type_bios_boot.
8048
14e8b279
CW
80492010-11-22 Colin Watson <cjwatson@ubuntu.com>
8050
8051 Fix test program build on GNU/kFreeBSD.
8052
8053 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
8054 $(LIBNVPAIR)' library dependencies.
8055
e6f63338 80562010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
8057
8058 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
8059
cf8ffc38
CW
80602010-11-22 Colin Watson <cjwatson@ubuntu.com>
8061
8062 * util/grub-install.in: Remove excessive quoting that broke
8063 installations to RAID devices.
8064
7f8b0fd7
VS
80652010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
8068 bootloader version instead of 0.
8069
dfd240b1
VS
80702010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
8071
8072 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
8073 warning.
8074
7b61e609
VS
80752010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
8078 retrieve the metadat sector if size isn't known.
8079 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8080
9dfe92d0
RM
80812010-11-18 Robert Millan <rmh@gnu.org>
8082
8083 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
8084 with grub_memcmp().
8085
41cc919e
VS
80862010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
8089 arrow.
8090 Reported by: Jordan Uggla.
8091
1afcc914
VS
80922010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 Make better UTF compliant.
8095
8096 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
8097 sequences as incorrect.
8098 (grub_is_valid_utf8): Likewise.
8099 (grub_utf8_to_ucs4): Likewise.
8100 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
8101 (grub_ucs4_to_utf8_alloc): Likewise.
8102 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
8103
f1808884
VS
81042010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 Make legacy_source behave like source.
8107
8108 * grub-core/commands/legacycfg.c (legacy_file): Don't call
8109 grub_show_menu.
8110 (grub_cmd_legacy_source): Call grub_show_menu if needed.
8111
24ec575b
CW
81122010-11-16 Colin Watson <cjwatson@debian.org>
8113
8114 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
8115 (-Wunused implies -Wunused-parameter, but not vice versa).
8116
72b7c7aa
CW
81172010-11-16 Colin Watson <cjwatson@ubuntu.com>
8118
8119 * configure.ac: Make error messages less confusing by testing for
8120 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
8121 accepted, but produces a diagnostic if something else is wrong).
8122
e98937aa
VS
81232010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
8126 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
8127 (now unused).
8128 (grub_keyboard_controller_init)
8129 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
8130 read the initial state since controller isn't inited yet.
8131
f6bbabc3
VS
81322010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
8135 allocate_regbeg may need to create new chunk header.
8136
22e7dbb2
VS
81372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 Fix quoting in legacy parser.
8140
8141 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
8142 single quotes.
8143 (grub_legacy_parse): Likewise.
8144 Reported by: Jordan Uggla.
8145 Tested by: Jordan Uggla.
8146
03f80960
VS
81472010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 Don't add -lgcc on i386 and x86_64.
8150
8151 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
8152 * conf/Makefile.common (LDADD_KERNEL): Likewise.
8153 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
8154
779dc15b
VS
81552010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * configure.ac: Add -Wno-trampolines when supported.
8158
d20a3b37
MV
81592010-11-14 Modestas Vainius <modax@debian.org>
8160
8161 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
8162 fakeraid.
8163
e5360933
GC
81642010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
8165
8166 Add generic logical block size support for UDF.
8167
8168 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
8169 (GRUB_UDF_BLKSZ): Removed.
8170 (struct grub_udf_data): New field "lbshift" to hold the logical block
8171 size of the file system in log2 format. All users updated.
8172 (sblocklist): Change type to unsigned.
8173 (grub_udf_mount): Change type of "sblklist" to unsigned.
8174 Move AVDP search before VRS recognition, because the latter requires
8175 knowledge of the logical block size, which is detected during the
8176 former.
8177 Detect and validate logical block size during AVDP search, adding
8178 support for block sizes 512, 1024 and 4096.
8179 Make VRS recognition independent of block size.
8180
cb0229c5
GC
81812010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
8182
8183 Properly handle deleted files on UDF.
8184
8185 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
8186 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
8187 set.
8188
406858a8
GC
81892010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
8190
8191 Support reading files larger than 2 GiB.
8192
8193 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
8194 "offset" to grub_off_t.
8195 (grub_udf_read_file): Likewise for parameter "pos".
8196
130da6a7
VS
81972010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
8200 unavailable.
8201 (Simple configuration): Refer to Changes from GRUB Legacy about
8202 save_env availability.
8203
65e93f6b
VS
82042010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * util/grub-install.in: Ignore empty partition table detection
8207 instead of trying to include part_ module.
8208
1fd08bf1
VS
82092010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
8212 LVM on RAID support.
8213
de1a024f
VS
82142010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 Properly define WORDS_BIGENDIAN in wrapped environments.
8217
8218 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
8219 definition.
8220 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
8221
8222 Reported by: Manoel Rebelo Abranches.
8223 Tested by: Manoel Rebelo Abranches.
8224
bc5dd0b9
VS
82252010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * util/grub-mkconfig.in: Fix quoting.
8228
58c184be
VS
82292010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8230
8231 Support big ext2 files.
8232
8233 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
8234 (grub_ext2_read_block): Support triple indirect blocks.
8235 (grub_ext2_read_file): Use 64-bit types and read size_high.
8236 (grub_ext2_open): Read size_high.
8237 Reported by: Ximin Luo.
8238 Tested by: Manoel Rebelo Abranches.
8239
5f0c02b3
VS
82402010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * util/grub-install.in: Handle filenames containing spaces.
8243 Reported by: Jordan Uggla.
8244 Tested by: Jordan Uggla.
8245
4417aae6
VS
82462010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * util/grub-mkconfig.in (grub_script_check): New variable.
8249 Use grub_script_check instead of grub-script-check.
8250 Reported by: Barry Jackson.
8251
7625a68e
VS
82522010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * docs/grub.texi (menu): Correct the order.
8255 Reported by: D. Hugh Redelmeier.
8256
10001ac5
VS
82572010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
8260 jump.
8261
9c4cf53b
MRA
82622010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8263
10001ac5
VS
8264 * include/grub/elfload.h (grub_elf32_size): New parameter.
8265 All users updated.
9c4cf53b
MRA
8266 Return maximum segments alignment.
8267 (grub_elf64_size): Likewise.
8268 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
8269 Return maximum segments alignment.
8270 (grub_elf64_size): Likewise.
8271 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
8272 (grub_linux_claimmap_iterate): New function. Uses the
8273 "available" property in the "memory" node for memory allocation
8274 for kernel in the PowerPC loader.
9c4cf53b
MRA
8275 (grub_linux_load32): Correctly find linux entry point offset.
8276 (grub_linux_load64): Likewise.
8277
d2bf06bf
RM
82782010-11-07 Robert Millan <rmh@gnu.org>
8279
8280 On mips-yeeloong, build with -march=loongson2f when this flag is
8281 available (GCC >= 4.4).
8282 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
8283 `-march=mips3'.
8284 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
8285 or otherwise add -march=mips3.
8286
898c99a2
BC
82872010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
8288
87220a68
BC
8289 Suppress shell expansion on echo '*' and echo "*" like cases.
8290 Reported by: Jordan Uggla.
898c99a2
BC
8291
8292 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8293 string arguments before shell expansion.
8294 * tests/grub_cmd_echo.in: New testcases.
8295
4f9b406a
RM
82962010-11-07 Robert Millan <rmh@gnu.org>
8297
8298 * conf/mips-qemu-mips.rmk: Remove stale file from previous
8299 transition.
8300
80c6d25e
VS
83012010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 * grub-core/kern/emu/hostdisk.c
8304 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
8305
4a1a0153
VS
83062010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
8309 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
8310 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
8311
34706ddc
VS
83122010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
8315
6972dea9
VS
83162010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * util/grub-install.in: Replace useless recomendation to pass
8319 --modules with a recomendation to report a bug.
8320
9c693bd6
VS
83212010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 Properly register serial terminfo.
8324 Reported by: Jordan Uggla
8325
8326 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
8327 const.
8328 (grub_serial_terminfo_output_template): Likewise.
8329 (grub_cmd_serial): Register "serial" with terminfo.
8330 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
8331 grub_serial_terminfo_output.
8332
6c9e4c0c
RM
83332010-11-05 Robert Millan <rmh@gnu.org>
8334
8335 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
8336 needed).
8337
b9b3839f
RM
83382010-11-05 Robert Millan <rmh@gnu.org>
8339
8340 On Yeeloong, pass machine type information to Linux.
8341
8342 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
8343 (LOONGSON_MACHTYPE): New macro, set to
8344 "machtype=lemote-yeeloong-2f-8.9inches".
8345 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
8346 additional argument to Linux.
8347
1a3aaff4
RM
83482010-11-04 Robert Millan <rmh@gnu.org>
8349
8350 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
8351 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
8352 (its SATA disks are detected as slaveless IDE master drives on
8353 kFreeBSD).
8354 Reported by Carsten Aulbert.
8355
a75f4f62
CW
83562010-11-02 Colin Watson <cjwatson@ubuntu.com>
8357
8358 * util/bin2h.c (main): Fix spelling error in generated output.
8359
33b4b0c6
GS
83602010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
8361
8362 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
8363
2b36fbf4
VS
83642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
8367 vga= option is supplied.
8368
74aaf558
VS
83692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
8372 * util/grub.d/10_kfreebsd.in: Likewise.
8373 * util/grub.d/10_linux.in: Likewise.
8374 * util/grub.d/20_linux_xen.in: Likewise.
8375
6428dec3
VS
83762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
8379 argument as an argument to no-argument option.
8380
f8729d98
VS
83812010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * util/grub.d/10_linux.in: Add missing load_video with explicit
8384 GRUB_GFXPAYLOAD_LINUX.
8385
89d68fa6
VS
83862010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
8389
3a1197cd
VS
83902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
8393 elements with invlid index.
8394 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8395 * grub-core/disk/raid.c (insert_array): Automatically reallocate
8396 members.
8397 * include/grub/raid.h (grub_raid_member): New struct.
8398 (grub_raid_array): Transform devices and start_sector into usage of
8399 grub_raid_member. All users updated
8400 (allocated_devs): New member.
8401
71574288
VS
84022010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
8405 is modified
8406
8d40ec65
BC
84072010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
8408
8409 NetBSD build fix for getline function conflict from gnulib.
8410
8411 * Makefile.util.def (libgrubkern.a): New library for grub kernel
8412 components that depend on gnulib headers.
8413 (libgrubmods.a): Renamed from earlier libgrub.a.
8414 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
8415
95b9257e
VS
84162010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
8419 install rather than creating a broken install.
8420
26c53dc6
VS
84212010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 * util/grub-setup.c (argp): Remove misleading example of installing to
8424 a partition.
8425
4171b3c5
VS
84262010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * util/grub-setup.c (setup): Clarify the error message.
8429
18568d18
VS
84302010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
8433
4f6a2e21
VS
84342010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * grub-core/kern/emu/misc.c
8437 (grub_make_system_path_relative_to_its_root)
8438 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
8439
84402010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
8441
8442 * grub-core/kern/emu/misc.c
8443 (grub_make_system_path_relative_to_its_root): Revert r2882.
8444
e138c458
VS
84452010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
8448 useless field head. All users updated.
8449 (free_subchunk): Correct handling of IN_REGION subchunk.
8450
0cbcdf0e
CW
84512010-10-22 Colin Watson <cjwatson@ubuntu.com>
8452
8453 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
8454 (Supported kernels): Likewise.
8455
b65ea155
GS
84562010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8457
8458 Make mktemp invocations portable.
8459
8460 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
8461 exit if mktemp fails.
8462 * tests/grub_script_blockarg.in: Likewise.
8463 * tests/partmap_test.in: Likewise.
8464 * tests/util/grub-shell-tester.in: Likewise.
8465 * tests/util/grub-shell.in: Likewise.
8466 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8467 * Makefile.am: Likewise, and chain shell commands with `&&'
8468 instead of ';'.
8469 * util/grub-mkrescue.in: Use the same explicit template as above, and
8470 exit if mktemp fails.
8471
05f43cdd
BC
84722010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
8473
8474 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
8475 Linux kernel, reported by Dennis Schridde.
8476
800e6a9b
SJ
84772010-10-17 Szymon Janc <szymon@janc.net.pl>
8478
8479 * grub-core/normal/auth.c (grub_auth_check_authentication):
8480 Set-but-not-used variable removed.
8481
d82df574
VS
84822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 * docs/grub.texi (GNU/Linux): Document APM unavailability with
8485 32-bit linux protocol.
8486
7bced458
VS
84872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
8490 cursor shape for sanity.
8491
5b027690
VS
84922010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * docs/grub.texi (Installation): Document buggy BIOS install.
8495
ba5f65cf
VS
84962010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * docs/grub.texi (Installation): Indent.
8499
fdf2ec9c
VS
85002010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 * util/grub-setup.c (setup): New parameter allow_floppy.
8503 (arguments): New member allow_floppy.
8504 (argp_parser): Handle --allow-floppy.
8505 (main): Pass allow_floppy.
8506 * util/grub-install.in: New option --allow-floppy passed though to
8507 grub-setup.
8508
861dfd4c
VS
85092010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 * util/grub-install.in: Handle partitionless disks.
8512
f77a8c24
VS
85132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 * util/grub-setup.c (setup): Don't clean blocklists before readability
8516 verfification.
8517
27d9ee32
VS
85182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 * docs/grub.texi (Installation): Document embedding zone. Remove
8521 obsolete grub-install example.
8522
6bdda8f8
SJ
85232010-10-16 Szymon Janc <szymon@janc.net.pl>
8524
8525 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8526 Set-but-not-used variable ifdef'ed.
8527 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
8528 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
8529 variable removed.
8530 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
8531 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
8532 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8533 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
8534 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
8535 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8536 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
8537 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
8538 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
8539 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
8540 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
8541 Likewise.
8542
e19b016b
VS
85432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
8546 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
8547 enum value.
8548
6c8d3002
VS
85492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
8552 synonym to _S5_. Needed for some DSDTs.
8553
c32b51c9
VS
85542010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 Userspace ACPI parser debugging.
8557
8558 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
8559 headers and add relevant defines. Don't include standard headers.
8560 (main) [GRUB_DSDT_TEST]: New function.
8561 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
8562 Don't declare functions.
8563
fbfbeb39
VS
85642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 Remove dead grub_efi_mm_fini.
8567
8568 * grub-core/kern/efi/mm.c (allocated_page): Removed.
8569 (ALLOCATED_PAGES_SIZE): Likewise.
8570 (MAX_ALLOCATED_PAGES): Likewise.
8571 (allocated_pages): Likewise.
8572 (grub_efi_allocate_pages): Don't record allocated pages.
8573 (grub_efi_free_pages): Likewise.
8574 (grub_efi_mm_init): Likewise.
8575 (grub_efi_mm_fini): Removed.
8576
65f7ed7c
VS
85772010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
8580 (grub_efi_mm_init): Take into account the memory map size increase.
8581
24977b44
VS
85822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
8585 (serial_hw_put): Wait based on real time rather than port reads. Don't
8586 roken ports.
8587 * include/grub/serial.h (grub_serial_port): New field broken.
8588
1eb01cd2
RM
85892010-10-16 Robert Millan <rmh@gnu.org>
8590
8591 * grub-core/kern/emu/misc.c
8592 (grub_make_system_path_relative_to_its_root): Fix premature return
8593 when processing non-root ZFS filesystems.
5f8b440b 8594 Reported by Sergio Talens-Oliag.
1eb01cd2 8595
2d5fed60
RM
85962010-10-15 Robert Millan <rmh@gnu.org>
8597
8598 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
8599 guarantee compressed ones are processed first.
8600
d0f4c1ea
VS
86012010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
8604 grub_efiemu_autocore.
8605
d87c681f
VS
86062010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
8609 rather than 0x1b.
8610 (grub_console_getkey): Use correct jae opcode rather than ja.
8611
219b3564
RM
86122010-10-12 Robert Millan <rmh@gnu.org>
8613
8614 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
8615 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
8616 variable. All references updated.
8617
8618 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
8619
20c6bb7e
VS
86202010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 Correctly distinguish mdraid flavours.
8623
8624 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
8625 (insert_array): New argument raid.
8626 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
8627 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
8628 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
8629
74baff84
VS
86302010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
8633 handling of special keys.
8634
3ef068df 86352010-10-02 Aleš Nesrsta <starous@volny.cz>
8636
c7980ad9
VS
8637 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
8638 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 8639
a9455194 86402010-10-02 Aleš Nesrsta <starous@volny.cz>
8641
c7980ad9
VS
8642 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
8643 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
8644 users updated.
a9455194 8645 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 8646 Use right endpoint when querying descriptor.
a9455194 8647
441cfe65
VS
86482010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 Clear out 0x80 color bit on EFI.
8651 Tested by: decoder
8652 Reported by: decoder and meta tech.
8653
8654 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
8655 (grub_console_setcolorstate): Clear out 0x80 bit.
8656 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
8657 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
8658 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
8659
bf26bcc4
VS
86602010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
8663 Set to "auto".
8664
6e3c515d
VS
86652010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
8668 mo_file after freeing.
8669
e6d983ba
VS
86702010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8671
8672 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
8673
74ccb5b5
VS
86742010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8675
8676 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
8677 flags.
8678
17821956
VS
86792010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
8682 usage.
8683
ee74fa48
VS
86842010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 Put terminfo into core on ieee1275 and yeeloong (needed for console).
8687
8688 * gentpl.py: New groups terminfoinkernel and terminfomodule.
8689 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
8690 and terminfo.h when needed.
8691 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
8692 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
8693 (terminfo): Enable only on terminfokernel.
8694 (extcmd): Likewise.
8695 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
8696 * include/grub/lib/arg.h: Likewise.
8697 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
8698 incorrect usage of ->.
8699
aa438e68
VS
87002010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
8703 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
8704
57994012
VS
87052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 Fix coreboot compilation.
8708
8709 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8710 Take VBE info into account even if only text is supported.
8711 (fill_vbe_info): Take into account the case when only VGA text
8712 is supported.
8713 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
8714 on coreboot, multiboot and qemu.
8715
2a406611
VS
87162010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8719 debug messages.
8720 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8721
d33613fc
VS
87222010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8725 parameters.
8726
44a1b432
VS
87272010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8730 if they were BSD-style.
8731
edde54e6
VS
87322010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * grub-core/boot/i386/pc/lnxboot.S: Replace
8735 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8736 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8737
b65830fa
VS
87382010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 Write embedding zone using Reed-Solomon.
8741
8742 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8743 * grub-core/Makefile.am (rs_decoder.S): New target.
8744 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8745 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8746 (multiboot): Move to RS part.
8747 (post_reed_solomon): New label.
8748 (grub_boot_drive): Move to non-RS part since it's modified in memory
8749 on boot.
8750 Include rs_decoder.S.
8751 * grub-core/lib/reed_solomon.c: New file.
8752 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8753 New definition.
8754 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8755 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8756 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8757 * include/grub/partition.h (grub_partition_map): Change prototype of
8758 embed to allow returning additional sectors.
8759 * include/grub/reed_solomon.h: New file.
8760 * util/grub-setup.c (setup): Handle Reed-Solomon.
8761
0b4b227f
CW
87622010-09-28 Colin Watson <cjwatson@ubuntu.com>
8763
8764 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8765 i386 and x86-64 definedness tests.
8766
f772623b
YB
87672010-09-27 Yves Blusseau <blusseau@zetam.org>
8768
8769 Fix generation of kernel_syms.lst
8770
8771 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8772 ASM_PREFIX
8773
8e57a6ca
RM
87742010-09-26 Robert Millan <rmh@gnu.org>
8775
8776 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8777
8778 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8779 the pool is an array of devices, iterate through it and return the
8780 first device that passes a stat() test (instead of blindly returning
8781 the first one).
8782
f9130836
RM
87832010-09-26 Robert Millan <rmh@gnu.org>
8784
8785 Build fixes for GNU/kFreeBSD.
8786
8787 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8788 to programs that require ZFS conversion.
8789 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8790 kernels that don't have FLOPPY_MAJOR.
8791
96510faf
BC
87922010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8793
8794 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8795
449333eb
BC
87962010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8797
8798 Fix grub-emu build.
8799
8800 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8801 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8802 mdraid09 and mdraid1x.
8803
e1fd1939
CW
88042010-09-24 Colin Watson <cjwatson@ubuntu.com>
8805
8806 Re-enable grub-extras.
8807
8808 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8809 avoid confusing Automake. Run autogen only twice, once for the top
8810 level and once for grub-core. Add Makefile.util.def and
8811 Makefile.core.def from extra modules to the appropriate autogen
8812 invocations. If Makefile.common exists in an extra module, include
8813 it in both Makefile.util.am and grub-core/Makefile.core.am;
8814 similarly, include any Makefile.util.common file in Makefile.util.am
8815 and any Makefile.core.common file in grub-core/Makefile.core.am.
8816 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8817 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8818 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8819 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8820
8821 * gentpl.py (gvar_add): Turn GVARS into a set.
8822 (global_variable_initializers): Sort global variables on output.
8823 (vars_init): New function.
8824 (first_time): Likewise.
8825 (library): Ensure that non-global variable initialisations are
8826 emitted before the first time we emit code for a library block.
8827 Append to variables rather than setting them. Only emit
8828 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8829 each conditional path.
8830 (program): installdir() emits an Autogen macro, so must be passed to
8831 var_add rather than gvar_add.
8832 (data): Likewise.
8833 (script): Likewise.
8834 (rules): New function, centralising handling for different target
8835 types. Set up Guile association lists for first_time and vars_init,
8836 and send most output to a diversion so that variable initialisations
8837 can be emitted first.
8838 (module_rules): Use new rules function.
8839 (kernel_rules): Likewise.
8840 (image_rules): Likewise.
8841 (library_rules): Likewise.
8842 (program_rules): Likewise.
8843 (script_rules): Likewise.
8844 (data_rules): Likewise.
8845
8846 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8847
8848 * .bzrignore: Add contrib and grub-core/contrib. Remove
8849 grub-core/Makefile.gcry.am.
8850
1d12cf29
YB
88512010-09-24 Yves Blusseau <blusseau@zetam.org>
8852
8853 * grub-core/lib/LzFind.c: Add missing include.
8854 * grub-core/lib/LzmaEnc.c: Likewise.
8855 * grub-core/script/lexer.c: Likewise.
8856 * grub-core/script/yylex.l: Likewise.
8857 * util/grub-macho2img.c: Likewise.
8858 * util/grub-menulst2cfg.c: Likewise.
8859 * util/grub-mklayout.c: Likewise.
8860 * util/grub-mkpasswd-pbkdf2.c
8861 * util/grub-mkrelpath.c: Likewise.
8862 * util/resolve.c: Likewise.
8863
dd363028
BC
88642010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8865
8866 * Makefile.util.def (example_unit_test): Add
8867 grub-core/gnulib/libgnu.a.
8868
f5a109e2
GS
88692010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8870
8871 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8872
6d0fa83c
VS
88732010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 Support xz compression on yeeloong.
8876
8877 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8878 * configure.ac: Check for LZMA.
8879 * grub-core/Makefile.core.def (xz_decompress): New target.
8880 (none_decompress): Likewise.
8881 * grub-core/boot/decompressor/minilib.c: New file.
8882 * grub-core/boot/decompressor/none.c: Likewise.
8883 * grub-core/boot/decompressor/xz.c: Likewise.
8884 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8885 * grub-core/kern/mips/cache_flush.S: Likewise.
8886 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8887 * grub-core/kern/mips/startup.S: Move first stage to ...
8888 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8889 nomacro.
8890 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8891 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8892 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8893 Allocate statically.
8894 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8895 Allocate statically or use scratch. Don't check CRC32.
8896 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8897 Allocate statically. Don't check CRC32.
8898 * include/grub/decompressor.h: New file.
8899 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8900 Removed.
8901 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8902 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8903 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8904 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8905 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8906 * util/grub-mkimage.c (grub_compression_t): New type.
8907 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8908 (image_target_desc): New field default_compression.
8909 (image_targets): Adjust yeeloong targets.
8910 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8911 (compress_kernel): New parameter comp.
8912 (generate_image): Likewise. Handle new compression case.
8913 (options): New option --compression
8914 (help): Likewise.
8915 (main): Handle new option.
8916
1b655af6
GS
89172010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8918
8919 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8920
8f03f0b5
CW
89212010-09-22 Colin Watson <cjwatson@ubuntu.com>
8922
8923 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8924 typo in __i386__ conditional.
8925
7835dfd3
VS
89262010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8929 include.
8930
e255597e
VS
89312010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8932
6d0fa83c 8933 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
8934
8935 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8936 new tags as supported.
8937 (acpiv2_size): New function.
8938 (grub_multiboot_get_mbi_size): Take new tags into account.
8939 (grub_multiboot_make_mbi): Add new tags.
8940 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 8941
6cc14051 89422010-09-21 Aleš Nesrsta <starous@volny.cz>
8943
8944 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8945 Added missing configuration of USB device.
8946
df7769d8
CW
89472010-09-21 Colin Watson <cjwatson@ubuntu.com>
8948
8949 * grub-core/normal/menu_entry.c (run): Make sure we always return
8950 a value.
8951
b031012d
CW
89522010-09-21 Colin Watson <cjwatson@ubuntu.com>
8953
8954 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8955 NumberOfPages is UINT64 according to the UEFI specification, not
8956 UINTN. Fix printf format.
8957
174de8f3
CW
89582010-09-21 Colin Watson <cjwatson@ubuntu.com>
8959
8960 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8961 `err' to grub_usb_err_t.
8962 Reported and tested by: KESHAV P.R.
8963
d7dbe923
CW
89642010-09-21 Colin Watson <cjwatson@ubuntu.com>
8965
8966 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8967 tpart non-const, so that we can assign to it. (Since this is a
8968 typedef, the constness refers to the pointer rather than what it
8969 points to.)
8970
8d5e2af3
CW
89712010-09-21 Colin Watson <cjwatson@ubuntu.com>
8972
8973 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8974 $(top_srcdir)/grub-core/gnulib as well as
8975 $(top_builddir)/grub-core/gnulib.
8976 Reported by: KESHAV P.R.
8977
5c527783
CW
89782010-09-21 Colin Watson <cjwatson@ubuntu.com>
8979
8980 * util/grub-install.in: Fix the bootloader ID option to be
8981 consistently --bootloader-id, not --bootloader_id.
8982 Reported by: KESHAV P.R.
8983
d309a16e
CW
89842010-09-21 Colin Watson <cjwatson@ubuntu.com>
8985
8986 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8987 check hash checksum." consistently translatable.
8988
b830cd16
YB
89892010-09-21 Yves Blusseau <blusseau@zetam.org>
8990
8991 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8992 $(top_builddir).
8993
c4fe27a8
CW
89942010-09-21 Colin Watson <cjwatson@ubuntu.com>
8995
8996 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8997 (GRUB_MOD_INIT): Register sha1sum command.
8998 (GRUB_MOD_FINI): Unregister sha1sum command.
8999
a4c1d277
YB
90002010-09-21 Yves Blusseau <blusseau@zetam.org>
9001
9002 Keep boot and grub directory names in sync with utils scripts
9003
9004 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
9005 * config.h.in: Add previous macros.
9006 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
9007 * util/grub-install.in: Use $bootdir and $grubdir variables.
9008
4eff79d2
CW
90092010-09-21 Colin Watson <cjwatson@ubuntu.com>
9010
9011 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
9012 convert partition names to disk names if the new `convert' parameter
9013 is set.
9014 (grub_util_biosdisk_get_grub_dev): If opening the disk device
9015 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
9016 disk in its own right. This can happen with Xen disk images.
9017
934d7e44
YB
90182010-09-21 Yves Blusseau <blusseau@zetam.org>
9019
9020 * util/grub-editenv.c: Update strings to avoid warnings when generating
9021 grub.pot file.
9022 * util/grub-setup.c: Likewise.
934d7e44 9023
df3367cc
VS
90242010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * configure.ac: Change version to 1.99~beta0.
9027
77a94e98
VS
90282010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9031 Add BADRAM.
9032 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
9033 Likewise.
9034 * include/multiboot.h: Resynced with specification.
9035 * include/multiboot2.h: Likewise.
9036
269004c1
CW
90372010-09-21 Colin Watson <cjwatson@ubuntu.com>
9038
9039 Fix po directory handling.
9040
9041 * configure.ac: Create po/Makefile.in rather than po/Makefile.
9042 * grub-core/gnulib/Makefile.am: Import gettext module.
9043 * m4/gnulib-cache.m4: Likewise.
9044 * m4/gnulib-comp.m4: Likewise.
9045 * m4/gettext.m4: New file, from gnulib.
9046 * m4/glibc2.m4: Likewise.
9047 * m4/iconv.m4: Likewise.
9048 * m4/intdiv0.m4: Likewise.
9049 * m4/intl.m4: Likewise.
9050 * m4/intldir.m4: Likewise.
9051 * m4/intlmacosx.m4: Likewise.
9052 * m4/intmax.m4: Likewise.
9053 * m4/inttypes-pri.m4: Likewise.
9054 * m4/lcmessage.m4: Likewise.
9055 * m4/lib-ld.m4: Likewise.
9056 * m4/lib-link.m4: Likewise.
9057 * m4/lib-prefix.m4: Likewise.
9058 * m4/lock.m4: Likewise.
9059 * m4/nls.m4: Likewise.
9060 * m4/po.m4: Likewise.
9061 * m4/printf-posix.m4: Likewise.
9062 * m4/progtest.m4: Likewise.
9063 * m4/threadlib.m4: Likewise.
9064 * m4/uintmax_t.m4: Likewise.
9065 * m4/visibility.m4: Likewise.
9066 * po/Makefile.am: Remove.
9067 * po/Makefile.in.in: New file, from gettext.
9068 ($(DOMAIN).pot-update): Support POTFILES-shell.
9069 * po/Makevars: New file.
9070 * po/POTFILES-shell: Rename to ...
9071 * po/POTFILES-shell.in: ... this. Update.
9072 * po/POTFILES: Rename to ...
9073 * po/POTFILES.in: ... this. Update.
9074 * po/Rules-quot: New file, from gettext.
9075 * po/boldquot.sed: Likewise.
9076 * po/en@boldquot.header: Likewise.
9077 * po/en@quot.header: Likewise.
9078 * po/insert-header.sin: Likewise.
9079 * po/quot.sed: Likewise.
9080 * po/remove-potcdate.sin: Likewise.
9081
3e0fa5d0
VS
90822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
9085
ade9bd66
VS
90862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 * util/grub.d/20_linux_xen.in: Use submenus.
9089
fc55cc4c
VS
90902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 Support submenus.
9093
9094 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
9095 parameter submenu. All users updated.
9096 * grub-core/normal/main.c (free_menu): Rename to ...
9097 (grub_normal_free_menu): ... this. Made global.
9098 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
9099 if requested.
9100 * grub-core/normal/menu_entry.c (screen): New field submenu.
9101 (make_screen): Set submenu.
9102 (run): Open new context if requested.
9103 * include/grub/menu.h (grub_menu_entry): New field submenu.
9104 * include/grub/normal.h (grub_normal_free_menu): New proto.
9105
600cedf7
VS
91062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 Menu entries extractor.
9109
9110 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
9111 variants.
9112 (GRUB_MOD_INIT): Register new variants.
9113 (GRUB_MOD_FINI): Unregister new variants.
9114 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
9115 into grub_cmd_legacy_source.
9116 (grub_cmd_legacy_source): Implement extractor variants.
9117 (GRUB_MOD_INIT): Register new variants.
9118 (GRUB_MOD_FINI): Unregister new variants.
9119 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
9120 as an extractor.
9121 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
9122 search as an extractor.
9123 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
9124 test as an extractor.
9125 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
9126 as an extractor.
9127 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
9128 (grub_env_new_context): New function.
9129 (grub_env_context_open): Likewise.
9130 (grub_env_extractor_open): Likewise.
9131 (grub_env_extractor_close): Likewise.
9132 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9133 grub_extractor_level.
9134 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
9135 * include/grub/env.h (grub_env_extractor_open): New proto.
9136 (grub_env_extractor_close): Likewise.
9137 * include/grub/normal.h (grub_extractor_level): New external variable.
9138
7bda3a87
VS
91392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 Make cutmem accept a region specification.
9142 Suggested by: Samuel Thibault
9143
9144 * grub-core/mmap/mmap.c (parsemem): New function.
9145 (grub_cmd_cutmem): Handle new arguments.
9146
2ea57f88
VS
91472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 New command cutmem.
9150
9151 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
9152 (GRUB_MOD_INIT): Register new command.
9153 (GRUB_MOD_FINI): Unregister new command.
9154
74342e31
VS
91552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 Support some annoying BSD and Minix subpartitions.
9158
9159 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
9160 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
9161 Properly handle concatenation.
9162 * grub-core/kern/device.c (grub_device_iterate): Likewise.
9163 * grub-core/normal/completion.c (iterate_partition): Likewise.
9164 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
9165 contain partition. All users updated.
9166 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
9167 struct.
9168 (grub_openbsdlabel_partition_map): Likewise.
9169 (bsdlabel_partition_map_iterate): Rename to ..
9170 (iterate_real): ... this. New arguments sector, freebsd and pmap.
9171 (bsdlabel_partition_map_iterate): New function.
9172 (netopenbsdlabel_partition_map_iterate): Likewise.
9173 (netbsdlabel_partition_map_iterate): Likewise.
9174 (openbsdlabel_partition_map_iterate): Likewise.
9175 (GRUB_MOD_INIT): Register new partmaps.
9176 (GRUB_MOD_FINI): Unregister new partmaps.
9177 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
9178 (grub_partition_msdos_iterate): ... this. All users updated.
9179 Don't support embedding other than in a minix partition.
9180 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
9181 proto.
9182 * include/grub/partition.h (grub_partition): New field msdostype.
9183 * util/grub-install.in: Handle openbsd and netbsd types being in
9184 part_bsd module.
9185
1e8d555b
VS
91862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
9189
9190 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
9191 * grub-core/Makefile.core.def (mdraid): Renamed to ...
9192 (mdraid09): ... this.
9193 (mdraid1x): New module.
9194 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
9195 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
9196
899d8af4
VS
91972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
9200 vsprintf.
9201
40901acd
CW
92022010-09-20 Colin Watson <cjwatson@ubuntu.com>
9203
9204 * grub-core/commands/efi/lsefimmap.c: Correct header.
9205 * NEWS: Update.
9206
dfe3b247
CW
92072010-09-20 Colin Watson <cjwatson@ubuntu.com>
9208
9209 * util/grub-editenv.c (argp_parser): Don't pass translated strings
9210 as printf format strings; the translations might contain '%' which
9211 could cause a crash.
9212 (main): Likewise.
9213 * util/grub-fstest.c (argp_parser): Likewise.
9214 * util/grub-setup.c (argp_parser): Likewise.
9215 (main): Likewise.
9216
3286a4b4
VS
92172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 Use argp in grub-fstest.
9220
9221 * util/grub-fstest.c: Don't include getopt.h.
9222 Include argp.h.
9223 (root): New variable.
9224 (args_count): Likewise.
9225 (nparm): Likewise.
9226 (num_disks): Likewise.
9227 (images): Likewise.
9228 (cmd): Likewise.
9229 (debug_str): Likewise.
9230 (args): Likewise.
9231 (options): Transformed to argp.
9232 (usage): Removed.
9233 (main): Split argument parsing into ...
9234 (argp_parser): ... this. Changed to argp format.
9235 (argp): New variable.
9236 (main): Use argp_parse.
9237
3dccbe4b
TG
92382010-09-20 Tristan Gingold <gingold@free.fr>
92392010-09-20 Robert Millan <rmh.grub@aybabtu.com>
92402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * grub-core/commands/efi/lsefimmap.c: New file.
9243 * grub-core/Makefile.core.def (lsefimmap): New module.
9244 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
9245
38c259a7
VS
92462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 Pause the execution (10s max) if any errors are displayed so the user
9249 has a chance to see them.
9250
9251 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
9252 (grub_print_error): Increment grub_err_printed_errors.
9253 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
9254 execution if any errors were displayed.
9255 (show_menu): Remove old code for pause.
9256 * grub-core/normal/menu_entry.c (run): Likewise.
9257 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
9258 users updated.
9259 (grub_normal_get_char_counter): Likewise.
9260 * include/grub/err.h (grub_err_printed_errors): New external variable.
9261 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
9262
f218b09c
VS
92632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 Support multiboot VBE info.
9266
9267 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9268 Take VBE info into account.
9269 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
9270 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9271 Call fill_vbe_info when appropriate.
9272 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
9273 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
9274 as supported.
9275 (grub_multiboot_get_mbi_size): Take new tags into account.
9276 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
9277 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9278 Call fill_vbe_tag when appropriate.
9279 (grub_multiboot_make_mbi): Properly align tags.
9280 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
9281 function.
9282 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
9283 proto.
9284 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
9285
a9cc5438
VS
92862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 Suport manual terminal geometry specification.
9289
9290 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
9291 Save state in grub_ofconsole_terminfo_output.
9292 (grub_ofconsole_term): Use grub_terminfo_getwh.
9293 (grub_ofconsole_getwh): Removed.
9294 * grub-core/term/serial.c (grub_serial_getwh): Removed.
9295 (grub_serial_term): Use grub_terminfo_getwh.
9296 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
9297 (options): New struct.
9298 (OPTION_*): New enum.
9299 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
9300 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
9301 width and height.
9302 (grub_terminfo_getwh): New proto.
9303 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
9304
1a8fed20
VS
93052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 Handle legacy "terminal" command.
9308
9309 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
9310 and FLAG_TERMINAL.
9311 (legacy_commands): Add terminal and title.
9312 (grub_legacy_parse): Handle terminal. Simplify title handling.
9313
41e9c57d
VS
93142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
9317 parameters overflow.
9318
61c874c5
CW
93192010-09-20 Colin Watson <cjwatson@ubuntu.com>
9320
9321 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
9322 widthspec.h.
9323
9324 * docs/grub.texi (Shell-like scripting): Document `!'.
9325 (Network): Simplify using new i386-pc-pxe format. Mention
9326 grub-mknetdir.
9327
9328 * NEWS: Update.
9329
943682b4
CW
93302010-09-20 Colin Watson <cjwatson@ubuntu.com>
9331
9332 * Makefile.am (SUBDIRS): Restore "."; it's important to force
9333 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
9334 when needed.
9335
6d3d698d
CW
93362010-09-20 Colin Watson <cjwatson@ubuntu.com>
9337
9338 * grub-core/commands/efi/lsefisystab.c: Correct header.
9339 * grub-core/commands/efi/lssal.c: Likewise.
9340 * grub-core/commands/testload.c: Likewise.
9341
c982589f
CW
93422010-09-20 Colin Watson <cjwatson@ubuntu.com>
9343
9344 * util/grub-mkrescue.in: Add explicit root argument to --set to
9345 prevent the UUID being interpreted as an argument to --set (matches
9346 previous change to prepare_grub_to_access_device).
9347
a63c31b6
CW
93482010-09-20 Colin Watson <cjwatson@ubuntu.com>
9349
9350 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
9351 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
9352 the verbosity of later #ifs.
9353 (find_partition_start): Define this function on FreeBSD too.
9354 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
9355 function.
9356 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
9357 on FreeBSD.
9358
6439b8ee
YB
93592010-09-20 Yves Blusseau <blusseau@zetam.org>
9360
9361 * util/grub-editenv.c: Use argp instead of getopt.
9362
c5930ec8
YB
93632010-09-20 Yves Blusseau <blusseau@zetam.org>
9364
9365 * util/grub-setup.c: Use argp instead of getopt.
9366
15c69261
YB
93672010-09-20 Yves Blusseau <blusseau@zetam.org>
9368
9369 Use gnulib-tool to create gnulib source files.
9370
9371 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
9372 grub-core/gnulib directories
9373 * .bzignore: Add **/.deps and autogenerated gnulib files
9374 * configure.ac: Assign auxiliary directory to build-aux, add invocation
9375 of gnulib macros, add grub-core/gnulib/Makefile
9376 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
9377 include m4 directory to aclocal.
9378 * Makefile.util.def: Remove direct compilation of gnulib source files
9379 and use the new grub-core/gnulib/libgnu.a.
9380 * build-aux/config.rpath: move config.rpath from top directory to
9381 build-aux
9382 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
9383 in gnulib headers
9384 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
9385 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
9386 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
9387 header.
9388 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
9389 string.
9390
e511c9f5
YB
93912010-09-20 Yves Blusseau <blusseau@zetam.org>
9392
9393 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
9394 grub-core/genmod.sh and grub-core/gensyminfo.sh
9395
c2dede05
BC
93962010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
9397
9398 Add a test for echo command options.
9399
9400 * tests/grub_cmd_echo.in: New test.
9401 * Makefile.util.def: Rules for new test.
9402
c55f5018
SJ
94032010-09-20 Szymon Janc <szymon@janc.net.pl>
9404
9405 Remove crc.mod and move crc command to hashsum.mod.
9406 Remove lib/crc.c - users updated to use gcrypt implementation.
9407
9408 * grub-core/commands/crc.c: Removed.
9409 * grub-core/Makefile.core.def (crc): Module removed.
9410 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
9411 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
9412 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
9413 * grub-core/lib/crc.c: Removed.
9414 * include/grub/lib/crc.h: Removed.
9415 * Makefile.util.def (crc): Remove lib/crc.c
9416 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
9417 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
9418 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
9419 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
9420 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
9421 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
9422
e0337366
VS
94232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
9426
742f9232
VS
94272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 Split config.h for util and core.
9430
9431 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
9432 (ADDR32): Likewise.
9433 (DATA32): Likewise.
9434 (BSS_START_SYMBOL): Likewise.
9435 (END_SYMBOL): Likewise.
9436 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
9437 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
9438 * config.h.in: New file.
9439 * configure.ac: Use config-util.h as config define file.
9440 Rename MACHINE into GRUB_MACHINE. All users updated.
9441 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
9442 updated.
9443 (NESTED_FUNC_ATTR): Likewise.
9444 Substitue new variables.
9445 (COND_HAVE_ASM_USCORE): New conditional.
9446 * grub-core/Makefile.am (ASM_PREFIX): New variable.
9447 (kernel_syms.lst): Use ASM_PREFIX.
9448 * grub-core/kern/emu/console.c: Include config-util.h.
9449 * grub-core/kern/emu/misc.c: Likewise.
9450 * grub-core/kern/emu/mm.c: Likewise.
9451 * include/grub/emu/misc.h: Likewise.
9452 * include/grub/libgcc.h: Likewise.
9453
39feb0e8
VS
94542010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
9457 constants usage.
9458 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
9459 Fix GRUB_TERM_KEY_* constants usage.
9460 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
9461
9af6dac3
VS
94622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
9465 print pointer.
9466 * grub-core/bus/usb/uhci.c: Remove empty define.
9467 (grub_uhci_check_transfer): Add missing cast.
9468 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
9469 print pointer.
9470 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
9471 PRIuGRUB_SIZE.
9472 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
9473
d6d94820
VS
94742010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * grub-core/Makefile.core.def (legacycfg): Add
9477 lib/i386/pc/vesa_modes_table.c on emu.
9478
3572f2b6
BC
94792010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9480
9481 Reduce number of temporary files generated by build system.
9482
9483 * grub-core/gencmdlist.sh: Removed.
9484 * grub-core/genfslist.sh: Removed.
9485 * grub-core/genhandlerlist.sh: Removed.
9486 * grub-core/genmodsrc.sh: Removed.
9487 * grub-core/genpartmaplist.sh: Removed.
9488 * grub-core/genparttoollist.sh: Removed.
9489 * grub-core/gentermiinallist.sh: Removed.
9490 * grub-core/genvideolist.sh: Removed.
9491
9492 * grub-core/genmod.sh.in: New file.
9493 * grub-core/gensyminfo.sh.in: New file.
9494
9495 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
9496 * conf/Makefile.extra-dist: Update with new files.
9497 * gentpl.py: Remove rules related to unnecessary temporary files.
9498 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
9499 and und-* files.
9500 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
9501 genmod.sh scripts.
9502 * grub-core/bus/usb/uhci.c: Remove empty #define.
9503 * grub-core/genmoddep.awk: Updated with new syminfo format.
9504 * util/bash-completion.d/Makefile.am: Add config.log to
9505 CLEANFILES.
9506
c836b030
YB
95072010-09-19 Yves Blusseau <blusseau@zetam.org>
9508
9509 * Makefile.util.def: Add forgotten $(LIBINTL) library.
9510
2f4e8053
BC
95112010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9512
9513 * util/grub-mkconfig.in: Check the config script for syntax errors
9514 before saving.
9515
75831c34
CW
95162010-09-19 Colin Watson <cjwatson@ubuntu.com>
95172010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * Makefile.util.def (grub-install): Use util/grub-install.in on all
9520 platforms.
9521 * util/grub-install.in: Add EFI and IEEE1275 support.
9522 * util/i386/efi/grub-install.in: Removed.
9523 * util/ieee1275/grub-install.in: Likewise.
9524
eaf41b25
VS
95252010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
9528 (grub_cmd_cmosclean): Likewise.
9529 (GRUB_MOD_INIT): Register command cmosclean.
9530 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
9531 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
9532
1a9130dd
CPE
95332010-09-18 Carles Pina i Estany <carles@pina.cat>
95342010-09-18 Aleš Nesrsta <starous@volny.cz>
95352010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 Add keyboard layouts support.
9538
9539 * Makefile.util.def (grub-mklayout): New file.
9540 (grub-kbdcomp): New script.
9541 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
9542 Add keyboard_layouts.h.
9543 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
9544 commands/boot.c on yeeloong.
9545 (keylayouts): New module.
9546 * grub-core/bus/usb/ohci.c
9547 * grub-core/bus/usb/uhci.c
9548 * grub-core/bus/usb/usbhub.c (rescan): New variable.
9549 (grub_usb_add_hub): Poll interrupt pipe for device handling.
9550 (attach_root_port): Likewise.
9551 (poll_nonroot_hub): Likewise.
9552 (grub_usb_poll_devices): Likewise.
9553 (detach_device): Close transfer.
9554 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
9555 function.
9556 (grub_usb_bulk_setup_readwrite): Likewise.
9557 (grub_usb_bulk_finish_readwrite): Likewise.
9558 * grub-core/commands/keylayouts.c: New file.
9559 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
9560 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
9561 aliases.
9562 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
9563 support scancode 2.
9564 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
9565 * include/grub/keyboard_layouts.h: New file.
9566 * util/grub-mklayout.c: New file.
9567 * util/grub-kbdcomp.in: Likewise.
9568
a1d84a5e
VS
95692010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 Unify memory types.
9572
9573 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
9574 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
9575 types.
9576 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
9577 (grub_upper_mem): Likewise.
9578 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
9579 * include/grub/memory.h (grub_memory_type_t): New enum.
9580 All users updated.
9581
9696382e
VS
95822010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * grub-core/Makefile.core.def (lsapm): New module.
9585 * grub-core/commands/i386/pc/lsapm.c: New file.
9586 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
9587 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
9588 Likewise.
9589 * include/grub/i386/pc/apm.h: New file.
9590 * include/multiboot.h (multiboot_apm_info): New struct.
9591
95922010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 GRUB-legacy configuration file support.
9595
9596 * Makefile.util.def (grub-menulst2cfg): New util.
9597 * docs/man/grub-menulst2cfg.h2m: New file.
9598 * grub-core/Makefile.core.def (legacycfg): New module.
9599 * grub-core/commands/legacycfg.c: New file.
9600 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
9601 (grub_normal_add_menu_entry): ... this.
9602 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
9603 (grub_normal_set_password): ...this.
9604 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
9605 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
9606 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
9607 * grub-core/lib/legacy_parse.c: New file.
9608 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
9609 * include/grub/i386/pc/vesa_modes_table.h: New file.
9610 * include/grub/legacy_parse.h: Likewise.
9611 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
9612 * util/grub-menulst2cfg.c: New file.
9613
bf8d1338
CW
96142010-09-17 Colin Watson <cjwatson@ubuntu.com>
9615
9616 * grub-core/kern/emu/hostdisk.c
9617 (convert_system_partition_to_system_disk): Initialise node.
9618
9c0bad2e
CW
96192010-09-17 Colin Watson <cjwatson@ubuntu.com>
9620
9621 * grub-core/kern/emu/hostdisk.c
9622 (convert_system_partition_to_system_disk): Fix devmapper memory pool
9623 leak.
9624 Reported and based on patch by: Modestas Vainius.
9625
a939d135
CW
96262010-09-17 Colin Watson <cjwatson@ubuntu.com>
9627
9628 Fix DM-RAID probing with recent versions of device-mapper udev
9629 rules.
9630
9631 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
9632 canonicalise device paths under /dev/mapper/.
9633 (convert_system_partition_to_system_disk): Compare the
9634 uncanonicalised path to /dev/mapper/ rather than the canonicalised
9635 path, since device nodes under /dev/mapper/ are often symlinks.
9636
0f7ee3c9
YB
96372010-09-17 Yves Blusseau <blusseau@zetam.org>
9638
9639 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
9640
10854d0d
YB
96412010-09-16 Yves Blusseau <blusseau@zetam.org>
9642
9643 * configure.ac: Avoid some annoying error messages if freetype-config
9644 program is not found.
9645
108538d8
CW
96462010-09-16 Colin Watson <cjwatson@ubuntu.com>
9647
9648 Support RAID on virtio devices, and others.
9649
9650 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
9651 Rename to ...
9652 [__MINGW32__] (grub_find_device): ... this.
9653 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
9654 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
9655 reasonable default if dir is NULL.
9656 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
9657 ...
9658 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
9659 (grub_guess_root_device): Update callers.
9660 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
9661
9662 * util/raid.c (grub_util_getdiskname): Remove.
9663 (grub_util_raid_getmembers): Use grub_find_device rather than
9664 grub_util_getdiskname.
9665
e5bfc130
CW
96662010-09-16 Colin Watson <cjwatson@ubuntu.com>
9667
9668 * docs/grub.texi (serial): Remove obsolete comment about GRUB
9669 needing to be compiled with serial support.
9670 (ls): Indicate that multiple files are accepted.
9671 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
9672 indicate that multiple files are accepted.
9673
be458ae2
CW
96742010-09-16 Colin Watson <cjwatson@ubuntu.com>
9675
9676 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
9677 libgrub_a_init.c, and util/bash-completion.d/grub.
9678
cb731b5e
VS
96792010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * util/grub-setup.c (setup): Fix incorrect container semantics.
9682
35139e8a
VS
96832010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
9686 misusage.
9687 Reported by: J. Nick Terry
9688
e50fca4a
VS
96892010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 Move embedding routines to partmap sources files.
9692
9693 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
9694 [GRUB_UTIL]: New variable.
9695 (gpt_partition_map_iterate): Set part.parent.
9696 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
9697 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
9698 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
9699 New function.
9700 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
9701 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
9702 (grub_partition_map) [GRUB_UTIL]: New field embed.
9703 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
9704 (setup): Use ->embed.
9705
f00478b7
VS
97062010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
9709 function.
9710 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
9711 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
9712
2b94e3ff
YB
97132010-09-15 Yves Blusseau <blusseau@zetam.org>
9714
9715 Add function to get completions from usage.
9716
9717 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9718 completions from usage. Use LC_ALL=C to get options properly.
9719
2e04a006
VS
97202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * grub-core/gnulib/basename-lgpl.c: Imported.
9723 * grub-core/gnulib/basename.c: Likewise.
9724 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9725 * grub-core/gnulib/dirname.c: Likewise.
9726 * grub-core/gnulib/dirname.h: Likewise.
9727 * grub-core/gnulib/stripslash.c: Likewise.
9728
5dcdf93a
VS
97292010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * grub-core/gnulib/error.c: Resynced.
9732 * grub-core/gnulib/getopt.c: Likewise.
9733 * grub-core/gnulib/getopt_int.h: Likewise.
9734 * grub-core/gnulib/regex.h: Likewise.
9735 * grub-core/gnulib/regex_internal.c: Likewise.
9736 * grub-core/gnulib/regex_internal.h: Likewise.
9737
014f47b7
SJ
97382010-09-15 Szymon Janc <szymon@janc.net.pl>
9739
9740 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9741 CRC calculations and validity checks.
9742 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9743 calculations.
9744
dd521a4a
SJ
97452010-09-15 Szymon Janc <szymon@janc.net.pl>
9746
9747 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9748
79c4eeb9
VS
97492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 Fix incorrect echo options handling.
9752 Reported by: Yves Blusseau.
9753
9754 * include/grub/command.h (grub_command_flags_t): New flags
9755 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9756 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9757 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9758
ed80f7d5
VS
97592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9762 users updated.
9763 (GRUB_COMMAND_FLAG_MENU): Likewise.
9764 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9765 (GRUB_COMMAND_FLAG_TITLE): Removed.
9766 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9767 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9768 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9769 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9770 (grub_command_flags_t): New enum. All users updated.
9771
5fe7620a
SG
97722010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9773
9774 Fix solaris compilation.
9775
9776 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9777 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9778 (grub-emu-list): Likewise.
9779
545b752f
VS
97802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 Remove deprecated root command.
9783
9784 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9785 updated.
9786
6c1a338c
VS
97872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9788
9789 * util/i386/pc/grub-setup.c: Merge this ...
9790 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9791 * util/grub-setup.c: ... into this.
9792 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9793 New struct.
9794
97952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9798 possible.
9799
d2ea4551
VS
98002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9803 allocate p.
9804
3c3b5040
VS
98052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9808 explicit root argument to set to prevent UUID to be interpreted as
9809 argument to set.
9810
b71c3fae
VS
98112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9814
275433e6
VS
98152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 Don't export grub_gate_a20.
9818
9819 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9820 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9821 to ...
9822 (grub_gate_a20): ... this. All users updated.
9823 * include/grub/i386/pc/init.h: Removed. All users updated.
9824
a5dbb1f1
VS
98252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 Create euro.pf2 which supports most European languages.
9828
9829 * Makefile.am (grubdata_DATA): Add euro.pf2.
9830 (euro.pf2): New target.
9831 (CLEANFILES): Add euro.pf2.
9832
62a747cb
VS
98332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * configure.ac: Disable emu-usb by default to prevent inadvertent
9836 device takeover.
9837
608e43b1
VS
98382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 Disable usbserial on grub-emu since our libusb code isn't good enough
9841 yet.
9842
9843 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9844 (usbserial_pl2303): Likewise.
9845 (usbserial_ftdi): Likewise.
9846
94564f81
VS
98472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * include/grub/disk.h (grub_disk): Remove has_partitions.
9850 All users updated.
9851 * disk/loopback.c (grub_loopback): Remove has_partitions.
9852 All users updated.
9853 (options): Remove partitions. All users updated.
9854 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9855 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9856 actual partition table is found.
9857
3352800b
VS
98582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 Remove readability checks (too many false negatives).
9861
9862 * util/grub-install.in: Remove readability checks.
9863 * util/grub-mkconfig.in: Likewise.
9864 * util/grub.d/10_hurd.in: Likewise.
9865 * util/grub.d/10_kfreebsd.in: Likewise.
9866 * util/grub.d/10_linux.in: Likewise.
9867 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9868 way.
9869
2419f17a
VS
98702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 Enable acpi shutdown on all ACPI platforms.
9873
9874 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9875 on coreboo, multiboot and EFI.
9876 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9877 (grub_acpi_halt): Likewise.
9878 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9879 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9880 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9881 * grub-core/lib/i386/halt.c (grub_halt)
9882 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9883
0575c7c3
VS
98842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9887 context.
9888
54ac3cd1
VS
98892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9892 * grub-core/video/efi_uga.c: Likewise.
9893
b2a30ac5
VS
98942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 Filter devaliases and never open same device twice.
9897
9898 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9899 (last_ihandle): Likewise.
9900 (ofdisk_hash_ent): New member shortest.
9901 (ofdisk_hash_add): Add canonical path too.
9902 (scan): New function.
9903 (grub_ofdisk_iterate): Iterate over hashed entries.
9904 (compute_dev_path): Don't add :0.
9905 (grub_ofdisk_open): Don't really open the disk.
9906 (grub_ofdisk_close): Avoid closing unrelated disk.
9907 (grub_ofdisk_read): Implement reopen logic.
9908 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9909 New function.
9910 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9911 New proto.
9912
fb53b340
VS
99132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 Fix sparc64.
9916
9917 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9918 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9919 right address. Add sparc64_ieee1275_ldflags.
9920 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9921 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9922 to grub_host_to_target_addr
9923 (load_image): Likewise.
9924
f452b040
VS
99252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * grub-core/normal/completion.c (complete_file): Handle device
9928 containing slash.
9929 Fix based on patch by Doug Nazar.
9930
9b5b2541
VS
99312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 grub-mknetdir script.
9934
9935 * Makefile.util.def (grub-mknetdir): New module.
9936 * tests/util/grub-shell.in: Support boot=net
9937 * util/grub-mknetdir.in: New file.
9938
9d2be652
VS
99392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 videoinfo on non-vbe.
9942
9943 * grub-core/Makefile.core.def (vbeinfo): Removed.
9944 (vbetest): Removed.
9945 (videoinfo): New module.
9946 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9947 * grub-core/commands/i386/pc/vbetest.c: Removed.
9948 * grub-core/commands/videoinfo.c: New file.
9949 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9950 specification.
9951 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9952 as vbetest.
9953 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9954 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9955 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9956 mode_number. New parameter mode. All users updated.
9957 (grub_video_gop_iterate): New function.
9958 (grub_video_efi_gop): New member iterate.
9959 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9960 (grub_vbe_set_video_mode): Remove setting useless fields.
9961 (vbe2videoinfo): New function.
9962 (grub_video_vbe_iterate): Likewise.
9963 (grub_video_vbe_setup): Use vbe2videoinfo.
9964 (grub_video_vbe_print_adapter_specific_info): New function.
9965 (grub_video_vbe_adapter): New fields iterate and
9966 print_adapter_specific_info.
9967 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9968 All users updated.
9969 (grub_video_mode_info): New field mode_number.
9970 (grub_video_adapter): New fields iterate and
9971 print_adapter_specific_info.
9972
179503f5
TG
99732010-09-13 Tristan Gingold <gingold@free.fr>
99742010-09-13 Robert Millan <rmh.grub@aybabtu.com>
99752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * grub-core/commands/efi/lsefisystab.c: New file.
9978 * grub-core/commands/efi/lssal.c: Likewise.
9979 * grub-core/Makefile.core.def (lsacpi): New module.
9980 (lsefisystab): Likewise.
9981 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9982 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9983 (grub_efi_sal_system_table): New struct.
9984 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9985 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9986 (grub_efi_sal_system_table_platform_features): Likewise.
9987 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9988 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9989 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9990 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9991
cf9827de
VS
99922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9993
9994 Support explicit user claim that a device is BIOS-visible.
9995
9996 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9997 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9998 * grub-core/kern/emu/hostdisk.c
9999 (convert_system_partition_to_system_disk): Support mdX.
10000 (find_system_device): New parameter add. All users updated.
10001 (grub_util_biosdisk_is_present): New function.
10002 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
10003 proto.
10004
53f0eb1f
VS
100052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 Search hints support.
10008
10009 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
10010 All users updated.
10011
b23ffd70
YB
100122010-09-13 Yves Blusseau <blusseau@zetam.org>
10013
10014 Bash completion script for util commands
10015
10016 * Makefile.am: Add util/bash-completion.d directory
10017 * configure.ac: Likewise.
10018 * util/bash-completion.d/Makefile.am: New file.
10019 * util/bash-completion.d/grub-completion.bash.in: Likewise.
10020
d547dc28
VS
100212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10022
10023 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
10024 (print_backlog): set backlog_ucs4 and backlog_glyphs.
10025 Reported by: Yves Blusseau.
10026
2fc8ccb9
VS
100272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10028
10029 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
10030 partition size and offset.
10031
d8a84076
VS
100322010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
10035
84fb3b3d
VS
100362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
10039
768ec2e2
VS
100402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10041
10042 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
10043 (grub_xvasprintf): Likewise.
10044
4870900f
VS
100452010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
10048
faca6bec
VS
100492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
10052 args ending with NULL.
10053
100542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
10055
10056 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
10057 pointer.
10058
3c70f225
SJ
100592010-09-11 Szymon Janc <szymon@janc.net.pl>
10060
10061 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
10062
4df7996d
VS
100632010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10064
10065 Shutdown using ACPI.
10066
10067 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
10068 * grub-core/commands/acpihalt.c: New file.
10069 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
10070 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
10071 (grub_acpi_halt): New proto.
10072 (GRUB_ACPI_SLP_EN): New const.
10073 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
10074 (GRUB_ACPI_OPCODE_*): New enum.
10075 (GRUB_ACPI_EXTOPCODE_*): Likewise.
10076
126b4c32
TG
100772010-09-11 Tristan Gingold <gingold@free.fr>
100782010-09-11 Robert Millan <rmh.grub@aybabtu.com>
100792010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * commands/lsacpi.c: New file.
10082 * grub-core/Makefile.core.def (lsacpi): New module.
10083 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
10084 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
10085 (grub_acpi_madt_entry_header): New struct.
10086 (grub_acpi_madt): Likewise.
10087 (grub_acpi_madt_entry_interrupt_override): Likewise.
10088 (grub_acpi_madt_entry_sapic): Likewise.
10089 (grub_acpi_madt_entry_lsapic): Likewise.
10090 (grub_acpi_madt_entry_platform_int_source): Likewise.
10091 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
10092 (PRIuGRUB_UINT32_T): Likewise.
10093 (PRIxGRUB_UINT64_T): Likewise.
10094
1aa4fe88
VS
100952010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 Implement loading palette on ieee1275_fb.
10098
10099 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
10100 (have_setcolors): Likewise.
10101 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
10102 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
10103 (grub_video_ieee1275_set_palette): Implement.
10104
25761e13
VS
101052010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
101062010-09-11 Colin Watson <cjwatson@ubuntu.com>
10107
10108 * util/grub-install.in (grub_partition): New variable.
10109 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
10110 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
10111 Fixes a bug reported by Yves Blusseau.
10112
050abaea
VS
101132010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 Fix emu on mipsel.
10116
10117 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
10118 =grub_cpu_flush_cache on all mips and not only yeeloong.
10119 * configure.ac (COND_mips): New conditional.
10120 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
10121 platforms.
10122 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
10123 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
10124 [GRUB_LINKER_HAVE_INIT]: New function.
10125 (grub_emu_post_init): Likewise.
10126 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
10127 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
10128 * include/grub/cache.h (_mips): Include mips/cache.h.
10129 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
10130 LVM and RAID prototypes.
10131 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
10132 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
10133 function.
10134
5ed7d816
CW
101352010-09-10 Colin Watson <cjwatson@ubuntu.com>
10136
10137 * util/grub-install.in: Don't try to verify core.img until after
10138 running grub-mkimage to create it.
10139
90367e04
RM
101402010-09-10 Robert Millan <rmh@gnu.org>
10141
10142 * util/grub.d/10_hurd.in: Add misc readability checks.
10143 * util/grub.d/10_kfreebsd.in: Likewise.
10144 * util/grub.d/10_linux.in: Likewise.
10145
c452fa66
CW
101462010-09-10 Colin Watson <cjwatson@ubuntu.com>
10147
10148 * util/grub-install.in: ${imgext} won't be defined here until the
10149 install branch is merged. For the meantime, only verify core.img on
10150 i386-pc and sparc64-ieee1275 platforms.
10151
c38fe9f4
RM
101522010-09-10 Robert Millan <rmh@gnu.org>
10153
10154 Solaris support in grub_find_zpool_from_dir(). Thanks
10155 Seth Goldberg for referring to getextmntent() facility.
10156
10157 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
10158 `sys/mkdev.h'.
10159 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
10160 `<sys/mnttab.h>'.
10161 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
10162 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
10163 method for finding zpool name.
10164
905f7773
CW
101652010-09-10 Colin Watson <cjwatson@ubuntu.com>
10166
10167 grub-fstest needs the host and hostfs modules while other utilities
10168 actively require those modules to be absent, so grub-fstest needs
10169 its own initialisation and finalisation code.
10170
10171 * Makefile.am (grub_fstest.pp): New target.
10172 (grub_fstest_init.lst): Likewise.
10173 (grub_fstest_init.c): Likewise.
10174 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
10175
fb90b546
RM
101762010-09-10 Robert Millan <rmh@gnu.org>
10177
10178 * configure.ac: Check for `struct statfs.f_fstypename' and
10179 `struct statfs.f_mntfromname'.
10180
10181 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
10182 kFreeBSD-specific code.
10183
66d4bea5
RM
101842010-09-10 Robert Millan <rmh@gnu.org>
10185
10186 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
10187 on ZFS. Now non-main filesystems are supported as / too.
10188
b6a690ee
CW
101892010-09-09 Colin Watson <cjwatson@ubuntu.com>
10190
10191 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
10192 and grub-core/disk/host.c to ...
10193 (grub-fstest): ... here. Having the host disk implementation
10194 present confuses grub-probe and other utility programs.
10195
10196 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
10197 when writing to a file, not when writing to stdout.
10198
8901b00c 101992010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
10200
10201 * tests/partmap_test.in: New test for partitions.
10202 * Makefile.util.def: Rules for new test.
10203
7bf45fdd
RM
102042010-09-09 Robert Millan <rmh@gnu.org>
10205
10206 * util/grub-probe.c (probe): Fix a pair of unhandled error
10207 conditions.
10208
4dfbc574
RM
102092010-09-09 Robert Millan <rmh@gnu.org>
10210
10211 Basic Btrfs support (detection and UUID).
10212
10213 * grub-core/fs/btrfs.c: New file.
10214 * Makefile.util.def (library): Register btrfs.c.
10215 * grub-core/Makefile.core.def: Likewise.
10216
6b8e78ae
RM
102172010-09-08 Robert Millan <rmh@gnu.org>
10218
10219 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
10220 with (optional) parameters to specify device and relative path.
10221 * util/grub-install.in: Use is_path_readable_by_grub() to
10222 verify readability of a few critical files.
10223 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
10224 verify readability of grub.cfg.new.
10225
27f21a8b
VS
102262010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 Split minix.mod into minix.mod and minix2.mod.
10229
10230 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
10231 * grub-core/Makefile.core.def (minix2): New module.
10232 * grub-core/fs/minix.c: Use definitions instead of runtime version
10233 checking.
10234 * grub-core/fs/minix2.c: New file.
10235
c0e53ea5
YB
102362010-09-08 Yves Blusseau <blusseau@zetam.org>
10237
10238 Add new --boot-directory option to replace --root-directory
10239
10240 * util/grub-install.in: Add new --boot-directory option
10241 * util/grub-reboot.in: Likewise.
10242 * util/grub-set-default.in: Likewise.
10243
b9fe6ea2
YB
102442010-09-08 Yves Blusseau <blusseau@zetam.org>
10245
10246 * util/grub-mkconfig.in: Use new variable.
10247
d87aedff
YB
102482010-09-08 Yves Blusseau <blusseau@zetam.org>
10249
10250 * configure.ac: Define some useful variables.
10251
e55e8495
VS
102522010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
10253
10254 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10255 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
10256 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
10257 Use terminfo and don't use cursor-on/cursor-off unless it's known
10258 to work.
10259 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
10260 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
10261
6fa6d675
CW
102622010-09-08 Colin Watson <cjwatson@ubuntu.com>
10263
10264 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
10265 starts with "(,", fill the drive containing the loaded image in
10266 between those two characters, but expect that a full partition
10267 specification including partition map names will follow.
10268
92f2aef0
RM
102692010-09-08 Robert Millan <rmh@gnu.org>
10270
10271 * configure.ac: Remove `--enable-grub-fstest' option.
10272 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
10273
10274 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
10275 `grub-fstest' instead of `grub-probe' for readability verification.
10276 * util/grub-probe.c (probe): Remove readability verification kludge.
10277
99fd620d
RM
102782010-09-08 Robert Millan <rmh@gnu.org>
10279
10280 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
10281 initializing `GRUB_FS'.
10282
058e30ac 102832010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
10284
10285 Not command (!) support to GRUB script.
10286
10287 * tests/grub_script_not.in: New test.
10288 * Makefile.util.def: Rules for new test.
10289
10290 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10291 ! command as a special case.
10292 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
10293
b61d05ed 102942010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10295
058e30ac 10296 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
10297 grub_free.
b61d05ed 10298
4d69c786 102992010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10300
10301 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
10302
aa3119c4 103032010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10304
10305 * docs/grub.texi (Shell-like scripting): Documentation for break,
10306 continue, shift and return commands.
10307
db0f7e3d
VS
103082010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 Rename CD-ROM to cd on BIOS.
10311
10312 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
10313 "cd".
10314 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
10315
88b87c93
VS
103162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
10319 * util/grub-probe.c (main): Likewise.
10320 * util/i386/pc/grub-setup.c (main): Likewise.
10321 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
10322 Reported and debugged by: alexxy
10323
294f324d
VS
103242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
10327 diagnostic info.
10328
d7ee3441
JS
103292010-09-05 Jo Shields <directhex@apebox.org>
10330
10331 * util/grub.d/30_os-prober.in: Add missing classes.
10332
d7e06c1f
VS
103332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * docs/grub.texi (Theme file format): Document new position format.
10336
fc157e53
VS
103372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
10340 a table. Use @code instead of @verbatim.
10341
506e9a1c
CB
103422010-09-05 Colin D Bennett <colin@gibibit.com>
10343
10344 Gfxmenu documentation.
10345
10346 * docs/grub.texi (Theme file format): New chapter.
10347
f0aff67c
SJ
103482010-09-05 Szymon Janc <szymon@janc.net.pl>
10349
10350 * grub-core/Makefile.core.def (xzio): New module.
10351 * grub-core/io/xzio.c: New file.
10352 * grub-core/lib/xzembed/xz.h: New file (from xembed).
10353 * grub-core/lib/xzembed/xz_config.h: Likewise.
10354 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
10355 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
10356 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
10357 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
10358 * grub-core/lib/xzembed/xz_private.h: Likewise.
10359 * grub-core/lib/xzembed/xz_stream.h: Likewise.
10360 * include/grub/file.h (grub_file_filter_id): New compression filter
10361 GRUB_FILE_FILTER_XZIO.
10362
82a85062
VS
103632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
10366 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
10367 size.
10368
3579415d
VS
103692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
10372 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
10373
5124ae6d
VS
103742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10375
10376 Uncompressed checksum support.
10377
10378 * grub-core/commands/hashsum.c (options): Add option --uncompress.
10379 (check_list): New parameter uncompress.
10380 (grub_cmd_hashsum): Handle --uncompress.
10381
9aadb3d1
VS
103822010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 Reintroduce testload.
10385
10386 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
10387 from here ...
10388 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
10389 (GRUB_MOD_INIT): New function.
10390 (GRUB_MOD_FINI): Likewise.
10391 * grub-core/Makefile.core.def (testload): New module.
10392
a17792c3
SJ
103932010-09-05 Szymon Janc <szymon@janc.net.pl>
10394
10395 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
10396 (uint8_t): New type.
10397 (uint16_t): Likewise.
10398 (uint32_t): Likewise.
10399 (uint64_t): Likewise.
10400
b81e40a3
SJ
104012010-09-05 Szymon Janc <szymon@janc.net.pl>
10402
10403 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
10404
fc2ef117
VS
104052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
10408 Made static.
10409 (grub_gzfile_open): Removed. All users updated.
10410 (GRUB_MOD_INIT): New function.
10411 (GRUB_MOD_FINI): Likewise.
10412 * grub-core/kern/file.c (grub_file_filters_all): New variable.
10413 (grub_file_filters_enabled): Likewise.
10414 (grub_file_open): Handle filters.
10415 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
10416 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
10417 * include/grub/file.h (grub_file_filter_id_t): New type.
10418 (grub_file_filter_t): Likewise.
10419 (grub_file_filters_all): New extern variable.
10420 (grub_file_filters_enabled): Likewise.
10421 (grub_file_filter_register): New inline function.
10422 (grub_file_filter_unregister): Likewise.
10423 (grub_file_filter_disable): Likewise.
10424 (grub_file_filter_disable_compression): Likewise.
10425 * include/grub/gzio.h: Removed.
10426
35ee15e0
BC
104272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10428
10429 Filename expansion support for wildcards in GRUB script.
10430
10431 * tests/grub_script_expansion.in: New test.
10432 * Makefile.util.def: Rule for new test.
10433
10434 * grub-core/commands/wildcard.c: New file, implements filename
10435 expansion support for GRUB script.
10436 * grub-core/Makefile.core.def: Rule update for regexp.mod.
10437 * grub-core/script/argv.c: Cosmetic changes.
10438 * grub-core/script/execute.c (grub_script_arglist_to_argv):
10439 Refactored to perform wildcard expansion on arguments.
10440 * include/grub/script_sh.h (grub_script_wildcard_translator): New
10441 struct.
10442
10443 * tests/util/grub-shell.in: Fix quoting for read input.
10444
5f0c4aca
BC
104452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10446
10447 Support for updating environment variables with matched substrings
10448 of regexp.
10449
10450 * tests/grub_cmd_regexp.in: New test.
10451 * Makefile.util.def: Rule for new test.
10452
10453 * grub-core/commands/regexp.c: New option -s to update environment
10454 variables with regexp matches.
10455
3759a35f
SJ
104562010-09-04 Szymon Janc <szymon@janc.net.pl>
10457
10458 * include/grub/file.h (grub_file): New member not_easly_seekable.
10459 (grub_file_seekable): New inline function.
10460 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
10461 easily seekable.
10462 (grub_gzio_open): Set not_easly_seekable.
10463 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
10464 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
10465
ed8c6dec
BC
104662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10467
10468 Support for options to appear multiple times on cmdline.
10469
10470 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
10471 * grub-core/commands/extcmd.c: Support for repeatable option.
10472 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
10473 repeatable option support.
10474
10475 Refactor menuentry into a regular command.
10476
10477 * grub-core/commands/menuentry.c: New file, menuentry command
10478 implementation.
10479 * grub-core/Makefile.core.def: Rule update for normal.mod.
10480 * grub-core/normal/main.c: Moved menuentry creation to
10481 grub-core/commands/menuentry.c.
10482 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
10483 (grub_menu_execute_entry_real): Removed.
10484 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
10485 function.
10486 (grub_script_execute_menuentry): Removed.
10487 * grub-core/script/parser.y (menuentry): Removed.
10488 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
10489 * grub-core/script/yylex.l (menuentry): Removed.
10490 * include/grub/menu.h (grub_menu_init): New prototype.
10491 (grub_menu_fini): New prototype.
10492 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
10493 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
10494 (grub_script_execute_sourcecode): New prototype.
10495
dacd0cf0
BC
104962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10497
10498 "return" command for GRUB script functions.
10499
10500 * tests/grub_script_return.in: New test.
10501 * Makefile.util.def: Rules for new test.
10502
10503 * grub-core/script/execute.c (grub_script_return): New function.
10504 * grub-core/script/main.c: Register/unregister return commaond.
10505 * include/grub/script_sh.h (grub_script_return): New prototype.
10506
52e72f9d
BC
105072010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10508
10509 "setparams" command to update positional parameters.
10510
10511 * tests/grub_script_setparams.in: New test.
10512 * Makefile.util.def: Rules for new test.
10513
10514 * grub-core/script/argv.c (grub_script_argv_make): New function.
10515 * grub-core/script/execute.c (replace_scope): New function.
10516 (grub_script_setparams): New function.
10517 * grub-core/script/lexer.c: Remove unused variables.
10518 * grub-core/script/main.c: Register/unregister setparams command.
10519 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
10520 (grub_script_setparams): New prototype.
10521
25b60c91
BC
105222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10523
10524 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
10525 grub_free order.
10526
37e7bf68
BC
105272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10528
10529 Support for passing block of commands as an argument to extcmds.
10530
10531 * Makefile.util.def: Rules for new test.
10532 * tests/grub_script_blockarg.in: New test.
10533 * grub-core/tests/test_blockarg.c: New file, block argument
10534 command used in the test.
10535
10536 * include/grub/extcmd.h (grub_extcmd_context): New struct.
10537 (grub_register_extcmd_prio): New function prototype.
10538 (grub_extcmd_dispatcher): New function prototype.
10539 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
10540 type.
10541 * include/grub/script_sh.h (struct grub_script): New members
10542 `children', `next_siblings' and `refcnt' for block arguments and
10543 reference counting.
10544 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
10545 (grub_script_arg): New member `script' for block argument.
10546 (grub_script_argv): New member `script' for block argument.
10547 (grub_parser_param): New member `scripts' for block argument.
10548 (grub_script_mem_free): New extern function prototype.
10549 (grub_script_ref): New function prototype.
10550 (grub_script_unref): New function prototype.
10551
10552 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
10553 extcmd form to support block arguments.
10554 * grub-core/script/argv.c: Block arguments support.
10555 * grub-core/script/execute.c: Likewise.
10556 * grub-core/script/lexer.c: Likewise.
10557 * grub-core/script/main.c: Likewise.
10558 * grub-core/script/script.c: Likewise.
10559 * grub-core/script/parser.y: Likewise. New `block' and `block0'
10560 non-terminals.
10561
10562 * grub-core/commands/acpi.c: Update extcmd implementations with
10563 grub_extcmd_context_t.
10564 * grub-core/commands/cat.c: Likewise.
10565 * grub-core/commands/echo.c: Likewise.
10566 * grub-core/commands/extcmd.c: Likewise.
10567 * grub-core/commands/hashsum.c: Likewise.
10568 * grub-core/commands/hdparm.c: Likewise.
10569 * grub-core/commands/help.c: Likewise.
10570 * grub-core/commands/hexdump.c: Likewise.
10571 * grub-core/commands/i386/cpuid.c: Likewise.
10572 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10573 * grub-core/commands/i386/pc/halt.c: Likewise.
10574 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10575 * grub-core/commands/iorw.c: Likewise.
10576 * grub-core/commands/keystatus.c: Likewise.
10577 * grub-core/commands/loadenv.c: Likewise.
10578 * grub-core/commands/ls.c: Likewise.
10579 * grub-core/commands/lspci.c: Likewise.
10580 * grub-core/commands/memrw.c: Likewise.
10581 * grub-core/commands/probe.c: Likewise.
10582 * grub-core/commands/search_wrap.c: Likewise.
10583 * grub-core/commands/setpci.c: Likewise.
10584 * grub-core/commands/sleep.c: Likewise.
10585 * grub-core/disk/loopback.c: Likewise.
10586 * grub-core/hello/hello.c: Likewise.
10587 * grub-core/loader/i386/bsd.c: Likewise.
10588 * grub-core/loader/xnu.c: Likewise.
10589 * grub-core/term/gfxterm.c: Likewise.
10590 * grub-core/term/serial.c: Likewise.
10591 * grub-core/tests/lib/functional_test.c: Likewise.
10592
888d1500
BC
105932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10594
10595 Multi-line quoted strings support.
10596
10597 * grub-core/script/lexer.c (append_newline): Removed.
10598 (grub_script_lexer_yywrap): Refactored.
10599 (grub_script_lexer_init): Refactored.
10600 * grub-core/script/yylex.l (yywrap): New function.
10601 (grub_lexer_resplit): New function.
10602 (grub_lexer_unput): New function.
10603 * include/grub/script_sh.h (grub_lexer_param): New members, unput
10604 and resplit.
10605 * tests/grub_script_echo1.in: Added few more testcases.
10606
dda060dd
VS
106072010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * grub-core/kern/misc.c: Don't add abort alias in utils.
10610 Reported by: echoline.
10611
6556eba9
BC
106122010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
10613
10614 Add missing files into "make dist" tarball for other platforms.
10615
10616 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
10617 * conf/Makefile.common (dist_noinst_DATA): New variable.
10618 * conf/Makefile.extra-dist: Added missing make dist files.
10619 * grub-core/Makefile.core.def: Likewise.
10620
c8e7bf5f
VS
106212010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 Compress grub_prefix.
10624
10625 * grub-core/boot/i386/pc/lnxboot.S: Use
10626 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
10627 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
10628 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
10629 GRUB_MACHINE_PREFIX_END. All users updated.
10630 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
10631 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
10632 + 0x40.
10633 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10634 * util/grub-mkimage.c (image_target_desc): Change data_end to
10635 prefix_end. All users updated.
10636
a7c00cdb
VS
106372010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
10640 value.
10641 (grub_openbsd_boot): Likewise.
10642 (grub_netbsd_boot): Likewise.
10643 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
10644 (grub_xnu_boot): Likewise.
10645
9f915872
VS
106462010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * configure.ac: Clean LIBS variable after tests.
10649
efa1bee7
CW
106502010-09-02 Colin Watson <cjwatson@ubuntu.com>
10651
10652 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
10653
61d720e5
VS
106542010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
10657 echo if libdevmapper will be used.
10658
ef8e0ec8
IT
106592010-09-02 Ian Turner <Ian.Turner@deshaw.com>
10660
10661 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
10662 constant for the same file.
10663
03e261d8
VS
106642010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
10667
c2a4eba6
CW
106682010-09-02 Colin Watson <cjwatson@ubuntu.com>
10669
10670 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
10671 grub-core/*.pp.
10672
9056cbf3
CW
106732010-09-02 Colin Watson <cjwatson@ubuntu.com>
10674
10675 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
10676 required by the boot protocol.
10677
10678 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
10679 ebp and edi members.
10680 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
10681 state.ebp and state.edi.
10682 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
10683 %ebp and %edi according to grub_relocator32_ebp and
10684 grub_relocator32_edi respectively.
10685 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
10686 and state.edi.
10687
529cc99a
VS
106882010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 Add i386-pc-pxe image target.
10691
10692 * util/grub-mkimage.c (image_target_desc): New enum value
10693 IMAGE_I386_PC_PXE.
10694 (image_targets): New target i386-pc-pxe.
10695 (generate_image): Handle i386-pc-pxe image.
10696
9a093920
VS
106972010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10698
10699 Fix grub_pxe_scan.
10700
10701 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
10702 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
10703 All users updated.
10704 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
10705 (grub_pxe_pxenv): Correct type.
10706
f9cefc4e
CW
107072010-09-01 Colin Watson <cjwatson@ubuntu.com>
10708
10709 * NEWS: Document most of the important changes since 1.98.
10710
4066f57f
CW
107112010-09-01 Colin Watson <cjwatson@ubuntu.com>
10712
10713 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
10714 generated manual page) a little.
10715
da2891f9
CW
107162010-09-01 Colin Watson <cjwatson@ubuntu.com>
10717
10718 * docs/grub.texi: Add myself as an author.
10719
ad717fae
VS
107202010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * Makefile.util.def (libgrub.a): Add missing sunpc.
10723 Reported by: Seth Goldberg.
10724
eefe8abd
VS
107252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 Interrupt wrapping and code simplifications.
10728
9494ef9a
VS
10729 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10730 x86_noieee1275 which are functionaly equivalent in this case.
10731 (grub-install): Make source on each platform explicit. Enable on
10732 all noemu.
10733 * gentpl.py (x86_efi_pc): Removed group.
10734 (x86_noefi): Likewise.
10735 (i386_noefi): Likewise.
10736 (x86_noieee1275): Likewise.
10737 (i386_noieee1275): Likewise.
10738 (i386_noefi_noieee1275): Likewise.
10739 (i386_pc_qemu_coreboot): Likewise.
10740 (i386_coreboot_multiboot): Likewise.
10741 (i386_pc_coreboot_multiboot_qemu): Likewise.
10742 (x86_noefi_mips): Likewise.
10743 (noieee1275): Likewise.
10744 (ieee1275_mips): Likewise.
10745 (noemu_noieee1275): Likewise.
10746 (cmos): New group.
10747 (usb): Likewise.
10748 (videoinkernel): Likewise.
10749 (videomodules): Likewise.
eefe8abd 10750 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
10751 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10752 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10753 include/grub/loader.h, include/grub/msdos_partition.h,
10754 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10755 include/grub/machine/console.h, include/grub/machine/vga.h,
10756 include/grub/machine/vbe.h, include/grub/machine/init.h,
10757 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10758 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 10759 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
10760 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10761 * grub-core/Makefile.core.def (kernel): Explicit the source for
10762 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10763 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10764 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10765 Use videoinkernel tag.
10766 (usb): Enable on all usb.
10767 (usbserial_common): Likewise.
10768 (usbserial_pl2303): Likewise.
10769 (usbserial_ftdi): Likewise.
10770 (uhci): Enable on all x86.
10771 (ohci): Enable on all pci.
10772 (cmostest): Enable on all CMOS.
10773 (acpi): Include commands/acpi.c on all platforms.
10774 (halt): Add relevant lib/*/halt.c.
10775 (hdparm): Enable on all pci.
10776 (lspci): Likewise.
10777 (usbtest): Enable on all usb.
10778 (ata): Enable on all pci.
10779 (ata_pthru): Likewise.
10780 (usbms): Enable on all usb.
10781 (usb_keyboard): Likewise.
10782 (font): Use tag videomodules.
10783 (bufio): Likewise.
10784 (datetime): Use tag cmos. Enable on all noemu.
10785 (mmap): Use tags common and x86.
10786 (gfxterm): Use tag videomodules.
10787 (bitmap): Likewise.
10788 (bitmap_scale): Likewise.
10789 (video_fb): Likewise.
10790 (video): Likewise.
10791 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10792 adjust padding accordingly. All users updated.
10793 (grub_ohci_transaction): Fix bad format specification.
10794 (GRUB_MOD_INIT): Add asserts for struct size.
10795 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10796 (grub_alloc_td): Likewise.
10797 (grub_free_queue): Likewise.
10798 (grub_uhci_transfer): Likewise.
10799 (grub_uhci_transaction): Fix bad format specification.
10800 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10801 (grub_usb_bulk_readwrite): Likewise.
10802 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10803 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10804 Made static.
10805 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10806 Made static.
10807 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10808 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10809 Transformed into C.
10810 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10811 Moved from here ...
10812 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10813 ... here. Transformed into C. Made static.
10814 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10815 Moved from here ...
10816 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10817 ... here. Transformed into C. Made static.
10818 * grub-core/kern/i386/pc/startup.S
10819 (grub_biosdisk_check_int13_extensions): Moved from here ...
10820 * grub-core/disk/i386/pc/biosdisk.c
10821 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10822 Made static.
10823 * grub-core/kern/i386/pc/startup.S
10824 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10825 * grub-core/disk/i386/pc/biosdisk.c
10826 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10827 Transformed into C. Made static.
10828 * grub-core/kern/i386/pc/startup.S
10829 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10830 * grub-core/disk/i386/pc/biosdisk.c
10831 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10832 Transformed into C. Made static.
10833 * grub-core/kern/i386/pc/startup.S
10834 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10835 * grub-core/disk/i386/pc/biosdisk.c
10836 (grub_biosdisk_get_diskinfo_standard): ... here.
10837 Transformed into C. Made static.
10838 * grub-core/kern/i386/pc/startup.S
10839 (grub_biosdisk_get_num_floppies): Moved from here ...
10840 * grub-core/disk/i386/pc/biosdisk.c
10841 (grub_biosdisk_get_num_floppies): ... here.
10842 Transformed into C. Made static.
10843 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10844 New function.
10845 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10846 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10847 Transformed into C. Made static.
10848 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10849 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10850 Transformed into C. Made static.
10851 * grub-core/kern/i386/ieee1275/init.c: Removed.
10852 * grub-core/kern/i386/misc.S: Likewise.
10853 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10854 Splitted from here ...
10855 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10856 Transformed into C. Made static. All users updated.
10857 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10858 Transformed into C. Made static. All users updated.
10859 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10860 Moved from here...
10861 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10862 Transformed into C. Made static. All users updated.
10863 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10864 Moved from here...
10865 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10866 Transformed into C. Made static. All users updated.
10867 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10868 Removed (replaced by C version).
10869 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10870 Moved from here...
10871 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10872 Transformed into C. Made static.
10873 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10874 Moved from here...
10875 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10876 ... here. Transformed into C.
10877 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10878 Moved from here...
10879 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10880 ... here. Transformed into C.
10881 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10882 Moved from here...
10883 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10884 ... here. Transformed into C. Made static.
10885 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10886 Moved from here...
10887 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10888 ... here. Transformed into C.
21ed554b
VS
10889 * grub-core/kern/i386/pc/startup.S
10890 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10891 * grub-core/video/i386/pc/vbe.c
10892 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
10893 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10894 Moved from here...
10895 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10896 ... here. Transformed into C.
10897 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10898 Moved from here...
10899 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10900 ... here. Transformed into C.
10901 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10902 Moved from here...
10903 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10904 ... here. Transformed into C.
10905 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10906 Moved from here...
10907 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10908 ... here. Transformed into C.
10909 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10910 Moved from here...
10911 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10912 ... here. Transformed into C. Made static.
10913 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10914 Moved from here...
10915 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10916 ... here. Transformed into C. Made static.
10917 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10918 Moved from here...
10919 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10920 ... here. Transformed into C. Made static.
10921 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10922 pxe_rm_entry as third argument.
10923 (grub_bios_interrupt): New function.
10924 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10925 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10926 of calling grub_stop.
10927 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10928 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10929 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10930 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10931 * grub-core/lib/i386/halt.c: Moved from here ...
10932 * grub-core/lib/i386/halt.c: ... here.
10933 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10934 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10935 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10936 grub_stop_floppy.
10937 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10938 * include/grub/i386/coreboot/init.h: Removed.
10939 * include/grub/i386/multiboot/init.h: Likewise.
10940 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10941 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10942 * include/grub/i386/pc/int.h: New file.
10943 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10944 (grub_pxe_scan): Removed.
10945 (grub_pxe_call): Update prototype.
10946 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10947 prototypes.
10948 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10949 * include/grub/i386/qemu/init.h: Removed.
10950 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10951 noreturn.
10952 (grub_halt): Likewise.
10953 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10954 (grub_reboot): Likewise.
10955 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10956 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
10957 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10958
215dd471
RM
109592010-08-30 Robert Millan <rmh@gnu.org>
10960
10961 * NEWS: Document addition of ZFS support in `grub-install' and
10962 `grub-mkconfig'.
10963
ebd65b82
BC
109642010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10965
10966 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10967 dprintf output.
10968
11721d19
VS
109692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 Remove leftover embedding of font objects.
10972
10973 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10974 * util/grub-install.in (font): Removed.
10975 * util/grub-mkimage.c (generate_image): Remove font support. All users
10976 updated.
10977
37837d4e
VS
109782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 Remove leftover embedding of font objects.
10981
10982 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10983 * util/grub-install.in (font): Removed.
10984 * util/grub-mkimage.c (generate_image): Remove font support. All users
10985 updated.
10986
b4c1aae0
VS
109872010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 10990 Reported by: Ian Turner
b4c1aae0 10991
8920a08d
VS
109922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10995 timeout to avoid indefinite boot stalling.
10996
f21db033
VS
109972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
11000 (grub_env_write_color_highlight): Likewise.
11001
9a9de209
VS
110022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * grub-core/normal/term.c (print_more): Return to normal and not
11005 to standard state after printing "---MORE---".
11006
3dca01d7
VS
110072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
11010 Mask out the bit 0x80 since it has other meaning that specifiing color.
11011
0b986c40
VS
110122010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 New relocator. Allows for more kernel support and more straightforward
11015 loader writing.
11016
11017 * Makefile.am (BOOTTARGET): New variable.
11018 (QEMU32): Likewise.
11019 (linux.init.x86_64): New target.
11020 (linux.init.i386): Likewise.
11021 (multiboot.elf): Likewise.
11022 (kfreebsd.elf): Likewise.
11023 (kfreebsd.aout): Likewise.
11024 (pc-chainloader.elf): Likewise.
11025 (pc-chainloader.bin): Likewise.
11026 (ntldr.elf): Likewise.
11027 (ntldr.bin): Likewise.
11028 (multiboot2.elf): Likewise.
11029 (kfreebsd.init.x86_64): Likewise.
11030 (kfreebsd.init.i386): Likewise.
11031 (knetbsd.init.i386): Likewise.
11032 (kopenbsd.init.i386): Likewise.
11033 (knetbsd.init.x86_64): Likewise.
11034 (kopenbsd.init.x86_64): Likewise.
11035 (linux-initramfs.i386): Likewise.
11036 (linux-initramfs.x86_64): Likewise.
11037 (kfreebsd-mfsroot.i386.img): Likewise.
11038 (knetbsd.image.i386): Likewise.
11039 (kopenbsd.image.i386): Likewise.
11040 (kopenbsd.image.x86_64): Likewise.
11041 (knetbsd.miniroot-image.i386.img): Likewise.
11042 (kfreebsd-mfsroot.x86_64.img): Likewise.
11043 (knetbsd.image.x86_64): Likewise.
11044 (knetbsd.miniroot-image.x86_64.img): Likewise.
11045 (kfreebsd-mfsroot.i386.gz): Likewise.
11046 (bootcheck-kfreebsd-i386): Likewise.
11047 (kfreebsd-mfsroot.x86_64.gz): Likewise.
11048 (bootcheck-kfreebsd-x86_64): Likewise.
11049 (knetbsd.miniroot-image.i386.gz): Likewise.
11050 (bootcheck-knetbsd-i386): Likewise.
11051 (bootcheck-kopenbsd-i386): Likewise.
11052 (bootcheck-kopenbsd-x86_64): Likewise.
11053 (knetbsd.miniroot-image.x86_64.gz): Likewise.
11054 (bootcheck-knetbsd-x86_64): Likewise.
11055 (bootcheck-linux-i386): Likewise.
11056 (bootcheck-linux-x86_64): Likewise.
11057 (bootcheck-linux16-i386): Likewise.
11058 (bootcheck-linux16-x86_64): Likewise.
11059 (bootcheck-multiboot): Likewise.
11060 (bootcheck-multiboot2): Likewise.
11061 (bootcheck-kfreebsd-aout): Likewise.
11062 (bootcheck-pc-chainloader): Likewise.
11063 (bootcheck-ntldr): Likewise.
11064 (CLEANFILES): Add new targets.
11065 (BOOTCHECKS): New variable.
11066 (.PHONY): Add bootchecks.
11067 (SUCCESSFUL_BOOT_STRING): New variable.
11068 (BOOTCHECK_TIMEOUT): Likewise.
11069 (bootcheck): New target
11070 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
11071 * configure.ac: Correct efiemu excuse.
11072 * docs/grub.texi (Supported kernels): New chapter.
11073 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
11074 include/grub/mm_private.h. Simplify inclusion of
11075 include/grub/boot.h, include/grub/loader.h
11076 and include/grub/msdos_partition.h
11077 (KERNEL_HEADER_FILES) [i386_coreboot]:
11078 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
11079 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
11080 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
11081 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
11082 include/grub/machine/loader.h.
11083 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
11084 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
11085 extra_dist.
11086 (pci.mod): Enable on i386-multiboot.
11087 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
11088 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
11089 i386-qemu.
11090 (relocator.mod): Rewritten.
11091 (aout.mod): Enable on all x86.
11092 (bsd.mod): Likewise.
11093 (ntldr.mod): New module.
11094 (linux.mod): Use loader/i386/linux.c on all x86.
11095 (xnu.mod): Enable on all x86.
11096 (vga_text.mod): disable on EFI and QEMU.
11097 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
11098 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
11099 * grub-core/efiemu/loadcore.c: Likewise.
11100 * grub-core/efiemu/main.c: Likewise.
11101 (grub_efiemu_exit_boot_services): Removed.
11102 (grub_efiemu_finish_boot_services): Likewise.
11103 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
11104 function.
11105 * grub-core/efiemu/i386/nocfgtables.c: New file.
11106 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
11107 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
11108 (grub_efi_finish_boot_services): Moved from here ...
11109 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
11110 Fille finish memory map and related data.
11111 (finish_mmap_buf): New variable.
11112 (grub_efi_uintn_t finish_mmap_size): Likewise.
11113 (grub_efi_uintn_t finish_key): Likewise.
11114 (grub_efi_uintn_t finish_desc_size): Likewise.
11115 (grub_efi_uint32_t finish_desc_version): Likewise.
11116 (grub_efi_is_finished): Likewise.
11117 (grub_efi_get_memory_map): Use saved memory map if EFI is already
11118 finished.
11119 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
11120 (grub_elf64_phdr_iterate): Likewise.
11121 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
11122 (grub_os_area_size): Likewise.
11123 (grub_machine_init): Don't reserve os area.
11124 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
11125 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
11126 * grub-core/kern/i386/loader.S: Removed.
11127 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
11128 (grub_os_area_size): Likewise.
11129 (grub_machine_init): Don't reserve os area.
11130 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11131 Don't call grub_dl_unload_all.
11132 Don't include loader.S.
11133 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
11134 Declare the memory after _end as available.
11135 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 11136 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 11137 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
11138 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
11139 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
11140 * include/grub/mm_private.h (grub_mm_header): ... here.
11141 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
11142 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
11143 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
11144 (grub_mm_region): ..here. Removed addr. Added pre_size.
11145 All users updated.
11146 * grub-core/kern/mm.c (base): Renamed to ...
11147 (grub_mm_base): ... this. Made global.
11148 (grub_real_malloc): Alloc from end of region.
11149 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
11150 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
11151 * grub-core/kern/powerpc/cache_flush.S: ... here.
11152 * grub-core/lib/efi/relocator.c: New file.
11153 * grub-core/lib/i386/relocator.c: Rewritten.
11154 * grub-core/lib/i386/relocator16.S: New file.
11155 * grub-core/lib/i386/relocator32.S: Likewise.
11156 * grub-core/lib/i386/relocator64.S: Likewise.
11157 * grub-core/lib/i386/relocator_asm.S: Rewritten.
11158 * grub-core/lib/i386/relocator_common.S: New file.
11159 * grub-core/lib/ieee1275/relocator.c: Likewise.
11160 * grub-core/lib/mips/relocator.c: Rewritten.
11161 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
11162 stylistic adjustments.
11163 * grub-core/lib/powerpc/relocator.c: New file.
11164 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
11165 * grub-core/lib/relocator.c: Rewritten.
11166 * grub-core/lib/x86_64/relocator_asm.S: New file.
11167 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
11168 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
11169 (bsd_tag): New struct.
11170 (tags): New variable.
11171 (tags_last): Likewise.
11172 (netbsd_module): New struct.
11173 (netbsd_mods): New variable.
11174 (netbsd_mods_last): Likewise.
11175 (openbsd_opts): New parameter "serial".
11176 (OPENBSD_SERIAL_ARG): New definition.
11177 (netbsd_opts): New parameter "serial".
11178 (NETBSD_SERIAL_ARG): New definition.
11179 (grub_freebsd_add_meta): Reorganised into ...
11180 (grub_bsd_add_meta): ...this. All users updated.
11181 (grub_freebsd_add_mmap): Reorganised into ...
11182 (generate_e820_mmap): ...this...
11183 (grub_bsd_add_mmap): ...and this. All users updated.
11184 (grub_freebsd_list_modules): Use tags.
11185 (grub_netbsd_add_meta_module): New function.
11186 (grub_netbsd_list_modules): Likewise.
11187 (grub_freebsd_boot): Use relocator and finish EFI.
11188 (grub_openbsd_boot): Likewise.
11189 (grub_netbsd_setup_video): New function.
11190 (grub_netbsd_add_modules): Likewise.
11191 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
11192 and finish EFI.
11193 (grub_bsd_unload): Unload tags.
11194 (grub_bsd_load_aout): Use relocator.
11195 (grub_bsd_elf32_size_hook): New function.
11196 (grub_bsd_elf32_hook): Use relocator.
11197 (grub_bsd_elf64_size_hook): New function.
11198 (grub_bsd_elf64_hook): Use relocator.
11199 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
11200 (grub_bsd_load): Zero-out openbsd_ramdisk.
11201 (grub_bsd_load): Use relocator.
11202 (grub_cmd_openbsd): Support serial.
11203 (grub_cmd_netbsd): Support modules.
11204 (grub_cmd_freebsd_module): Use relocator.
11205 (grub_netbsd_module_load): New function.
11206 (grub_cmd_netbsd_module): Likewise.
11207 (grub_cmd_openbsd_ramdisk): Likewise.
11208 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
11209 kopenbsd_ramdisk.
11210 (GRUB_MOD_FINI): Unregister new commands.
11211 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
11212 (grub_freebsd_load_elfmodule_obj): Use relocator.
11213 (grub_freebsd_load_elfmodule): Likewise.
11214 (grub_freebsd_load_elf_meta): Likewise.
11215 (grub_netbsd_load_elf_meta): New function.
11216 (grub_openbsd_find_ramdisk): Likewise.
11217 * grub-core/loader/i386/bsd_helper.S: Removed.
11218 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
11219 * grub-core/loader/i386/bsd_trampoline.S: Removed.
11220 * grub-core/loader/i386/efi/linux.c: Likewise.
11221 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
11222 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
11223 (DEFAULT_VIDEO_MODE): Likewise.
11224 (real_mode_target): New variable.
11225 (prot_mode_target): Likewise.
11226 (initrd_mem_target): Likewise.
11227 (relocator): Likewise.
11228 (efi_mmap_buf): Likewise.
11229 (efi_mmap_size): Likewise.
11230 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
11231 (free_pages): Use relocator.
11232 (allocate_pages): Account for efi_mmap and use relocator. Return error.
11233 (grub_linux_setup_video): Return error.
11234 (grub_linux_trampoline_start): Removed.
11235 (grub_linux_trampoline_end): Likewise.
11236 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
11237 andd video parameters depending on firmware.
11238 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
11239 [GRUB_MACHINE_EFI]: Pass EFI parameters.
11240 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
11241 (grub_cmd_initrd): Use relocator.
11242 * grub-core/loader/i386/linux_trampoline.S: Removed.
11243 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
11244 (elf_sec_entsize): Likewise.
11245 (elf_sec_shstrndx): Likewise.
11246 (elf_sections): Likewise.
11247 (grub_multiboot_load): Use relocator.
11248 (grub_multiboot_get_mbi_size): Account for sections.
11249 (grub_multiboot_make_mbi): Use relocator and support sections.
11250 (grub_multiboot_add_elfsyms): New function.
11251 (grub_multiboot_free_mbi): Free sections.
11252 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
11253 (grub_linux_real_target): Likewise.
11254 (grub_linux_real_chunk): Likewise.
11255 (grub_linux16_prot_size): Likewise.
11256 (grub_linux16_boot): Use relocator.
11257 (grub_linux_unload): Unload relocator.
11258 (grub_cmd_linux): Use relocator.
11259 (grub_cmd_initrd): Likewise.
11260 * grub-core/loader/i386/pc/ntldr.c: New file.
11261 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
11262 Don't try to guess CPU frequency.
11263 (grub_xnu_set_video): Stretch bitmap.
11264 (grub_xnu_boot): Use relocator.
11265 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
11266 (grub_linux_unload): Free relocator.
11267 (grub_linux_load32): Use relocator.
11268 (grub_linux_load64): Likewise.
11269 (grub_cmd_initrd): Likewise.
11270 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
11271 (grub_multiboot_unload): Unload relocator.
11272 (grub_cmd_multiboot): Use relocator.
11273 (grub_cmd_module): Likewise.
11274 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
11275 Use relocator and support sections.
11276 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
11277 (elf_sec_entsize): Likewise.
11278 (elf_sec_shstrndx): Likewise.
11279 (elf_sections): Likewise.
11280 (grub_multiboot_load): Use relocator.
11281 (grub_multiboot_get_mbi_size): Account for sections.
11282 (grub_multiboot_make_mbi): Use relocator and support sections.
11283 (grub_multiboot_add_elfsyms): New function.
11284 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
11285 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
11286 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
11287 Prototype changed. All users updated.
11288 (grub_xnu_align_heap): Simplified.
11289 (grub_xnu_writetree_toheap): Likewise.
11290 (grub_xnu_unload): Unload relocator.
11291 (grub_cmd_xnu_kernel): Use relocator.
11292 (grub_cmd_xnu_kernel64): Likewise.
11293 (grub_xnu_register_memory): Simplified.
11294 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
11295 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
11296 EFI is finished.
11297 (grub_console_checkkey): Likewise.
11298 (grub_console_getkey): Likewise.
11299 (grub_console_getwh): Likewise.
11300 (grub_console_getxy): Likewise.
11301 (grub_console_gotoxy): Likewise.
11302 (grub_console_cls): Likewise.
11303 (grub_console_setcolorstate): Likewise.
11304 (grub_console_setcursor): Likewise.
11305 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
11306 * grub-core/tests/boot/kbsd.init-i386.S: New file.
11307 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
11308 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
11309 * grub-core/tests/boot/kernel-8086.S: Likewise.
11310 * grub-core/tests/boot/kernel-i386.S: Likewise.
11311 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
11312 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
11313 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
11314 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
11315 * grub-core/tests/boot/knetbsd.cfg: Likewise.
11316 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
11317 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
11318 * grub-core/tests/boot/linux.cfg: Likewise.
11319 * grub-core/tests/boot/linux.init-i386.S: Likewise.
11320 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
11321 * grub-core/tests/boot/linux16.cfg: Likewise.
11322 * grub-core/tests/boot/multiboot.cfg: Likewise.
11323 * grub-core/tests/boot/multiboot2.cfg: Likewise.
11324 * grub-core/tests/boot/ntldr.cfg: Likewise.
11325 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
11326 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
11327 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
11328 New definition.
11329 * include/grub/dl.h (grub_dl_unload_all): Removed.
11330 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
11331 (grub_efi_finish_boot_services): Change prototype.
11332 (grub_efi_is_finished): New variable.
11333 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
11334 Changed prototype.
11335 (grub_efiemu_finish_boot_services): Removed.
11336 (grub_machine_efiemu_init_tables): New prototype.
11337 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
11338 (grub_elf64_phdr_iterate): Likewise.
11339 * include/grub/i386/bsd.h: Include relocator.h.
11340 (freebsd_tag_header): New struct.
11341 (grub_openbsd_bios_mmap): Removed.
11342 (grub_unix_real_boot): Removed.
11343 (grub_freebsd_load_elfmodule32): Changed prototype.
11344 (grub_freebsd_load_elfmodule_obj64): Likewise.
11345 (grub_freebsd_load_elf_meta32): Likewise.
11346 (grub_freebsd_load_elf_meta64): Likewise.
11347 (grub_freebsd_add_meta): Removed.
11348 (grub_netbsd_load_elf_meta32): New prototype.
11349 (grub_netbsd_load_elf_meta64): Likewise.
11350 (grub_bsd_add_meta): Likewise.
11351 (grub_openbsd_ramdisk_descriptor): New struct.
11352 (grub_openbsd_find_ramdisk32): New prototype.
11353 (grub_openbsd_find_ramdisk64): Likewise.
11354 * include/grub/i386/coreboot/loader.h: Removed.
11355 * include/grub/i386/efi/loader.h: Likewise.
11356 * include/grub/i386/ieee1275/loader.h: Likewise.
11357 * include/grub/i386/linux.h (linux_kernel_header): Change void *
11358 to grub_uint32_t.
11359 * include/grub/i386/loader.h: Removed.
11360 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
11361 value.
11362 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
11363 (grub_phys_addr_t): New type.
11364 (grub_vtop): New inline function.
11365 (grub_map_memory): Likewise.
11366 (grub_unmap_memory): Likewise.
11367 * include/grub/i386/multiboot/loader.h: Removed.
11368 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
11369 (NETBSD_BTINFO_CONSOLE): New definition.
11370 (NETBSD_BTINFO_SYMTAB): Likewise.
11371 (NETBSD_BTINFO_MODULES): Likewise.
11372 (NETBSD_BTINFO_FRAMEBUF): Likewise.
11373 (grub_netbsd_bootinfo): New struct.
11374 (grub_netbsd_btinfo_common): Use explicit bitsize.
11375 (grub_netbsd_btinfo_mmap_entry): Removed.
11376 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
11377 (grub_netbsd_btinfo_bootdisk): New struct.
11378 (grub_netbsd_btinfo_symtab): Likewise.
11379 (grub_netbsd_btinfo_serial): Likewise.
11380 (grub_netbsd_btinfo_modules): Likewise.
11381 (grub_netbsd_btinfo_framebuf): Likewise.
11382 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
11383 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
11384 Likewise.
11385 (grub_openbsd_bootargs): Use explicit bitsize.
11386 (grub_openbsd_bootarg_console): New struct.
11387 (GRUB_OPENBSD_COM_MAJOR): New definition.
11388 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
11389 * include/grub/i386/pc/efiemu.h: Removed.
11390 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
11391 * include/grub/i386/qemu/loader.h: Removed.
11392 * include/grub/i386/relocator.h: Rewritten.
11393 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
11394 * include/grub/mips/memory.h: New file.
11395 * include/grub/mips/multiboot.h: Rewritten.
11396 * include/grub/mips/relocator.h: Rewritten.
11397 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
11398 (grub_vtop): New function.
11399 (grub_map_memory): Likewise.
11400 (grub_unmap_memory): Likewise.
11401 * include/grub/misc.h (ALIGN_DOWN): New definition.
11402 * include/grub/mm.h (grub_mm_check_real): New proto.
11403 (GRUB_MM_CHECK): New definition.
11404 * include/grub/mm_private.h: New file.
11405 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
11406 (grub_multiboot_get_mbi_size): Removed.
11407 (grub_multiboot_make_mbi): Change prottype.
11408 (grub_multiboot_set_accepts_video): New proto.
11409 (grub_multiboot_add_elfsyms): Likewise.
11410 (grub_multiboot_payload_eip): New variable.
11411 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
11412 New prototype.
11413 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
11414 New definition.
11415 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
11416 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
11417 * include/grub/powerpc/ieee1275/loader.h: Removed.
11418 * include/grub/powerpc/memory.h: New file.
11419 * include/grub/powerpc/relocator.h: Likewise.
11420 * include/grub/relocator.h: Likewise.
11421 * include/grub/relocator_private.h: Likewise.
11422 * include/grub/sparc64/ieee1275/loader.h: Removed.
11423 * include/grub/x86_64/memory.h: New file.
11424 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
11425 (grub_xnu_heap_malloc): Likewise.
11426 (grub_xnu_heap_real_start): Removed.
11427 (grub_xnu_heap_start): Likewise.
11428 (grub_xnu_relocator): New variable.
11429 (grub_xnu_heap_target_start): Likewise.
11430 * tests/util/grub-shell.in: Support non-pc.
11431 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 11432
5303b85d
VS
114332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
11436 on malloc error.
11437 (grub_bidi_logical_to_visual): Check that malloc succeded.
11438 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
11439 puts.
11440 (grub_xputs_normal): Likewise.
11441
d768d159
VS
114422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
11445 extra_dist.
11446
114472010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * grub-core/efiemu/runtime/efiemu.sh: Removed.
11450
5bf84df4
VS
114512010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
11454
3626810e
VS
114552010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
11458 dprintf.
11459
a7363f53
BC
114602010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
11461
11462 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
11463
902f75f6
VS
114642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11465
11466 * grub-core/normal/term.c (print_more): Fix a memory leak.
11467 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
11468 (grub_xputs_normal): Likewise.
11469
3c707967
VS
114702010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
11473 the begining of the string
11474
2053cc07
VS
114752010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * grub-core/script/script.c (grub_script_parse): Free parsed on
11478 failure.
11479
46422ebf
VS
114802010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
11483 on failure.
11484
9e0fa3f6
VS
114852010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
11488 return.
11489
3393cf16
VS
114902010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
11493 (scroll_up): Fix a memory leak.
11494
b17540cb
VS
114952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
11498 errors.
11499
67140446
VS
115002010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 Handle USB pendrives exposed as floppies.
11503
11504 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
11505 floppy.
11506 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11507 Check for partitions on all devices.
11508
e35e46fc
VS
115092010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
11512 (readkey): Likewise.
11513
d24c6190
BC
115142010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11515
11516 Multiple variable names support to "export" command.
11517
11518 * normal/context.c (grub_cmd_export): "export" command supports
11519 multiple variable names.
11520
04ddcc6a
ST
115212010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
11522
11523 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
11524 --target=drive output to Mach device name.
11525
0c8b61d8
BC
115262010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11527
11528 New Automake based build system for GRUB.
11529
11530 * ABOUT-NLS: New file.
11531 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
11532 in Makefile.util.def file.
11533 * Makefile.util.def: New file. Autogen build definitions file for
11534 GRUB host utils.
11535 * conf/Makefile.common: New file. Common variables for GRUB host
11536 utils and target modules.
11537 * conf/Makefile.extra-dist: New file. Extra files for make dist.
11538 * docs/Makefile.am: New file. Automake file for docs.
11539 * gentpl.py: New file. Python script to generate Autogen
11540 template.
11541 * grub-core/Makefile.am: New file. GRUB target modules' rules
11542 that doesn't fit in Makefile.core.def file.
11543 * grub-core/Makefile.core.def: New file. Autogen build
11544 definitions file for GRUB target modules.
11545 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
11546 specific setjmp.S file.
11547 * po/Makefile.am: New file.
11548
11549 * .bzrignore: New ignores.
11550 * INSTALL: New requirements, without Ruby.
11551 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
11552 * autogen.sh: Updated to invoke autogen as necessary.
11553 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
11554 and defines for Automake conditionals.
11555 * geninit.sh: Refactoring.
11556
11557 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
11558 necessary.
11559 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
11560 New prototype.
11561
11562 * include/grub/test.h: Fix functional test modules' naming.
11563 * grub-core/tests/example_functional_test.c: Fix test module name.
11564
11565 * util/misc.c: Hosted versions' of grub functions for libgrub.a
11566 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
11567 * util/grub-editenv.c: Likewise.
11568 * util/grub-fstest.c: Likewise.
11569 * util/grub-mkdevicemap.c: Likewise.
11570 * util/grub-mkfont.c: Likewise.
11571 * util/grub-mkimage.c: Likewise.
11572 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11573 * util/grub-probe.c: Likewise.
11574 * util/grub-script-check.c: Likewise.
11575 * util/i386/pc/grub-setup.c: Likewise.
11576 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11577
11578 * tests/util/grub-shell.in: Fix override directory path.
11579 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
11580 * util/import_gcry.py: Create Makefile.gcry.def file instead.
11581
11582 * util/lvm.c: Update #includes.
11583 * util/raid.c: Likewise.
11584 * util/resolve.c: Likewise.
11585 * grub-core/bus/emu/pci.c: Likewise.
11586 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
11587 * grub-core/lib/posix_wrap/string.h: Likewise.
11588 * grub-core/kern/emu/main.c: Likewise.
11589
11590 * grub-core/gensymlist.sh: New file. Script for generating kernel
11591 symbols file.
11592 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
11593
11594 * grub-core/gentrigtables.c: Fix unused variable warnings.
11595
11596 * Makefile.in: Removed.
11597 * conf/any-emu.rmk: Removed.
11598 * conf/common.rmk: Removed.
11599 * conf/i386-coreboot.rmk: Removed.
11600 * conf/i386-efi.rmk: Removed.
11601 * conf/i386-ieee1275.rmk: Removed.
11602 * conf/i386-multiboot.rmk: Removed.
11603 * conf/i386-pc.rmk: Removed.
11604 * conf/i386-qemu.rmk: Removed.
11605 * conf/i386.rmk: Removed.
11606 * conf/mips-yeeloong.rmk: Removed.
11607 * conf/mips.rmk: Removed.
11608 * conf/powerpc-ieee1275.rmk: Removed.
11609 * conf/sparc64-ieee1275.rmk: Removed.
11610 * conf/tests.rmk: Removed.
11611 * conf/x86-efi.rmk: Removed.
11612 * conf/x86_64-efi.rmk: Removed.
11613 * gendistlist.sh: Removed.
11614 * geninitheader.sh: Removed.
11615 * genkernsyms.sh.in: Removed.
11616 * genmk.rb: Removed.
11617 * gensymlist.sh.in: Removed.
11618 * mkinstalldirs: Removed.
11619 * boot: Moved ...
11620 * grub-core/boot: ... to here.
11621 * bus: Moved ...
11622 * grub-core/bus: ... to here.
11623 * commands: Moved ...
11624 * grub-core/commands: ... to here.
11625 * disk: Moved ...
11626 * grub-core/disk: ... to here.
11627 * efiemu: Moved ...
11628 * grub-core/efiemu: ... to here.
11629 * font: Moved ...
11630 * grub-core/font: ... to here.
11631 * fs: Moved ...
11632 * grub-core/fs: ... to here.
11633 * gencmdlist.sh: Moved ...
11634 * grub-core/gencmdlist.sh: ... to here.
11635 * genemuinit.sh: Moved ...
11636 * grub-core/genemuinit.sh: ... to here.
11637 * genemuinitheader.sh: Moved ...
11638 * grub-core/genemuinitheader.sh: ... to here.
11639 * genfslist.sh: Moved ...
11640 * grub-core/genfslist.sh: ... to here.
11641 * genhandlerlist.sh: Moved ...
11642 * grub-core/genhandlerlist.sh: ... to here.
11643 * genmoddep.awk: Moved ...
11644 * grub-core/genmoddep.awk: ... to here.
11645 * genmodsrc.sh: Moved ...
11646 * grub-core/genmodsrc.sh: ... to here.
11647 * genpartmaplist.sh: Moved ...
11648 * grub-core/genpartmaplist.sh: ... to here.
11649 * genparttoollist.sh: Moved ...
11650 * grub-core/genparttoollist.sh: ... to here.
11651 * genterminallist.sh: Moved ...
11652 * grub-core/genterminallist.sh: ... to here.
11653 * gentrigtables.c: Moved ...
11654 * grub-core/gentrigtables.c: ... to here.
11655 * genvideolist.sh: Moved ...
11656 * grub-core/genvideolist.sh: ... to here.
11657 * gettext: Moved ...
11658 * grub-core/gettext: ... to here.
11659 * gfxmenu: Moved ...
11660 * grub-core/gfxmenu: ... to here.
11661 * gnulib: Moved ...
11662 * grub-core/gnulib: ... to here.
11663 * hello: Moved ...
11664 * grub-core/hello: ... to here.
11665 * hook: Moved ...
11666 * grub-core/hook: ... to here.
11667 * io: Moved ...
11668 * grub-core/io: ... to here.
11669 * kern: Moved ...
11670 * grub-core/kern: ... to here.
11671 * lib: Moved ...
11672 * grub-core/lib: ... to here.
11673 * loader: Moved ...
11674 * grub-core/loader: ... to here.
11675 * mmap: Moved ...
11676 * grub-core/mmap: ... to here.
11677 * normal: Moved ...
11678 * grub-core/normal: ... to here.
11679 * partmap: Moved ...
11680 * grub-core/partmap: ... to here.
11681 * parttool: Moved ...
11682 * grub-core/parttool: ... to here.
11683 * script: Moved ...
11684 * grub-core/script: ... to here.
11685 * term: Moved ...
11686 * grub-core/term: ... to here
11687 * tests/example_functional_test.c: Moved ...
11688 * grub-core/tests/example_functional_test.c: ... to here.
11689 * tests/lib/functional_test.c: Moved ...
11690 * grub-core/tests/lib/functional_test.c: ... to here.
11691 * tests/lib/test.c: Moved ...
11692 * grub-core/tests/lib/test.c: ... to here.
11693 * video: Moved ...
11694 * grub-core/video: ... to here.
11695
645586e6
BC
116962010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11697
11698 Replace --enable-grub-emu-modules with grub-emu-lite.
11699
11700 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
11701 cache.S.
11702
11703 * include/grub/emu/misc.h (grub_emu_init): New prototype.
11704 * kern/emu/full.c: New file. For grub-emu specific initialization.
11705 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
11706 * kern/emu/main.c: Call initialization function grub_emu_init.
11707
11708 * Makefile.in: Include grub-emu-lite in install.
11709 * commands/parttool.c: Use grub_no_autoload to differentiate
11710 between grub-emu and grub-emu-lite.
11711 * include/grub/misc.h: New variable grub_no_autoload.
11712
11713 * conf/any-emu.rmk: New rules for grub-emu-lite.
11714 * configure.ac: Remove --enable-grub-emu-modules.
11715 * genmk.rb: Cleanup unnecessary rules.
11716 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
11717
11718 * normal/main.c: Don't load list files on grub-emu-lite.
11719 * util/misc.c (grub_arch_sync_caches): Removed.
11720
f86a4030
CW
117212010-08-23 Colin Watson <cjwatson@ubuntu.com>
11722
11723 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11724 grub-mkimage rather than grub-mkelfimage.
11725 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11726
06776944
VS
117272010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11728
11729 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11730 a key after CapsLock or NumLock. It's just a qemu bug.
11731
df262419
VS
117322010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11735 needed by libusb wrapper.
11736
b40ea81b
ST
117372010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11738
11739 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11740
dee50575
VS
117412010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11744 --nounzip is passed.
11745
fb1d7b79
VS
117462010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 USB hotunplugging and USB serial support.
11749
11750 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11751 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11752 (grub_uhci_transfer): Respect timeout and set *actual.
11753 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11754 non-standard length.
11755 (grub_usb_device_attach): Autoload modules.
11756 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11757 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11758 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11759 users updated.
11760 (grub_usb_add_hub): Fill nports and children.
11761 (attach_root_port): Receive hub instead of controller.
11762 All users updated. Fill hub->devices.
11763 (grub_usb_root_hub): Allocate hub->devices.
11764 (detach_device): New function.
11765 (poll_nonroot_hub): Fill children and detach devices.
11766 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11767 actual arguments. All users updated.
11768 (grub_usb_bulk_read_extended): New function.
11769 * bus/usb/serial/common.c: New file.
11770 * bus/usb/serial/ftdi.c: Likewise.
11771 * bus/usb/serial/pl2303.c: Likewise.
11772 * commands/terminal.c (handle_command): Support wildcard.
11773 * commands/usbtest.c: Output "Unknown" instead of empty string.
11774 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11775 (usbserial_common_mod_SOURCES): New variable.
11776 (usbserial_common_mod_CFLAGS): Likewise.
11777 (usbserial_common_mod_LDFLAGS): Likewise.
11778 (pkglib_MODULES): Add usbserial_pl2303.mod.
11779 (usbserial_pl2303_mod_SOURCES): New variable.
11780 (usbserial_pl2303_mod_CFLAGS): Likewise.
11781 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11782 (pkglib_MODULES): Add usbserial_ftdi.mod.
11783 (usbserial_ftdi_mod_SOURCES): New variable.
11784 (usbserial_ftdi_mod_CFLAGS): Likewise.
11785 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11786 (pkglib_MODULES): Add serial.mod.
11787 (serial_mod_SOURCES): New variable.
11788 (serial_mod_CFLAGS): Likewise.
11789 (serial_mod_LDFLAGS): Likewise.
11790 * conf/i386-pc.rmk: Likewise.
11791 * conf/mips-yeeloong.rmk: Likewise.
11792 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11793 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11794 * disk/usbms.c (first_available_slot): New variable.
11795 (grub_usbms_attach): Don't reuse free slots due to potential cache
11796 problems.
11797 * include/grub/serial.h: Moved to ..
11798 * include/grub/ns8250.h: ...this.
11799 * include/grub/serial.h: New file.
11800 * include/grub/term.h (grub_term_poll_usb): New variable.
11801 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11802 readkey. All users updated.
11803 (grub_terminfo_output_state): Pass term to put.
11804 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11805 (grub_usb_controller_dev): Add timeout and actual arguments to
11806 transfer. All users updated.
11807 (grub_usb_interface): New field detach_data.
11808 (grub_usb_device): New fields children and nports.
11809 (grub_usb_ep_type_t): New type.
11810 (grub_usb_get_ep_type): New function.
11811 (grub_usb_bulk_read_extended): Likewise.
11812 * include/grub/usbdesc.h (grub_usb_desc): New type.
11813 * include/grub/usbserial.h: New file.
11814 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11815 * kern/term.c (grub_term_poll_usb): New variable.
11816 (grub_getkey): Call grub_term_poll_usb if set.
11817 (grub_checkkey): Likewise.
11818 (grub_getkeystatus): Likewise.
11819 * term/serial.c: Moved controller-specific parts to ...
11820 * term/ns8250.c: ... here.
11821 * term/serial.c: Mostly rewritten.
11822 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11823 according to spec.
11824
21a313de
RM
118252010-08-20 Robert Millan <rmh@gnu.org>
11826
11827 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11828 a separate module and maybe other interesting combinations.
11829
11830 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11831 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11832 (kfreebsd_entry): Add generic filesystem module load routine.
11833 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11834
63c734a6
CW
118352010-08-20 Colin Watson <cjwatson@ubuntu.com>
11836
11837 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11838 "numcenter" (I misunderstood the purpose of this entry).
11839 * docs/grub.texi (sendkey): Likewise.
11840
c4d16542
CW
118412010-08-20 Colin Watson <cjwatson@ubuntu.com>
11842
11843 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11844 status flag options; simply omitting the option is equivalent and
11845 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11846 (keysym_table): Rename "num5numlock" to "numlock".
11847 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11848 can uniformly say that only the last of multiple `sendkey'
11849 invocations has any effect.
11850 * docs/grub.texi (sendkey): New section.
11851
93541d66
CW
118522010-08-19 Colin Watson <cjwatson@ubuntu.com>
11853
11854 * commands/i386/pc/sendkey.c (options): Fix three typos.
11855
b4ece5e1
VS
118562010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 Implement sendkey support.
11859
11860 * commands/i386/pc/sendkey.c: New file.
11861 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11862 (sendkey_mod_SOURCES): New variable.
11863 (sendkey_mod_CFLAGS): Likewise.
11864 (sendkey_mod_LDFLAGS): Likewise.
11865
51f1f5af
CW
118662010-08-18 Colin Watson <cjwatson@ubuntu.com>
11867
11868 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11869 fix warnings from Autoconf.
11870
9da94e05
CW
118712010-08-18 Colin Watson <cjwatson@ubuntu.com>
11872
11873 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11874 to avoid false positives with some assemblers that output things
11875 like "someprefix_func" as part of their output.
11876
729a0f2e
RM
118772010-08-15 Robert Millan <rmh@gnu.org>
11878
11879 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11880 errors.
11881 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11882 grub_get_libzfs_handle() errors.
11883
f3710e08
RM
118842010-08-14 Robert Millan <rmh@gnu.org>
11885
11886 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11887 filesystem is not ZFS.
11888
7a3c13de
BC
118892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11890
11891 Fix for misspelled color names defaulting to black/black (bug
11892 reported by Doug Nazar)
11893
11894 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11895 status to prototype.
11896 * normal/color.c (grub_parse_color_name_pair): Return failure
11897 status.
11898 (grub_env_write_color_normal): Ignore bad color names.
11899 (grub_env_write_color_highlight): Likewise.
11900 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11901
ab8ba50d
BC
119022010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11903
11904 "shift" command support to GRUB script.
11905
11906 * include/grub/script_sh.h (grub_script_shift): New prototype.
11907 * script/execute.c (grub_script_shift): New function.
11908 * script/main.c (grub_script_init): Register shift command.
11909 (grub_script_fini): Unregister shift command.
11910 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11911
11912 * tests/grub_script_shift.in: New testcase.
11913 * conf/tests.rmk: Rules for new testcase.
11914
4d61999e
BC
119152010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11916
11917 "continue" command support to GRUB script.
11918
11919 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11920 (grub_script_break): Continue support.
11921 * script/main.c (grub_script_init): Register continue command.
11922 (grub_script_fini): Unregister continue command.
11923
11924 * tests/grub_script_continue.in: New testcase.
11925 * conf/tests.rmk: Rules for new testcase.
11926
4df51e00
BC
119272010-08-12 BVK Chaitanya <bvk@dbook>
11928
11929 "break" command support to GRUB script.
11930
11931 * conf/common.rmk: Rule updates to grub-script-check.
11932 * include/grub/misc.h (grub_min): New function.
11933 * include/grub/script_sh.h (grub_script_init): New prototype.
11934 (grub_script_fini): New prototype.
11935 (grub_script_break): New prototype.
11936 * script/main.c (grub_script_init): New function.
11937 (grub_script_fini): New function.
11938 * script/execute.c (grub_script_break): New function.
11939 * normal/main.c: Calls to grub_script_{init,fini}.
11940 * util/grub-script-check.c (grub_script_break): New function.
11941
11942 * tests/grub_script_break.in: New testcase.
11943 * conf/tests.rmk: Rules for new test case.
11944
f12c8420
BC
119452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11946
11947 Function parameters support to GRUB script.
11948
11949 * script/yylex.l (VARIABLE): Regular expression update.
11950 * script/function.c (grub_script_function_call): Moved ...
11951 * script/execute.c (grub_script_function_call): ... to here.
11952 (grub_script_execute_arglist_to_argv): Removed.
11953 (grub_script_arglist_to_argv): New function.
11954 * script/argv.c: New file.
11955 (grub_script_argv_free): New function.
11956 (grub_script_argv_next): Likewise.
11957 (grub_script_argv_append): Likewise.
11958 (grub_script_argv_split_append): Likewise.
11959 * include/grub/script_sh.h (grub_script_argv): New struct.
11960 (grub_script_argv_free): New function.
11961 (grub_script_argv_next): Likewise.
11962 (grub_script_argv_append): Likewise.
11963 (grub_script_argv_split_append): Likewise.
11964
11965 * conf/common.rmk (normal.mod): New source script/argv.c.
11966
11967 * tests/grub_script_echo1.in: More tests.
11968 * tests/grub_script_vars1.in: Likewise.
11969 * tests/grub_script_functions.in: New test case.
11970 * conf/tests.rmk: Rules for new testcase.
11971
8022b748
BC
119722010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11973
11974 Remove grub_script_cmdblock struct.
11975
11976 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11977 * script/parser.y: Likewise.
11978 * script/execute.c: Rename cmdblock suffix to cmdlist.
11979 * script/script.c: Likewise.
11980 * util/grub-script-check.c: Likewise.
11981
79a6ba61
YB
119822010-08-11 Yves Blusseau <blusseau@zetam.org>
11983
11984 * .bzrignore: add grub-macho2img
11985
d04b9414
VS
119862010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11989
f947ab49
VS
119902010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 Remove the dump of sm712 initialisation sequence.
11993
11994 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11995 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11996 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11997 (GRUB_VGA_CR_*): Added many registers.
11998 (GRUB_VGA_SR_*): Likewise.
11999 (GRUB_VGA_GR_*): Likewise.
12000 (grub_vga_write_arx): New function.
12001 (grub_video_hw_config): New struct.
12002 (grub_vga_set_geometry): New function.
12003 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
12004 GRUB_PCI_CLASS_SUBCLASS_VGA.
12005 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
12006 * video/sm712.c (grub_sm712_write_reg): New function
12007 (grub_sm712_read_reg): Likewise.
12008 (grub_sm712_sr_write): Likewise.
12009 (grub_sm712_gr_write): Likewise.
12010 (grub_sm712_cr_write): Likewise.
12011 (grub_sm712_write_arx): Likewise.
12012 (grub_sm712_cr_shadow_write): Likewise.
12013 (grub_sm712_write_dda_lookup): Likewise.
12014 (grub_video_sm712_setup): Initialise the video rather then
12015 blindly replay the dump.
12016 (main) [TEST]: Add a routine to be able to compile as standalone for
12017 tests.
12018 * video/sm712_init.c (sm712_init): Removed.
12019 (sm712_sr_seq1): New array.
12020 (sm712_sr_seq2): Likewise.
12021
f0206638
VS
120222010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 * include/grub/vga.h: Add missing grub/pci.h include.
12025
2764da3b
YB
120262010-08-10 Yves Blusseau <blusseau@zetam.org>
12027
12028 * util/grub-macho2img.c (main): fix typo
12029
cf0c775e
VS
120302010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
12033 (grub_vga_gr_read): Likewise.
12034 (grub_vga_cr_write): Likewise.
12035 (grub_vga_cr_read): Likewise.
12036 (grub_vga_sr_write): Likewise.
12037 (grub_vga_sr_read): Likewise.
12038 (grub_vga_palette_read): Likewise.
12039 (grub_vga_palette_write): Likewise.
12040 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
12041 (grub_sm712_sr_read): New function.
12042 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
12043 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
12044
07f360e9
RM
120452010-08-09 Robert Millan <rmh@gnu.org>
12046
12047 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
12048 out unused variables on non-ZFS build.
12049
346c2072
RM
120502010-08-08 Robert Millan <rmh@gnu.org>
12051
12052 Fix path generation for sub-filesystems in ZFS.
12053
12054 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
12055 missing slash.
12056
71175420
RM
120572010-08-08 Robert Millan <rmh@gnu.org>
12058
12059 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
12060
0d8286f3
RM
120612010-08-08 Robert Millan <rmh@gnu.org>
12062
12063 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
12064 exist, issue a proper error message (rely on `ls' for translated
12065 strings).
12066
55dd2924
RM
120672010-08-08 Robert Millan <rmh@gnu.org>
12068
12069 Fix grub-probe invocation.
12070
12071 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
12072
d3dd9e80
RM
120732010-08-04 Robert Millan <rmh@gnu.org>
12074
12075 * configure.ac: Remove checks for getfsstat() and getmntany().
12076 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
12077 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
12078 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
12079 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
12080 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
12081 function.
12082 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
12083 via find_mount_point_from_dir() and getfsstat() / getmntany().
12084
0de22aa9
RM
120852010-08-04 Robert Millan <rmh@gnu.org>
12086
12087 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
12088 (grub_find_zpool_from_mount_point): Merge into ...
12089 (grub_find_zpool_from_dir): ... this.
12090 * kern/emu/misc.c: Likewise.
12091
12092 * kern/emu/misc.c
12093 (grub_make_system_path_relative_to_its_root): Replace
12094 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
12095 with grub_find_zpool_from_dir().
12096 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
12097
62858144
RM
120982010-08-04 Robert Millan <rmh@gnu.org>
12099
12100 Support OpenSolaris in ZFS device resolution.
12101
12102 * configure.ac: Check for getmntany().
12103 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
12104 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
12105 support.
12106
9dd6fd50
RM
121072010-08-03 Robert Millan <rmh@gnu.org>
12108
12109 Fix grub-emu build.
12110
12111 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
12112 * include/grub/emu/misc.h: ... here.
12113
12114 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
12115 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
12116
12117 * util/misc.c: Remove `<grub/util/libzfs.h>'.
12118 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
12119 (grub_get_libzfs_handle): Move to ...
12120 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
12121 (grub_get_libzfs_handle): ... here.
12122
c9f7ff97
BC
121232010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
12124
12125 * script/execute.c (grub_script_execute_cmdline): Check for NULL
12126 as command name case.
12127
a870a783
CW
121282010-08-02 Colin Watson <cjwatson@ubuntu.com>
12129
12130 * disk/raid.c (insert_array): Select unique numbers for named arrays
12131 as well, for use as keys in the disk cache.
12132
c7db243b
RM
121332010-08-01 Robert Millan <rmh@gnu.org>
12134
12135 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
12136 kFreeBSD device name, except on ZFS where the filesystem label is
12137 used.
12138 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
12139 `/boot/zfs/zpool.cache'.
12140 Set mountfrom kernel variable using ${kfreebsd_device}.
12141
f7abdefb
RM
121422010-08-01 Robert Millan <rmh@gnu.org>
12143
12144 Make it even harder to use uninitialized `libzfs_handle' (and
12145 make the interface a bit simpler).
12146
12147 * include/grub/util/misc.h (grub_util_init_libzfs)
12148 (libzfs_handle): Remove.
12149 (grub_get_libzfs_handle): New prototype.
12150
12151 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
12152 attribute.
12153 (grub_util_init_libzfs): Remove.
12154 (grub_get_libzfs_handle): New function.
12155
12156 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
12157 grub_get_libzfs_handle() to obtain a libzfs handle instead of
12158 accessing `libzfs_handle' directly.
12159
c882acc0
RM
121602010-08-01 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): New function prototypes.
12164
12165 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
12166 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
12167
12168 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
12169 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
12170 `static' attribute.
12171
12172 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
12173 finding zpool from mount point into ...
12174 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
12175
12176 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
12177 requested path is part of a ZFS pool, use
12178 grub_find_zpool_from_mount_point() to detect its filesystem name,
12179 and generate a path with `/fsname@path' syntax.
12180
8bfe31d8
CW
121812010-08-01 Colin Watson <cjwatson@ubuntu.com>
12182
12183 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
12184 (void) rather than () so that this is a proper prototype.
12185
553df63d
VS
121862010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
12189
8687cf07
VS
121902010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
12193 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
12194
ea9be8ea
CW
121952010-08-01 Colin Watson <cjwatson@ubuntu.com>
12196
12197 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
12198
6eea041a
CW
121992010-08-01 Colin Watson <cjwatson@ubuntu.com>
12200
12201 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
12202
2cfb45df
CW
122032010-08-01 Colin Watson <cjwatson@ubuntu.com>
12204
12205 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
12206 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
12207 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
12208 disable gfxpayload.
12209 (Shell-like scripting): Add real content.
12210 (Serial terminal): Suggest `terminal_input serial; terminal_output
12211 serial' rather than putting the two commands on separate lines,
12212 since console input will be inoperative after the first command.
12213 (menuentry): Document --class, --users, and --hotkey options.
12214 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
12215 Vladimir Serbinenko).
12216
7decd202
VS
122172010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
122182010-08-01 Colin Watson <cjwatson@ubuntu.com>
12219
12220 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
12221
c882acc0
RM
122222010-08-01 Robert Millan <rmh@gnu.org>
12223
12224 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
12225 (grub_find_zpool_from_mount_point): New function prototypes.
12226
12227 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
12228 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
12229
12230 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
12231 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
12232 `static' attribute.
12233
12234 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
12235 finding zpool from mount point into ...
12236 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
12237
12238 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
12239 requested path is part of a ZFS pool, use
12240 grub_find_zpool_from_mount_point() to detect its filesystem name,
12241 and generate a path with `/fsname@path' syntax.
12242
deb0caa3
RM
122432010-08-01 Robert Millan <rmh@gnu.org>
12244
12245 Prevent accidental use of uninitialized libzfs_handle.
12246
12247 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
12248 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
12249 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
12250
ce04ef47
CW
122512010-08-01 Colin Watson <cjwatson@ubuntu.com>
12252
12253 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
12254 util/grub.d/10_linux.in). Fixes Debian bug #591093.
12255
ebf53056
RM
122562010-08-01 Robert Millan <rmh@gnu.org>
12257
12258 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 12259
3710bb6b
RM
122602010-07-31 Robert Millan <rmh@gnu.org>
12261
12262 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
12263
8072efeb
RM
122642010-07-31 Robert Millan <rmh@gnu.org>
12265
12266 * kern/emu/misc.c: Add missing license header.
12267
3169f4c7
RM
122682010-07-31 Robert Millan <rmh@gnu.org>
12269
12270 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
12271
12272 * include/grub/util/libnvpair.h: Include `<config.h>'.
12273 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
12274 declaring libnvpair prototypes ourselves.
12275 * include/grub/util/libzfs.h: Include `<config.h>'.
12276 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
12277 declaring libzfs prototypes ourselves.
12278
12279 (libzfs_handle): Moved to ...
12280 * include/grub/util/misc.h (libzfs_handle): ... here.
12281 Include `<grub/util/libzfs.h>'.
12282
c9a00aee
RM
122832010-07-30 Robert Millan <rmh@gnu.org>
12284
12285 * include/grub/emu/misc.h: Add missing license header.
12286
a184f9c8
RM
122872010-07-30 Robert Millan <rmh@gnu.org>
12288
12289 Enable `grub-probe -t device' resolution on ZFS.
12290
12291 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
12292 * include/grub/util/libnvpair.h: New file.
12293 * include/grub/util/libzfs.h: New file.
12294
12295 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
12296 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
12297 `<grub/util/libnvpair.h>'.
12298 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
12299
12300 (find_mount_point_from_dir): New static function.
12301 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
12302 function.
12303 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
12304 find_root_device_from_libzfs() before ressorting to find_root_device().
12305
12306 * include/grub/util/misc.h (grub_util_init_libzfs): New function
12307 prototype.
12308 * util/misc.c: Include `<grub/util/libzfs.h>'.
12309 (grub_util_init_libzfs): New function.
12310 [HAVE_LIBZFS] (libzfs_handle): New global variable.
12311 [HAVE_LIBZFS] (fini_libzfs): New static function.
12312 (grub_util_init_libzfs): New function.
12313 * util/grub-probe.c (main): Call grub_util_init_libzfs().
12314
f7790cdd
RM
123152010-07-30 Robert Millan <rmh@gnu.org>
12316
12317 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
12318 (xmalloc, xrealloc, xstrdup, xasprintf): Add
12319 `warn_unused_result' attribute.
12320 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
12321 (grub_xasprintf, grub_xvasprintf): Likewise.
12322 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
12323
0806b63c
RM
123242010-07-29 Robert Millan <rmh@gnu.org>
12325
12326 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
12327 (probe): Handle `PRINT_FS_LABEL'.
12328 (main): Handle `-t fs_label'.
12329
9f841f5c
RM
123302010-07-29 Robert Millan <rmh@gnu.org>
12331
12332 * configure.ac: Remove grub-mkisofs checks.
12333
46371121
VS
123342010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
12335
12336 * util/ieee1275/grub-install.in: Don't use empty grub_device.
12337 Reported by: Lennart Sorensen.
12338
123392010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12340
12341 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
12342 prior to terminal_input/terminal_output separation. It's been over 1.5
12343 years and those versions weren't widely deployed.
12344
a9600892
CW
123452010-07-22 Colin Watson <cjwatson@ubuntu.com>
12346
12347 * disk/raid.c (insert_array): Don't count named arrays when looking
12348 for unused array numbers.
697e053c 12349 Reported and tested by: Michael Guntsche.
a9600892 12350
c03507df
CW
123512010-07-20 Colin Watson <cjwatson@ubuntu.com>
12352
12353 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
12354 implementation of this so that grub-emu links again, with a note
12355 that this should support hotplugging in the future.
12356
b26f1c11
CW
123572010-07-20 Colin Watson <cjwatson@ubuntu.com>
12358
12359 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12360
efc9d7f1
CW
123612010-07-20 Colin Watson <cjwatson@ubuntu.com>
12362
12363 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
12364 handle on failure.
12365 (grub_loopback_close): Remove empty function.
12366 (grub_loopback_dev): Remove close method.
12367
dd8ff5c9
CW
123682010-07-20 Colin Watson <cjwatson@ubuntu.com>
12369
12370 Disable EFI cursor when the EFI console becomes inactive.
12371
12372 * term/efi/console.c (grub_efi_console_init): New function.
12373 (grub_efi_console_fini): New function.
12374 (grub_console_term_output): Register init and fini methods.
12375
5e3bec67
VS
123762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * tests/util/grub-shell-tester.in: Remove bashism and declare as
12379 sh script.
12380
afaec079
VS
123812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 * disk/loopback.c (grub_loopback): Replace filename with file.
12384 (delete_loopback): Handle new semantics.
12385 (grub_cmd_loopback): Likewise.
12386 (grub_loopback_iterate): Likewise.
12387 (grub_loopback_close): Likewise.
12388
a6a11f3c
VS
123892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
12392 with -p "".
12393 Reported by: Tito Keitel.
12394
64a638b0
VS
123952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 * docs/grub.texi (Naming convention): Document new naming convention.
12398
ab8ba957
VS
123992010-07-20 Vadim Solomin <vadic052@gmail.com>
124002010-07-20 Colin Watson <cjwatson@ubuntu.com>
12401
12402 Generate device.map in something closer to the old ordering.
12403
12404 * util/deviceiter.c (struct device): New declaration.
12405 (compare_file_names): Rename to ...
12406 (compare_devices): ... this. Sort by kernel name in preference to
12407 the stable by-id name, but keep the latter as a fallback comparison.
12408 Update header comment.
12409 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
12410 of `struct device' rather than of plain file names.
12411
a29d6a4b
TF
124122010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
12413
12414 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
12415 on i386.
12416
39d824e8
VS
124172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * commands/acpi.c (setup_common_tables): Use sizeof instead of
12420 hardcoding size.
12421 (setv1table): Likewise.
12422
f058276b
FZ
124232010-07-20 Colin Watson <cjwatson@ubuntu.com>
12424
12425 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
12426 removing the homehost if present.
12427 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
12428 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
12429 removing the homehost if present.
12430 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
12431 if possible.
12432 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
12433
12434 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
12435 parameter. Set its pointer target to 0.
12436 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
12437 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
12438 `data_offset' value from the superblock for 1.x metadata.
12439 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
12440 data on the device.
12441 (insert_array): Record the start sector of data on the device.
12442 (grub_raid_register): Pass start_sector parameters to
12443 grub_raid_list->detect and insert_array.
12444 * include/grub/raid.h (struct grub_raid_array): Add start_sector
12445 member.
12446 (struct grub_raid): Add start_sector parameter to `detect'.
12447
12448 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
12449 __attribute__ ((packed)), leaving a comment.
12450 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
12451 (grub_mdraid_detect_09): ... here and ...
12452 (grub_mdraid_detect_1x): ... here.
12453
124542010-07-20 Peter Henn <peter.henn@web.de>
12455
12456 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
12457 chunk size and disk size, which are already given as sector counts
12458 as distinct from the 0.90 units. Fetch the correct device number
12459 from the role table instead of using the table index.
12460
124612010-07-20 Felix Zielcke <fzielcke@z-51.de>
12462
12463 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
12464 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
12465 (WriteMostly1): New macro.
12466 Set array->name to NULL for metadata format 0.90. Add support for
12467 metadata 1.x. Fix some comments.
12468 * disk/raid.c (): Add support for name based RAID arrays. Fix a
12469 few comments.
12470 * util/getroot.c (grub_util_get_grub_dev): Add support for
12471 /dev/md/name style devices.
12472
4b761da9
CW
124732010-07-20 Colin Watson <cjwatson@ubuntu.com>
12474
12475 * .bzrignore: Ignore 20_linux_xen.
12476
5771289a
CW
124772010-07-17 Colin Watson <cjwatson@ubuntu.com>
12478
12479 * util/import_unicode.py: Remove unnecessary imports.
12480
5dab68df
AN
124812010-07-17 Aleš Nesrsta <starous@volny.cz>
12482
12483 Hotplugging and USB hub support.
12484
12485 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
12486 (grub_ohci): Likewise.
12487 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
12488 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
12489 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
12490 (GRUB_OHCI_CTRL_EDS): Likewise.
12491 (GRUB_OHCI_BULK_EDS): Likewise.
12492 (GRUB_OHCI_TDS): Likewise.
12493 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
12494 (grub_ohci_ed_phys2virt): New function.
12495 (grub_ohci_virt_to_phys): Likewise.
12496 (grub_ohci_td_phys2virt): Likewise.
12497 (grub_ohci_td_virt2phys): Likewise.
12498 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
12499 attachment.
12500 (grub_ohci_find_ed): New function.
12501 (grub_ohci_alloc_td): Likewise.
12502 (grub_ohci_free_td): Likewise.
12503 (grub_ohci_free_tds): Likewise.
12504 (grub_ohci_transfer): Use previously allocated memory.
12505 (grub_ohci_portstatus): Reset status changed bit.
12506 (grub_ohci_detect_dev): Supply status changed.
12507 (grub_ohci_fini_hw): Free memory.
12508 (grub_ohci_restore_hw): Reallocate memory.
12509 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
12510 Reset status change.
12511 (grub_uhci_detect_dev): Supply status_change.
12512 * bus/usb/usb.c (attach_hooks): New var.
12513 (grub_usb_device_attach): New function.
12514 (grub_usb_register_attach_hook_class): Likewise.
12515 (grub_usb_unregister_attach_hook_class): Likewise.
12516 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
12517 (grub_usb_add_hub): Reset connection changed bit.
12518 (attach_root_port): New function.
12519 (grub_usb_root_hub): Likewise.
12520 (poll_nonroot_hub): Likewise.
12521 (grub_usb_poll_devices): Likewise.
12522 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
12523 * disk/usbms.c (grub_usbms_open): Use device hooks.
12524 (grub_usbms_iterate) :Poll devices.
12525 (grub_usbms_finddevs): Split into ...
12526 (grub_usbms_attach): ... this ...
12527 (grub_usbms_attach): ... and this.
12528 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
12529 in detect_dev.
12530 (grub_usb_interface): New fields attached and detach_hook.
12531 (grub_usb_attach_hook_class): New type.
12532 (grub_usb_attach_desc): New struct.
12533 (grub_usb_register_attach_hook_class): New function.
12534 (grub_usb_unregister_attach_hook_class): Likewise.
12535 (grub_usb_poll_devices): Likewise.
12536 (grub_usb_device_attach): Likewise.
12537 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
12538 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
12539
3222efaf
VS
125402010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
12543 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
12544 delta determination style. Works with most NetBSD partitions too.
12545
139b714a
VS
125462010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
12549 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
12550
986aad56
VS
125512010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
12554
99be513c
AB
125552010-07-14 Anton Blanchard <anton@samba.org>
12556
12557 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
12558 ET_DYN files.
12559
18075f62
GS
125602010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12561
12562 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
12563
8d9a5b15
GS
125642010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12565
12566 * kern/partition.c (grub_partition_check_containment): New function to
12567 check that a partition is physically contained in a parent. Since
12568 offsets are relative (and non-negative), this reduces to checking that
12569 the partition ends before its parent.
12570 (grub_partition_map_probe): Discard out-of-range sub-partitions.
12571 (grub_partition_iterate): Likewise.
12572 * include/grub/partition.h (grub_partition_map): Slightly more detailed
12573 comments.
12574 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
12575 partitions that start before their parent, and add debug printfs.
12576
19563c25
CW
125772010-07-13 Colin Watson <cjwatson@ubuntu.com>
12578
12579 * Makefile.in (.SUFFIX): Spell correctly, as ...
12580 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
12581 bare module name without `.mod', e.g. `test') tried to invoke a
12582 Modula-2 compiler.
12583
1a1f1e67
CW
125842010-07-13 Colin Watson <cjwatson@ubuntu.com>
12585
12586 * README: Point to the Info manual.
12587
811b0dca
JS
125882010-07-13 Jiro SEKIBA <jir@unicus.jp>
12589
12590 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
12591 2nd superblock position from partition size.
12592
e4f4eafc
CW
125932010-07-10 Colin Watson <cjwatson@ubuntu.com>
12594
12595 * Makefile.in (MAINTAINER_CLEANFILES): Remove
12596 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
12597 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
12598 outputs.
12599
4274c30f
VS
126002010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 Restructure SCSI .id handling.
12603 Reported and tested by: Aleš Nesrsta.
12604
12605 * disk/ata.c (grub_atapi_close): Removed. All users updated.
12606 (grub_atapi_dev): Changed .name to "ata". New field .id.
12607 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
12608 (grub_usbms_dev): New field .id.
12609 * disk/scsi.c (grub_scsi_iterate): Generate name.
12610 (grub_scsi_open): Parse name.
12611 * include/grub/scsi.h (grub_make_scsi_id): New function.
12612 (grub_scsi_dev): Change iterate and open to number instead of naming
12613 busses. All users updated.
12614 (grub_scsi): Remove name. Add .bus.
12615
5bc24388
VS
126162010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12617
12618 * commands/help.c (grub_cmd_help): Fix a typo.
12619
249975ba
VS
126202010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12621
12622 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
12623 Reported and tested by: Colin Watson.
12624
3eaac1a1
VS
126252010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12626
12627 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
12628 in this context.
12629
becce1b1
VS
126302010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
12633
f7bf0918
CW
126342010-07-07 Colin Watson <cjwatson@ubuntu.com>
12635
12636 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
12637 indentation.
12638
0b0f9620
CW
126392010-07-06 Colin Watson <cjwatson@ubuntu.com>
12640
12641 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
12642 and disk/raid6_recover.c.
12643 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12644 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12645
1e545469
CW
126462010-07-06 Colin Watson <cjwatson@ubuntu.com>
12647
12648 * term/gfxterm.c (repaint_schedulded): Rename to ...
12649 (repaint_scheduled): ... this. Update all callers.
12650 (repaint_was_schedulded): Rename to ...
12651 (repaint_was_scheduled): ... this. Update all callers.
12652
5357687a
CW
126532010-07-06 Colin Watson <cjwatson@ubuntu.com>
12654
12655 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
12656 which we expect to be handled by upper layers.
12657
29d7e783
BC
126582010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
12659
12660 * bus/usb/usbhub.c: #include time.h header.
12661
37582066
CW
126622010-07-06 Colin Watson <cjwatson@ubuntu.com>
12663
12664 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
12665 entry_name also for entries without stat blocks (e.g. ".."); fixes
12666 corruption of the first entry in a directory.
12667
c8c06953
CW
126682010-07-06 Colin Watson <cjwatson@ubuntu.com>
12669
12670 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
12671 after setting gfxterm as the active terminal. GRUB_BACKGROUND
12672 doesn't work otherwise.
12673
e75056f1
CW
126742010-07-05 Colin Watson <cjwatson@ubuntu.com>
12675
12676 * docs/grub.texi (Features): Update list of supported file systems.
12677 (GNU/Linux): Update for GRUB 2.
12678 (Serial terminal): Remove mention of --disable-serial, which was a
12679 GRUB Legacy configure option. Update instructions to use
12680 `terminal_input' and `terminal_output' rather than `terminal'.
12681 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
12682 configuration' and `Installing GRUB using grub-install'.
12683 (Menu entry editor): Update for GRUB 2.
12684 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
12685 Document new -a, -u, and -v options.
12686 (initrd): New section.
12687 (initrd16): New section.
12688 (linux): New section.
12689 (linux16): New section.
12690 (search): The `var' argument to `--set' is optional.
12691 (GRUB only offers a rescue shell): Go into a little more detail on
12692 drive ordering.
12693
5cf69151
CW
126942010-07-05 Colin Watson <cjwatson@ubuntu.com>
12695
12696 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
12697
e3f90044
CW
126982010-07-05 Colin Watson <cjwatson@ubuntu.com>
12699
12700 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
12701 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
12702
38d8f4f3
CW
127032010-07-05 Colin Watson <cjwatson@ubuntu.com>
12704
12705 * util/i386/pc/grub-setup.c (setup): Rename prefix to
12706 install_prefix, in line with install_dos_part and install_bsd_part.
12707 Add new prefix variable, which is copied to install_prefix after
12708 comparing core.img in memory with the one read from disk in the
12709 no-embedding case, and use that rather than overwriting
12710 install_prefix immediately when installing to a partition.
12711 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
12712 Bicakci.
12713
57ebd41e
GS
127142010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12715
12716 * configure.ac: Avoid == in test command, it's not portable.
12717 * util/grub.d/30_os-prober.in: Likewise.
12718
cb7f64b2
CW
127192010-07-04 Colin Watson <cjwatson@ubuntu.com>
12720
12721 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12722
6b654bb0
GS
127232010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12724
12725 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12726 multiple (top-level) partmaps.
12727
72a2026d
VS
127282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 12731 Reported by: Tino Keitel.
72a2026d 12732
df3eb88f
VS
127332010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12734
12735 Bidi and diacritics support.
12736
12737 * Makefile.in (widthspec.bin): New target.
12738 (widthspec.h): Likewise.
12739 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12740 * autogen.sh: Generate unidata.c.
12741 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12742 * commands/ls.c (grub_ls_list_devices): Likewise.
12743 (grub_ls_list_files): Likewise.
12744 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12745 (grub_mini_cmd_lsmod): Likewise.
12746 * commands/read.c: Likewise.
12747 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12748 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12749 * lib/arg.c (grub_arg_show_help): Likewise.
12750 * lib/crypto.c (grub_password_get): Likewise.
12751 * normal/auth.c (grub_username_get): Likewise.
12752 * normal/misc.c (grub_normal_print_device_info): Likewise.
12753 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12754 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12755 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12756 (normal/charset.c_DEPENDENCIES): New variable.
12757 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12758 (pkglib_MODULES): Remove charset.mod.
12759 (charset_mod_SOURCES): Removed.
12760 (charset_mod_CFLAGS): Likewise.
12761 (charset_mod_LDFLAGS): Likewise.
12762 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12763 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12764 and term/tparm.c.
12765 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12766 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12767 (kernel_img_HEADERS): Add terminfo.h.
12768 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12769 Fill ->font. Reverse ascii bitmaps.
12770 (grub_font_get_xheight): New function.
12771 * font/font.c (grub_font_get_string_width): Moved from here ...
12772 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12773 * font/font.c (grub_font_draw_string): Moved from here ...
12774 * gfxmenu/font.c (grub_font_draw_string): ... here.
12775 * font/font.c (grub_font_dup_glyph): New function.
12776 (grub_font_blit_glyph): Likewise.
12777 (grub_font_blit_glyph_mirror): Likewise.
12778 (blit_comb): Likewise.
12779 (grub_font_construct_dry_run): Likewise.
12780 (grub_font_get_constructed_device_width): Likewise.
12781 (grub_font_construct_glyph): Likewise.
12782 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12783 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12784 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12785 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12786 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12787 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12788 (grub_font_get_xheight): New proto.
12789 (grub_font_get_constructed_device_width): Likewise.
12790 (grub_font_construct_glyph): Likewise.
12791 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12792 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12793 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12794 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12795 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12796 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12797 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12798 (grub_console_getcharwidth): Likewise.
12799 * include/grub/misc.h (grub_xputs): New proto.
12800 (grub_puts): Inlined.
12801 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12802 (grub_normal_get_line_counter): Removed.
12803 (grub_install_newline_hook): Likewise.
12804 (grub_normal_get_char_counter): New proto.
12805 (grub_normal_reset_more): Likewise.
12806 (grub_xputs_normal): Likewise.
12807 * include/grub/powerpc/ieee1275/console.h: Removed.
12808 * include/grub/sparc64/ieee1275/console.h: Likewise.
12809 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12810 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12811 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12812 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12813 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12814 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12815 (grub_term_input): Pass reference to self. All users updated.
12816 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12817 Pass reference to self. New fields normal_color, highlight_color and
12818 data. All users updated.
12819 (grub_putchar): Removed.
12820 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12821 (grub_unicode_estimate_width): New function.
12822 (grub_term_getcharwidth): Add defaults.
12823 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12824 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12825 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12826 (grub_cls): Remove EXPORT_FUNC.
12827 (grub_setcolorstate): Inline.
12828 (grub_newline_hook): Removed.
12829 * include/grub/terminfo.h: Rewritten. All users updated.
12830 * include/grub/unicode.h: New file.
12831 * include/grub/video.h (grub_video_signed_rect): New type.
12832 * kern/emu/console.c (grub_console_highlight_color): Removed.
12833 (grub_console_normal_color): Likewise.
12834 (grub_console_standard_color): Made static.
12835 (grub_ncurses_putchar): Remove mapping.
12836 (grub_ncurses_getcharwidth): Removed.
12837 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12838 (grub_ncurses_setcolor): Removed.
12839 (grub_ncurses_getcolor): Likewise.
12840 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12841 (grub_console_putchar): ... this.
12842 (grub_console_putchar): Handle argument difference.
12843 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12844 console_init_early and console_init_lately.
12845 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12846 * kern/misc.c (grub_puts): Removed.
12847 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12848 (grub_vsnprintf_real): Remove str = NULL support.
12849 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12850 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12851 * kern/term.c (grub_putcode): Renamed to ...
12852 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12853 (grub_putchar): Removed.
12854 (grub_xputs_dumb): New function.
12855 (grub_xputs): New variable.
12856 * lib/charset.c: Move from here ...
12857 * normal/charset.c: ... to here.
12858 (grub_ucs4_to_utf8): New function.
12859 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12860 (join_types): New variable.
12861 (unpack_join): New function.
12862 (bidi_types): New variable.
12863 (unpack_bidi): New function.
12864 (get_bidi_type): Likewise.
12865 (get_join_type): Likewise.
12866 (is_mirrored): Likewise.
12867 (grub_unicode_get_comb_type): Likewise.
12868 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12869 (is_type_after): Likewise.
12870 (grub_unicode_aglomerate_comb): Likewise.
12871 (bidi_line_wrap): Likewise.
12872 (grub_bidi_line_logical_to_visual): Likewise.
12873 (grub_bidi_logical_to_visual): Likewise.
12874 (grub_unicode_mirror_code): Likewise.
12875 (grub_unicode_shape_code): Likewise.
12876 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12877 Don't use grub_putchar.
12878 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12879 (grub_normal_reader_init): Likewise.
12880 (grub_xputs_saved): New variable.
12881 (GRUB_MOD_INIT): Set grub_xputs.
12882 (GRUB_MOD_FINI): Restore grub_xputs.
12883 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12884 (menu_init): Avoid printing gfxmenu error.
12885 (show_menu): Use grub_normal_get_char_counter.
12886 * normal/menu_entry.c (update_screen): Fix out-of-array.
12887 (complete): Avoid NULL dereferencing.
12888 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12889 * normal/menu_text.c (print_spaces): Removed.
12890 (grub_print_ucs4): Likewise.
12891 (grub_print_message_indented): Use grub_print_ucs4.
12892 (print_message): Use grub_putcode.
12893 (print_entry): Hanlde diacritics.
12894 * normal/term.c (term_state): New type.
12895 (grub_more_lines): Removed.
12896 (term_states): New variable.
12897 (grub_normal_line_counter): Renamed to ..
12898 (grub_normal_char_counter): ...this. All users updated.
12899 (grub_normal_get_line_counter): Renamed to ...
12900 (grub_normal_get_char_counter): ... this.
12901 (grub_normal_reset_more): New function.
12902 (process_newline): Removed.
12903 (print_more): New function.
12904 (grub_install_newline_hook): Removed.
12905 (map_code): New function.
12906 (grub_puts_terminal): Use grub_print_ucs4.
12907 (putglyph): New function.
12908 (putcode_real): Likewise.
12909 (grub_putcode): Use putcode_real.
12910 (get_maxwidth): New function.
12911 (get_startwidth): Likewise.
12912 (print_ucs4_terminal): Likewise.
12913 (find_term_state): Likewise.
12914 (put_glyphs_terminal): Likewise.
12915 (print_backlog): Likewise.
12916 (print_ucs4_real): Likewise.
12917 (grub_print_ucs4): Likewise.
12918 (grub_xputs_normal): Likewise.
12919 * term/efi/console.c (grub_console_putchar): Output diacritics.
12920 (grub_console_getcharwidth): Removed.
12921 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12922 * term/gfxterm.c (clear_char): Free chars.
12923 (scroll_up): Avoid leaking memory.
12924 (grub_gfxterm_putchar): Support diacritics.
12925 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12926 * term/i386/pc/console.c (grub_console_term_output): Declare as
12927 GRUB_TERM_CODE_TYPE_VGA.
12928 * term/i386/pc/vga.c (grub_vga_term): Declare as
12929 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12930 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12931 GRUB_TERM_CODE_TYPE_VGA.
12932 * term/i386/vga_common.c (map_char): Removed.
12933 (grub_console_putchar): Likewise.
12934 (grub_console_getcharwidth): Likewise.
12935 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12936 (colors): Reordered to match terminfo.
12937 (grub_ofconsole_normal_color): Removed.
12938 (grub_ofconsole_writeesc): Likewise.
12939 (grub_ofconsole_highlight_color): Likewise.
12940 (grub_ofconsole_getcharwidth): Likewise.
12941 (grub_ofconsole_setcolorstate): Likewise.
12942 (grub_ofconsole_setcolor): Likewise.
12943 (grub_ofconsole_getcolor): Likewise.
12944 (grub_ofconsole_readkey): Renamed to ...
12945 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12946 key.
12947 (grub_ofconsole_checkkey): Removed.
12948 (grub_ofconsole_getkey): Likewise.
12949 (grub_ofconsole_getxy): Likewise.
12950 (grub_ofconsole_gotoxy): Likewise.
12951 (grub_ofconsole_cls): Likewise.
12952 (grub_ofconsole_refresh): Likewise.
12953 (grub_ofconsole_terminfo_input): New struct.
12954 (grub_ofconsole_terminfo_output): Likewise.
12955 (grub_ofconsole_term_input): Use terminfo.
12956 (grub_ofconsole_term_output): Likewise.
12957 (grub_console_init): Split into ...
12958 (grub_console_init_early): ...this and ...
12959 (grub_console_init_lately): ...this. Use terminfo.
12960 (grub_ofconsole_putchar): Renamed to ...
12961 (put): ... this. Remove mapping.
12962 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12963 * term/serial.c: Simplify using terminfo.
12964 (xpos): Removed.
12965 (ypos): Likewise.
12966 (keep_track): Likewise.
12967 (registered): Likewise.
12968 (input_buf): Likewise.
12969 (npending): Likewise.
12970 (serial_translate_key_sequence): Likewise.
12971 (fill_input_buf): Likewise.
12972 (grub_serial_checkkey): Likewise.
12973 (grub_serial_getkey): Likewise.
12974 (grub_serial_getxy): Likewise.
12975 (grub_serial_gotoxy): Likewise.
12976 (grub_serial_putchar): Likewise.
12977 (grub_serial_cls): Likewise.
12978 (grub_serial_setcolorstate): Likewise.
12979 (grub_serial_setcursor): Likewise.
12980 (serial_hw_init): Use serial_hw_fetch.
12981 (grub_serial_terminfo_input): New variable.
12982 (grub_serial_terminfo_output): Likewise.
12983 (grub_serial_term_input): Use terminfo.
12984 (grub_serial_term_output): Likewise.
12985 * term/terminfo.c (putstr): Use put.
12986 (grub_terminfo_all_free): New function
12987 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12988 (grub_terminfo_output_register): New function.
12989 (grub_terminfo_output_unregister): Likewise.
12990 (grub_terminfo_getxy): Likewise.
12991 (grub_terminfo_readkey): Likewise.
12992 (grub_terminfo_checkkey): Likewise.
12993 (grub_terminfo_getkey): Likewise.
12994 (grub_terminfo_input_init): Likewise.
12995 (print_terminfo): Likewise.
12996 (grub_cmd_terminfo): Handle encoding.
12997 (grub_terminfo_gotoxy): Track position.
12998 (grub_terminfo_cls): Likewise.
12999 (grub_terminfo_putchar): Likewise.
13000 (grub_terminfo_setcolorstate): Handle colors
13001 (grub_terminfo_cursor_on): This ...
13002 (grub_terminfo_cursor_off): ... and this merged into ...
13003 (grub_terminfo_setcursor): ... this.
13004 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
13005 * unicode/ArabicShaping.txt: New file (imported from Unicode).
13006 * unicode/BidiMirroring.txt: Likewise.
13007 * unicode/UnicodeData.txt: Likewise.
13008 * unicode/COPYING: Likewise.
13009 * util/grub-editenv.c (grub_putchar): Removed.
13010 (grub_xputs_real): New function.
13011 (grub_xputs): New variable.
13012 * util/grub-fstest.c (grub_putchar): Removed.
13013 (grub_xputs_real): New function.
13014 (grub_xputs): New variable.
13015 * util/grub-mkdevicemap.c (grub_putchar): Removed.
13016 (grub_xputs_real): New function.
13017 (grub_xputs): New variable.
13018 * util/grub-probe.c (grub_putchar): Removed.
13019 (grub_xputs_real): New function.
13020 (grub_xputs): New variable.
13021 * util/grub-script-check.c (grub_putchar): Removed.
13022 (grub_xputs_real): New function.
13023 (grub_xputs): New variable.
13024 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
13025 (grub_xputs_real): New function.
13026 (grub_xputs): New variable.
13027 * util/import_unicode.py: New file.
13028 * util/grub-mkfont.c (ft_errmsgs): New array.
13029 (grub_glyph_info): Make bitmap a pointer.
13030 (file_formats): New type WIDTH_SPEC.
13031 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
13032 (options): Add width-spec.
13033 (help): Likewise.
13034 (add_char): Renamed to ...
13035 (add_glyph): ... this.
13036 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
13037 (glyph_replace): New type.
13038 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
13039 (add_char): New function.
13040 (add_subst): Likewise.
13041 (process_cursive): Likewise.
13042 (add_font): Handle GSUB.
13043 (write_font_width_spec): New function.
13044 (main): Sort glyphs.
13045 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
13046 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
13047 * kern/term.c (grub_cls): Moved from here...
13048 * normal/term.c (grub_cls): ... here.
13049
50f0bcda
CW
130502010-07-02 Colin Watson <cjwatson@ubuntu.com>
13051
13052 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
13053 suitable for using within the format argument of printf when
13054 converting grub_size_t.
13055 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
13056 "x" to convert grub_size_t arguments.
13057
40372103
VS
130582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13059
13060 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
13061 too long captions.
13062 (list_get_minimal_size): Take selection box into account.
13063
942a10c7
VS
130642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
13067 NULL font.
13068
2bdb2892
CW
130692010-07-02 Colin Watson <cjwatson@ubuntu.com>
13070
13071 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
13072 devices when iterating over /dev/disk/by-id; they will be handled
13073 later if appropriate, which they aren't always (e.g. LVM).
13074
e03ed6c1
CW
130752010-07-02 Colin Watson <cjwatson@ubuntu.com>
13076
13077 * include/grub/misc.h (grub_reboot): Declare as noreturn.
13078 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
13079 fails.
13080 (grub_halt): Likewise.
13081 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
13082 reset-all fails.
13083 (grub_halt): Don't return, even if all of shut-down, power-off, and
13084 poweroff fail.
13085
47695765
CW
130862010-07-02 Colin Watson <cjwatson@ubuntu.com>
13087
13088 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
13089 arguments, not three.
13090
507736c8
CW
130912010-07-02 Colin Watson <cjwatson@ubuntu.com>
13092
13093 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
13094 * util/grub.d/10_linux.in: Use it to check for LVM, so that
13095 LVM-on-RAID is handled correctly.
13096
e3c8cd37
CW
130972010-07-02 Colin Watson <cjwatson@ubuntu.com>
13098
13099 * docs/grub.texi (Changes from GRUB Legacy): New section.
13100 (Future): Fix typo.
13101
8d4a2fec
CW
131022010-07-02 Colin Watson <cjwatson@ubuntu.com>
13103
13104 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
13105 grub.d/README accidentally ends up executable for one reason or
13106 another. Ignore it.
13107
1c4827be
VS
131082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13109
13110 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
13111 (gpt_partition_map_iterate): Support non-512B sectors.
13112
d9a0c941
VS
131132010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13114
13115 * kern/efi/init.c (grub_efi_init): Disable watchdog.
13116 Tested by: Seth Goldberg.
13117
48f27e87
VS
131182010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
13121 Properly align mbi.
13122 Reported by: Seth Goldberg.
13123
b0c4f956
VS
131242010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * util/grub-mkrescue.in: Avoid module duplication.
13127
105a2e8c
SF
131282010-07-01 Sean Finney <seanius@seanius.net>
13129
13130 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
13131
5944958c
SF
131322010-07-01 Sean Finney <seanius@seanius.net>
13133
13134 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
13135
131362010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 * disk/lvm.c (grub_lvm_checkvalue): New function.
13139 (grub_lvm_check_flag): Likewise.
13140
b79889ba
RM
131412010-07-01 Robert Millan <rmh@gnu.org>
13142
13143 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
13144 Support 'p' as partition separator on kernel of FreeBSD (used
13145 with GPT labels).
13146 (grub_util_biosdisk_get_grub_dev): Likewise.
13147
ec1d04f1
VS
131482010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 Yeeloong firmware port.
13151
13152 * boot/mips/yeeloong/fwstart.S: New file.
13153 * bus/cs5536.c (gpiodump): New const.
13154 (set_io_space): New function.
13155 (set_iod): Likewise.
13156 (set_p2d): Likewise.
13157 (grub_cs5536_init_geode): Likewise.
13158 * commands/mips/yeeloong/lsspd.c: New file.
13159 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
13160 (serial_mod_SOURCES): New variable.
13161 (serial_mod_CFLAGS): Likewise.
13162 (serial_mod_LDFLAGS): Likewise.
13163 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
13164 term/terminfo.c and term/tparm.c.
13165 (pkglib_IMAGES): Add fwstart.img.
13166 (fwstart_img_SOURCES): New variable.
13167 (fwstart_img_CFLAGS): Likewise.
13168 (fwstart_img_ASFLAGS): Likewise.
13169 (fwstart_img_LDFLAGS): Likewise.
13170 (fwstart_img_FORMAT): Likewise.
13171 (pkglib_MODULES): Add lsspd.mod.
13172 (lsspd_mod_SOURCES): New variable.
13173 (lsspd_mod_CFLAGS): Likewise.
13174 (lsspd_mod_LDFLAGS): Likewise.
13175 (pkglib_MODULES): Add halt.mod.
13176 (halt_mod_SOURCES): New variable.
13177 (halt_mod_CFLAGS): Likewise.
13178 (halt_mod_LDFLAGS): Likewise.
13179 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
13180 (serial_mod_SOURCES): Removed.
13181 (serial_mod_CFLAGS): Likewise.
13182 (serial_mod_LDFLAGS): Likewise.
13183 * disk/ata.c (check_device): New function.
13184 (grub_ata_device_initialize): Use check_device.
13185 (grub_ata_iterate): Recheck devices.
13186 (grub_ata_open): Likewise.
13187 (grub_atapi_iterate): Likewise.
13188 (grub_atapi_open): Likewise.
13189 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
13190 (GRUB_ATA_CH1_PORT1): Likewise.
13191 (GRUB_ATA_CH0_PORT2): Likewise.
13192 (GRUB_ATA_CH1_PORT2): Likewise.
13193 * include/grub/mips/loongson.h: New file.
13194 * include/grub/mips/yeeloong/ec.h: Likewise.
13195 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
13196 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
13197 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
13198 * include/grub/misc.h (grub_halt): Declare as noreturn.
13199 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
13200 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
13201 (UART_ENABLE_FIFO_TRIGGER1): New definition.
13202 (UART_ENABLE_DTRRTS): Likewise.
13203 (UART_ENABLE_MODEM): Removed.
13204 (UART_ENABLE_OUT2): New const.
13205 * include/grub/term.h (grub_term_register_input_active): New function.
13206 (grub_term_register_output_active): Likewise.
13207 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
13208 argument.
13209 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
13210 (init_pci): New function.
13211 (grub_machine_init): Execute platform init when firmware. Init serial.
13212 (grub_halt): Implement.
13213 (grub_exit): Likewise.
13214 (grub_reboot): Likewise.
13215 * term/serial.c (serial_hw_init): Update macros.
13216 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
13217 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
13218 (image_targets): New target mipsel-yeeloong-flash.
13219 (generate_image): Support IMAGE_YEELOONG_FLASH.
13220 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
13221 (grub_video_sm712_setup): Init card.
13222 (grub_video_sm712_set_palette): Removed.
13223 * video/sm712_init.c: New file.
13224
ff4a70d2
CW
132252010-06-30 Colin Watson <cjwatson@ubuntu.com>
13226
13227 * Makefile.in (install-local): Temporarily prepend $(builddir) to
13228 PATH when running help2man and then run it on the unadorned
13229 executable names, rather than passing $(builddir)/* paths to
13230 help2man. This avoids the build directory ending up in generated
13231 manual pages.
13232
1246efeb
CW
132332010-06-29 Colin Watson <cjwatson@ubuntu.com>
13234
13235 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
13236 to avoid accidents when debugging with 'sh -x'.
13237 * util/grub-mkrescue.in: Likewise.
13238 * util/grub.d/00_header.in: Likewise.
13239 * util/grub.d/10_hurd.in: Likewise.
13240 * util/grub.d/10_kfreebsd.in: Likewise.
13241 * util/grub.d/10_linux.in: Likewise.
13242 * util/grub.d/10_netbsd.in: Likewise.
13243 * util/grub.d/10_windows.in: Likewise.
13244 * util/grub.d/20_linux_xen.in: Likewise.
13245 * util/grub.d/30_os-prober.in: Likewise.
13246 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13247
1ba9b889
CW
132482010-06-29 Colin Watson <cjwatson@ubuntu.com>
13249
13250 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
13251 last character in the buffer.
13252 Reported by: Vladimir Serbinenko.
13253
dccaf99d
RM
132542010-06-29 Robert Millan <rmh@gnu.org>
13255
13256 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
13257 (Command-line and menu entry commands): Document `badram' command.
13258
d500ed12
RM
132592010-06-28 Robert Millan <rmh@gnu.org>
13260
13261 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
13262 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
13263 command using ${GRUB_BADRAM} as parameter.
13264
20bc84a6
CW
132652010-06-28 Colin Watson <cjwatson@ubuntu.com>
13266
13267 * docs/grub.texi (Device map): New section.
13268 (Themes): New section (stub).
13269 * Makefile.in (docs/grub.info): The info documentation now builds
13270 without errors. Make sure it stays that way.
13271
4045dee1
VS
132722010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 Use normal parser for menu entries.
13275 Reported by: Thomas Frauendorfer
13276
13277 * include/grub/parser.h (grub_parser_execute): Don't export.
13278 * normal/menu.c (grub_menu_execute_entry_real): New function.
13279 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
13280
bca58c7b
CW
132812010-06-28 Colin Watson <cjwatson@ubuntu.com>
13282
13283 * docs/grub.texi (Embedded configuration): New section (replacing
13284 old "Preset Menu" stub).
13285 (Images): New section.
13286 (configfile): Note that any menu entries defined in `file' are shown
13287 immediately.
13288
dec53e63
JT
132892010-06-28 Josh Triplett <josh@joshtriplett.org>
13290
13291 * mmap/i386/pc/mmap_helper.S: Set CF on return.
13292
c06e40f7
CW
132932010-06-28 Colin Watson <cjwatson@ubuntu.com>
13294
13295 * util/grub-install.in: Add --debug-image= option.
13296
cb88052b
CW
132972010-06-28 Colin Watson <cjwatson@ubuntu.com>
13298
13299 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
13300 possible on Linux.
13301
13302 * util/deviceiter.c (check_device): Rename to ...
13303 (check_device_readable_unique): ... this. Update all callers.
13304 Maintain and check a list of which devices (by canonicalized name)
13305 have already been seen.
13306 (clear_seen_devices): New function.
13307 (compare_file_names) [__linux__]: New function.
13308 (grub_util_iterate_devices): Clear the list of seen devices on exit
13309 and (just in case) on entry.
13310 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
13311 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
13312 seen-devices list, superseded by general code in check_device.
13313
bbe34652
CW
133142010-06-28 Colin Watson <cjwatson@ubuntu.com>
13315
13316 * commands/cat.c (options): New variable.
13317 (grub_cmd_cat): Parse options. If the --dos option is given, print
13318 DOS-style "\r\n" line endings as simple newlines (Debian bug
13319 #586358).
13320 (GRUB_MOD_INIT): Use extcmd.
13321 (GRUB_MOD_FINI): Likewise.
13322 * docs/grub.texi (cat): Document --dos.
13323
412e09f3
VS
133242010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13325
13326 XEN with Linux grub-mkconfig support.
13327
13328 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
13329 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
13330 GRUB_CMDLINE_XEN_DEFAULT.
13331 * util/grub.d/20_linux_xen.in: New file.
13332
53f3ef38 133332010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
13334
13335 Initialise VGA video on qemu ourselves.
13336
13337 * boot/i386/qemu/boot.S: Don't call 0xc000.
13338 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
13339 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
13340 (kernel_img_HEADERS): Add pci.h.
13341 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
13342 * configure.ac: Force unifont on qemu and yeeloong.
13343 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
13344 (grub_vga_palette_write): Use correct register.
13345 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
13346 Call grub_qemu_init_cirrus.
13347 * kern/i386/qemu/init.c: New file.
13348 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
13349
13350 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
13351
c75be4fb
PR
133522010-06-26 Pavel Roskin <proski@gnu.org>
13353
13354 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
13355 13.
13356
d8034603
CW
133572010-06-26 Colin Watson <cjwatson@ubuntu.com>
13358
13359 * docs/grub.texi (Simple configuration): Explain that
13360 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
13361 set to `true' to disable their respective recovery entries, not
13362 merely set.
13363
3fa06487
CW
133642010-06-26 Colin Watson <cjwatson@ubuntu.com>
13365
13366 Make the `source' command slightly faster.
13367
13368 * normal/main.c (grub_normal_execute): Don't re-read list files when
13369 nested.
13370
e9b29642
CW
133712010-06-23 Colin Watson <cjwatson@ubuntu.com>
13372
13373 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
13374 field position and mask size to red fields from mode_info, not
13375 green.
13376 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
13377 Remove redundant tag->common.framebuffer_type assignment.
13378 Reported by: Seth Goldberg.
13379
e726542f
CW
133802010-06-23 Colin Watson <cjwatson@ubuntu.com>
13381
13382 Sync up other versions of the Linux loader with Robert Millan's
13383 change of 2010-01-09, "Make loader output a bit more user-friendly".
13384
13385 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
13386 grub_dprintf().
13387 (grub_cmd_linux): Likewise.
13388 (grub_cmd_initrd): Likewise.
13389 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
13390 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13391
d6e98a17
CW
133922010-06-21 Colin Watson <cjwatson@ubuntu.com>
13393
13394 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
13395 larger than MEMORY_MAP_SIZE.
13396
14d3f08e
BC
133972010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
13398
13399 Fix parallel build.
13400
13401 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
13402 dependency.
13403 * script/parser.y: #include grub_script.tab.h header.
13404
4f9613a3
VS
134052010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 Support >3GiB and <16MiB RAM in i386-qemu.
13408
13409 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
13410 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
13411 (grub_lower_mem): Removed.
13412 (grub_upper_mem): Likewise.
13413 (mem_size): Made static.
13414 (above_4g): New variable.
13415 (grub_machine_mmap_init): Detect small mem_size and above_4g.
13416 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
13417 support.
13418
05e51879
VS
134192010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 Cirrus 5446 and Bochs video cards support.
13422
13423 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
13424 video_bochs.mod
13425 (video_cirrus_mod_SOURCES): New variable.
13426 (video_cirrus_mod_CFLAGS): Likewise.
13427 (video_cirrus_mod_LDFLAGS): Likewise.
13428 (video_bochs_mod_SOURCES): Likewise.
13429 (video_bochs_mod_CFLAGS): Likewise.
13430 (video_bochs_mod_LDFLAGS): Likewise.
13431 * include/grub/vga.h: New file.
13432 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
13433 (grub_video_fb_set_page_t): New type.
13434 (grub_video_fb_setup): New prototype.
13435 (grub_video_fb_swap_buffers): Likewise.
13436 (grub_video_fb_get_info_and_fini): Likewise.
13437 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
13438 (CRTC_DATA_PORT): Likewise.
13439 (CRTC_CURSOR): Likewise.
13440 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13441 (CRTC_CURSOR_ADDR_LOW): Likewise.
13442 (CRTC_CURSOR_DISABLE): Likewise.
13443 (update_cursor): Use grub_vga_cr_write.
13444 (grub_vga_text_setcursor): Likewise.
13445 * video/bochs.c: New file.
13446 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
13447 (palette): Likewise.
13448 (palette_size): Likewise.
13449 (framebuffer): New variable.
13450 (grub_video_fb_init): Use 'framebuffer'.
13451 (grub_video_fb_fini): Likewise.
13452 (grub_video_fb_get_info): Likewise.
13453 (grub_video_fb_get_palette): Likewise.
13454 (grub_video_fb_set_palette): Likewise.
13455 (grub_video_fb_set_viewport): Likewise.
13456 (grub_video_fb_get_viewport): Likewise.
13457 (grub_video_fb_map_color): Likewise.
13458 (grub_video_fb_map_rgb): Likewise.
13459 (grub_video_fb_map_rgba): Likewise.
13460 (grub_video_fb_unmap_color): Likewise.
13461 (grub_video_fb_unmap_color_int): Likewise.
13462 (grub_video_fb_fill_rect): Likewise.
13463 (grub_video_fb_blit_bitmap): Likewise.
13464 (grub_video_fb_blit_render_target): Likewise.
13465 (grub_video_fb_scroll): Likewise.
13466 (grub_video_fb_create_render_target): Likewise.
13467 (grub_video_fb_doublebuf_blit_init): Likewise.
13468 (grub_video_fb_set_active_render_target): Handle doublebuffering.
13469 (doublebuf_pageflipping_update_screen): New function.
13470 (doublebuf_pageflipping_init): Likewise.
13471 (grub_video_fb_setup): Likewise.
13472 (grub_video_fb_swap_buffers): Likewise.
13473 (grub_video_fb_get_info_and_fini): Likewise.
13474 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
13475 All users updated.
13476 (doublebuf_pageflipping_commit): Restructured into ...
13477 (doublebuf_pageflipping_set_page): ... this.
13478 (doublebuf_pageflipping_update_screen): Removed.
13479 (doublebuf_pageflipping_init): Likewise.
13480 (double_buffering_init): Likewise.
13481 (grub_video_vbe_setup): Use grub_video_fb_setup.
13482 (grub_video_vbe_swap_buffers): Removed.
13483 (grub_video_vbe_set_active_render_target): Likewise.
13484 (grub_video_vbe_get_active_render_target): Likewise.
13485 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
13486 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
13487 grub_video_fb_set_active_render_target and
13488 grub_video_fb_get_active_render_target.
13489 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
13490 (SEQUENCER_DATA_PORT): Likewise.
13491 (MAP_MASK_REGISTER): Likewise.
13492 (CRTC_ADDR_PORT): Likewise.
13493 (CRTC_DATA_PORT): Likewise.
13494 (START_ADDR_HIGH_REGISTER): Likewise.
13495 (START_ADDR_LOW_REGISTER): Likewise.
13496 (GRAPHICS_ADDR_PORT): Likewise.
13497 (GRAPHICS_DATA_PORT): Likewise.
13498 (READ_MAP_REGISTER): Likewise.
13499 (INPUT_STATUS1_REGISTER): Likewise.
13500 (INPUT_STATUS1_VERTR_BIT): Likewise.
13501 (get_map_mask): Use grub_vga_sr_read.
13502 (set_map_mask): Use grub_vga_sr_write.
13503 (set_read_map): Use grub_vga_gr_write.
13504 (set_start_address): Use grub_vga_cr_write.
13505 * video/sm712.c (framebuffer): Remove leftover fields.
13506
4321c64a
CW
135072010-06-20 Colin Watson <cjwatson@ubuntu.com>
13508
13509 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
13510 setting GRUB_VIDEO_BACKEND. Make it available as a user override
13511 instead. Replace the gfxterm backend check with a check that
13512 ${GRUB_PREFIX}/video.lst is non-empty.
13513 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
13514 again.
13515 (load_video): New generated function. Call it before loading
13516 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
13517 * util/grub.d/10_linux.in (linux_entry): Call load_video.
13518 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
13519 * docs/grub.texi (Simple configuration): Document
13520 GRUB_VIDEO_BACKEND.
13521
135222010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13523
13524 Use video functions in linux and xnu loaders.
13525
13526 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
13527 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
13528 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
13529 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
13530 loader/i386/pc/linux.c.
13531 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
13532 (find_line_len): Removed.
13533 (find_framebuf): Likewise.
13534 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
13535 * loader/i386/efi/xnu.c: Removed.
13536 * loader/i386/pc/xnu.c: Moved from here...
13537 * loader/i386/xnu.c: ...here.
13538
13539 Enable priorities in video drivers.
13540
13541 * include/grub/video.h (grub_video_adapter_prio_t): New type.
13542 (grub_video_adapter): New field prio.
13543 (grub_video_register): Respect prio when inserting.
13544 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
13545 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
13546 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
13547 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
13548 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
13549 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
13550 * video/sm712.c (grub_video_sm712_adapter): Likewise.
13551
13552 Fix SDL driver ID.
13553
13554 * include/grub/video.h (grub_video_driver_id_t): New value
13555 GRUB_VIDEO_DRIVER_SDL.
13556 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
13557
7d24e434
CW
135582010-06-17 Colin Watson <cjwatson@ubuntu.com>
13559
13560 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
13561 argument to printf.
13562 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13563
c88a83f6
CW
135642010-06-17 Colin Watson <cjwatson@ubuntu.com>
13565
13566 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
13567 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13568
094dfb69
CW
135692010-06-17 Colin Watson <cjwatson@ubuntu.com>
13570
13571 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
13572 directly, and recommend grub-install instead.
13573 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13574
2164da6b
CW
135752010-06-17 Colin Watson <cjwatson@ubuntu.com>
13576
13577 Fix i386-pc prefix handling with nested partitions (Debian bug
13578 #585068). Note that the case where the core image is booted using
13579 multiboot and relocated from its original location still requires
13580 more work.
13581
13582 * kern/i386/pc/init.c (make_install_device): If the prefix starts
13583 with "(,", fill the boot drive in between those two characters, but
13584 expect that a full partition specification including partition map
13585 names will follow.
13586 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
13587 specified, write a prefix without the drive name but including a
13588 full partition specification.
13589
044e2e60
CW
135902010-06-16 Colin Watson <cjwatson@ubuntu.com>
13591
13592 * util/grub-mkconfig.in: Ignore non-option arguments, for
13593 compatibility with older versions (before 2010-06-12) which did the
13594 same. In particular, this makes it easier to ship an update-grub
13595 wrapper which is compatible with that used with GRUB Legacy (Debian
13596 bug #586056).
13597
5591324f
GS
135982010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13599
13600 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
13601 for manual page generation.
13602
662e24d5
GS
136032010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13604
13605 * po/POTFILES: Remove leftover commands/handler.c.
13606
8d70754e
CW
136072010-06-14 Colin Watson <cjwatson@ubuntu.com>
13608
13609 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
13610 left this script non-functional.
13611
41160e2e
CW
136122010-06-14 Colin Watson <cjwatson@ubuntu.com>
13613
13614 * docs/man/grub-emu.h2m: New file.
13615
b5309cc1
CW
136162010-06-13 Colin Watson <cjwatson@ubuntu.com>
13617
13618 * docs/grub.texi (Commands): Document reduced command set in rescue
13619 mode.
13620 (cpuid): New section.
13621
fcb2d090
GS
136222010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
13623
13624 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
13625 new partition naming style.
13626 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
13627
96e5c556
BC
136282010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
13629
13630 Add "-o grub.iso" like cmdline options support.
13631
13632 * util/grub-install.in: Improve cmdline option parsing.
13633 * util/grub-mkconfig.in: Likewise.
13634 * util/grub-mkrescue.in: Likewise.
13635 * util/grub-reboot.in: Likewise.
13636 * util/grub-set-default.in: Likewise.
13637 * util/i386/efi/grub-install.in: Likewise.
13638 * util/ieee1275/grub-install.in: Likewise.
13639 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13640
c16be99b
CW
136412010-06-12 Colin Watson <cjwatson@ubuntu.com>
13642
13643 * .bzrignore: Ignore 41_custom.
13644
ce08a9fb
TS
136452010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13646
13647 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
13648
7beac90c
CW
136492010-06-12 Colin Watson <cjwatson@ubuntu.com>
13650
13651 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
13652 prototype declarations.
13653
13654 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
13655 generating fs, partmap, and video lists.
13656 * include/grub/fs.h (grub_fs_register): Omit prototype if
13657 GRUB_LST_GENERATOR is defined.
13658 * include/grub/partition.h (grub_partition_map_register): Likewise.
13659 * include/grub/video.h (grub_video_register): Likewise.
13660
1c8f0f8d
JM
136612010-06-12 Javier Martín <lordhabbit@gmail.com>
13662
13663 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
13664
a6085973
TS
136652010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13666
13667 * util/grub-mkrescue.in: Support --xorriso argument.
13668
25c56d29
VS
136692010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
13672 Suggested by: Thomas Schmitt.
13673
e03e4b24
VS
136742010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
13677 Suggested by: Thomas Schmitt.
13678
57711df6
VS
136792010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 custom.cfg support.
13682
13683 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
13684 * util/grub.d/41_custom.in: New file.
13685
ee62c427
CW
136862010-06-12 Colin Watson <cjwatson@ubuntu.com>
13687
13688 * util/grub-mkrescue.in (make_image): Remove sh module, which has
13689 been merged back into normal.
13690
283af07a
CW
136912010-06-11 Colin Watson <cjwatson@ubuntu.com>
13692
13693 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
13694 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
13695
56a0d956
CW
136962010-06-11 Colin Watson <cjwatson@ubuntu.com>
13697
13698 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
13699 when generating manual pages.
13700 * docs/man/grub-bin2h.h2m: New file.
13701 * docs/man/grub-editenv.h2m: New file.
13702 * docs/man/grub-fstest.h2m: New file.
13703 * docs/man/grub-install.h2m: New file.
13704 * docs/man/grub-macho2img.h2m: New file.
13705 * docs/man/grub-mkconfig.h2m: New file.
13706 * docs/man/grub-mkdevicemap.h2m: New file.
13707 * docs/man/grub-mkfont.h2m: New file.
13708 * docs/man/grub-mkimage.h2m: New file.
13709 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
13710 * docs/man/grub-mkrelpath.h2m: New file.
13711 * docs/man/grub-mkrescue.h2m: New file.
13712 * docs/man/grub-ofpathname.h2m: New file.
13713 * docs/man/grub-pe2elf.h2m: New file.
13714 * docs/man/grub-probe.h2m: New file.
13715 * docs/man/grub-reboot.h2m: New file.
13716 * docs/man/grub-script-check.h2m: New file.
13717 * docs/man/grub-set-default.h2m: New file.
13718 * docs/man/grub-setup.h2m: New file.
13719
3a37e322
VS
137202010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 Use FOR_* macros instead of *_iterate whenever possible.
13723
13724 * commands/handler.c: Removed.
13725 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13726 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13727 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13728 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13729 (grub_probe_SOURCES): Remove kern/parser.c.
13730 (util/grub-script-check.c_DEPENDENCIES): Removed.
13731 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13732 and grub_script_check_init.c.
13733 (grub_script_check_init.lst): Removed.
13734 (grub_script_check_init.h): Likewise.
13735 (grub_script_check_init.c): Likewise.
13736 (pkglib_MODULES): Remove handler.mod and sh.mod.
13737 (handler_mod_SOURCES): Removed.
13738 (handler_mod_CFLAGS): Likewise.
13739 (handler_mod_LDFLAGS): Likewise.
13740 (normal_mod_SOURCES): Remove normal/handler.c.
13741 Add script/main.c, script/script.c, script/execute.c,
13742 script/function.c, script/lexer.c, grub_script.tab.c
13743 and grub_script.yy.c.
13744 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13745 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13746 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13747 (grub_setup_SOURCES): Remove kern/parser.c.
13748 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13749 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13750 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13751 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13752 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13753 (grub_setup_SOURCES): Remove kern/parser.c.
13754 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13755 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13756 * include/grub/command.h (grub_command_iterate): Removed.
13757 (FOR_COMMANDS): New macro.
13758 * include/grub/dl.h (grub_dl): New member next.
13759 (grub_dl_iterate): Removed.
13760 (grub_dl_head): New variable declaration.
13761 (FOR_DL_MODULES): New macro.
13762 * include/grub/fs.h: Include list.h.
13763 (grub_fs): Make next first element.
13764 (grub_fs_list): New variable declaration.
13765 (grub_fs_register): Make inline.
13766 (grub_fs_unregister): Likewise.
13767 (grub_fs_iterate): Removed.
13768 (FOR_FILESYSTEMS): New macro.
13769 * include/grub/handler.h: Removed.
13770 * include/grub/list.h (grub_list_hook_t): Removed.
13771 (grub_list_test_t): Likewise.
13772 (grub_list_pop): Likewise.
13773 (grub_list_iterate): Likewise.
13774 (grub_list_insert): Likewise.
13775 (FOR_LIST_ELEMENTS): New macro.
13776 * include/grub/parser.h (grub_parser_class): Removed.
13777 (grub_parser_register): Likewise.
13778 (grub_parser_unregister): Likewise.
13779 (grub_parser_get_current): Likewise.
13780 (grub_parser_set_current): Likewise.
13781 (grub_register_rescue_parser): Likewise.
13782 (grub_rescue_parse_line): New function.
13783 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13784 * include/grub/script_sh.h (grub_script_function_list): New variable
13785 declaration.
13786 (FOR_SCRIPT_FUNCTIONS): New macro.
13787 (grub_script_function_iterate): Removed.
13788 (grub_normal_parse_line): New prototype.
13789 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13790 (FOR_DISABLED_TERM_INPUTS): Likewise.
13791 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13792 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13793 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13794 element.
13795 (grub_video_register): Inline.
13796 (grub_video_unregister): Likewise.
13797 (grub_video_adapter_list): New variable declaration.
13798 (grub_video_iterate): Removed.
13799 (FOR_VIDEO_ADAPTERS): New macro.
13800 * kern/dl.c (grub_dl_list): Removed. All users updated.
13801 (grub_dl_iterate): Removed.
13802 * kern/fs.c (grub_fs_list): Make global.
13803 (grub_fs_register): Removed.
13804 (grub_fs_unregister): Likewise.
13805 (grub_fs_iterate): Likewise.
13806 * kern/handler.c: Removed.
13807 * kern/list.c (grub_list_pop): Removed.
13808 (grub_list_iterate): Likewise.
13809 (grub_list_insert): Likewise.
13810 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13811 (grub_prio_list_insert): Don't use grub_list_insert.
13812 * kern/main.c (grub_register_rescue_parser): Don't call
13813 grub_register_rescue_parser.
13814 * kern/parser.c (grub_parser_class): Removed.
13815 (grub_parser_execute): Use grub_rescue_parse_line.
13816 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13817 (grub_rescue_parser): Removed.
13818 (grub_register_rescue_parser): Likewise.
13819 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13820 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13821 (grub_auth_check_authentication): Likewise.
13822 * normal/completion.c (iterate_command): Removed.
13823 (grub_normal_do_completion): Use FOR_COMMANDS.
13824 * normal/handler.c: Removed.
13825 * normal/main.c (read_config_file): Remove parser changing.
13826 (grub_normal_execute): Don't call read_handler_list.
13827 (grub_normal_read_line_real): Statically allocate prompt.
13828 (grub_cmdline_run): Use grub_normal_parse_line.
13829 (GRUB_MOD_FINI): Don't call free_handler_list.
13830 * normal/menu_entry.c (run): Likewise.
13831 * script/function.c (grub_script_function_list): Make global.
13832 (grub_script_function_iterate): Removed.
13833 * script/main.c (grub_normal_parse_line): Make global.
13834 (grub_sh_parser): Removed.
13835 (GRUB_MOD_INIT): Likewise.
13836 (GRUB_MOD_FINI): Likewise.
13837 * tests/lib/functional_test.c (grub_functional_test): Use
13838 FOR_LIST_ELEMENTS.
13839 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13840 (grub_test_run): Use FOR_LIST_ELEMENTS.
13841 * tests/lib/unit_test.c (main): Likewise.
13842 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13843 grub_list_pop.
13844 * util/grub-fstest.c (grub_term_input_class): Removed.
13845 (grub_term_output_class): Likewise.
13846 * util/grub-probe.c: Likewise.
13847 * util/i386/pc/grub-setup.c: Likewise.
13848 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13849 * util/grub-script-check.c (main): Don't call grub_init_all and
13850 grub_fini_all.
13851 * video/video.c (grub_video_adapter_list): Make global.
13852 (grub_video_register): Removed.
13853 (grub_video_unregister): Likewise.
13854 (grub_video_iterate): Likewise.
13855
6289c3a7
VS
138562010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13857
13858 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13859 reported by Henrique Ferreiro.
13860
91460247
RM
138612010-06-09 Robert Millan <rmh@gnu.org>
13862
13863 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13864 ones, when both are available.
13865
0ea7c4f9
GS
138662010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13867
13868 Make --version uniform and avoid hard-coded program name.
13869
13870 * util/grub-mkimage.c (main): Use `program_name' instead of
13871 hard-coded string.
13872 * util/i386/pc/grub-setup.c (main): Likewise.
13873 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13874 * util/grub-install.in: Save the basename of $0 in $self, and use the
13875 latter in informational messages. Use the same format for --version
13876 as the binary programs.
13877 * util/grub-mkconfig.in: Likewise.
13878 * util/grub-mkrescue.in: Likewise.
13879 * util/grub-reboot.in: Likewise.
13880 * util/grub-set-default.in: Likewise.
13881 * util/i386/efi/grub-install.in: Likewise.
13882 * util/ieee1275/grub-install.in: Likewise.
13883 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13884
e8a6f3b6
GS
138852010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13886
13887 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13888 embedding area. Use <= instead of == when checking for non-emptiness.
13889
f4d095d7
GS
138902010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13891
13892 * configure.ac: Add `.' to the directories searched for unifont.
13893
50e532ca
CW
138942010-06-08 Colin Watson <cjwatson@ubuntu.com>
13895
13896 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13897 grub_script.yy.h.
13898
d39f3dec
CW
138992010-06-08 Colin Watson <cjwatson@ubuntu.com>
13900
13901 * docs/grub.texi (History): Expand to cover GRUB 2.
13902 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13903 commands, not `terminal'.
13904 (serial): Likewise.
13905 (terminal_input): New section.
13906 (terminal_output): New section.
13907 (uppermem): New section (stub).
13908 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13909
6ef0ddb4
CW
139102010-06-08 Colin Watson <cjwatson@ubuntu.com>
13911
13912 * docs/grub.texi (Security): Menu entries are unrestricted by
13913 default, not restricted to superusers as I had previously thought.
13914 Reword to account for this.
13915
e0f4c438
CW
139162010-06-07 Colin Watson <cjwatson@ubuntu.com>
13917
13918 * kern/emu/misc.c (device_mapper_null_log): New function.
13919 (grub_device_mapper_supported): New function.
13920 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13921 prototype.
13922 * kern/emu/hostdisk.c (find_partition_start): Check whether
13923 device-mapper is supported before trying to use it.
13924 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13925
da908200
CW
139262010-06-07 Colin Watson <cjwatson@ubuntu.com>
13927
13928 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13929 (File name syntax): Likewise.
13930 (help): --all is no longer supported in GRUB 2. Be more precise
13931 about pattern matching.
13932
fb55c3ac
CW
139332010-06-07 Colin Watson <cjwatson@ubuntu.com>
13934
13935 * normal/completion.c (grub_normal_do_completion): When completing
13936 arguments to "set" and the current word contains an equals sign,
13937 skip to after the equals sign before starting completion.
13938
258c2573
CW
139392010-06-07 Colin Watson <cjwatson@ubuntu.com>
13940
13941 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13942
ee75515e
CW
139432010-06-07 Colin Watson <cjwatson@ubuntu.com>
13944
13945 * docs/grub.texi (Network): New section.
13946 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13947 `(nd)' as in GRUB Legacy.
13948 (pxe_unload): New section.
13949
a6a700aa
CW
139502010-06-07 Colin Watson <cjwatson@ubuntu.com>
13951
13952 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13953 in the rescue shell, so recommend using `set' instead. Thanks,
13954 Jordan Uggla.
13955
4003dd38
CW
139562010-06-07 Colin Watson <cjwatson@ubuntu.com>
13957
13958 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13959 (password): New section.
13960 (password_pbkdf2): New section.
13961 (search): New section.
13962 (Security): New section.
13963 (Troubleshooting): New section, currently very incomplete.
13964 (Invoking grub-mkpasswd-pbkdf2): New section.
13965 (Internals): New section, currently very incomplete.
13966
e1cbcc40
CW
139672010-06-07 Colin Watson <cjwatson@ubuntu.com>
13968
13969 * util/grub.d/00_header.in: Add some more quoting (of
13970 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13971 work again.
13972 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13973
db8fa1ad
CW
139742010-06-07 Colin Watson <cjwatson@ubuntu.com>
13975
13976 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13977 to `count', fixing variable shadowing that broke the -c option.
13978
139792010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
13980
13981 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13982 in case they contain spaces.
13983
f28a9212
CW
139842010-06-04 Colin Watson <cjwatson@ubuntu.com>
13985
13986 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13987 "part_" to partmap module names, in line with grub-install.
13988 Reported by: Jindřich Makovička (Debian bug #584426).
13989
9cdfe32f
CW
139902010-06-04 Colin Watson <cjwatson@ubuntu.com>
13991
13992 * util/grub-mkimage.c: Make target-related error messages slightly
13993 more helpful; -O talks about "format". Explicitly point to the use
13994 of -O if no target is specified.
13995 Reported by: Didier Raboud (Debian bug #584415).
13996
795b593a
CW
139972010-06-03 Colin Watson <cjwatson@ubuntu.com>
13998
13999 * INSTALL: Document several build requirements for optional features
14000 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
14001
9d9b5833
GS
140022010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14003
14004 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
14005 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
14006 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
14007
0819fec8
CW
140082010-06-02 Colin Watson <cjwatson@ubuntu.com>
14009
14010 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
14011 Thanks to Jordan Uggla for spotting this.
14012
49396b4f
VS
140132010-06-02 Aleš Nesrsta <starous@volny.cz>
14014
14015 Finally make USB usable.
14016
14017 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
14018 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
14019 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
14020 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
14021 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
14022 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
14023 (GRUB_OHCI_FSMPS): Likewise.
14024 (GRUB_OHCI_PERIODIC_START): Likewise.
14025 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
14026 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
14027 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
14028 (GRUB_OHCI_SET_PORT_RESET): Likewise.
14029 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
14030 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
14031 (grub_ohci_transaction): Likewise.
14032 (grub_ohci_transfer): Improve condition detection algorithms.
14033 Handle toggle property. Program the transactions correctly.
14034 Improve error handling. Various important fixups.
14035 (grub_ohci_portstatus): Put register writes in right order.
14036 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
14037 (grub_uhci_transfer): Don't show "failed" message on success.
14038 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
14039 array.
14040 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
14041 determine its size.
14042 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
14043 before initialization is completed. Use IN direction for empty
14044 transfers. Use last_trans and compute toggle.
14045 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
14046 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
14047 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
14048 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
14049 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
14050 (grub_usb_device): Increase toggle to 256.
14051 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
14052 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
14053 GRUB_USBMS_SUBCLASS_SFF8070.
14054 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
14055 (grub_scsi_inquiry): New member page and alloc_length.
14056 (grub_scsi_request_sense): New structure.
14057 (grub_scsi_request_sense_data): Likewise.
14058 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
14059 control.
14060 * disk/scsi.c (grub_scsi_request_sense): New function.
14061 (grub_scsi_test_unit_ready): Likewise.
14062 (grub_scsi_inquiry): Fill new fields.
14063 (grub_scsi_read_capacity): Likewise.
14064 (grub_scsi_read10): Add request sense at the end.
14065 (grub_scsi_read12): Likewise.
14066 (grub_scsi_write10): Likewise.
14067 (grub_scsi_write12): Likewise.
14068 (grub_scsi_open): Add Test Unit Ready.
14069 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
14070 Support additional subclasses. Con't clear halt yet. Activate the
14071 proper config. Calculate LUNs correctly.
14072 (grub_usbms_transfer): Various important fixups.
14073
140742010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
14077 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
14078 (grub_ohci_fini_hw): New function.
14079 (grub_ohci_restore_hw): Likewise.
14080 (GRUB_MOD_INIT(ohci)): Register preboot hook.
14081 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
14082 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
14083
140842010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 Dedicated DMA allocations.
14087
14088 * bus/pci.c (grub_memalign_dma32): New function
14089 (grub_dma_free): Likewise.
14090 (grub_dma_get_virt): Likewise.
14091 (grub_dma_get_phys): Likewise.
14092 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
14093 (grub_ohci_pci_iter): Use dma32_alloc.
14094 (grub_ohci_transfer): Likewise.
14095 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14096 (grub_usb_bulk_readwrite): Likewise.
14097 * include/grub/pci.h: Add declarations.
14098
140992010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
14100
14101 CS5536 support.
14102
14103 * bus/cs5536.c: New file.
14104 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
14105 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
14106 (cs5536_mod_SOURCES): New variable.
14107 (cs5536_mod_CFLAGS): Likewise.
14108 (cs5536_mod_LDFLAGS): Likewise.
14109 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
14110 machine/pci.h.
14111 (kernel_img_SOURCES): Add bus/cs5536.c.
14112 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
14113 usb_keyboard.mod.
14114 (usb_mod_SOURCES): New variable.
14115 (usb_mod_CFLAGS): New variable.
14116 (usb_mod_LDFLAGS): New variable.
14117 (usbtest_mod_SOURCES): New variable.
14118 (usbtest_mod_CFLAGS): New variable.
14119 (usbtest_mod_LDFLAGS): New variable.
14120 (ohci_mod_SOURCES): New variable.
14121 (ohci_mod_CFLAGS): New variable.
14122 (ohci_mod_LDFLAGS): New variable.
14123 (usbms_mod_SOURCES): New variable.
14124 (usbms_mod_CFLAGS): New variable.
14125 (usbms_mod_LDFLAGS): New variable.
14126 (usb_keyboard_mod_SOURCES): New variable.
14127 (usb_keyboard_mod_CFLAGS): New variable.
14128 (usb_keyboard_mod_LDFLAGS): New variable.
14129 * include/grub/smbus.h: New file.
14130 * include/grub/cs5536.h: New file.
14131
0b35b2a9
CW
141322010-06-02 Colin Watson <cjwatson@ubuntu.com>
14133
14134 * util/grub.d/00_header.in: Add safety check to make sure that
14135 ${locale_dir} exists before trying to probe it.
14136
ca0afd5b
CW
141372010-06-02 Colin Watson <cjwatson@ubuntu.com>
14138
14139 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
14140 per the GNU Coding Standards; this is now too obscure to be worth
14141 documenting.
14142 (QNX): Likewise.
14143 (chainloader): Remove cross-reference to `SCO UnixWare'.
14144
1c41aa78
CW
141452010-06-02 Colin Watson <cjwatson@ubuntu.com>
14146
14147 * docs/grub.texi (Chain-loading): New section.
14148 (DOS/Windows): New section, borrowed from GRUB Legacy with details
14149 adjusted for GRUB 2.
14150 (SCO UnixWare): Likewise.
14151 (QNX): Likewise.
14152 (chainloader): Add reference to `Block list syntax'.
14153 (drivemap): New section.
14154 (parttool): New section.
14155
bb8ea0f5
CW
141562010-06-02 Colin Watson <cjwatson@ubuntu.com>
14157
14158 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
14159 the grub shell'.
14160 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
14161 (Installing GRUB using grub-install): Remove reference to the grub
14162 shell; mention `grub-mkimage' and `grub-setup' instead.
14163 (Invoking grub-install): Likewise.
14164 (Interface): Add reference to `Menu entry editor'.
14165 (serial): Remove `--device' option.
14166
288dd6ed
CW
141672010-06-02 Colin Watson <cjwatson@ubuntu.com>
14168
14169 * docs/grub.texi (Configuration): New section, documenting
14170 configuration file generation using grub-mkconfig. I've left a slot
14171 for documenting the full shell scripting format but have not yet
14172 started on writing that up.
14173 (Invoking grub-mkconfig): New section.
14174
34c9f0e9
CW
141752010-06-02 Colin Watson <cjwatson@ubuntu.com>
14176
14177 * docs/grub.texi (direntry): Remove grub-terminfo reference.
14178 (GNU GRUB manual): Likewise.
14179 (General commands): Update description of `terminfo' for GRUB 2.
14180
9121567e
CW
141812010-06-02 Colin Watson <cjwatson@ubuntu.com>
14182
14183 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
14184 (GRUB_MOD_INIT): Fix capitalisation.
14185 * docs/grub.texi (Command-line and menu entry commands): Document
14186 gettext and gptsync commands.
14187
ab631611
CW
141882010-06-02 Colin Watson <cjwatson@ubuntu.com>
14189
14190 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
14191 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
14192
bde4a9ac
CW
141932010-06-01 Colin Watson <cjwatson@ubuntu.com>
14194
14195 Add btrfs probing support, currently only in the single-device case.
14196
14197 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
14198 function.
14199 (grub_guess_root_device): Call find_root_device_from_mountinfo
14200 before looking in /dev.
14201
b1d17e10
VS
142022010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
14205 GRUB_DISK_SIZE_UNKNOWN.
14206 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
14207
dfbfe004
JS
142082010-05-31 Jiro SEKIBA <jir@unicus.jp>
14209
14210 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
14211 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
14212 corrupted or not synced properly.
14213
c2ffc8e9
VS
142142010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14215
14216 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
14217 Reported by: Seth Goldberg.
14218
56293166
VS
142192010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14220
14221 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
14222 addition of dest.
14223 Reported by: Seth Goldberg.
14224
7620e7de
VS
142252010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
14228 Reported by: Seth Goldberg.
14229
c837af3f
VS
142302010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
14231
14232 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
14233 64-bit address as signed on MIPS.
14234
c7c75cf4
CW
142352010-05-28 Colin Watson <cjwatson@ubuntu.com>
14236
14237 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
14238 to the empty string.
14239
fa4b8490
BC
142402010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
14241
14242 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
14243
14244 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
14245 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
14246 * kern/misc.c (__enable_execute_stack): Disable on
14247 GRUB_MACHINE_EMU.
14248
a33075b9
CW
142492010-05-28 Colin Watson <cjwatson@ubuntu.com>
14250
14251 Make grub-probe work with symbolic links under /dev/mapper as well
14252 as with real block devices. The Linux world seems to be (at best)
14253 in transition here, and GRUB shouldn't get caught in the middle.
14254
14255 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
14256 /dev/mapper.
14257
d8708134
CW
142582010-05-27 Colin Watson <cjwatson@ubuntu.com>
14259
14260 * util/grub-script-check.c (main): Ensure defined behaviour on empty
14261 input files (in which case exit zero).
14262
db2102a0
CW
142632010-05-27 Colin Watson <cjwatson@ubuntu.com>
14264
14265 * kern/emu/misc.c (canonicalize_file_name): realpath can still
14266 return NULL for various reasons even if it has a maximum-length
14267 buffer: for example, there might be a symlink loop, or the path
14268 might exceed PATH_MAX. If this happens, return NULL.
14269
5fdba519
RM
142702010-05-27 Robert Millan <rmh@gnu.org>
14271
14272 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
14273 partmap module to handle cross-partmap setups.
14274 Reported by Orestes Mas. Gràcies!
14275
d1d368e4
CW
142762010-05-27 Colin Watson <cjwatson@ubuntu.com>
14277
14278 * util/grub-mkrescue.in: Initialise override_dir rather than
14279 assuming that it's unset or empty in the environment.
14280
95ac3c73
GS
142812010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
14282
14283 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
14284 variable index into p_index to suppress a warning with -Wshadow.
14285
7d8c0213
BC
142862010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
14287
14288 * INSTALL: Added flex >= 2.5.35 requirement.
14289
db4d5813
VS
142902010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14291
14292 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
14293
f24f4300
VS
142942010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14295
14296 cmostest support.
14297
14298 * commands/i386/cmostest.c: New file.
14299 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
14300 (cmostest_mod_SOURCES): New variable.
14301 (cmostest_mod_CFLAGS): Likewise.
14302 (cmostest_mod_LDFLAGS): Likewise.
14303 * conf/i386-pc.rmk: Likewise.
14304 * docs/grub.texi (Vendor power-on keys): New section.
14305 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
14306 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
14307 and GRUB_BUTTON_CMOS_ADDRESS.
14308 * util/grub.d/00_header.in: Handle powering-on by separate button.
14309
ad603f61
VS
143102010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14311
14312 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
14313 Removed drawing_scrollbar argument. All users updated
14314 Fixes #29792.
14315 Reported by Jo Shields
14316
3ecb080a
VS
143172010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
14320 buffer since gfxterm handles double repaint.
14321
5f2316c1
VS
143222010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
14325 * term/gfxterm.c (real_scroll): Likewise.
14326
9a25f885
VS
143272010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
14330 before calling BIOS.
14331
39fbb79a
VS
143322010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * include/grub/i18n.h: Always enable grub_gettext.
14335
228cfa97
VS
143362010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14337
14338 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
14339 partition naming style.
14340
21717c8f
CW
143412010-05-21 Colin Watson <cjwatson@ubuntu.com>
14342
14343 * util/grub-mkconfig.in: Fix handling of -o so that it works when
14344 not the first option.
14345
c0f48e65
CW
143462010-05-20 Colin Watson <cjwatson@ubuntu.com>
14347
14348 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
14349
96779aec
CW
143502010-05-20 Colin Watson <cjwatson@ubuntu.com>
14351
14352 * util/misc.c: Move inclusion of <limits.h> to ...
14353 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
14354
fa9d256e
GS
143552010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
14356
14357 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
14358 Fix merge error in NetBSD code.
14359 (find_partition_start) [__NetBSD__]: Likewise.
14360
123b7a85
BC
143612010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
14362
14363 Fix grub-mkrescue usage unit testing.
14364
14365 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
14366
74276c0d
CF
143672010-05-18 Christian Franke <franke@computer.org>
14368
14369 * util/grub.d/10_windows.in: Use path names instead of
14370 drive letters to prevent warning from Cygwin 1.7.
14371 Add drivemap command to menuentry if needed.
14372
c4f7b523
ST
143732010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
14374
14375 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
14376 gnumach and gnumach.gz.
14377
95b97950
VS
143782010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14379
14380 * include/grub/i18n.h (gettext): Inline instead of using #define.
14381 (grub_gettext): Likewise.
14382 (_): Likewise.
14383
01b8d2d7
VS
143842010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14385
14386 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
14387 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
14388 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
14389 (main): Add a slash after pkglibdirroot.
14390
654e1d1e
VS
143912010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 * util/grub-install.in: Add missing "in" keyword.
14394
26966aeb
VS
143952010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14396
14397 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
14398 Reported by: Seth Goldberg.
14399
75006747
VS
144002010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
14403
74cbf5bd
CW
144042010-05-18 Colin Watson <cjwatson@ubuntu.com>
14405
14406 * configure.ac: Check for Linux device-mapper support.
14407
14408 * util/hostdisk.c (device_is_mapped): New function.
14409 (find_partition_start): New function, partly broken out from
14410 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
14411 device-mapper support added.
14412 (linux_find_partition): Use find_partition_start.
14413 (convert_system_partition_to_system_disk): Add `st' argument.
14414 Support Linux /dev/mapper/* devices if device-mapper support is
14415 available; only DM-RAID devices are understood at present.
14416 (find_system_device): Add `st' argument. Pass it to
14417 convert_system_partition_to_system_disk.
14418 (grub_util_biosdisk_get_grub_dev): Pass stat result to
14419 find_system_device and convert_system_partition_to_system_disk. Use
14420 find_partition_start.
14421
14422 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
14423 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
14424 * util/deviceiter.c [__linux__]: Define MINOR.
14425 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
14426 * util/mkdevicemap.c (grub_putchar): New function.
14427 (grub_getkey): New function.
14428 (grub_refresh): New function.
14429 (main): Set debug=all if -v -v is used.
14430
355b51e9
CW
144312010-05-18 Colin Watson <cjwatson@ubuntu.com>
14432
14433 Fix build with non-GNU libcs.
14434
14435 * util/misc.c (canonicalize_file_name): Move to ...
14436 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
14437 grub_make_system_path_relative_to_its_root.
14438
7fb5c25f
CW
144392010-05-18 Colin Watson <cjwatson@ubuntu.com>
14440
14441 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
14442 we handle finding grub-mkimage. Default to finding grub-mkimage in
14443 ${bindir} with program_transform_name applied, and provide a
14444 --grub-mkimage option to override this.
14445
1d3293d6
VS
144462010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14447
14448 Remove grub-mkisofs.
14449
14450 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
14451 (grub_mkisofs_SOURCES): Removed.
14452 (grub_mkisofs_CFLAGS): Removed.
14453 * util/mkisofs/defaults.h: Removed.
14454 * util/mkisofs/eltorito.c: Likewise.
14455 * util/mkisofs/exclude.h: Likewise.
14456 * util/mkisofs/hash.c: Likewise.
14457 * util/mkisofs/include/: Likewise.
14458 * util/mkisofs/include/fctldefs.h: Likewise.
14459 * util/mkisofs/include/mconfig.h: Likewise.
14460 * util/mkisofs/include/prototyp.h: Likewise.
14461 * util/mkisofs/include/statdefs.h: Likewise.
14462 * util/mkisofs/iso9660.h: Likewise.
14463 * util/mkisofs/joliet.c: Likewise.
14464 * util/mkisofs/match.c: Likewise.
14465 * util/mkisofs/match.h: Likewise.
14466 * util/mkisofs/mkisofs.c: Likewise.
14467 * util/mkisofs/mkisofs.h: Likewise.
14468 * util/mkisofs/msdos_partition.h: Likewise.
14469 * util/mkisofs/multi.c: Likewise.
14470 * util/mkisofs/name.c: Likewise.
14471 * util/mkisofs/rock.c: Likewise.
14472 * util/mkisofs/tree.c: Likewise.
14473 * util/mkisofs/write.c: Likewise.
14474
5dde9afe
VS
144752010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 Unify grub-mkimage accross platforms.
14478
14479 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
14480 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
14481 (grub_mkelfimage_SOURCES): Removed.
14482 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
14483 (util/grub-mkimage.c_DEPENDENCIES): .. this.
14484 (bin_UTILITIES): Add grub-mkimage.
14485 (grub_mkimage_SOURCES): New variable.
14486 (kernel_img_HEADERS): Remove machine/kernel.h.
14487 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
14488 (pkglib_PROGRAMS): Add kernel.img.
14489 (kernel_img_HEADERS): Add machine/kernel.h.
14490 (kernel_img_FORMAT): Removed.
14491 (bin_UTILITIES): Remove grub-mkimage.
14492 (grub_mkimage_SOURCES): Removed.
14493 (grub_mkimage_CFLAGS): Likewise.
14494 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14495 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
14496 (pkglib_PROGRAMS): Add kernel.img.
14497 (bin_UTILITIES): Remove grub-mkimage.
14498 (grub_mkimage_SOURCES): Removed.
14499 (grub_mkimage_CFLAGS): Likewise.
14500 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14501 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
14502 (pkglib_PROGRAMS): Add kernel.img.
14503 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
14504 (pkglib_PROGRAMS): Add kernel.img.
14505 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
14506 (grub_mkimage_SOURCES): Removed.
14507 (grub_mkimage_CFLAGS): Likewise.
14508 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14509 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
14510 (pkglib_PROGRAMS): Add kernel.img.
14511 (bin_UTILITIES): Remove grub-mkimage.
14512 (grub_mkimage_SOURCES): Removed.
14513 (grub_mkimage_CFLAGS): Likewise.
14514 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14515 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
14516 (grub_mkimage_SOURCES): Removed.
14517 (grub_mkimage_CFLAGS): Likewise.
14518 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14519 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
14520 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
14521 (grub_pe32_optional_header): ... this.
14522 (grub_pe64_optional_header): ... and this. All users updated.
14523 (GRUB_PE32_PE32_MAGIC): Split into ..
14524 (GRUB_PE32_PE32_MAGIC): .. this.
14525 (GRUB_PE32_PE64_MAGIC): .. and this.
14526 (GRUB_PE32_SIGNATURE_SIZE): New definition.
14527 * include/grub/elf.h (PT_GNU_STACK): New definition.
14528 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
14529 * include/grub/i386/efi/kernel.h: Likewise.
14530 * include/grub/i386/kernel.h: Likewise.
14531 * include/grub/i386/pc/kernel.h: Likewise.
14532 * include/grub/i386/qemu/boot.h: Likewise.
14533 * include/grub/mips/kernel.h: Likewise.
14534 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14535 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14536 * include/grub/powerpc/kernel.h: Likewise.
14537 * include/grub/sparc64/ieee1275/boot.h: Likewise.
14538 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14539 * include/grub/sparc64/kernel.h: Likewise.
14540 * include/grub/x86_64/efi/kernel.h: Likewise.
14541 * include/grub/x86_64/kernel.h: Likewise.
14542 * include/grub/offsets.h: New file.
14543 * include/grub/kernel.h (grub_module_info): Split into ...
14544 (grub_module_info32): ... this.
14545 (grub_module_info64): ... and this.
14546 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
14547 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
14548 (grub_boot_blocklist): Moved from here ...
14549 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
14550 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
14551 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
14552 * include/grub/types.h (grub_target_to_host16): Removed.
14553 (grub_target_to_host32): Likewise.
14554 (grub_target_to_host64): Likewise.
14555 (grub_host_to_target16): Likewise.
14556 (grub_host_to_target32): Likewise.
14557 (grub_host_to_target64): Likewise.
14558 (grub_host_to_target_addr): Likewise.
14559
14560 Support grub-mkrescue for efi, coreboot and qemu.
14561
14562 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
14563 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
14564 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
14565 * util/grub-mkrawimage.c: Moved from here ...
14566 * util/grub-mkimage.c: ... here. All users updated.
14567 (ALIGN_ADDR): Use image_target.
14568 (TARGET_NO_FIELD): New const.
14569 (image_target_desc): New type.
14570 (image_targets): New array.
14571 (grub_target_to_host64): Use image_target.
14572 (grub_target_to_host32): Likewise.
14573 (grub_target_to_host16): Likewise.
14574 (grub_host_to_target64): Likewise.
14575 (grub_host_to_target32): Likewise.
14576 (grub_host_to_target16): Likewise.
14577 (grub_host_to_target_addr): Likewise.
14578 (generate_image): Handle multiimage.
14579 (main): Require -O parameter. All users updated.
14580 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
14581 util/efi/grub-mkimage.c
14582 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
14583 New option --rom-directory.
14584 Use xorriso.
14585 * util/i386/efi/grub-mkimage.c: Removed.
14586 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
14587 (grub_target_to_host32): Likewise.
14588 (grub_target_to_host64): Likewise.
14589 (grub_host_to_target16): Likewise.
14590 (grub_host_to_target32): Likewise.
14591 (grub_host_to_target64): Likewise.
14592 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
14593 (grub_target_to_host32): Likewise.
14594 (grub_target_to_host64): Likewise.
14595 (grub_host_to_target16): Likewise.
14596 (grub_host_to_target32): Likewise.
14597 (grub_host_to_target64): Likewise.
14598
f4fc97d0
BC
145992010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
14600
14601 Source tree is reorganized for emu build.
14602
14603 * include/grub/util/console.h: Move from here...
14604 * include/grub/emu/console.h: ...to here.
14605 * include/grub/util/getroot.h: Move from here...
14606 * include/grub/emu/getroot.h: ...to here.
14607 * include/grub/util/hostdisk.h: Move from here...
14608 * include/grub/emu/hostdisk.h: ...to here.
14609 * util/console.c: Move from here...
14610 * kern/emu/console.c: ...to here.
14611 * util/getroot.c: Move from here...
14612 * kern/emu/getroot.c: ...to here.
14613 * util/grub-emu.c: Move from here...
14614 * kern/emu/main.c: ...to here.
14615 * util/hostdisk.c: Move from here...
14616 * kern/emu/hostdisk.c: ...to here.
14617 * util/hostfs.c: Move from here...
14618 * kern/emu/hostfs.c: ...to here.
14619 * util/mm.c: Move from here...
14620 * kern/emu/mm.c: ...to here.
14621 * util/pci.c: Move from here...
14622 * bus/emu/pci.c: ...to here.
14623 * util/sdl.c: Move from here...
14624 * video/emu/sdl.c: ...to here.
14625 * util/time.c: Move from here...
14626 * kern/emu/time.c: ...to here.
14627 * util/usb.c: Move from here...
14628 * bus/usb/emu/usb.c: ...to here.
14629
14630 * include/grub/emu/misc.h: New header for grub-emu functions.
14631 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
14632
14633 * conf/any-emu.rmk: Rule updates for above renames.
14634 * conf/common.rmk: Likewise.
14635 * conf/i386-pc.rmk: Likewise.
14636 * conf/i386-qemu.rmk: Likewise.
14637 * conf/mips.rmk: Likewise.
14638 * conf/sparc64-ieee1275.rmk: Likewise.
14639 * conf/x86-efi.rmk: Likewise.
14640
14641 * disk/lvm.h: #include updates for above renames.
14642 * util/grub-mkrelpath.c: Likewise.
14643 * util/grub-probe.c: Likewise.
14644 * util/i386/pc/grub-setup.c: Likewise.
14645 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14646 * kern/emu/console.c: Likewise.
14647 * kern/emu/getroot.c: Likewise.
14648 * kern/emu/hostdisk.c: Likewise.
14649 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
14650
14651 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
14652 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
14653 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
14654 * util/misc.c: Remove grub-emu functions.
14655
cced9145
VS
146562010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 Fix gfxmenu crash.
14659 Reported by: Thorsten Grützmacher.
14660
14661 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
14662 timeout hook.
14663 (circprog_set_property): Register and unregister timeout hook.
14664 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
14665 (label_destroy): Free template. and unregister hook.
14666 (label_set_state): New function.
14667 (label_set_property): Handle templates and hooks.
14668 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
14669 timeout hook.
14670 (progress_bar_set_property): Register and unregister timeout hook.
14671 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
14672 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
14673 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
14674 (update_timeout_visit): Removed.
14675 (update_timeouts): New function.
14676 (redraw_timeouts): Likewise.
14677 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
14678 (grub_gfxmenu_clear_timeout): Likewise.
14679 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
14680 (grub_gfxmenu_timeout_notify): Likewise.
14681 (grub_gfxmenu_timeout_notifications): New external variable.
14682 (grub_gfxmenu_timeout_register): New function.
14683 (grub_gfxmenu_timeout_unregister): Likewise.
14684
c6e5caab
VS
146852010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 Transform (broken) vga terminal into (working) vga video driver.
14688
14689 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
14690 video/i386/pc/vga.c.
14691 * include/grub/video.h (grub_video_driver_id):
14692 Add GRUB_VIDEO_DRIVER_VGA.
14693 * term/i386/pc/vga.c: Renamed to ...
14694 * video/i386/pc/vga.c: ...this
14695 (DEBUG_VGA): Removed.
14696 (CHAR_WIDTH): Likewise.
14697 (CHAR_HEIGHT): Likewise.
14698 (TEXT_WIDTH): Likewise.
14699 (TEXT_HEIGHT): Likewise.
14700 (DEFAULT_FG_COLOR): Likewise.
14701 (DEFAULT_BG_COLOR): Likewise.
14702 (colored_char): Likewise.
14703 (xpos): Likewise.
14704 (ypos): Likewise.
14705 (cursor_state): Likewise.
14706 (fg_color): Likewise.
14707 (bg_color): Likewise.
14708 (text_buf): Likewise.
14709 (page): Likewise.
14710 (font): Likewise.
14711 (framebuffer): New variable.
14712 (set_read_map): Disabled.
14713 (setup): New variable.
14714 (is_target): Likewise.
14715 (grub_vga_mod_init): Likewise.
14716 (grub_vga_mod_fini): Likewise.
14717 (check_vga_mem): Likewise.
14718 (write_char): Likewise.
14719 (write_cursor): Likewise.
14720 (scroll_up): Likewise.
14721 (grub_vga_putchar): Likewise.
14722 (grub_vga_getcharwidth): Likewise.
14723 (grub_vga_getwh): Likewise.
14724 (grub_vga_getxy): Likewise.
14725 (grub_vga_gotoxy): Likewise.
14726 (grub_vga_cls): Likewise.
14727 (grub_vga_setcolorstate): Likewise.
14728 (grub_vga_setcursor): Likewise.
14729 (grub_video_vga_init): New function.
14730 (grub_video_vga_setup): Likewise.
14731 (grub_video_vga_fini): Likewise.
14732 (update_target): Likewise.
14733 (grub_video_vga_blit_bitmap): Likewise.
14734 (grub_video_vga_blit_render_target): Likewise.
14735 (grub_video_vga_set_active_render_target): Likewise.
14736 (grub_video_vga_get_active_render_target): Likewise.
14737 (grub_video_vga_swap_buffers): Likewise.
14738 (grub_video_vga_set_palette): Likewise.
14739 (grub_video_vga_get_info_and_fini): Likewise.
14740 (grub_vga_term): Removed.
14741 (grub_video_vga_adapter): New variable.
14742 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14743 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14744
2bf61a98
VS
147452010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 * video/readers/jpeg.c: Indented.
14748
09ddcd11
VS
147492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 Various jpeg cleanups.
14752
14753 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14754 (grub_jpeg_decode_quan_table): Use sizeof.
14755 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14756
e5507505
PH
147572010-05-05 Peter Hurley <No e-mail available> (tiny change)
14758
14759 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14760 tables. Ignore non-last ac bit.
14761 (grub_jpeg_decode_quan_table): Likewise.
14762
7e720a9b
VS
147632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14766 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14767 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14768 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14769 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14770 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14771
a7fc080b
VS
147722010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14773
14774 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14775 error.
14776
2bf6012d
VS
147772010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14780
265d68cd
VS
147812010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14784 condition.
14785
147862010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
14787
14788 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14789 part.
14790
265d68cd 147912010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
14792
14793 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14794 pointers.
14795
265d68cd 147962010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
14797
14798 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14799
d1b61374
CF
148002010-05-01 Christian Franke <franke@computer.org>
14801
14802 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14803 Remove broken Cygwin path conversion.
14804 * util/misc.c: [__CYGWIN__] Add include and define.
14805 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14806 for Cygwin 1.7.
14807 (make_system_path_relative_to_its_root): Simplify loop, replace early
14808 return by break.
14809 [__CYGWIN__] Add conversion to win32 path.
14810 Include "/" case in trailing slash removal.
14811
3558c6e9
VS
148122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14815 Reported by: Seth Goldberg
14816
f5f3ff93
VS
148172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * commands/help.c (grub_cmd_help): Fix a typo.
14820 Reported by: Seth Goldberg
14821
d8b5cd40
VS
148222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14825 name and add N_.
14826 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14827 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14828 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14829 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14830 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14831 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14832 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14833 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14834 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14835 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14836 * normal/context.c (GRUB_MOD_INIT): Likewise.
14837 * normal/main.c (GRUB_MOD_INIT): Likewise.
14838 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14839 * term/serial.c (GRUB_MOD_INIT): Likewise.
14840 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14841
88c14915
VS
148422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14845 extra == 0.
14846
165134bc
VS
148472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14848
14849 * commands/iorw.c: New file.
14850 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14851 (iorw_mod_SOURCES): New variable.
14852 (iorw_mod_CFLAGS): Likewise.
14853 (iorw_mod_LDFLAGS): Likewise.
14854
c5ac9b32
VS
148552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 Hotkey support
14858
14859 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14860 * normal/main.c (hotkey_aliases): New variable.
14861 (grub_normal_add_menu_entry): Parse "--hotkey".
14862 * normal/menu_text.c (run_menu): Handle hotkeys.
14863
ce60689c
VS
148642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 * kern/i386/coreboot/init.c (grub_machine_init): Call
14867 grub_machine_mmap_init on qemu.
14868
0359d006
VS
148692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14870
14871 * boot/i386/qemu/boot.S: Add a missing .code16.
14872
7819a456
VS
148732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 Use LBIO on coreboot.
14876
14877 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14878 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14879 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14880 New declaration.
14881 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14882 grub_machine_mmap_init on coreboot.
14883 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14884 GRUB_LINUXBIOS_MEMBER_LINK.
14885 (grub_machine_mmap_iterate): Fix declaration.
14886 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14887
7210dca9
VS
148882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14889
14890 Split coreboot and multiboot ports.
14891
14892 * conf/i386-multiboot.rmk: New file.
14893 * configure.ac: Add multiboot port.
14894 * include/grub/i386/multiboot/boot.h: New file.
14895 * include/grub/i386/multiboot/console.h: Likewise.
14896 * include/grub/i386/multiboot/init.h: Likewise.
14897 * include/grub/i386/multiboot/kernel.h: Likewise.
14898 * include/grub/i386/multiboot/loader.h: Likewise.
14899 * include/grub/i386/multiboot/memory.h: Likewise.
14900 * include/grub/i386/multiboot/serial.h: Likewise.
14901 * include/grub/i386/multiboot/time.h: Likewise.
14902 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14903 * loader/multiboot.c: Likewise.
14904 * loader/multiboot_mbi2.c: Likewise.
14905 * util/grub-mkrescue.in: Generate multiboot rescue.
14906
6f8aaf68
VS
149072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14908
3080f7a7
VS
14909 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14910
149112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
14914
14915 * commands/terminal.c (abstract_terminal): New struct.
14916 (handle_command): New function. Based on grub_cmd_terminal_input.
14917 (grub_cmd_terminal_input): Use handle_command.
14918 (grub_cmd_terminal_output): Use handle_command.
14919
a8ebb841
BC
149202010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14921
14922 Fix comment handling.
14923
14924 * tests/grub_script_comments.in: New testcase.
14925 * conf/tests.rmk: Rules for new testcase.
14926 * script/yylex.l: Updated flex rules.
14927
bb06ba08
ST
149282010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14929
14930 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
14931 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14932 if argc is 1.
bb06ba08 14933
cc9d2425
VS
149342010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14935
14936 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14937 autogen issues.
14938
460d8402
CF
149392010-04-26 Christian Franke <franke@computer.org>
14940
14941 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14942 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14943 (grub_get_prefix): Remove function.
14944 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14945 make_system_path_relative_to_its_root ().
14946 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14947
553c01f9
CF
149482010-04-24 Christian Franke <franke@computer.org>
14949
14950 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14951 (kernel_img_LDFLAGS): Remove -static-libgcc.
14952
2aec1692
CF
149532010-04-24 Christian Franke <franke@computer.org>
14954
14955 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14956 and CHECK_END_SYMBOL if grub-emu is built.
14957 Unset TARGET_OBJ2ELF if grub-emu is built
14958 without module support.
14959
f67dc308
JS
149602010-04-24 Jiro SEKIBA <jir@unicus.jp>
14961
14962 Nilfs2 support.
14963
14964 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14965 (grub_fstest_SOURCES): Likewise.
14966 (pkglib_MODULES): Add nilfs2.mod.
14967 (nilfs2_mod_SOURCES): New variable.
14968 (nilfs2_mod_CFLAGS): Likewise.
14969 (nilfs2_mod_LDFLAGS): Likewise.
14970 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14971 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14972 * fs/nilfs2.c: New file.
14973
4ba8d354
VS
149742010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14975
14976 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14977 is not supported.
14978
0d2c20c6
GS
149792010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14980
14981 Add grub-mkconfig support for NetBSD.
14982
14983 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14984 * util/grub-mkconfig.in: export new NetBSD specific variables.
14985 * po/POTFILES-shell: added 10_netbsd.in.
14986 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14987
bc4a2d83
BC
149882010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14989
14990 Fix emu build with grub-emu-pci and grub-emu-modules.
14991
14992 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14993 functions.
14994 * include/grub/libpciaccess.h: New file.
14995 * conf/any-emu.rmk: Update kernel headers for emu build.
14996
f48c87aa
VS
149972010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
15000
18959385
VS
150012010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
15004
0037de3f
VS
150052010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15006
15007 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
15008 Retrieve chosen/bootpath if bootpath isn't hardcoded.
15009 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
15010 util/ieee1275/ofpath.c.
15011 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
15012 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
15013 * include/grub/sparc64/ieee1275/boot.h
15014 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
15015 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
15016 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
15017 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
15018 const char *.
15019 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
15020 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
15021 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
15022 install.
15023
38e55e90
GS
150242010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15025
15026 * util/grub-mkconfig.in: Corrected two == equality tests.
15027 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
15028 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
15029 expect a number appended to it.
15030 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
15031 expects a number appended to it.
15032
a9e6ff28
VS
150332010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
15036
0b830b8f
VS
150372010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * util/hostdisk.c (make_device_name): Change to new partition naming.
15040
0973daeb
VS
150412010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
15044
460d8402 150452010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
15046
15047 * Makefile.in: Add missing localedir setting.
15048
0b456309
CW
150492010-04-14 Colin Watson <cjwatson@ubuntu.com>
15050
15051 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
15052 mistake in r2156. Noticed by Anthony Fok.
15053
15054 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
15055 @localedir@.
15056 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
15057
08f46d62
BC
150582010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
15059
15060 Fix a spurious, uninitialized variable warning.
15061
15062 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
15063 Initialize variable, shdr.
15064 (grub_freebsd_load_elfmodule): Likewise.
15065 (grub_freebsd_load_elf_meta): Likewise.
15066
8c4a72d4
BC
150672010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
15068
15069 Fix for escaped dollar in double quoted strings.
15070
15071 * script/yylex.l: Updated flex rules.
15072 * conf/tests.rmk: Rule for new testcase.
15073 * tests/grub_script_dollar.in: New testcase.
15074
ce44826e
CPE
150752010-04-13 Carles Pina i Estany <carles@pina.cat>
150762010-04-13 Colin Watson <cjwatson@ubuntu.com>
15077
15078 Enclose all translated strings in grub.cfg in single quotes, and
15079 escape them appropriately (Ubuntu bug #552921).
15080
15081 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
15082 * util/grub.d/10_hurd.in: Use it.
15083 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
15084 * util/grub.d/10_linux.in (linux_entry): Likewise.
15085
4b0cd8f8
VS
150862010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 Fix cygwin compilation.
15089
15090 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
15091 * include/grub/misc.h (__register_frame_info)
15092 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
15093 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
15094 * kern/misc.c (__register_frame_info)
15095 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
15096 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
15097
01fcf061
VS
150982010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
15101
5d04b11e
VS
151022010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 Unify libgcc processing.
15105
15106 * Makefile.in (kernel_img_LDFLAGS): New variable.
15107 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
15108 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
15109 overwriting.
15110 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
15111 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
15112 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
15113 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
15114 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
15115 overwriting. Remove -lgcc and -static-libgcc
15116 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
15117 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
15118 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
15119 (kernel_img_LDFLAGS): Append instead of overwriting.
15120 Remove -lgcc and -static-libgcc
15121 * conf/sparc64-ieee1275.rmk: Likewise.
15122 * include/grub/powerpc/libgcc.h: Move to ...
15123 * include/grub/libgcc.h: .. this.
15124 * include/grub/libgcc.h: Don't export most of the function on x86.
15125 (__bswapsi2): New export.
15126 (__bswapdi2): Likewise.
15127 * include/grub/mips/libgcc.h: Removed.
15128 * include/grub/sparc64/libgcc.h: Likewise.
15129
b7f3ac29
VS
151302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
15133 disk_info_msg (conflicts with gettexting into languages with cases).
15134
2c7031b1
GS
151352010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
15136
15137 Add grub-probe support for NetBSD.
15138
15139 * util/getroot.c (find_root_device): Convert block device to
15140 character device on NetBSD.
15141 * util/probe.c (probe): Require character device on NetBSD.
15142 * util/hostdisk.c: NetBSD specific headers.
15143 (configure_device_driver): new function to tune device driver
15144 parameters (currently only for NetBSD floppy driver).
15145 (grub_util_biosdisk_open): NetBSD specific code (get disk size
15146 via disklabel ioctl).
15147 (open_device): call configure_device_driver on NetBSD.
15148 (convert_system_partition_to_system_disk): NetBSD specific code.
15149 (device_is_wholedisk): Likewise.
15150 (grub_util_biosdisk_get_grub_dev): Likewise.
15151 (make_device_name): Fixed a typo in bsd_part_str.
15152 * configure.ac: check for opendisk() and getrawpartition() on
15153 NetBSD and set LIBUTIL.
15154 * Makefile.in: add LIBUTIL to LIBS.
15155
f516290c
BC
151562010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
15157
15158 Documentation fix.
15159
15160 * util/grub-script-check.c: Better help message.
15161
d8dcc0df
BC
151622010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
15163
15164 Fix FreeBSD build.
15165
15166 * configure.ac: Flex version check.
15167 * conf/common.rmk: Add -Wno-error to sh.mod.
15168 * script/yylex.l: Remove all #pragma.
15169
6734334a
VS
151702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15171
15172 * include/grub/util/misc.h (canonicalise_file_name): Add missing
15173 prototype.
15174 Reported by: Seth Goldberg.
15175
daea6abd
VS
151762010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
15179 Rename "module" to "module2".
15180 Reported by: Seth Goldberg.
15181
f2fd9d2b
VS
151822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15183
15184 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
15185 EXPORT_FUNC.
15186 Reported by: Seth Goldberg.
15187
be124579
VS
151882010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * lib/posix_wrap/locale.h: Add missing file.
15191 Reported by: Seth Goldberg.
15192
ef5da797
VS
151932010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15194
15195 grub-emu module load support.
15196
15197 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
15198 NO_DYNAMIC_MODULES switched to this.
15199 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
15200 (CFLAGS): Likewise.
15201 * conf/any-emu.rmk: Generate symlist.
15202 (kernel_img_HEADERS): Add util/datetime.h.
15203 (kernel_img_HEADERS) [sdl]: Add sdl.h.
15204 (kernel_img_HEADERS) [libusb]: Add libusb.h.
15205 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
15206 kern/$(target_cpu)/cache.S.
15207 * configure.ac (grub-emu-modules): New option.
15208 * genmk.rb: Handle multiple source lists.
15209 * include/grub/sdl.h: New file.
15210 * include/grub/libusb.h: Likewise.
15211 * util/grub-emu.c (main): Hanle (host) root.
15212 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
15213 GRUB_ERR_UNKNOWN_DEVICE.
15214 * util/misc.c: Move mm functions to ...
15215 * util/mm.c: ... here. All users updated.
15216
47822096
VS
152172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15218
15219 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
15220 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
15221 missing files.
15222 (maintainer-clean): Remove libgcrypt-grub.
15223
5d7e7445
VS
152242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15225
15226 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
15227
25f4e252
EC
152282010-04-09 EFI Coder <eficoder@hotmail.com>
15229
15230 * normal/menu_text.c (print_message): Clean up the message and show
15231 the Fn information when on EFI
15232 * term/efi/console.c (grub_console_checkkey): Add F4 support.
15233
027de555
VS
152342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15235
15236 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
15237 All users updated.
15238 * normal/crypto.c (read_crypto_list): Likewise.
15239 * normal/dyncmd.c (read_command_list): Likewise.
15240 * normal/term.c (read_terminal_list): Likewise.
15241 * normal/main.c (read_lists): Use explicit prefix.
15242 (read_lists_hook): Use read_lists.
15243 (grub_normal_execute): Likewise.
15244
47779711
VS
152452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
15248 Reported by: Thomas Schmitt.
15249 Add -no-emul-boot to grub-mkisofs parameters.
15250
1118c32e
VS
152512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 * font/font.c: Indented.
15254
7d652447
BC
152552010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
15256
15257 Elif support to GRUB script (by Deepak Vankadaru).
15258
15259 * tests/grub_script_if.in: New testcase.
15260 * conf/tests.rmk: Rule for new testcase.
15261 * script/parser.y: Grammar rules for elif.
15262
34bb22df
BC
152632010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
15264
15265 While and until loops support to GRUB script.
15266
15267 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
15268 (grub_script_create_cmdwhile): New function prototype.
15269 (grub_script_execute_cmdwhile): New function prototype.
15270 * script/execute.c (grub_script_execute_cmdwhile): New function.
15271 * script/parser.y (command): New commands.
15272 (whilecmd): New grammar rule.
15273 (untilcmd): New grammar rule.
15274 * script/script.c (grub_script_create_cmdwhile): New function.
15275 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
15276 function.
15277
15278 * tests/grub_script_while1.in: New testcase.
15279 * conf/tests.rmk: Rule for new testcase.
15280
e215d8e0
VS
152812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
15284 as *.jpg.
15285
d7c43ba1
MV
152862010-04-09 Mario Vazquez <mariovazq@gmail.com>
15287
15288 GRUB_BACKGROUND support.
15289
15290 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
15291 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
15292
d64795c0
VS
152932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 15296 Idea by: Mario Vazquez
d64795c0
VS
15297
15298 * util/grub.d/00_header.in: Load pf2 and image modules.
15299
f267f83a
VS
153002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15301
15302 grub-mkconfig multiple terminal support.
15303
15304 * util/grub-mkconfig.in: Handle multiple terminals correctly.
15305 * util/grub.d/00_header.in: Likewise.
15306
b7841ceb
VS
153072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 * Makefile.in: Specify files explicitly instead of using $< and $@ since
15310 we use cd $(srcdir).
15311
df60998c
CW
153122010-04-08 Colin Watson <cjwatson@ubuntu.com>
15313
15314 * util/grub.d/10_linux.in: Only use the first word of
15315 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
15316 spaces in GRUB_DISTRIBUTOR.
15317 * util/grub.d/10_kfreebsd.in: Likewise.
15318 * util/grub.d/10_hurd.in: Likewise.
15319
fa09c82e
BC
153202010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
15321
14e18ae3 15322 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
15323
15324 * tests/util/grub-shell.in: Remove -serial stdio option.
15325
daf892b3
BC
153262010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 POSIX header file wrappers.
15329
15330 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
15331 equivalents.
15332 * lib/posix_wrap/ctype.h: Likewise.
15333 * lib/posix_wrap/errno.h: Likewise.
15334 * lib/posix_wrap/langinfo.h: Likewise.
15335 * lib/posix_wrap/limits.h: Likewise.
15336 * lib/posix_wrap/localcharset.h: Likewise.
15337 * lib/posix_wrap/stdint.h: Likewise.
15338 * lib/posix_wrap/stdio.h: Likewise.
15339 * lib/posix_wrap/stdlib.h: Likewise.
15340 * lib/posix_wrap/string.h: Likewise.
15341 * lib/posix_wrap/sys/types.h: Likewise.
15342 * lib/posix_wrap/unistd.h: Likewise.
15343 * lib/posix_wrap/wchar.h: Likewise.
15344 * lib/posix_wrap/wctype.h: Likewise.
15345 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
15346 (grub_script.yy.h): Likewise.
15347 * script/yylex.l: Remove POSIX emulation #defines.
15348 * Makefile.in (POSIX_CFLAGS): New variable.
15349 (GNULIB_UTIL_CFLAGS): Likewise.
15350
15351 Regexp support.
15352
15353 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
15354 (regexp_mod_SOURCES): New variable.
15355 (regexp_mod_CFLAGS): Likewise.
15356 (regexp_mod_LDFLAGS): Likewise.
15357 * commands/regexp.c: New file.
15358 * gnulib/regcomp.c: New file. Imported from gnulib.
15359 * gnulib/regex.c: Likewise.
15360 * gnulib/regex_internal.c: Likewise.
15361 * gnulib/regex_internal.h: Likewise.
15362 * gnulib/regexec.c: Likewise.
15363 * gnulib/regex.h: Likewise.
15364
974ac4f7
VS
153652010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
15368 unsupported video mode types.
15369
2622c3ff
VS
153702010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
15373
064cb524
VS
153742010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15375
15376 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
15377 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
15378
a8c3b552
VS
153792010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15380
15381 Remove unused grub_vga_get_font.
15382
15383 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
15384 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
15385
187bbe3d
GS
153862010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15387
15388 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
15389 * include/grub/misc.h: Likewise.
15390
b9396631
GS
153912010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15392
15393 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
15394 for which failure is fatal.
15395
50479feb
GS
153962010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15397
15398 * util/grub-install.in: Use mkdir -p to create grub directory.
15399 * util/i386/efi/grub-install.in: Likewise.
15400 * util/ieee1275/grub-install.in: Likewise.
15401
b1654fdf
GS
154022010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15403
15404 * Makefile.in (LEX): new variable.
15405
bd5a6415
GS
154062010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15407
15408 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
15409 `=' and added double quotes on operands of this equality test.
15410
3db3a82b
VS
154112010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 * Makefile.in (uninstall): Remove a leftover debug echo.
15414 Reported by: Grégoire Sutre
15415
38023412
VS
154162010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 MIPS multiboot2 support.
15419
15420 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
15421 (multiboot2_mod_SOURCES): New variable.
15422 (multiboot2_mod_CFLAGS): Likewise.
15423 (multiboot2_mod_LDFLAGS): Likewise.
15424 (multiboot2_mod_ASFLAGS): Likewise.
15425 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
15426 definition.
15427 (MULTIBOOT_ENTRY_REGISTER): Likewise.
15428 (MULTIBOOT_MBI_REGISTER): Likewise.
15429 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
15430 (MULTIBOOT_ELF32_MACHINE): Likewise.
15431 (MULTIBOOT_ELF64_MACHINE): Likewise.
15432 * include/grub/mips/multiboot.h: New file.
15433 * include/grub/video.h (grub_video_driver_id): New type
15434 GRUB_VIDEO_DRIVER_SM712.
15435 (grub_video_get_info_and_fini): Export.
15436 (grub_video_get_palette): Likewise.
15437 (grub_video_get_driver_id): Likewise.
15438 * include/multiboot2.h: Resynced with spec.
15439 * loader/i386/multiboot.c: Moved from here ...
15440 * loader/multiboot.c: ... here. All users updated.
15441 (grub_multiboot_boot): Use platform-specific macros.
15442 * loader/i386/multiboot_elfxx.c: Moved from here ...
15443 * loader/multiboot_elfxx.c: ... here. All users updated.
15444 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
15445 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
15446 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
15447
47674667
VS
154482010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 Import gnulib argp module.
15451
15452 * gnulib/argp-ba.c: New file.
15453 * gnulib/argp-eexst.c: Likewise.
15454 * gnulib/argp-fmtstream.c: Likewise.
15455 * gnulib/argp-fmtstream.h: Likewise.
15456 * gnulib/argp-fs-xinl.c: Likewise.
15457 * gnulib/argp-help.c: Likewise.
15458 * gnulib/argp-namefrob.h: Likewise.
15459 * gnulib/argp-parse.c: Likewise.
15460 * gnulib/argp-pin.c: Likewise.
15461 * gnulib/argp-pv.c: Likewise.
15462 * gnulib/argp-pvh.c: Likewise.
15463 * gnulib/argp-version-etc.c: Likewise.
15464 * gnulib/argp-version-etc.h: Likewise.
15465 * gnulib/argp-xinl.c: Likewise.
15466 * gnulib/argp.h: Likewise.
15467
495442ed
VS
154682010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 * kern/device.c (grub_device_iterate): Clear errors after failed
15471 opening device.
15472
f9fd65df
VS
154732010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
15476 returned by firmware.
15477
af09641e
VS
154782010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15479
15480 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
15481 compilation on coreboot and qemu
15482
016883a5
VS
154832010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15484
15485 * include/multiboot2.h: Resync with spec.
15486
f97e1f7d
VS
154872010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15488
15489 Multiboot2 tag support
15490
15491 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
15492 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
15493 Remove loader/multiboot_loader.c.
15494 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
15495 (grub_multiboot2_real_boot): Likewise.
15496 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
15497 (grub_get_multiboot_mmap_count): New proto.
15498 (grub_fill_multiboot_mmap): Likewise.
15499 (grub_multiboot_set_video_mode): Likewise.
15500 (grub_multiboot_set_console): Likewise.
15501 (grub_multiboot_load): Likewise.
15502 (grub_multiboot_load_elf): Likewise.
15503 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
15504 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
15505 * include/multiboot.h: Resynced with specification.
15506 * include/multiboot2.h: Resynced with specification.
15507 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
15508 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
15509 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
15510 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
15511 users updated.
15512 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
15513 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
15514 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
15515 Removed.
15516 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
15517 Moved from here...
15518 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
15519 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15520 Moved from here...
15521 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
15522 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
15523 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
15524 All users updated.
15525 * loader/i386/multiboot_mbi2.c: New file.
15526
3506b90b
VS
155272010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 Resync with gnulib.
15530
15531 * Makefile.in (GNULIB_CFLAGS): New variable.
15532 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
15533 (grub_script_check_CFLAGS): New variable.
15534 * gnulib/alloca.h: Resync with gnulib.
15535 * gnulib/error.c: Likewise.
15536 * gnulib/error.h: Likewise.
15537 * gnulib/fnmatch.c: Likewise.
15538 * gnulib/fnmatch_loop.c: Likewise.
15539 * gnulib/getdelim.c: Likewise.
15540 * gnulib/getline.c: Likewise.
15541 * gnulib/getopt.c: Likewise.
15542 * gnulib/getopt1.c: Likewise.
15543 * gnulib/getopt_int.h: Likewise.
15544 * gnulib/gettext.h: Likewise.
15545 * gnulib/progname.c: Likewise.
15546 * gnulib/progname.h: Likewise.
15547
394a3120
GS
155482010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
15549
15550 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
15551 which is the case with --disabled-nls.
15552
15553 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
15554 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
15555 * util/misc.c: Likewise.
15556 * util/mkisofs/mkisofs.c: Likewise.
15557 * util/mkisofs/mkisofs.h: Likewise.
15558
969d1c78
VS
155592010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15560
15561 Simplify Apple CC support.
15562
15563 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
15564 Add 0 byte at the end not to have a symbol with empty target.
15565 * mmap/i386/pc/mmap_helper.S: Likewise.
15566 * genmk.rb: Ignore errors 2030 and 2050.
15567 * kern/i386/pc/startup.S: Use LOCAL when possible.
15568
8d2977bb
BC
155692010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
15570
15571 Testcase and the fix for final semicolon on cmdline.
15572
15573 * tests/grub_script_final_semicolon.in: New testcase.
15574 * conf/tests.rmk: Rules for the new testcase.
15575 * script/parser.y: Grammar fix.
15576
a7bd6915
BC
155772010-03-26 BVK Chaitanya <bvk@localhost>
15578
15579 Blank lines testcase for GRUB script.
15580
15581 * tests/grub_script_blanklines.in: New testcase.
15582 * conf/tests.rmk: Rules for the new testcase.
15583
e4ff6628
VS
155842010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 Don't use __FILE__.
15587
15588 * genmk.rb: Add -DGRUB_FILE to all C targets.
15589 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
15590 * include/grub/list.h: Likewise.
15591 * include/grub/misc.h: Likewise.
15592 * include/grub/mm.h: Likewise.
15593 * include/grub/test.h: Likewise.
15594 * kern/mm.c: Likewise.
15595 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15596
6a5cf6b6
VS
155972010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 Sunpc partitions support.
15600
15601 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
15602 (grub_fstest_SOURCES): Likewise.
15603 (pkglib_MODULES): Add part_sunpc.mod.
15604 (part_sunpc_mod_SOURCES): New variable.
15605 (part_sunpc_mod_CFLAGS): Likewise.
15606 (part_sunpc_mod_LDFLAGS): Likewise.
15607 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
15608 * partmap/sunpc.c: New file.
15609
746d9045
BC
156102010-03-26 BVK Chaitanya <bvk@localhost>
15611
15612 For loop support to GRUB script.
15613
15614 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
15615 (grub_script_create_cmdfor): New function prototype.
15616 (grub_script_execute_cmdfor): New function prototype.
15617 * script/execute.c (grub_script_execute_cmdfor): New function.
15618 * script/parser.y (command): New for command.
15619 (forcmd): New grammar rule.
15620 * script/script.c (grub_script_create_cmdfor): New function.
15621 * util/grub-script-check.c (grub_script_execute_cmdfor): New
15622 function.
15623 * tests/grub_script_for1.in: New testcase.
15624 * conf/tests.rmk: Rules for new testcase.
15625
18486b18
VS
156262010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 Nested partitions
15629
15630 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
15631 'partition' is NULL, grub_partition_get_start already does that.
15632 * commands/loadenv.c (check_blocklists): Likewise.
15633 (write_blocklists): Likewise.
15634 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
15635 (grub_fstest_SOURCES): Likewise.
15636 (pkglib_MODULES): Add part_bsd.mod.
15637 (part_bsd_mod_SOURCES): New variable.
15638 (part_bsd_mod_CFLAGS): Likewise.
15639 (part_bsd_mod_LDFLAGS): Likewise.
15640 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
15641 (grub_emu_SOURCES): Likewise.
15642 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15643 * include/grub/bsdlabel.h: New file.
15644 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
15645 'get_name'.
15646 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
15647 (grub_partition_map_list): New variable.
15648 (grub_partition_map_register): Inline.
15649 (grub_partition_map_unregister): Likewise.
15650 (FOR_PARTITION_MAPS): New macro.
15651 (grub_partition_map_iterate): Removed.
15652 (grub_partition_get_start): Handle nested partitions.
15653 * include/grub/msdos_partition.h: Remove bsd-related entries.
15654 (grub_pc_partition): Remove.
15655 * kern/disk.c (grub_disk_close): Free partition data.
15656 (grub_disk_adjust_range): Handle nested partitions.
15657 * kern/partition.c (grub_partition_map_probe): New function.
15658 (grub_partition_probe): Parse name to number, handle subpartitions.
15659 (get_partmap): New function.
15660 (grub_partition_iterate): Handle subpartitions.
15661 (grub_partition_get_name): Likewise.
15662 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
15663 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
15664 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
15665 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
15666 Set 'number'.
15667 (acorn_partition_map_probe): Remove.
15668 (acorn_partition_map_get_name): Likewise.
15669 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
15670 Set 'number'.
15671 Set 'index' to 0 since there can be only one partition entry per sector.
15672 (amiga_partition_map_probe): Remove.
15673 (amiga_partition_map_get_name): Likewise.
15674 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
15675 Set 'number'.
15676 Set 'offset' and 'index' to real positions of partitions.
15677 (apple_partition_map_probe): Remove.
15678 (apple_partition_map_get_name): Likewise.
15679 * partmap/bsdlabel.c: New file.
15680 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
15681 Set 'number'.
15682 Allocate 'data' so it can be correctly freed.
15683 Set 'index' to offset inside sector.
15684 (gpt_partition_map_probe): Remove.
15685 (gpt_partition_map_get_name): Likewise.
15686 * partmap/msdos.c (grub_partition_parse): Remove.
15687 (pc_partition_map_iterate): Don't force raw access.
15688 Set 'number'.
15689 Make 'ext_offset' a local variable.
15690 (pc_partition_map_probe): Remove.
15691 (pc_partition_map_get_name): Remove.
15692 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
15693 Set 'number'.
15694 (sun_partition_map_probe): Remove.
15695 (sun_partition_map_get_name): Likewise.
15696 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
15697 (grub_pcpart_type): Likewise.
15698 * util/hostdisk.c (open_device): Handle new numbering scheme.
15699 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
15700 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
15701 * util/grub-probe.c (probe_partmap): Handle nested paritions.
15702 * util/grub-install.in: Insert all subpartition modules.
15703 * util/ieee1275/grub-install.in: Likewise.
15704
a3940f88
AG
157052010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
15706
15707 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
15708 grammar.
15709
21b99926 157102010-03-24 Colin Watson <cjwatson@ubuntu.com>
15711
15712 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
15713
bed1d352
CW
157142010-03-21 Colin Watson <cjwatson@ubuntu.com>
15715
15716 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
15717 match where 'make install' puts them.
15718 * util/i386/efi/grub-install.in: Likewise.
15719
c9f58427
CW
157202010-03-19 Colin Watson <cjwatson@ubuntu.com>
15721
15722 * .bzrignore: Add gentrigtables, grub-script-check,
15723 grub_script_check_init.c, grub_script_check_init.h, and
15724 trigtables.c.
15725
f84afb27
VS
157262010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15727
15728 * kern/parser.c: Indented.
15729
ed0e3d30
VS
157302010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15733
0ea81d98
VS
157342010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15737 alpha_mask_size == 0 case.
15738
0cdc2a09
BC
157392010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15740
15741 GRUB shell lexer and parser improvements.
15742
15743 * conf/any-emu.rmk: Build rule updates.
15744 * conf/common.rmk: Likewise.
15745 * conf/i386-coreboot.rmk: Likewise.
15746 * conf/i386-efi.rmk: Likewise.
15747 * conf/i386-ieee1275.rmk: Likewise.
15748 * conf/i386-pc.rmk: Likewise.
15749 * conf/powerpc-ieee1275.rmk: Likewise.
15750 * conf/x86_64-efi.rmk: Likewise.
15751
15752 * configure.ac: Configure check for flex.
15753
15754 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15755 types.
15756 (grub_lexer_param): Struct member updates.
15757 (grub_parser_param): Likewise.
15758 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15759 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15760 (grub_script_lexer_init): Prototype update.
15761 (grub_script_lexer_record_start): Likewise.
15762 (grub_script_lexer_record_stop): Likewise.
15763 (grub_script_lexer_yywrap): New function prototype.
15764 (grub_script_lexer_fini): Likewise.
15765 (grub_script_execute_argument_to_string): Removed by...
15766 (grub_script_execute_argument_to_argv): ...better version.
15767
15768 * script/execute.c (ROUND_UPTO): New macro.
15769 (grub_script_execute_cmdline): Out of memory fixes.
15770 (grub_script_execute_menuentry): Likewise.
15771 (grub_script_execute_argument_to_string): Removed. Update all
15772 users by...
15773 (grub_script_execute_argument_to_argv): ...better version.
15774 * script/function.c (grub_script_function_create): Use
15775 grub_script_execute_argument_to_argv instead of
15776 grub_script_execute_argument_to_string.
15777
15778 * script/lexer.c (check_varstate): Removed.
15779 (check_textstate): Removed.
15780 (grub_script_lexer_record_start): Likewise.
15781 (grub_script_lexer_record_stop): Likewise.
15782 (recordchar): Replaced with...
15783 (grub_script_lexer_record): ...new function.
15784 (nextchar): Removed.
15785 (grub_script_lexer_init): Rewritten.
15786 (grub_script_yylex): Rewritten.
15787 (append_newline): New function.
15788 (grub_script_lexer_yywrap): New function.
15789 (grub_script_lexer_fini): New function.
15790 (grub_script_yyerror): Sets error flag.
15791
15792 * script/yylex.l: New file.
15793 (grub_lexer_yyfree): Wrapper for flex yyffre.
15794 (grub_lexer_yyalloc): Likewise.
15795 (grub_lexer_yyrealloc): Likewise.
15796 * script/parser.y: Refactored.
15797
15798 * script/script.c (grub_script_arg_add): Out of memory fixes.
15799 (grub_script_add_arglist): Likewise.
15800 (grub_script_create_cmdline): Likewise.
15801 (grub_script_create_cmdmenu): Likewise.
15802 (grub_script_add_cmd): Likewise.
15803 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15804 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15805 unnecessary code.
15806
15807 * tests/grub_script_echo1.in: New testcase.
15808 * tests/grub_script_vars1.in: New testcase.
15809 * tests/grub_script_echo_keywords.in: New testcase.
15810
1d63a066
VS
158112010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 Remove some redundancy in build system.
15814
15815 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15816 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15817 (TARGET_LDFLAGS): Add -nostdlib.
15818 (TARGET_IMG_LDFLAGS): Likewise.
15819 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15820 anything since mmap isn't available.
15821 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15822 Add util/time.c.
15823 (pkglib_MODULES): Remove reboot.mod.
15824 (reboot_mod_SOURCES): Removed.
15825 (reboot_mod_CFLAGS): Likewise.
15826 (reboot_mod_LDFLAGS): Likewise.
15827 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15828 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15829 (DEFSYMFILES): Add kernel_syms.lst.
15830 (kernel_img_HEADERS): Add common headers.
15831 (symlist.c): New target.
15832 (kernel_syms.lst): Likewise.
15833 (pkglib_MODULES): Add memdisk.mod.
15834 (memdisk_mod_SOURCES): New variable.
15835 (memdisk_mod_CFLAGS): Likewise.
15836 (memdisk_mod_LDFLAGS): Likewise.
15837 (pkglib_MODULES): Add reboot.mod.
15838 (reboot_mod_SOURCES): New variable.
15839 (reboot_mod_CFLAGS): Likewise.
15840 (reboot_mod_LDFLAGS): Likewise.
15841 (pkglib_MODULES): Add date.mod.
15842 (date_mod_SOURCES): New variable.
15843 (date_mod_CFLAGS): Likewise.
15844 (date_mod_LDFLAGS): Likewise.
15845 (pkglib_MODULES): Add datehook.mod.
15846 (datehook_mod_SOURCES): New variable.
15847 (datehook_mod_CFLAGS): Likewise.
15848 (datehook_mod_LDFLAGS): Likewise.
15849 (pkglib_MODULES): Add lsmmap.mod.
15850 (lsmmap_mod_SOURCES): New variable.
15851 (lsmmap_mod_CFLAGS): Likewise.
15852 (lsmmap_mod_LDFLAGS): Likewise.
15853 (pkglib_MODULES): Add boot.mod.
15854 (boot_mod_SOURCES): New variable.
15855 (boot_mod_CFLAGS): Likewise.
15856 (boot_mod_LDFLAGS): Likewise.
15857 * conf/i386-coreboot.rmk: Removed redundant parts.
15858 * conf/i386-ieee1275.rmk: Likewise.
15859 * conf/i386-pc.rmk: Likewise.
15860 * conf/mips-yeeloong.rmk: Likewise.
15861 * conf/mips.rmk: Likewise.
15862 * conf/powerpc-ieee1275.rmk: Likewise.
15863 * conf/sparc64-ieee1275.rmk: Likewise.
15864 * conf/x86_64-efi.rmk: Likewise.
15865 * conf/i386-coreboot.rmk: Moved qemu parts ..
15866 * conf/i386-qemu.rmk: ... here
15867 * conf/i386-efi.rmk: Moved common parts to...
15868 * conf/x86-efi.rmk: ... here.
15869 * conf/i386.rmk: Added modules common to all x86 variants.
15870 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15871 * disk/memdisk.c: Remove grub/machine/kernel.h.
15872 * gensymlist.sh.in: Include symbol.h.
15873 * hook/datehook.c: Correct module name.
15874 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15875 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15876 * include/grub/i386/efi/serial.h: New file.
15877 * include/grub/x86_64/efi/serial.h: Likewise.
15878 * util/time.c: Likewise.
15879 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15880
463ac55f
CK
158812010-03-14 Colin King <colin.king@ubuntu.com>
158822010-03-14 Colin Watson <cjwatson@ubuntu.com>
15883
15884 Shrink the pre-partition-table part of boot.img by eight bytes.
15885
15886 * boot/i386/pc/boot.S (ERR): New macro.
15887 (chs_mode): Use ERR.
15888 (geometry_error): Likewise.
15889 (hd_probe_error): Remove. This is only used once, so we wrwite
15890 it inline instead.
15891 (read_error): Instead of printing read_error_string, just set up
15892 %si and fall through to ...
15893 (error_message): ... this new function, also used by ERR.
15894
08e46ede
CW
158952010-03-14 Colin Watson <cjwatson@ubuntu.com>
15896
15897 Speed up consecutive hostdisk operations on the same device.
15898
15899 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15900 (grub_util_biosdisk_open): Initialise disk->data.
15901 (struct linux_partition_cache): New structure.
15902 (linux_find_partition): Cache partition start positions; these are
15903 expensive to compute on every read and write.
15904 (open_device): Cache open file descriptor in disk->data, so that we
15905 don't have to reopen it and flush the buffer cache for consecutive
15906 operations on the same device.
15907 (grub_util_biosdisk_close): New function.
15908 (grub_util_biosdisk_dev): Set `close' member.
15909
15910 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15911 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15912 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15913 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15914 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15915
4a6d2d06
VS
159162010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 Compile parts of grub-emu as modules.
15919
15920 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15921 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15922 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15923 (all-local): Add $(GRUB_EMU).
15924 (install-local): Install $(GRUB_EMU).
15925 (uninstall): Uninstall $(GRUB_EMU).
15926 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15927 * kern/dl.c: Likewise.
15928 * commands/sleep.c: Not include machine/time.h.
15929 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15930 (COMMON_CFLAGS): Likewise.
15931 (sbin_UTILITIES): Remove grub-emu.
15932 (grub_emu_SOURCES): Removed.
15933 (kernel_img_RELOCATABLE): New variable.
15934 (pkglib_PROGRAMS): Add kernel.img.
15935 (kernel_img_SOURCES): New variable
15936 (kernel_img_CFLAGS): Likewise.
15937 (kernel_img_LDFLAGS): Likewise.
15938 (TARGET_NO_STRIP): Likewise.
15939 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15940 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15941 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15942 (grub-emu): New target.
15943 (GRUB_EMU): New variable.
15944 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15945 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15946 * loader/xnu.c: Likewise.
15947 * include/grub/pci.h: Likewise.
15948 * genemuinit.sh: New file.
15949 * genemuinitheader.sh: Likewise.
15950 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15951 Support TARGET_NO_DYNAMIC_MODULES.
15952 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15953 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15954 * disk/loopback.c: Likewise.
15955 * font/font_cmd.c: Likewise.
15956 * partmap/acorn.c: Likewise.
15957 * partmap/amiga.c: Likewise.
15958 * partmap/apple.c: Likewise.
15959 * partmap/gpt.c: Likewise.
15960 * partmap/msdos.c: Likewise.
15961 * partmap/sun.c: Likewise.
15962 * parttool/msdospart.c: Likewise.
15963 * term/gfxterm.c: Likewise.
15964 * video/bitmap.c: Likewise.
15965 * video/readers/jpeg.c: Likewise.
15966 * video/readers/png.c: Likewise.
15967 * video/readers/tga.c: Likewise.
15968 * video/video.c: Likewise.
15969 * util/grub-emu.c (read_command_list): Removed.
15970 (main): Don't call util_init_nls.
15971 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15972 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15973
91fdd2ed
VS
159742010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15975
15976 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15977 date.mod, datehook.mod.
15978 (datetime_mod_SOURCES): New variable.
15979 (datetime_mod_CFLAGS): Likewise.
15980 (datetime_mod_LDFLAGS): Likewise.
15981 (date_mod_SOURCES): Likewise.
15982 (date_mod_CFLAGS): Likewise.
15983 (date_mod_LDFLAGS): Likewise.
15984 (datehook_mod_SOURCES): Likewise.
15985 (datehook_mod_CFLAGS): Likewise.
15986 (datehook_mod_LDFLAGS): Likewise.
15987 * conf/sparc64-ieee1275.rmk: Likewise.
15988 * lib/ieee1275/datetime.c: New file.
15989
873ccae6
VS
159902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15993 (ieee1275_fb_mod_SOURCES): New variable.
15994 (ieee1275_fb_mod_CFLAGS): Likewise.
15995 (ieee1275_fb_mod_LDFLAGS): Likewise.
15996 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15997 New proto.
15998 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15999 (HEAP_MAX_ADDR): Likewise.
16000 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
16001 type.
16002 Correct stop condition.
16003 (grub_ieee1275_devices_iterate): New function.
16004 * video/ieee1275.c: New file.
16005
601c97c0
VS
160062010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16007
16008 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
16009
16010 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
16011 as scratch.
16012 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
16013 SCRATCH_PAD_DISKBOOT as scratch.
16014 (bootit): Pass Openfirmware pointer in %o4.
16015 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
16016 of 0x200000.
16017 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
16018 with util/grub-mkrawimage.c.
16019 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
16020 * include/grub/aout.h (AOUT_MID_SUN): New definition.
16021 (grub_aout_get_type) [GRUB_UTIL]: Removed.
16022 (grub_aout_load) [GRUB_UTIL]: Likewise.
16023 * include/grub/kernel.h (grub_modules_get_end): New proto.
16024 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
16025 (SCRATCH_PAD_BOOT): New definition.
16026 (SCRATCH_PAD_DISKBOOT): Likewise.
16027 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
16028 * include/grub/sparc64/ieee1275/ieee1275.h
16029 (grub_ieee1275_original_stack): New variable
16030 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16031 New definition
16032 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
16033 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
16034 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
16035 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
16036 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
16037 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
16038 (grub_platform_image_format_t): New type.
16039 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
16040 * kern/main.c (grub_modules_get_end)
16041 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
16042 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
16043 (codestart): Switch stacks.
16044 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
16045 variable.
16046 (grub_heap_init): Use grub_modules_get_end.
16047 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
16048 stack.
16049 * util/grub-mkrawimage.c (generate_image): Support sparc64.
16050 (main): Likewise.
16051 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
16052
d68b491e
TG
160532010-03-14 Thorsten Glaser <tg@mirbsd.org>
16054
16055 * util/grub-mkrescue.in: Base ISO UUID on UTC.
16056
4e02ed50
MK
160572010-03-08 Matt Kraai <kraai@ftbfs.org>
16058
16059 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
16060 bug #559005).
16061
1f15fc1e
VS
160622010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
16063
16064 * genmoddep.awk: Output all missing symbols and not only first.
16065
fce5d8ff
VS
160662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 * NEWS: Put the date of 1.98 release.
16069
d1e8a02f
VS
160702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
16073 ft2build.h.
16074
696fd607
VS
160752010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
16078 completition in the middle of string.
16079
33e2e6f3
VS
160802010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16081
16082 * util/grub-mkrescue.in: Use mktemp with explicit template.
16083
b1f6d291
VS
160842010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
16087
2ac227c7
VS
160882010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
16091 right pointer.
16092
8f9a632b
VS
160932010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 Fix FreeBSD compilation.
16096
16097 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
16098 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
16099
60b03859
VS
161002010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
16101
16102 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
16103
48a5a769
VS
161042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
16107
3ab4bd77
VS
161082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16109
16110 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
16111
d116e0d8
RM
161122010-03-04 Robert Millan <rmh.grub@aybabtu.com>
16113
16114 Support relative image path in theme file.
16115
16116 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
16117 (image_set_property): Handle theme_dir and relative path.
16118
c7ef54aa
VS
161192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16120
16121 * configure.ac: Alias amd64 to x86_64.
16122
fcee14ed
VS
161232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16124
16125 * NEWS: mention multiboot on EFI.
16126
d0780363
VS
161272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16128
16129 * kern/main.c (grub_load_modules): Handle errors from init functions of
16130 embeded modules.
16131
41168ea4
VS
161322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16133
16134 * normal/autofs.c (autoload_fs_module): Handle errors.
16135
b54d93ac
VS
161362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 Disable linux.mod on qemu-mips since it's not functional and leads
16139 to compilation failure.
16140
16141 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
16142 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
16143 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
16144 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
16145 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
16146 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
16147 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
16148 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
16149 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
16150 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
16151 Reported by: BVK Chaitanya
16152
fc8345da
JU
161532010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
16154
16155 * INSTALL: Add gettext as a dependency and add qemu to a new section
16156 "Prerequisites for make-check".
16157
4760f979
CF
161582010-03-04 Christian Franke <franke@computer.org>
16159
16160 * util/grub-pe2elf.c: Add missing include "progname.h".
16161
f209b5b2
VS
161622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16163
16164 * normal/crypto.c (read_crypto_list): Fix a typo.
16165 Reported by: Seth Goldberg.
16166
b4b7be98
VS
161672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 16170 Reported by: Seth Goldberg.
b4b7be98 16171
c0ee0385
VS
161722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16173
16174 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
16175 ascii.bitmaps.
16176
a8efbf64
VS
161772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 16180 Reported by: Seth Goldberg.
a8efbf64 16181
08dcd913
VS
161822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16183
16184 * util/i386/efi/grub-install.in: Copy gettext files.
16185
c4d0b332
VS
161862010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16187
16188 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
16189
c6f2fe52
VS
161902010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16191
16192 Wait for user entry basing on presence of output rather than on errors.
16193
16194 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
16195 (grub_install_newline_hook): Likewise.
16196 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
16197 * normal/menu.c (show_menu): Check line_counter to determine presence
16198 of output.
16199 * normal/term.c (grub_normal_line_counter): New variable.
16200 (grub_normal_get_line_counter): New function.
16201 (grub_install_newline_hook): Likewise.
16202
5382b1e4
VS
162032010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
16206
5519963b
VS
162072010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
16208
16209 * configure.ac: Update version to 1.98.
16210
72b28631
VS
162112010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
16212
16213 * util/grub.d/10_linux.in (linux_entry): Don't default to
16214 gfxpayload=keep if Linux doesn't support video handover.
16215
c140a180
VS
162162010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
16217
16218 Don't compile video modules on yeeloong since video subsystem is part
16219 of kernel.
16220
16221 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
16222 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
16223 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
16224 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
16225 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
16226 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
16227 * include/grub/bitmap_scale.h: Likewise.
16228 * include/grub/bufio.h: Likewise.
16229 * include/grub/font.h: Likewise.
16230 * include/grub/gfxterm.h: Likewise.
16231 * include/grub/video.h: Likewise.
16232 * include/grub/vbe.h: Don't include video_fb.h.
16233 * video/i386/pc/vbe.c: Include video_fb.h.
16234 * commands/i386/pc/vbetest.c: Include video.h.
16235
a0ca21c2
CW
162362010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
16237
16238 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
16239 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
16240 default entry if GRUB_SAVEDEFAULT=true. This allows using
16241 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
16242 saving a new default on every boot.
16243
4a8a763c
VS
162442010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
16245
16246 * normal/crypto.c (read_crypto_list): Fix a memory leak.
16247 * normal/term.c (read_terminal_list): Likewise.
16248 * normal/main.c (grub_normal_init_page): Likewise.
16249 (grub_normal_read_line_real): Likewise.
16250
607ffde2
VS
162512010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
16254 memory leak.
16255 Reported by: Seth Goldberg.
16256
2b8fa975
CW
162572010-02-24 Joey Korkames <joey+lists@kidfixit.com>
16258
16259 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
16260 duplicate declaration of `start'.
16261
618307dd
VS
162622010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
16265 filename.
16266 Reported by: Georgy Buranov
16267
7dd05b96 162682010-02-20 Carles Pina i Estany <carles@pina.cat>
16269
16270 * util/grub-mkrawimage.c (usage): Change string formatting to
16271 improve gettext.
16272
d1484a42
MRA
162732010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16274
16275 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
16276 backspace keys.
16277
42b1d186
VS
162782010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
16281 Reported by: Michael Suchanek.
16282
162832010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
16284
16285 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
16286 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
16287
d9f31a41
VS
162882010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
16289
16290 Remove any reference to non-free fonts.
16291
16292 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
16293 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
16294 uses non-free components.
16295 * font/font.c (grub_font_get_name): Remove example name.
16296 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
16297 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16298 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
16299 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
16300
2793c71e
GB
163012010-02-16 Georgy Buranov <gburanov@gmail.com>
16302
16303 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
16304
402e3779
VS
163052010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16306
16307 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
16308 Double divisor.
16309 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
16310 features.
16311 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
16312
0dd1e0dd
VS
163132010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 * gensymlist.sh.in: Use TARGET_CC instead of CC.
16316
6fa7cfce
ST
163172010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16318
16319 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
16320 * docs/grub.texi (Command-line and menu entry commands): Document play
16321 command.
16322
37c8483b
ST
163232010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16324
16325 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
16326 parse arguments as inline tempo and notes. Move code for playing notes
16327 to...
16328 (play): ... new function.
16329
14da0fb7
ST
163302010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16331
16332 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
16333 grub_uint16_t instead of short.
16334 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
16335 disk from little endian to cpu endianness.
16336
04459e70
ST
163372010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
16338
16339 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
16340 GRUB_TICKS_PER_SECOND instead of 120.
16341
a0876943
VS
163422010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
16345 escape sequence after \e.
16346
e29f95dc
VS
163472010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16348
16349 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
16350 non-ASCII characters.
16351
d27859b2
VS
163522010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16353
16354 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
16355 set root in single quotes to prevent \, from being unescaped.
16356
bc028f2f
VS
163572010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16358
16359 Prevent unknown commands from stopping menuentry execution.
16360
16361 * script/execute.c (grub_script_execute_cmdline): Print error after
16362 unknown command.
16363
095f5f82
VS
163642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16365
16366 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
16367 Reported by: Pavel Pisa.
16368
8c717950
VS
163692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
16372
904935c3
VS
163732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16374
16375 Merge grub_ieee1275_map_physical into grub_map and rename to
16376 grub_ieee1275_map
16377
16378 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
16379 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
16380 Remove.
16381 * kern/ieee1275/openfw.c (grub_map): Rename to ...
16382 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
16383 necessary.
16384 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
16385
5b59a4e3
VS
163862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
16389 opening and not after.
16390
69e137e8
VS
163912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16392
16393 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
16394 constants.
16395
2c0fcc36
VS
163962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16397
16398 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
16399 (alloc_phys): Use ALIGN_UP instead of align_addr.
16400
8c6052ce
VS
164012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
16404
17cec782
VS
164052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16406
16407 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
16408
e0128bbd
VS
164092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16410
16411 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
16412 verbose dprintf.
16413
ca62070b
VS
164142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16415
16416 Fix over-4GiB seek on sparc64.
16417
16418 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
16419 Replace pos_i and pos_lo with pos. All users updated.
16420 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16421 New constant.
16422 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16423 Likewise.
16424 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
16425 and pos_lo.
16426
bdca2607
VS
164272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16428
16429 * util/grub-mkrawimage.c (main): Call set_program_name.
16430
da278c4d
VS
164312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 Properly align 64-bit targets.
16434
16435 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
16436 (generate_image): Use ALIGN_ADDR.
16437
b274d734
VS
164382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16439
16440 Properly create cross-endian images.
16441
16442 * include/grub/types.h (grub_host_to_target_addr): New macro
16443 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
16444
82da2062
VS
164452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
16448
7cae4377
VS
164492010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16450
16451 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
16452
16453 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
16454 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
16455 (grub_linux_boot): Divide by 64K when on VESA.
16456
65a533e7
VS
164572010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 Support GRUB_GFXPAYLOAD_LINUX.
16460
16461 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
16462 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
16463
dd01d397
VS
164642010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16465
16466 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
16467 to show messages instead of discarding them.
16468 Process errors after executing command and not before. Keep old method
16469 too as precaution.
16470
660960d6
VS
164712010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
16472
16473 * configure.ac: Check for ft2build.h.
16474
62509f04
VS
164752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16476
16477 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
16478
473df63d
VS
164792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 * genkernsyms.sh.in: Use TARGET_CC.
16482
c98d2a13
CW
164832010-02-07 Colin Watson <cjwatson@ubuntu.com>
16484
16485 * NEWS: Update.
16486
6e14234c
VS
164872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16488
16489 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
16490 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
16491 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 16492
b255e9cf
YB
164932010-02-07 Yves Blusseau <blusseau@zetam.org>
16494
6e14234c 16495 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 16496
98e6959d
VS
164972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16498
16499 Fix warnings in grub-emu when compiling with maximum warning options.
16500
16501 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
16502 (grub_arch_modules_addr): Return 0 and not NULL.
16503 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 16504 (xstrdup): Use newstr instead of dup.
f88d801b
VS
16505 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
16506 of disk to dsk to avoid shadowing.
74e4934e
VS
16507 (find_free_slot): Fix prototype.
16508 * util/getroot.c (grub_util_is_dmraid): Make static.
16509 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
16510 Add missing prototype.
16511 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 16512
74e31b5c
VS
165132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 * loader/i386/linux.c (grub_linux_setup_video): Handle error
16516 appropriately.
16517
6b2ad14b
VS
165182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
16521 code out.
16522
8f891adc
VS
165232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
16526 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
16527 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
16528 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
16529 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
16530 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
16531
74b45184
VS
165322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16533
16534 * include/grub/err.h (grub_err_printf): Don't export.
16535
a4bced77
VS
165362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
16539
007d0695
VS
165402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16541
16542 * include/grub/i18n.h (grub_gettext_dummy): Removed.
16543 * kern/misc.c (grub_gettext_dummy): Make static.
16544
b6c0d9c2
VS
165452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16546
16547 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
16548 by non-valid ones.
16549 * kern/term.c (grub_putchar): Likewise.
16550
f51a90d0
VS
165512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16552
16553 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
16554 buggy hook call and memory leak.
16555
6846cec5
VS
165562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16557
16558 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
16559
468d69fe
VS
165602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16561
16562 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
16563
51906b8c
VS
165642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16565
16566 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
16567 modevar.
16568 Return grub_errno on allocation error.
16569
09706ce5
VS
165702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
16573
911df80c
YB
165742010-02-06 Yves Blusseau <blusseau@zetam.org>
16575
16576 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
16577 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
16578
3746a6bc
VS
165792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
16582 non-pxe disk.
16583 (grub_pxefs_open): Likewise.
16584
09706ce5
VS
165852010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16586
16587 * util/grub.d/10_hurd.in: Add --class information to menuentries.
16588 * util/grub.d/10_kfreebsd.in: Likewise.
16589 * util/grub.d/10_linux.in: Likewise.
16590
7cc192d9
VS
165912010-02-06 Colin D Bennett <colin@gibibit.com>
16592
16593 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
16594 (gfxmenu_mod_SOURCES): New variable.
16595 (gfxmenu_mod_CFLAGS): Likewise.
16596 (gfxmenu_mod_LDFLAGS): Likewise.
16597 * include/grub/term.h (grub_term_set_current_output): Declare
16598 argument as const.
16599 * docs/gfxmenu-theme-example.txt: New file.
16600 * gfxmenu/gfxmenu.c: Likewise.
16601 * gfxmenu/gui_box.c: Likewise.
16602 * gfxmenu/gui_canvas.c: Likewise.
16603 * gfxmenu/gui_circular_progress.c: Likewise.
16604 * gfxmenu/gui_image.c: Likewise.
16605 * gfxmenu/gui_label.c: Likewise.
16606 * gfxmenu/gui_list.c: Likewise.
16607 * gfxmenu/gui_progress_bar.c: Likewise.
16608 * gfxmenu/gui_string_util.c: Likewise.
16609 * gfxmenu/gui_util.c: Likewise.
16610 * gfxmenu/icon_manager.c: Likewise.
16611 * gfxmenu/model.c: Likewise.
16612 * gfxmenu/named_colors.c: Likewise.
16613 * gfxmenu/theme_loader.c: Likewise.
16614 * gfxmenu/view.c: Likewise.
16615 * gfxmenu/widget-box.c: Likewise.
16616 * include/grub/gfxmenu_model.h: Likewise.
16617 * include/grub/gfxmenu_view.h: Likewise.
16618 * include/grub/gfxwidgets.h: Likewise.
16619 * include/grub/gui.h: Likewise.
16620 * include/grub/gui_string_util.h: Likewise.
16621 * include/grub/icon_manager.h: Likewise.
16622
166232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16624
16625 Agglomerate scrolling in gfxterm.
16626
16627 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
16628 (grub_virtual_screen_setup): Initialise 'total_screen'.
16629 (write_char): Split to ...
16630 (paint_char): ... this ...
16631 (write_char): ... and this.
16632 (paint_char): Handle delayed scrolling.
16633 (draw_cursor): Likewise.
16634 (scroll_up): Split to ...
16635 (real_scroll): ... this ...
16636 (scroll_up): ... and this.
16637 (real_scroll): Handle multi-line scroll and draw below-the-bottom
16638 characters.
16639 (grub_gfxterm_refresh): Call real_scroll.
16640
166412010-02-06 Colin D Bennett <colin@gibibit.com>
16642
16643 * include/grub/misc.h (grub_iscntrl): New inline function.
16644 (grub_isalnum): Likewise.
16645 (grub_strtol): Likewise.
16646
166472010-02-06 Colin D Bennett <colin@gibibit.com>
16648
16649 * normal/menu_text.c (get_entry_number): Move from here ...
16650 * normal/menu.c (get_entry_number): ... moved here.
16651 * include/grub/menu.h (grub_menu_get_default_entry_index):
16652 New prototype.
16653 * normal/menu.c (grub_menu_get_default_entry_index): New function.
16654 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
16655 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
16656 (grub_menu_viewer_should_return): Likewise.
16657 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
16658 * normal/menu_text.c (run_menu): Enable menu switching.
16659 * normal/menu_viewer.c (should_return): New variable.
16660 (menu_viewer_changed): Likewise.
16661 (grub_menu_viewer_show_menu): Handle menu viewer changes.
16662 (grub_menu_viewer_should_return): New function.
16663 (menuviewer_write_hook): Likewise.
16664 (grub_menu_viewer_init): Likewise.
16665
166662010-02-06 Colin D Bennet <colin@gibibit.com>
166672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 Support for gfxterm in a window.
16670
16671 * include/grub/gfxterm.h: New file.
16672 * include/grub/video.h (struct grub_video_rect): New declaration.
16673 (grub_video_rect_t): Likewise.
16674 * term/gfxterm.c (struct grub_gfxterm_window): New type.
16675 (refcount): New variable.
16676 (render_target): Likewise.
16677 (window): Likewise.
16678 (repaint_callback): Likewise.
16679 (grub_virtual_screen_setup): Use 'render_target'.
16680 (init_window): New function.
16681 (grub_gfxterm_init_window): Likewise.
16682 (grub_gfxterm_init): Check reference counter.
16683 Use init_window.
16684 (destroy_window): New function.
16685 (grub_gfxterm_destroy_window): Likewise.
16686 (grub_gfxterm_fini): Check reference counter.
16687 Use destroy_window.
16688 (redraw_screen_rect): Restore viewport.
16689 Use 'render_target' and 'window'.
16690 Call 'repaint_callback'.
16691 (write_char): Use 'render_target'.
16692 (draw_cursor): Likewise.
16693 (scroll_up): Restore viewport.
16694 Use 'render_target' and 'window'.
16695 Call 'repaint_callback'.
16696 (grub_gfxterm_cls): Likewise.
16697 (grub_gfxterm_refresh): Use 'window'.
16698 (grub_gfxterm_set_repaint_callback): New function.
16699 (grub_gfxterm_background_image_cmd): Use 'window'.
16700 (grub_gfxterm_get_term): New function.
16701 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
16702
167032010-02-06 Colin D Bennett <colin@gibibit.com>
16704
16705 Bitmap scaling support.
16706
16707 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
16708 (bitmap_scale_mod_SOURCES): New variable.
16709 (bitmap_scale_mod_CFLAGS): Likewise.
16710 (bitmap_scale_mod_LDFLAGS): Likewise.
16711 * include/grub/bitmap_scale.h: New file.
16712 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
16713 (background_image_cmd_options): New variable.
16714 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
16715 (cmd): Rename and change type to ...
16716 (background_image_cmd_handle): ... this. All users updated.
16717 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16718 * video/bitmap_scale.c: New file.
16719
167202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 SDL support.
16723
16724 * Makefile.in (LIBSDL): New variable.
16725 (enable_grub_emu_sdl): Likewise.
16726 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16727 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16728 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16729 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16730 * util/sdl.c: New file.
16731
167322010-02-06 Colin D Bennett <colin@gibibit.com>
167332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16734
16735 Double buffering support.
16736
16737 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16738 * include/grub/video.h: Update comment.
16739 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16740 New type.
16741 (grub_video_fb_doublebuf_blit_init): New prototype.
16742 * term/gfxterm.c (scroll_up): Support double buffering.
16743 (grub_gfxterm_refresh): Likewise.
16744 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16745 (grub_video_fb_doublebuf_blit_init): Likewise.
16746 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16747 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16748 'displayed_page', 'render_page' and 'update_screen'.
16749 (grub_video_vbe_fini): Free offscreen buffer.
16750 (doublebuf_pageflipping_commit): New function.
16751 (doublebuf_pageflipping_update_screen): Likewise.
16752 (doublebuf_pageflipping_init): Likewise.
16753 (double_buffering_init): Likewise.
16754 (grub_video_vbe_setup): Enable doublebuffering.
16755 (grub_video_vbe_swap_buffers): Implement.
16756 (grub_video_vbe_set_active_render_target): Handle double buffering.
16757 (grub_video_vbe_get_active_render_target): Likewise.
16758 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16759 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16760 (grub_video_vbe_enable_double_buffering): Likewise.
16761 (grub_video_vbe_swap_buffers): Use update_screen.
16762 (grub_video_set_mode): Use double buffering.
16763
167642010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16765
16766 * maintainance/gentrigtables.py: Remove.
16767 * lib/trig.c: Likewise.
16768
16769 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16770
16771 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16772 `trigtables.c'.
16773 (trigtables.c): New rule.
16774 (gentrigtables): Likewise.
16775 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16776
167772010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16778
16779 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16780 integer constants.
16781
167822010-02-06 Colin D Bennet <colin@gibibit.com>
16783
16784 Trigonometry support.
16785
16786 * include/grub/trig.h: New file.
16787 * lib/trig.c: Likewise.
16788 * maintainance/gentrigtables.py: Likewise.
16789 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16790 (trig_mod_SOURCES): New variable.
16791 (trig_mod_CFLAGS): Likewise.
16792 (trig_mod_LDFLAGS): Likewise.
16793
5562834e
VS
167942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16795
16796 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16797 disk devices.
16798
4f8528fc
VS
167992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16800
16801 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16802 error.
16803
2b4068e9
VS
168042010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 * util/hostdisk.c (open_device): Don't use partition device when reading
16807 before the partition.
16808 (grub_util_biosdisk_read): Don't read from partition and before the
16809 partition in single operation.
16810 (grub_util_biosdisk_write): Don't write to partition and before the
16811 partition in single operation.
16812
399f6e4d
TL
168132010-02-03 Torsten Landschoff <torsten@debian.org>
16814
16815 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16816 last sectors.
16817
996649b0
VS
168182010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16819
16820 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16821 CDROM reads.
16822 (grub_biosdisk_write): Refuse to write to CDROM.
16823
3b205d4d
VS
168242010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16825
16826 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16827
61e89d9d
VS
168282010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16829
16830 * font/font.c (find_glyph): Check that bmp_idx is available before
16831 using it.
16832 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16833 with (font == NULL).
16834
bf7fcba2
CS
168352010-01-28 Christian Schmitt <chris@ilovelinux.de>
16836
16837 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16838
f45d2663
BC
168392010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16840
16841 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16842 * util/grub-script-check.c (getline): Fix empty lines case.
16843
ec1444e6
RM
168442010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16845
16846 * Makefile.in (check): Exit with fail status when one of the tests
16847 fails.
16848 * tests/example_functional_test.c (example_test): Fix reversed assert.
16849 * tests/example_unit_test.c (example_test): Likewise.
16850
2e1cb9bb
CW
168512010-01-28 Colin Watson <cjwatson@ubuntu.com>
16852
16853 * util/grub.d/10_linux.in: This script does not use any of the
16854 contents of gettext.sh, only the external command `gettext', so stop
16855 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16856 the same prefix as GRUB.)
16857 * util/grub.d/10_kfreebsd.in: Likewise.
16858
63533ab0
VS
168592010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16860
16861 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16862 of the line.
16863
989e1f93
VS
168642010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16865
16866 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16867 last sectors.
16868
e709ebe2
VS
168692010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16870
16871 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16872 having a 4KiB and not 32KiB buffer size.
16873
27dea7ed
RM
168742010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16875
16876 * util/hostfs.c: Include `<errno.h>'.
16877 (grub_hostfs_read): Handle errors from fseeko() and fread().
16878
67667b9c
RM
168792010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16880
16881 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16882 loop when using read hooks on files whose size isn't sector-aligned.
16883
c294d9d8
RM
168842010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16885
16886 Remove unused parameter.
16887
16888 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16889 (grub_iso9660_open): Remove initialization of `data->length'.
16890
af75a9f1
RM
168912010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16892
16893 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16894 memleak conditions.
16895
254e2ce5 168962010-01-27 Carles Pina i Estany <carles@pina.cat>
16897
16898 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16899 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16900
b510928c 169012010-01-26 Carles Pina i Estany <carles@pina.cat>
16902
16903 * util/bin2h.c (usage): Fix warning (space after backslash).
16904
aa2f9dd2 169052010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 16906
16907 * font/font.c: Include `grub/fontformat.h.
16908 Remove font file format constants.
16909 (grub_font_load): Use the new macros.
16910 * include/grub/fontformat.h: New file.
16911 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16912 (write_font_pf2): Use the new macros.
16913
94e7e712
RM
169142010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16915
16916 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16917 does.
16918
3973a59a
RM
169192010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16920
16921 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16922
16923 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16924 (_start): Macroify `0x7F'.
16925
16926 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16927 (make_install_device): Use "(pxe)" as fallback prefix when booting
16928 via PXE.
16929
42e0cba3
GS
169302010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 * configure.ac: Reset LIBS after check for libgcc symbols.
16933
847effd8
CW
169342010-01-25 Colin Watson <cjwatson@ubuntu.com>
16935
16936 * util/hostdisk.c (open_device): Add trailing newline to debug
16937 message.
16938
ea4a7e35
GS
169392010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16940
16941 * configure.ac: Check for `limits.h'.
16942 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16943
67951a53
RM
169442010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16945
16946 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16947 capitalize error strings.
16948
c273d4ce
ST
169492010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16950
16951 * util/grub.d/10_hurd.in: Add a recovery mode.
16952
69be5b74
VS
169532010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 * configure.ac: Check for libgcc symbols with -nostdlib.
16956
fc9e5810
BC
169572010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16958
16959 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16960
4b358c0a
VS
169612010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16964 stack since heap may be unavailable at that point.
16965 (grub_ofconsole_gotoxy): Likewise.
16966
454fcd1c
VS
169672010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16968
16969 * configure.ac: Check for _restgpr_14_x.
16970 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16971 and _savegpr_* prototypes.
16972
566863ca
RM
169732010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16974
16975 Use generic grub_reboot() for i386-efi.
16976
16977 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16978 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16979 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16980
bf86e59a
VS
169812010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16982
16983 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16984 presence of "prefix" variable as it breaks when normal.mod is
16985 embedded.
16986
d645e0f8
VS
169872010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16990 stack since heap is unavailable at that point.
16991
f9ab2e25
VS
169922010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16993
16994 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16995 (grub_freebsd_bootinfo): Rewritten.
16996 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16997
01fc7054
VS
169982010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16999
17000 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
17001
caab4fd6
RM
170022010-01-21 Robert Millan <rmh.grub@aybabtu.com>
17003
17004 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
17005 domain now.
17006
67eb1427
FZ
170072010-01-20 Felix Zielcke <fzielcke@z-51.de>
17008
17009 * util/misc.c (make_system_path_relative_to_its_root): Change the work
17010 around for handling "/" to the correct fix. Fix a memory leak. Use
17011 xstrdup instead of strdup.
17012
a9ed4ff3
VS
170132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17014
17015 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
17016
170172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
17018
17019 Optimise glyph lookup by Basic Multilingual Plane lookup array.
17020
17021 * font/font.c (struct grub_font): New member 'bmp_idx'.
17022 (font_init): Initialise 'bmp_idx'.
17023 (load_font_index): Fill 'bmp_idx'.
17024 (find_glyph): Make inline. Use bmp_idx for BMP characters.
17025
48209f4f
VS
170262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17027
17028 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
17029 unnecessary calls.
17030
9f0a4bb7
VS
170312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17032
17033 Move context handling out of the kernel.
17034
17035 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
17036 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
17037 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
17038 * conf/i386-efi.rmk: Likewise.
17039 * conf/i386-ieee1275.rmk: Likewise.
17040 * conf/i386-pc.rmk: Likewise.
17041 * conf/powerpc-ieee1275.rmk: Likewise.
17042 * conf/sparc64-ieee1275.rmk: Likewise.
17043 * conf/x86_64-efi.rmk: Likewise.
17044 * include/grub/env.h: Include grub/menu.h.
17045 (grub_env_var_type): Removed.
17046 (grub_env_var): Replaced field 'type' with 'global'.
17047 (grub_env_find): New prototype.
17048 (grub_env_context_open): Remove EXPORT_FUNC.
17049 (grub_env_context_close): Likewise.
17050 (grub_env_export): Likewise.
17051 (grub_env_set_data_slot): Removed.
17052 (grub_env_get_data_slot): Likewise.
17053 (grub_env_unset_data_slot): Likewise.
17054 (grub_env_unset_menu): New prototype.
17055 (grub_env_set_menu): Likewise.
17056 (grub_env_get_menu): Likewise.
17057 * include/grub/env_private.h: New file.
17058 * include/grub/normal.h (grub_context_init): New prototype.
17059 (grub_context_fini): Likewise.
17060 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
17061 * normal/context.c (grub_cmd_export): ... to here.
17062 * kern/env.c: Include env_private.h.
17063 (HASHSZ): Moved to include/grub/env_private.h.
17064 (grub_env_context): Likewise.
17065 (grub_env_sorted_var): Likewise.
17066 (current_context): Renamed from this ...
17067 (grub_current_context): ...to this. 'static' removed. All users updated.
17068 (grub_env_find): Removed 'static'.
17069 (grub_env_context_open): Moved to normal/context.c.
17070 (grub_env_context_close): Likewise.
17071 (grub_env_export): Likewise.
17072 (mangle_data_slot_name): Removed.
17073 (grub_env_set_data_slot): Likewise.
17074 (grub_env_get_data_slot): Likewise.
17075 (grub_env_unset_data_slot): Likewise.
17076 * kern/main.c (grub_set_root_dev): Don't export root.
17077 It will be done later.
17078 (grub_main): Don't export prefix.
17079 It will be done later.
17080 * normal/context.c: New file.
17081 * normal/main.c (free_menu): Use grub_env_unset_menu.
17082 (grub_normal_add_menu_entry): Use grub_env_get_menu.
17083 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
17084 (GRUB_MOD_INIT(normal)): Call grub_context_init.
17085 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
17086
8dd35b8c
VS
170872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17088
17089 setpci support.
17090
17091 * commands/setpci.c: New file.
17092 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
17093 (setpci_mod_SOURCES): New variable.
17094 (setpci_mod_CFLAGS): Likewise.
17095 (setpci_mod_LDFLAGS): Likewise.
17096
449193d5
VS
170972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17098
17099 Byte-addressable PCI configuration space.
17100
17101 * bus/pci.c (grub_pci_make_address): Use byte address instead of
17102 dword address.
17103 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
17104 GRUB_PCI_REG_CACHELINE.
17105 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
17106 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
17107 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
17108 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
17109 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
17110 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
17111 grub_pci_make_address.
17112 (lock_rom_area): Likewise.
17113 * commands/lspci.c (grub_lspci_iter): Use macroses
17114 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
17115 of grub_pci_make_address.
17116 * disk/ata.c (grub_ata_pciinit): Likewise.
17117 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
17118 (GRUB_PCI_REG_VENDOR): Likewise.
17119 (GRUB_PCI_REG_DEVICE): Likewise.
17120 (GRUB_PCI_REG_COMMAND): Likewise.
17121 (GRUB_PCI_REG_STATUS): Likewise.
17122 (GRUB_PCI_REG_REVISION): Likewise.
17123 (GRUB_PCI_REG_CLASS): Likewise.
17124 (GRUB_PCI_REG_CACHELINE): Likewise.
17125 (GRUB_PCI_REG_LAT_TIMER): Likewise.
17126 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
17127 (GRUB_PCI_REG_BIST): Likewise.
17128 (GRUB_PCI_REG_ADDRESSES): Likewise.
17129 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17130 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17131 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17132 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17133 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17134 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
17135 (GRUB_PCI_REG_CIS_POINTER): Likewise.
17136 (GRUB_PCI_REG_SUBVENDOR): Likewise.
17137 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
17138 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
17139 (GRUB_PCI_REG_CAP_POINTER): Likewise.
17140 (GRUB_PCI_REG_IRQ_LINE): Likewise.
17141 (GRUB_PCI_REG_IRQ_PIN): Likewise.
17142 (GRUB_PCI_REG_MIN_GNT): Likewise.
17143 (GRUB_PCI_REG_MAX_LAT): Likewise.
17144 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
17145 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
17146 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 17147 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
17148 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
17149 space.
17150
96d73208
RM
171512010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17152
17153 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
17154 can be reliably determined to be supported.
17155
d4484482
RM
171562010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17157
17158 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
17159 that VESA is supported.
17160 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
17161 supported.
17162
00308ecf
VS
171632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17164
17165 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
17166
f66924a4
RM
171672010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17168
17169 * util/misc.c (make_system_path_relative_to_its_root): Work around
17170 special-casing of "/", as previous incarnation of this routine did.
17171
cbca0ada
VS
171722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 Fix any-emu compilation.
17175
17176 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
17177 * grub_bin2h_SOURCES: New variable.
17178
34a66d99
RM
171792010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17180
17181 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
17182
94fabf58
RM
171832010-01-20 Robert Millan <rmh.grub@aybabtu.com>
17184
17185 * util/grub.d/00_header.in: Fix handling of locale_dir.
17186
02cf98ca
VS
171872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
17190 as possible unifont location (Gentoo).
17191 Reported by: Alexander Brüning
17192
327dbcd7
VS
171932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17194
17195 Don't try to generate lists for kernel.img.
17196
17197 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
17198 (pkglib_MODULES): Remove kernel.img.
17199 (kernel_img_EXPORTS): Removed.
17200 (kernel_img_RELOCATABLE): New variable.
17201 * conf/x86_64-efi.rmk: Likewise.
17202 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
17203
ca467290
VS
172042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
17207 grub_xasprintf or grub_snprintf.
17208 (grub_vsprintf): Likewise.
17209 (grub_snprintf): New proto.
17210 (grub_vsnprintf): Likewise.
17211 (grub_xasprintf): Likewise.
17212 (grub_xvasprintf): Likewise.
17213 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
17214 (grub_sprintf): Removed.
17215 (grub_vsnprintf): New function.
17216 (grub_snprintf): Likewise.
17217 (grub_xvasprintf): Likewise.
17218 (grub_xasprintf): Likewise.
17219 (grub_vsprintf): Renamed to ...
17220 (grub_vsnprintf_real): ...this. New argument max_len.
17221
aca655fd
BC
172222010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
17223
17224 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
17225 fix grub-script-check warning.
17226
7ee92c32
VS
172272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17228
17229 * include/grub/font.h (grub_font_load): Fix prototype.
17230
f80927ca
VS
172312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
17234
119c50ea
VS
172352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17236
17237 * include/grub/x86_64/at_keyboard.h: New file.
17238
47d5f3c1
VS
172392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17240
17241 * loader/mips/linux.c: Include missing grub/i18n.h.
17242
55ff5266
RM
172432009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17244
17245 * normal/menu.c (notify_execution_failure): Clarify error message.
17246
c893cc87
RM
172472009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17248
17249 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
17250 return value (and revert all return statements). Update users.
17251
917dd370
CW
172522010-01-20 Dan Merillat <debian@dan.merillat.org>
17253
17254 * kern/device.c (grub_device_iterate): Allocate new part_ent
17255 structure based on sizeof (*p) rather than sizeof (p->next), to
17256 account for structure padding.
17257
17258 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
17259 disk is NULL, which might happen for LVM physical volumes with no
17260 LVM signature.
17261
d4a4ee57
RM
172622009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17263
17264 * loader/mips/linux.c (grub_cmd_initrd)
17265 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
17266
172672009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17268
17269 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
17270 (grub_video_video_init, grub_video_bitmap_init)
17271 (grub_font_manager_init, grub_term_gfxterm_init)
17272 (grub_at_keyboard_init): New extern declarations.
17273 (grub_machine_init): Initialize gfxterm and at_keyboard.
17274
17275 * kern/main.c (grub_main): Revert grub_printf delay kludge.
17276
17277 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
17278 `gfxterm.mod' into core image.
17279
17280 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17281 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17282 (kernel_img_FORMAT): Copy to ...
17283
17284 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17285 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17286 (kernel_img_FORMAT): ... here, and ...
17287
17288 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17289 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17290 (kernel_img_FORMAT): ... here.
17291
17292 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
17293 and input (at_keyboard) terminals in kernel.
17294 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
17295
17296 (pkglib_MODULES): Remove `pci.mod'.
17297 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
17298 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
17299 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
17300 (at_keyboard_mod_LDFLAGS): Remove variables.
17301
173022010-01-11 Felix Zielcke <fzielcke@z-51.de>
17303
17304 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
17305
173062009-12-10 Robert Millan <rmh.grub@aybabtu.com>
17307
17308 * include/grub/mips/libgcc.h: Only export symbols for functions
17309 that libgcc provides.
17310
173112009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
17312
17313 MIPS support.
17314
17315 * bus/bonito.c: New file.
17316 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
17317 GRUB_PCI_NUM_DEVICES.
17318 * term/i386/pc/serial.c: Move to ...
17319 * term/serial.c: ... here. All users updated.
17320 * util/i386/pc/grub-mkimage.c: Move to ...
17321 * util/grub-mkrawimage.c: ... here. All users updated.
17322 * term/i386/pc/at_keyboard.c: Move to ...
17323 * term/at_keyboard.c: ... here. All users updated.
17324 * conf/mips-qemu-mips.rmk: New file.
17325 * conf/mips-yeeloong.rmk: Likewise.
17326 * conf/mips.rmk: Likewise.
17327 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
17328 mipsel-qemu-mips.
17329 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
17330 to port addresses.
17331 (grub_ata_pciinit): Support CS5536.
17332 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
17333 * font/font_cmd.c (loadfont_command): Open file before passing it to
17334 grub_font_load.
17335 (pseudo_file_read): New function.
17336 (pseudo_file_close): Likewise.
17337 (pseudo_fs): New structure.
17338 (load_font_module): New function.
17339 (GRUB_MOD_INIT(font_manager)): Load embedded font.
17340 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
17341 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
17342 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
17343 * include/grub/i386/at_keyboard.h: Split into ...
17344 * include/grub/at_keyboard.h: ... this ...
17345 * include/grub/i386/at_keyboard.h: ... and this.
17346 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
17347 New prototype.
17348 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
17349 updated.
17350 (grub_elf64_size): Likewise.
17351 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
17352 filename.
17353 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
17354 * include/grub/i386/coreboot/serial.h: Rewritten.
17355 * include/grub/i386/ieee1275/serial.h: Include
17356 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
17357 * include/grub/i386/pc/serial.h: Moved from here ...
17358 * include/grub/serial.h: ... to here. All users updated.
17359 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
17360 (GRUB_PCI_NUM_BUS): Likewise.
17361 (GRUB_PCI_NUM_DEVICES): Likewise.
17362 (grub_pci_device_map_range): Add missing volatile keyword.
17363 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
17364 * include/grub/mips/at_keyboard.h: New file.
17365 * include/grub/mips/cache.h: Likewise.
17366 * include/grub/mips/io.h: Likewise.
17367 * include/grub/mips/kernel.h: Likewise.
17368 * include/grub/mips/libgcc.h: Likewise.
17369 * include/grub/mips/pci.h: Likewise.
17370 * include/grub/mips/qemu-mips/boot.h: Likewise.
17371 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17372 * include/grub/mips/qemu-mips/loader.h: Likewise.
17373 * include/grub/mips/qemu-mips/memory.h: Likewise.
17374 * include/grub/mips/qemu-mips/serial.h: Likewise.
17375 * include/grub/mips/qemu-mips/time.h: Likewise.
17376 * include/grub/mips/relocator.h: Likewise.
17377 * include/grub/mips/time.h: Likewise.
17378 * include/grub/mips/types.h: Likewise.
17379 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
17380 * include/grub/mips/yeeloong/boot.h: Likewise.
17381 * include/grub/mips/yeeloong/kernel.h: Likewise.
17382 * include/grub/mips/yeeloong/loader.h: Likewise.
17383 * include/grub/mips/yeeloong/memory.h: Likewise.
17384 * include/grub/mips/yeeloong/pci.h: Likewise.
17385 * include/grub/mips/yeeloong/serial.h: Likewise.
17386 * include/grub/mips/yeeloong/time.h: Likewise.
17387 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
17388 * kern/elf.c (grub_elf32_size): New parameter. All users
17389 updated.
17390 (grub_elf64_size): Likewise.
17391 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
17392 Load modules before saying "Welcome to GRUB!".
17393 Call grub_refresh after saying "Welcome to GRUB!".
17394 * kern/mips/cache.S: New file.
17395 * kern/mips/cache_flush.S: Likewise.
17396 * kern/mips/dl.c: Likewise.
17397 * kern/mips/init.c: Likewise.
17398 * kern/mips/qemu-mips/init.c: Likewise.
17399 * kern/mips/startup.S: Likewise.
17400 * kern/mips/yeeloong/init.c: Likewise.
17401 * kern/term.c (grub_putcode): Handle NULL terminal.
17402 (grub_getcharwidth): Likewise.
17403 (grub_getkey): Likewise.
17404 (grub_checkkey): Likewise.
17405 (grub_getkeystatus): Likewise.
17406 (grub_getxy): Likewise.
17407 (grub_getwh): Likewise.
17408 (grub_gotoxy): Likewise.
17409 (grub_cls): Likewise.
17410 (grub_setcolorstate): Likewise.
17411 (grub_setcolor): Likewise.
17412 (grub_getcolor): Likewise.
17413 (grub_refresh): Likewise.
17414 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
17415 (write_jump): Add hatch nop.
17416 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
17417 * lib/mips/setjmp.S: New file.
17418 * loader/mips/linux.c: Likewise.
17419 * term/i386/pc/at_keyboard.c: Move from here ...
17420 * term/at_keyboard.c: ... to here.
17421 * term/i386/pc/serial.c: Moved from here ...
17422 * term/serial.c: ... to here. All users updated.
17423 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
17424 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
17425 (serial_translate_key_sequence): Avoid deadlock.
17426 (grub_serial_getkey): Handle backspace.
17427 (grub_serial_putchar): Fix newline handling.
17428 * util/i386/pc/grub-mkimage.c: Move from here ...
17429 * util/grub-mkrawimage.c: ... to here. All users updated.
17430 (generate_image): New parameters 'font_path' and 'format'.
17431 Support embedding font.
17432 Use grub_host_to_target* instead of grub_cpu_to_le*.
17433 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
17434 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
17435 (options): New option "--font".
17436 (usage): Likewise.
17437 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
17438 (main): Handle "--font".
17439 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
17440 (grub_virtual_screen_setup): Set bg_color_display.
17441 (redraw_screen_rect): Use bg_color_display instead of incorrect
17442 bg_color.
17443 (grub_gfxterm_cls): Likewise.
17444 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
17445 Support embedding config file.
17446 (add_segments): Likewise.
17447 (options): New option "--config".
17448 (main): Handle "--config".
17449 * video/sm712.c: New file.
17450
25c2b5b3
RM
174512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17452
17453 Fix parallel builds.
17454
17455 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
17456 font.c depend on ascii.h).
17457
174582010-01-12 Carles Pina i Estany <carles@pina.cat>
17459
17460 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
17461
174622010-01-11 Carles Pina i Estany <carles@pina.cat>
17463
17464 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
17465 By default: disabled.
17466 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
17467 parameter.
17468
174692010-01-10 Carles Pina i Estany <carles@pina.cat>
17470
17471 * font/font.c: Update copyright years.
17472 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
17473
174742010-01-10 Carles Pina i Estany <carles@pina.cat>
17475
17476 * font/font.c: Include `ascii.h'.
17477 (ASCII_BITMAP_SIZE): New macro.
17478 (ascii_font_glyph): Define.
17479 (ascii_glyph_lookup): New function.
17480 (grub_font_get_string_width): Change comment. If glyph not found, use
17481 ascii_glyph_lookup.
17482 (grub_font_get_glyph_with_fallback): If glyph not available returns
17483 ascii_glyph_lookup.
17484 * util/grub-mkfont.c (file_formats): New enum.
17485 (options): Add `ascii-bitmaps' new option.
17486 (usage): Add `asii-bitmaps' new option.
17487 (write_font_ascii_bitmap): New function.
17488 (write_font): Rename to ...
17489 (write_font_p2): ... this. Remove print_glyphs call.
17490 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
17491 used. Call print_glyphs.
17492 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
17493
174942010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17495
17496 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
17497 (grub_bin2h_SOURCES): New variable.
17498 * util/bin2h.c: New file.
17499
915fc1b8
VS
175002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17501
17502 * include/multiboot.h: Resynced with spec.
17503 * include/multiboot2.h: Likewise.
17504 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
17505 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
17506
9444b678
RM
175072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17508
17509 * include/grub/term.h (grub_term_register_input,
17510 grub_term_register_output): Check return of terminal init()
17511 routines, and abort if errors are raised.
17512
17513 * commands/terminal.c: Update copyright year.
17514
cba98e8d
RM
175152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17516
17517 * commands/terminal.c (grub_cmd_terminal_input)
17518 (grub_cmd_terminal_output): Check return of terminal init()
17519 routines, and abort if errors are raised.
17520
6f7db5d6
VS
175212010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 * include/grub/i386/bsd.h: Fix include pathes.
17524
262bff8d
VS
175252010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17526
17527 Add missing *BSD copyright headers.
17528
17529 * include/grub/aout.h: Add BSD licence.
17530 * include/grub/i386/bsd.h: Parts under different licences moved to ...
17531 * include/grub/i386/freebsd_linker.h: ... here,
17532 * include/grub/i386/freebsd_reboot.h: ... here,
17533 * include/grub/i386/netbsd_bootinfo.h: ... here,
17534 * include/grub/i386/netbsd_reboot.h: ... here,
17535 * include/grub/i386/openbsd_bootarg.h: ... here,
17536 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
17537 licence to each file.
17538
b2cab848
RM
175392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17540
17541 * acinclude.m4: Remove `nop' assembly instruction; it's not
17542 implemented by all architectures.
17543
2cb6be4b
RM
175442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17545
17546 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
17547 ELILO. This is no longer necessary.
17548
a2eaee15
BC
175492010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
17550
17551 Added new tool, grub-scrit-check to verify grub.cfg syntax.
17552
17553 * util/grub-script-check.c: grub-script-check tool.
17554 * conf/common.rmk: Make rules for grub-script-check.
17555
88d17012
RM
175562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17557
17558 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
17559 spotting it back in 2008. Shame on me for forgetting he did.
17560
17561 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
17562
8040619d
RM
175632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17564
17565 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
17566 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
17567 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
17568 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
17569 (GRUB_VIDEO_TYPE_EFI): Rename to ...
17570 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
17571
a0c2a0f6
RM
175722010-01-17 Robert Millan <rmh.grub@aybabtu.com>
17573
17574 * include/grub/test.h: Add license header.
17575 * tests/example_functional_test.c: Likewise.
17576 * tests/example_unit_test.c: Likewise.
17577 * tests/lib/functional_test.c: Likewise.
17578 * tests/lib/test.c: Likewise.
17579 * tests/lib/unit_test.c: Likewise.
17580
b0b13907
VS
175812010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
17582
17583 Use flag-based instead of hook-based video mode selection and "auto"
17584 keyword.
17585
17586 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
17587 (grub_video_set_mode): Changed prototype. All users updated.
17588 (grub_video_check_mode_flag): New inline function.
17589 * video/video.c (parse_modespec): New function.
17590 (grub_video_set_mode): Parse flags and keywords.
17591
ea379330 175922010-01-17 Carles Pina i Estany <carles@pina.cat>
17593
17594 * util/misc.c (grub_util_info): Fix the order of the parameters in a
17595 fprintf call.
17596
e15c215e
FZ
175972010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
17598
17599 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
17600
409ae1c9 176012010-01-16 Carles Pina i Estany <carles@pina.cat>
17602
17603 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
17604 string.
17605 * util/grub-emu.c (usage): Likewise.
17606 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
17607 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17608 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17609 * util/i386/pc/grub-setup.c (usage): Likewise.
17610
70a14d3d 176112010-01-16 Carles Pina i Estany <carles@pina.cat>
17612
17613 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
17614 the message.
17615 (grub_util_info): Likewise.
17616 (grub_util_error): Likewise.
17617 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
17618 and/or new lines in `grub_util_warna', `grub_util_info',
17619 `grub_util_error' calls.
17620 * util/getroot.c: Likewise.
17621 * util/grub-editenv.c: Likewise.
17622 * util/grub-emu.c: Likewise.
17623 * util/grub-fstest.c: Likewise.
17624 * util/grub-mkdevicemap.c: Likewise.
17625 * util/grub-mkfont.c: Likewise.
17626 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17627 * util/grub-mkrelpath.c: Likewise.
17628 * util/grub-pe2elf.c: Likewise.
17629 * util/grub-probe.c: Likewise.
17630 * util/hostdisk.c: Likewise.
17631 * util/i386/efi/grub-mkimage.c: Likewise.
17632 * util/i386/pc/grub-mkimage.c: Likewise.
17633 * util/i386/pc/grub-setup.c: Likewise.
17634 * util/ieee1275/ofpath.c: Likewise.
17635 * util/mkisofs/eltorito.c: Likewise.
17636 * util/mkisofs/rock.c: Likewise.
17637 * util/mkisofs/write.c: Likewise.
17638 * util/raid.c: Likewise.
17639 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17640 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17641
a0b766fc
VS
176422010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 Enable multiboot on non-pc.
17645
17646 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
17647 multiboot.mod and multiboot2.mod to ...
17648 * conf/i386.rmk (pkglib_MODULES): ... here.
17649 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
17650 Moved to ...
17651 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
17652 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
17653 Moved to ...
17654 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
17655 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
17656 Moved to ...
17657 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
17658 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
17659 Moved to ...
17660 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
17661 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
17662 relocator.mod.
17663 (ata_mod_SOURCES): Removed.
17664 (ata_mod_CFLAGS): Likewise.
17665 (ata_mod_LDFLAGS): Likewise.
17666 (relocator_mod_SOURCES): Removed.
17667 (relocator_mod_CFLAGS): Likewise.
17668 (relocator_mod_ASFLAGS): Likewise.
17669 (relocator_mod_LDFLAGS): Likewise.
17670 Include i386.mk.
17671 * include/grub/x86_64/multiboot.h: New file.
17672 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
17673 Terminate EFI.
17674
884ade56
VS
176752010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17676
17677 Video multiboot support.
17678
17679 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
17680 New prototype.
17681 * include/multiboot.h: Resynced with multiboot specification.
17682 * include/multiboot2.h: Likewise.
17683 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
17684 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
17685 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
17686 (HAS_VGA_TEXT): Likewise.
17687 (accepts_video): New variable.
17688 (grub_multiboot_set_accepts_video): New function.
17689 (grub_multiboot_get_mbi_size): Account for video structures.
17690 (set_video_mode): New function.
17691 (retrieve_video_parameters): Likewise.
17692 (grub_multiboot_make_mbi): Fill video fields.
17693
0d90e8a6
VS
176942010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17695
17696 Video driver ids.
17697
17698 * include/grub/video.h (grub_video_driver_id): New type.
17699 (grub_video_adapter): New member 'id'. All users updated.
17700 (grub_video_get_driver_id): New proto.
17701 * video/video.c (grub_video_get_driver_id): New function.
17702
5c71db1b 177032010-01-14 Carles Pina i Estany <carles@pina.cat>
17704
17705 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
17706 `var=val'.
17707
cca15b52 177082010-01-14 Carles Pina i Estany <carles@pina.cat>
17709
17710 * normal/cmdline.c (print_completion): Gettextizze.
17711
c586fbb2 177122001-01-14 Carles Pina i Estany <carles@pina.cat>
17713
17714 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
17715
ba2f6848 177162010-01-14 Carles Pina i Estany <carles@pina.cat>
17717
17718 * gettext/gettext.c (grub_gettext_translate): Push and pop
17719 grub_errno.
17720 (grub_gettext_delete_list): Change comment style.
17721 * kern/err.c (grub_error): Gettextizze.
17722 (grub_fatal): Gettextizze.
17723
0a46429a
RM
177242010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17725
17726 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17727 (grub_linux16_real_boot): ... this.
17728 * kern/i386/loader.S: Likewise.
17729 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17730 (grub_linux16_boot): New function. Switches to text mode and calls
17731 grub_linux16_real_boot().
17732
17733 * loader/i386/bsd.c: Include `<grub/video.h>'.
17734 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17735 text mode before calling grub_unix_real_boot().
17736
17737 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17738 (grub_multiboot_boot): Switch to text mode before calling
17739 grub_relocator32_boot().
17740
17741 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17742 (grub_chainloader_boot): Switch to text mode before calling
17743 grub_chainloader_real_boot().
17744
d6f93a66
RM
177452010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
177462010-01-05 Colin Watson <cjwatson@ubuntu.com>
17747
17748 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17749 non-empty value.
17750
177512010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
177522010-01-05 Colin Watson <cjwatson@ubuntu.com>
17753
17754 * util/grub.d/00_header.in: Define a "savedefault" function for use
17755 in menu entries.
17756 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17757
177582010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
177592010-01-05 Colin Watson <cjwatson@ubuntu.com>
17760
17761 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17762 saved_entry if boot_once is unset.
17763 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17764 previous saved entry (i.e. grub-reboot).
17765
177662009-12-08 Colin Watson <cjwatson@ubuntu.com>
17767
17768 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17769
177702009-12-08 Colin Watson <cjwatson@ubuntu.com>
17771
17772 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17773 `var=val'.
17774 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17775
177762009-12-08 Colin Watson <cjwatson@ubuntu.com>
17777
17778 * util/grub-reboot.in: Fix --version output.
17779 * util/grub-set-default.in: Likewise.
17780
177812009-12-08 Colin Watson <cjwatson@ubuntu.com>
17782
17783 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17784 blocks.
17785
177862009-12-08 Colin Watson <cjwatson@ubuntu.com>
17787
17788 * util/grub.d/00_header.in: Quote the value assigned to `default',
17789 in case it contains spaces.
17790
177912009-12-08 Colin Watson <cjwatson@ubuntu.com>
17792
17793 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17794 `save_default_entry' call from the macosx case to the linux case.
17795
177962009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
177972009-10-25 Colin Watson <cjwatson@ubuntu.com>
17798
17799 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17800 in `chosen' environment variable.
17801 * normal/menu_text.c (get_entry_number): Check if the variable
17802 matches the title of a menu entry.
17803 (run_menu): Pass menu to get_entry_number.
17804
17805 * util/grub-reboot.in: New file.
17806 * util/grub-set-default.in: New file.
17807 * conf/common.rmk (grub-reboot): New utility.
17808 (grub-set-default): New utility.
17809
17810 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17811 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17812 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17813 move it to `saved_entry' for the next boot. Load environment on
17814 initialisation.
17815 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17816 * util/grub.d/10_hurd.in: Likewise.
17817 * util/grub.d/10_linux.in (linux_entry): Likewise.
17818 * util/grub.d/10_windows.in: Likewise.
17819 * util/grub.d/30_os-prober.in: Likewise.
17820
17821 * util/grub-install.in: Create environment block.
17822 * util/i386/efi/grub-install.in: Likewise.
17823 * util/ieee1275/grub-install.in: Likewise.
17824 * util/sparc64/ieee1275/grub-install.in: Likewise.
17825
0934d184
BC
178262010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17827
17828 Unit testing framework for GRUB.
17829
17830 * Makefile.in: Test framework build rules for 'make check'.
17831 * conf/tests.rmk: Build rules for individual tests and framework.
17832
17833 * include/grub/test.h: Header file for whitebox tests.
17834 * tests/lib/functional_test.c: Framework support for whitebox
17835 functional tests.
17836 * tests/lib/test.c: Common whitebox testing code for unit and
17837 functional tests.
17838 * tests/lib/unit_test.c: Framework support for whitebox unit
17839 tests.
17840
17841 * tests/util/grub-shell-tester.in: Support utility for grub-script
17842 tests.
17843 * tests/util/grub-shell.in: Utility to execute grub-script
17844 commands in a Qemu instance.
17845
17846 * tests/example_functional_test.c: Example whitebox functional
17847 test.
17848 * tests/example_grub_script_test.in: Example grub-script test.
17849 * tests/example_scripted_test.in: Example scripted test.
17850 * tests/example_unit_test.c: Example whitebox unit test.
17851
9c4ffeeb
VS
178522010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17855 Add loader/i386/multiboot_mbi.c.
17856 (multiboot2_mod_SOURCES): Likewise.
17857 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17858 (multiboot2_mod_SOURCES): Likewise.
17859 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17860 (grub_multiboot_make_mbi): Likewise.
17861 (grub_multiboot_free_mbi): Likewise.
17862 (grub_multiboot_init_mbi): Likewise.
17863 (grub_multiboot_add_module): Likewise.
17864 (grub_multiboot_set_bootdev): Likewise.
17865 * loader/i386/multiboot.c (mbi): Removed.
17866 (mbi_dest): Likewise.
17867 (alloc_mbi): New variable.
17868 (grub_multiboot_payload_size): Removed. All users updated.
17869 (grub_multiboot_pure_size): New variable.
17870 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17871 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17872 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17873 (grub_fill_multiboot_mmap): Likewise.
17874 (grub_multiboot_get_bootdev): Likewise.
17875 (grub_multiboot): Use multiboot_mbi functions.
17876 * loader/i386/multiboot_mbi.c: New file.
17877
17383dfe
VS
178782010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17881 it would result in module crash.
17882
c1f28820
VS
178832010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17886 (grub_ofconsole_getwh): Split to ...
17887 (grub_ofconsole_getwh): ... this.
17888 (grub_ofconsole_dimensions): ...and this.
17889 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17890
58655a16
RM
178912010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17892
17893 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17894
10891398
VS
178952010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 * loader/i386/pc/multiboot2.c: Removed stalled file.
17898
0b8a223c
VS
178992010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17902 Reported by: Grégoire Sutre
17903
92ab12b0
RM
179042010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17905
17906 * util/misc.c (canonicalize_file_name): New function.
17907 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17908 instead of realpath().
17909
a788afb6
CW
179102010-01-11 Colin Watson <cjwatson@ubuntu.com>
17911
17912 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17913 and make it clearer that it's optional. Based on confusion
17914 witnessed on IRC.
17915
ffa8e3d2
VS
179162010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17919 in premature implicit newline.
17920
e9060a9d
VS
179212010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17922
17923 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17924 which resulted in garbled command line at the end of screen.
17925
f0d0c0b7
RM
179262010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17927
17928 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17929 initialization with similar approach as with other Linux loaders.
17930
0e60bae7
RM
179312010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17932
17933 Fix i386-ieee1275 build.
17934
17935 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17936 and grub_term_height() for video_{width,height} initialization.
17937
179382010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
17939
17940 Fix grub-emu build.
17941
17942 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17943
cdb3f378
RM
179442010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
179452010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17946
17947 Support for multiple terminals.
17948
17949 * Makefile.in (pkglib_DATA): terminal.lst.
17950 (terminal.lst): New target.
17951 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17952 (GRUB_MOD_INIT(handler)): Likewise.
17953 (GRUB_MOD_FINI(handler)): Likewise.
17954 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17955 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17956 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17957 (grub_cmd_sleep): Use grub_term_save_pos.
17958 * commands/terminal.c: New file.
17959 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17960 commands/terminal.c and lib/charset.c.
17961 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17962 (pkglib_MODULES): Add terminal.mod.
17963 (terminal_mod_SOURCES): New variable.
17964 (terminal_mod_CFLAGS): Likewise.
17965 (terminal_mod_LDFLAGS): Likewise.
17966 * genhandlerlist.sh: Don't handle terminals.
17967 * genmk.rb: Generate terminal-*.lst.
17968 * genterminallist.sh: New file.
17969 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17970 (grub_is_valid_utf8): Likewise.
17971 (grub_utf8_to_ucs4_alloc): Likewise.
17972 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17973 (grub_menu_register_viewer): Changed argument.
17974 (grub_menu_try_text): New proto.
17975 (grub_gfxmenu_try_hook): New declaration.
17976 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17977 (grub_menu_init_page): Additional argument term.
17978 (grub_normal_init_page): Likewise.
17979 (grub_cmdline_get): Arguments simplified.
17980 (grub_utf8_to_ucs4_alloc): Removed.
17981 (grub_print_ucs4): Additional argument term.
17982 (grub_getstringwidth): Likewise.
17983 (grub_print_message_indented): Likewise.
17984 (grub_menu_text_register_instances): New proto.
17985 (grub_show_menu): Likewise.
17986 (read_terminal_list): Likewise.
17987 (grub_set_more): Likewise.
17988 * include/grub/parser.h: Include handler.h.
17989 * include/grub/reader.h: Rewritten.
17990 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17991 (GRUB_TERM_WIDTH): Changed to function.
17992 (GRUB_TERM_HEIGHT): Likewise.
17993 (GRUB_TERM_BORDER_WIDTH): Likewise.
17994 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17995 (GRUB_TERM_NUM_ENTRIES): Likewise.
17996 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17997 (GRUB_TERM_CURSOR_X): Likewise.
17998 (grub_term_input_class): Likewise.
17999 (grub_term_output_class): Likewise.
18000 (grub_term_outputs_disabled): New declaration.
18001 (grub_term_inputs_disabled): Likewise.
18002 (grub_term_outputs): Likewise.
18003 (grub_term_inputs): Likewise.
18004 (grub_term_register_input): Rewritten.
18005 (grub_term_register_output): Likewise.
18006 (grub_term_unregister_input): Likewise.
18007 (grub_term_unregister_output): Likewise.
18008 (FOR_ACTIVE_TERM_INPUTS): New macro.
18009 (FOR_DISABLED_TERM_INPUTS): Likewise.
18010 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18011 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18012 * include/grub/terminfo.h: Add oterm argument to all protypes.
18013 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
18014 Use grub_rescue_run.
18015 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
18016 All users updated.
18017 * kern/reader.c: Removed. All users updated.
18018 * kern/rescue_reader.c (grub_rescue_init): Removed.
18019 (grub_rescue_reader): Likewise.
18020 (grub_register_rescue_reader): Likewise.
18021 (grub_rescue_run): New function based on kern/reader.c.
18022 * kern/term.c: Adapted for multiterm.
18023 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
18024 (grub_is_valid_utf8): Likewise.
18025 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
18026 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
18027 right terminal.
18028 * loader/i386/linux.c (grub_linux_boot): Likewise.
18029 * normal/auth.c (grub_username_get): New function.
18030 (grub_auth_check_authentication): Use grub_username_get.
18031 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
18032 * normal/color.c: Adapt for multiterm.
18033 * normal/main.c (read_config_file): Don't use grub_reader_loop.
18034 (grub_normal_init_page): Additional argument term.
18035 (read_lists): Call read_terminal_lists.
18036 (grub_enter_normal_mode): Call grub_cmdline_run.
18037 Handle grub_normal_exit_level.
18038 (grub_cmd_normal): Make reentrant.
18039 (grub_cmd_normal_exit): New function.
18040 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
18041 * normal/menu.c: Adapt for multiterm.
18042 * normal/menu_entry.c: Likewise.
18043 * normal/menu_text.c: Likewise.
18044 * normal/menu_viewer.c: Removed. All users updated.
18045 * normal/term.c: New file.
18046 * util/console.c: Change order of includes to workaround a bug in
18047 ncurses headers.
18048 * term/terminfo.c: New argument oterm on all exported functions.
18049 All users updated.
18050 * util/grub-editenv.c (grub_term_input_class): Removed.
18051 (grub_term_output_class): Likewise.
18052
1a064917
RM
180532010-01-09 Robert Millan <rmh.grub@aybabtu.com>
18054
18055 Make loader output a bit more user-friendly.
18056
18057 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
18058 is being loaded. Likewise for the Hurd.
18059
18060 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
18061 that kernel of FreeBSD ${version} is being loaded.
18062
18063 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
18064 grub_dprintf().
18065 (grub_cmd_initrd): Likewise.
18066 * util/grub.d/10_linux.in (linux_entry): Print message indicating
18067 that Linux ${version} is being loaded. Likewise for initrd.
18068
5ce0a83a 180692010-01-09 Carles Pina i Estany <carles@pina.cat>
18070
18071 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
18072
809bbfeb 180732010-01-08 Carles Pina i Estany <carles@pina.cat>
18074
18075 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
18076 (GRUB_MOD_INIT): Gettextizze.
18077 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
18078 (GRUB_MOD_INIT): Gettextizze.
18079 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
18080 (grub_cmd_linux): Capitalise Linux.
18081 (GRUB_MOD_INIT): Gettextizze.
18082 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
18083 (grub_cmd_linux): Capitalise Linux.
18084 (GRUB_MOD_INIT): Gettextizze.
18085 * loader/i386/linux.c: Include `<grub/i18n.h>'.
18086 (grub_cmd_linux): Capitalise Linux.
18087 (GRUB_MOD_INIT): Gettextizze.
18088 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
18089 (GRUB_MOD_INIT): Gettextizze.
18090 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
18091 (grub_cmd_linux): Capitalise Linux.
18092 (GRUB_MOD_INIT): Gettextizze.
18093 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
18094 (grub_cpu_xnu_init): Gettextizze.
18095 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
18096 (GRUB_MOD_INIT): Gettextizze.
18097 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
18098 (GRUB_MOD_INIT): Gettextizze.
18099 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
18100 (grub_linux_load64): Capitalise Linux.
18101 (GRUB_MOD_INIT): Gettextizze.
18102 * loader/xnu.c: Include `<grub/i18n.h>'.
18103 (GRUB_MOD_INIT): Gettextizze.
18104 * po/POTFILES: Add `loader/efi/appleloader.c',
18105 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
18106 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
18107 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
18108 `loader/i386/xnu.c', `loader/multiboot_loader.c',
18109 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
18110 and `loader/xnu.c'.
18111
b394b2ca
RM
181122010-01-08 Robert Millan <rmh.grub@aybabtu.com>
18113
18114 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
18115
181162010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
18117
18118 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
18119 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
18120 * util/mkisofs/mkisofs.c (main): Readjust --version output.
18121
bc8b32b3
RM
181222010-01-07 Robert Millan <rmh.grub@aybabtu.com>
18123
18124 Reset Multiboot 2 support. New loader implements the draft in
18125 /branches/multiboot2 and shares as much code as possible with the
18126 production Multiboot 1 implementation.
18127
18128 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
18129 * loader/multiboot2.c: Likewise.
18130 * loader/i386/multiboot_helper.S: Likewise.
18131 * include/multiboot2.h: Replace with latest version from the draft
18132 in /branches/multiboot2.
18133
18134 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
18135 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
18136 and `loader/multiboot2.c'.
18137 (pkglib_MODULES): Add `multiboot2.mod'.
18138 (multiboot2_mod_SOURCES): New variable.
18139 (multiboot2_mod_LDFLAGS): Likewise.
18140 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
18141
18142 * conf/i386-pc.rmk: Likewise.
18143
18144 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18145 (multiboot_mod_SOURCES): Remove variable.
18146 (multiboot_mod_LDFLAGS): Likewise.
18147 (multiboot_mod_CFLAGS): Likewise.
18148
18149 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
18150 `<multiboot2.h>' instead of `<multiboot.h>'.
18151 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
18152 (MULTIBOOT_HEADER_MAGIC): New macros.
18153
18154 * loader/multiboot_loader.c (module_version_status): Remove variable.
18155 (find_multi_boot2_header): Remove function.
18156 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
18157 logic. Always check for the Multiboot version we're compiling for.
18158 (grub_cmd_module_loader): Likewise.
18159 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
18160 command instead of `multiboot'.
18161
5d2c52b8
RM
181622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
18163
18164 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
18165 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
18166 all users.
18167
53108d92
RM
181682010-01-07 Robert Millan <rmh.grub@aybabtu.com>
181692010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18170
18171 Fix breakage introduced with previous commit.
18172
18173 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
18174 commands.
18175 * normal/handler.c (read_handler_list): Revert part of previous commit
18176 affecting this file.
18177 * normal/main.c (read_lists): Move read_handler_list() call back to ...
18178 (grub_normal_execute): ... here.
18179
e2e936b2
RM
181802010-01-07 Robert Millan <rmh.grub@aybabtu.com>
18181
18182 Merge prefix-redefinition-fix branch.
18183
18184 * normal/autofs.c (read_fs_list): Make function capable of being
18185 run multiple times, gracefuly replacing the previous data
18186 structures.
18187 * normal/dyncmd.c (read_command_list): Likewise.
18188 * normal/handler.c (read_handler_list): Likewise.
18189 * normal/main.c (read_lists): New function. Calls all the
18190 list reading functions.
18191 (grub_normal_execute): Use read_lists() instead of calling all
18192 list reading functions explicitly. Register read_lists() as a
18193 variable hook attached to ${prefix}.
18194
607a3701
VS
181952010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18196
18197 Merge crypto branch.
18198
18199 * Makefile.in (pkglib_DATA): Add crypto.lst.
18200 (crypto.lst): New target.
18201 * commands/hashsum.c: New file.
18202 * commands/password.c (check_password): Use grub_crypto_memcmp.
18203 * commands/password_pbkdf2.c: New file.
18204 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
18205 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
18206 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
18207 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
18208 -I$(srcdir)/lib/libgcrypt_wrap.
18209 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
18210 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
18211 password_pbkdf2.mod.
18212 (crypto_mod_SOURCES): New variable.
18213 (crypto_mod_CFLAGS): Likewise.
18214 (crypto_mod_LDFLAGS): Likewise.
18215 (hashsum_mod_SOURCES): New variable.
18216 (hashsum_mod_CFLAGS): Likewise.
18217 (hashsum_mod_LDFLAGS): Likewise.
18218 (pbkdf2_mod_SOURCES): New variable.
18219 (pbkdf2_mod_CFLAGS): Likewise.
18220 (pbkdf2_mod_LDFLAGS): Likewise.
18221 (password_pbkdf2_mod_SOURCES): New variable.
18222 (password_pbkdf2_mod_CFLAGS): Likewise.
18223 (password_pbkdf2_mod_LDFLAGS): Likewise.
18224 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
18225 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
18226 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
18227 Include conf/gcry.rmk.
18228 * include/grub/auth.h: Rewritten.
18229 * include/grub/crypto.h: New file.
18230 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
18231 * include/grub/normal.h (read_crypto_list): New prototype.
18232 * lib/crypto.c: New file.
18233 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18234 * lib/pbkdf2.c: Likewise.
18235 * normal/auth.c (grub_auth_strcmp): Removed.
18236 (grub_iswordseparator): Likewise.
18237 (grub_auth_strword): Likewise.
18238 (is_authenticated): Use grub_strword.
18239 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
18240 and grub_strword. Pass entered password to authentication callback.
18241 * normal/crypto.c: New file.
18242 * normal/main.c: Call read_crypto_list.
18243 * util/grub-mkpasswd-pbkdf2.c: New file.
18244 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
18245
42841caa
VS
182462010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
18247
18248 Fix descent and ascent calculation.
18249
18250 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
18251 (options): New option "asce".
18252 (usage): Likewise.
18253 (add_char): Ignore invalid glyphs for descent calculation.
18254 Calculate ascent from actual content.
18255 (print_glyphs): Use 'asce'.
18256 (write_font): Likewise. Allow ascent override.
18257 (main): Handle "asce" option.
18258
e7730de7 182592010-01-06 Carles Pina i Estany <carles@pina.cat>
18260
18261 * kern/err.c: Include `<grub/i18n.h>'.
18262 (grub_print_error): Add full stop. Gettextizze.
18263 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
18264 (grub_bsd_load_elf): Capitalise ELF.
18265 (grub_cmd_freebsd_loadenv): Add `s' in error string.
18266 (grub_cmd_freebsd_module): Likewise.
18267 (grub_cmd_freebsd_module_elf): Likewise.
18268 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
18269
40e3a41f 182702010-01-06 Carles Pina i Estany <carles@pina.cat>
18271
18272 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
18273 * commands/search_file.c (HELP_MESSAGE): New macro.
18274 * commands/search_label.c (HELP_MESSAGE): Likewise.
18275 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
18276 * po/POTFILES: Add `commands/search_file.c',
18277 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
18278 `commands/search.c'.
18279
83507e68
RM
182802010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18281
18282 * config.rpath: Update from Gnulib.
18283
465c787b
YB
182842010-01-05 Yves Blusseau <blusseau@zetam.org>
18285
18286 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
18287
6581dd3a
YB
182882010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
18289
18290 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
18291
3bff18c5
CW
182922010-01-05 Colin Watson <cjwatson@ubuntu.com>
18293
18294 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
18295 arguments to fread so that we get a return value in bytes, rather
18296 than something that will normally be rounded down to 0.
18297 Adjust error handling to avoid producing garbage when size_t is not
18298 the same size as long long.
18299
a1368118
CW
183002010-01-05 Colin Watson <cjwatson@ubuntu.com>
18301
18302 * util/mkisofs/write.c (padblock_write): Check return value of
18303 fread.
18304
7c302978
RM
183052010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18306
18307 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
18308 floppy images now.
18309
18310 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
18311
e33ace06
RM
183122010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18313
18314 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
18315 instead of manual alignment.
18316 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
18317 verbose). Avoid attempts to read past end of the device
18318 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
18319 but GRUB_DISK_CACHE_SIZE may exceed that).
18320
4b856776
RM
183212010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18322
18323 * commands/crc.c (grub_cmd_crc): Abort on read errors.
18324 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
18325 it to upper layer.
18326
52c2d97f
VS
183272010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18328
18329 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
18330 New constant.
18331 (grub_efi_piwg_device_path): New structure
18332 (grub_efi_piwg_device_path_t): New type.
18333 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
18334 (devpath_1): Transform to a structure. All users updated.
18335 (devpath_2): Likewise.
18336 (devpath_3): Likewise.
18337 (devpath_4): Likewise.
18338 (devpath_5): Likewise.
18339
98ff6a54
VS
183402010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18341
18342 * loader/efi/appleloader.c: Restored. Update all users.
18343
3a73dcb6
RM
183442010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18345
18346 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
18347
18348 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
18349 (struct boot_blocklist): Move from here ...
18350 * include/grub/i386/pc/boot.h [ASM_FILE]
18351 (struct grub_boot_blocklist): ... to here. Update all users.
18352 (setup): Only initialize `start' member of `first_block'
18353 structure. Add assert() calls to verify the other members.
18354
18355 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
18356 (generate_image): Fix broken blocklist length initialization.
18357 Add assert() call to verify blocklist `segment' field.
18358
ab0eeb0c
RM
183592010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18360
18361 * loader/efi/appleloader.c: Remove. Update all users.
18362
58bc8bd5
RM
183632010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18364
18365 * boot/i386/pc/boot.S: Update copyright year.
18366 * boot/i386/pc/cdboot.S: Likewise.
18367 * boot/i386/pc/diskboot.S: Likewise.
18368 * boot/i386/pc/lnxboot.S: Likewise.
18369 * boot/i386/pc/pxeboot.S: Likewise.
18370 * bus/pci.c: Likewise.
18371 * commands/cmp.c: Likewise.
18372 * commands/help.c: Likewise.
18373 * commands/hexdump.c: Likewise.
18374 * commands/i386/pc/halt.c: Likewise.
18375 * commands/i386/pc/play.c: Likewise.
18376 * commands/i386/pc/vbeinfo.c: Likewise.
18377 * commands/ls.c: Likewise.
18378 * commands/test.c: Likewise.
18379 * disk/dmraid_nvidia.c: Likewise.
18380 * disk/i386/pc/biosdisk.c: Likewise.
18381 * disk/ieee1275/nand.c: Likewise.
18382 * disk/ieee1275/ofdisk.c: Likewise.
18383 * disk/lvm.c: Likewise.
18384 * disk/raid.c: Likewise.
18385 * disk/raid6_recover.c: Likewise.
18386 * disk/scsi.c: Likewise.
18387 * fs/affs.c: Likewise.
18388 * fs/cpio.c: Likewise.
18389 * fs/ext2.c: Likewise.
18390 * fs/hfs.c: Likewise.
18391 * fs/iso9660.c: Likewise.
18392 * fs/ntfs.c: Likewise.
18393 * fs/sfs.c: Likewise.
18394 * fs/udf.c: Likewise.
18395 * fs/ufs.c: Likewise.
18396 * fs/xfs.c: Likewise.
18397 * gencmdlist.sh: Likewise.
18398 * genmk.rb: Likewise.
18399 * include/grub/disk.h: Likewise.
18400 * include/grub/efi/api.h: Likewise.
18401 * include/grub/efi/efi.h: Likewise.
18402 * include/grub/efi/pe32.h: Likewise.
18403 * include/grub/elf.h: Likewise.
18404 * include/grub/fs.h: Likewise.
18405 * include/grub/i386/at_keyboard.h: Likewise.
18406 * include/grub/i386/pc/memory.h: Likewise.
18407 * include/grub/i386/pc/vbe.h: Likewise.
18408 * include/grub/i386/pci.h: Likewise.
18409 * include/grub/i386/tsc.h: Likewise.
18410 * include/grub/ieee1275/ieee1275.h: Likewise.
18411 * include/grub/ntfs.h: Likewise.
18412 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18413 * include/grub/sparc64/libgcc.h: Likewise.
18414 * include/grub/symbol.h: Likewise.
18415 * include/grub/types.h: Likewise.
18416 * include/multiboot2.h: Likewise.
18417 * io/gzio.c: Likewise.
18418 * kern/device.c: Likewise.
18419 * kern/disk.c: Likewise.
18420 * kern/efi/efi.c: Likewise.
18421 * kern/efi/mm.c: Likewise.
18422 * kern/elf.c: Likewise.
18423 * kern/file.c: Likewise.
18424 * kern/i386/dl.c: Likewise.
18425 * kern/i386/pc/init.c: Likewise.
18426 * kern/i386/pc/startup.S: Likewise.
18427 * kern/ieee1275/ieee1275.c: Likewise.
18428 * kern/ieee1275/init.c: Likewise.
18429 * kern/main.c: Likewise.
18430 * kern/mm.c: Likewise.
18431 * kern/powerpc/dl.c: Likewise.
18432 * kern/sparc64/dl.c: Likewise.
18433 * kern/x86_64/dl.c: Likewise.
18434 * lib/hexdump.c: Likewise.
18435 * loader/efi/appleloader.c: Likewise.
18436 * loader/i386/ieee1275/linux.c: Likewise.
18437 * loader/i386/pc/chainloader.c: Likewise.
18438 * loader/i386/pc/linux.c: Likewise.
18439 * loader/i386/pc/multiboot2.c: Likewise.
18440 * loader/ieee1275/multiboot2.c: Likewise.
18441 * loader/multiboot2.c: Likewise.
18442 * loader/multiboot_loader.c: Likewise.
18443 * loader/powerpc/ieee1275/linux.c: Likewise.
18444 * normal/completion.c: Likewise.
18445 * normal/menu_entry.c: Likewise.
18446 * partmap/apple.c: Likewise.
18447 * util/grub.d/10_hurd.in: Likewise.
18448 * util/hostfs.c: Likewise.
18449 * video/readers/png.c: Likewise.
18450
e2d70b5c
CW
184512010-01-03 Colin Watson <cjwatson@ubuntu.com>
18452
18453 * include/grub/misc.h (GNUC_PREREQ): New macro.
18454 (ATTRIBUTE_ERROR): New macro.
18455 * include/grub/list.h (grub_bad_type_cast_real): Use
18456 ATTRIBUTE_ERROR.
18457
a173283f 184582010-01-03 Carles Pina i Estany <carles@pina.cat>
18459
18460 * normal/menu_text.c (print_message): Change messages.
18461
7fa7ff74 184622010-01-03 Carles Pina i Estany <carles@pina.cat>
18463
18464 * normal/menu_entry.c (store_completion): Gettextizze.
18465
136d24f6 184662010-01-03 Carles Pina i Estany <carles@pina.cat>
18467
18468 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
18469
f936862e 184702010-01-03 Carles Pina i Estany <carles@pina.cat>
18471
18472 * po/POTFILES: Sort correctly.
18473
29c44ad1 184742010-01-03 Carles Pina i Estany <carles@pina.cat>
18475
18476 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
18477 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
18478 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
18479 full stop.
18480 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
18481 summary. Gettextizze the strings.
18482 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
18483 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
18484 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
18485 full stop.
18486 (GRUB_MOD_INIT): Remove command name from summary.
18487 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
18488 summary.
18489 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
18490 * term/i386/pc/serial.c (options): Add full stops.
18491 (GRUB_MOD_INIT): Remove command name from the summary.
18492
77a79592 184932010-01-03 Carles Pina i Estany <carles@pina.cat>
18494
18495 * commands/acpi.c: Gettextizze help strings and/or options. Include
18496 `grub/i18n.h' if needed.
18497 * commands/blocklist.c: Likewise.
18498 * commands/boot.c: Likewise.
18499 * commands/cat.c: Likewise.
18500 * commands/cmp.c: Likewise.
18501 * commands/configfile.c: Likewise.
18502 * commands/crc.c: Likewise.
18503 * commands/date.c: Likewise.
18504 * commands/echo.c: Likewise.
18505 * commands/efi/fixvideo.c: Likewise.
18506 * commands/efi/loadbios.c: Likewise.
18507 * commands/gptsync.c: Likewise.
18508 * commands/halt.c: Likewise.
18509 * commands/handler.c: Likewise.
18510 * commands/hdparm.c: Likewise.
18511 * commands/hexdump.c: Likewise.
18512 * commands/i386/cpuid.c: Likewise.
18513 * commands/i386/pc/drivemap.c: Likewise.
18514 * commands/i386/pc/halt.c: Likewise.
18515 * commands/i386/pc/pxecmd.c: Likewise.
18516 * commands/i386/pc/vbeinfo.c: Likewise.
18517 * commands/i386/pc/vbetest.c: Likewise.
18518 * commands/ieee1275/suspend.c: Likewise.
18519 * commands/keystatus.c: Likewise.
18520 * commands/loadenv.c: Likewise.
18521 * commands/ls.c: Likewise.
18522 * commands/lsmmap.c: Likewise.
18523 * commands/lspci.c: Likewise.
18524 * commands/memrw.c: Likewise.
18525 * commands/minicmd.c: Likewise.
18526 * commands/parttool.c: Likewise.
18527 * commands/password.c: Likewise.
18528 * commands/probe.c: Likewise.
18529 * commands/read.c: Likewise.
18530 * commands/reboot.c: Likewise.
18531 * commands/search.c: Likewise.
18532 * commands/sleep.c: Likewise.
18533 * commands/test.c: Likewise.
18534 * commands/true.c: Likewise.
18535 * commands/usbtest.c: Likewise.
18536 * commands/videotest.c: Likewise.
18537 * commands/xnu_uuid.c: Likewise.
18538 * disk/loopback.c: Likewise.
18539 * hello/hello.c: Likewise.
18540 * loader/i386/bsd.c: Likewise.
18541 * term/i386/pc/serial.c: Likewise.
18542 * po/POTFILES: Add new files.
18543
da8d5c53
CW
185442010-01-02 Colin Watson <cjwatson@ubuntu.com>
18545
18546 * term/i386/pc/at_keyboard.c
18547 (keyboard_controller_wait_untill_ready): Rename to ...
18548 (keyboard_controller_wait_until_ready): ... this. Update all users.
18549
33937904 185502010-01-01 Carles Pina i Estany <carles@pina.cat>
18551
18552 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
18553 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
18554 string using string width.
18555 * normal/menu_text.c (grub_print_message_indented): Use
18556 grub_print_spaces and not print_spaces.
18557 (print_timeout): Likewise.
18558 (print_spaces): Move to...
18559 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
18560
3fd3b8d8
RM
185612010-01-01 Robert Millan <rmh.grub@aybabtu.com>
18562
18563 Import from Gnulib.
18564
18565 * gnulib/getdelim.c: New file.
18566 * gnulib/getline.c: Likewise.
18567
33433555
VS
185682009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
18569
18570 * include/grub/list.h (grub_assert_fail): Removed.
18571 (grub_bad_type_cast_real): New function.
18572 (grub_bad_type_cast): New macro.
18573 (GRUB_AS_LIST): Use grub_bad_type_cast.
18574 (GRUB_AS_LIST_P): Likewise.
e44721e8 18575 (GRUB_AS_NAMED_LIST): Likewise.
33433555 18576 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 18577 (GRUB_AS_PRIO_LIST): Likewise.
33433555 18578 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 18579 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 18580
f5a51306
VS
185812009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
18584 Fix syntax error.
18585
90d1e879
RM
185862009-12-29 Robert Millan <rmh.grub@aybabtu.com>
18587
18588 * configure.ac: Check for TARGET_CFLAGS initialization before we
18589 initialize it ourselves (sigh).
18590 Move a few modifications to TARGET_CFLAGS to be unconditional
18591 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
18592 eh_frame)
18593
18594 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
18595 * term/i386/pc/at_keyboard.c
18596 (keyboard_controller_wait_untill_ready): Likewise.
18597 (keyboard_controller_led): Rename `led_status' paramter to avoid
18598 name conflict.
18599
465b5a81 186002009-12-28 Carles Pina i Estany <carles@pina.cat>
18601
18602 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
18603 quotes.
18604
c181849b
VS
186052009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
18608
9c8739a4
VS
186092009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18610
18611 * normal/menu_text.c (grub_print_message_indented): Prevent
18612 past-the-end-of-array dereference.
18613
3e74249c
VS
186142009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18615
18616 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
18617 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
18618
64fd18ed 186192009-12-27 Carles Pina i Estany <carles@pina.cat>
18620
18621 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
18622 * normal/main.c (grub_normal_read_line): Remove a space from the
18623 default prompt.
18624
714af9b9 186252009-12-27 Carles Pina i Estany <carles@pina.cat>
18626
18627 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
18628 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18629 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18630 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18631 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18632 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18633 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18634
82f3e412 186352009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 18636
18637 * video/readers/jpeg.c (cmd): Declare.
18638 (grub_cmd_jpegtest): Use `grub_command_t' type.
18639 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18640 Assign to `cmd'.
18641 (GRUB_MOD_FINI): Use `cmd' to unregister.
18642 * video/readers/png.c (cmd): Declare.
18643 (grub_cmd_pngtest): Use `grub_command_t' type.
18644 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18645 Assign to `cmd'.
18646 (GRUB_MOD_FINI): Use `cmd' to unregister.
18647 * video/readers/tga.c (cmd): Declare.
18648 (grub_cmd_tgatest): Use `grub_command_t' type.
18649 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18650 Assign to `cmd'.
18651 (GRUB_MOD_FINI): Use `cmd' to unregister.
18652
82f3e412 186532009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 18654
18655 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
18656 stops.
18657 * kern/corecmd.c (grub_register_core_commands): Likewise.
18658 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
18659 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18660 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
18661 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18662 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18663 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
18664 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18665 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
18666 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18667 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18668 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18669 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18670 * normal/handler.c (insert_handler): Likewise.
18671 * normal/main.c (GRUB_MOD_INIT): Likewise.
18672 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18673
fdcdbb66 186742009-12-26 Carles Pina i Estany <carles@pina.cat>
18675
18676 * commands/help.c (grub_cmd_help): Print the command name before the
18677 summary.
18678 (GRUB_MOD_INIT): Remove command name from the summary.
18679 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 18680 string as summary.
fdcdbb66 18681 * lib/arg.c (find_long): Print the command name before the summary.
18682 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
18683 summary.
18684 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
18685 * commands/cat.c (GRUB_MOD_INIT): Likewise.
18686 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
18687 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18688 * commands/crc.c (GRUB_MOD_INIT): Likewise.
18689 * commands/date.c (GRUB_MOD_INIT): Likewise.
18690 * commands/echo.c (GRUB_MOD_INIT): Likewise.
18691 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
18692 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18693 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18694 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
18695 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
18696 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
18697 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
18698 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18699 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
18700 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
18701 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
18702 * commands/ls.c (GRUB_MOD_INIT): Likewise.
18703 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18704 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18705 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18706 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
18707 * commands/password.c (GRUB_MOD_INIT): Likewise.
18708 * commands/probe.c (GRUB_MOD_INIT): Likewise.
18709 * commands/read.c (GRUB_MOD_INIT): Likewise.
18710 * commands/search.c (GRUB_MOD_INIT): Likewise.
18711 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
18712 * commands/test.c (GRUB_MOD_INIT): Likewise.
18713 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
18714 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18715 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18716 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
18717 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18718 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18719 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18720 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18721 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18722 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18723 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18724 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18725 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18726 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18727
9c288be2
VS
187282009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18729
18730 Use search command for preliminar UUID search.
18731
18732 * commands/search.c: Split into ...
18733 * commands/search_wrap.c: ...this
18734 * commands/search.c: ...and this.
18735 * commands/search_file.c: New file.
18736 * commands/search_label.c: New file.
18737 * commands/search_uuid.c: New file.
18738 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18739 Add commands/search_wrap.c, commands/search_file.c,
18740 commands/search_label.c and commands/search_uuid.c.
18741 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18742 (search_mod_SOURCES): Set to commands/search_wrap.c.
18743 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18744 search_label.mod.
18745 (search_fs_file_mod_SOURCES): New variable.
18746 (search_fs_file_mod_CFLAGS): Likewise.
18747 (search_fs_file_mod_LDFLAGS): Likewise.
18748 (search_label_mod_SOURCES): Likewise.
18749 (search_label_mod_CFLAGS): Likewise.
18750 (search_label_mod_LDFLAGS): Likewise.
18751 (search_fs_uuid_mod_SOURCES): New variable.
18752 (search_fs_uuid_mod_CFLAGS): Likewise.
18753 (search_fs_uuid_mod_LDFLAGS): Likewise.
18754 (fs_file_mod_SOURCES): Removed.
18755 (fs_file_mod_CFLAGS): Likewise.
18756 (fs_file_mod_LDFLAGS): Likewise.
18757 (fs_uuid_mod_SOURCES): Removed.
18758 (fs_uuid_mod_CFLAGS): Likewise.
18759 (fs_uuid_mod_LDFLAGS): Likewise.
18760 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18761 Set to util/grub-install.in.
18762 * disk/fs_file.c: Removed.
18763 * disk/fs_uuid.c: Likewise.
18764 * include/grub/search.h: New file.
18765 * util/grub-install.in: Handle sparc64.
18766 Create and use load.cfg.
18767 * util/sparc64/ieee1275/grub-install.in: Removed.
18768
db943399
VS
187692009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18772 Ignore return status if CF is cleared.
18773 (grub_biosdisk_get_diskinfo_standard): Likewise.
18774
3fdae612
RM
187752009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18776
18777 * term/i386/pc/at_keyboard.c
18778 (keyboard_controller_wait_untill_ready): New function.
18779 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18780 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18781 for keyboard polling, rather than duplicate the same loop. This
18782 saves a few bytes in code size.
18783
7ebaa2b4
VS
187842009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 Support for (pxe[:server[:gateway]]) syntax and
18787 use environment variable for PXE.
18788
18789 * commands/i386/pc/pxecmd.c (options): Removed.
18790 (print_ip): Removed.
18791 (grub_cmd_pxe): Removed
18792 (grub_cmd_pxe_unload): New function.
18793 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18794 (grub_pxe_your_ip): Made static.
18795 (grub_pxe_default_server_ip): Likewise.
18796 (grub_pxe_default_gateway_ip): Likewise.
18797 (grub_pxe_blksize): Likewise.
18798 (parse_ip): New function.
18799 (grub_pxe_open): Support server and gateway specification.
18800 (grub_pxe_close): Free disk->data.
18801 (grub_pxefs_open): Use disk->data.
18802 (grub_pxefs_read): Likewise.
18803 (grub_env_write_readonly): New function.
18804 (set_mac_env): Likewise.
18805 (set_env_limn_ro): Likewise.
18806 (parse_dhcp_vendor): Likewise.
18807 (grub_pxe_detect): Set the environment variables.
18808 (set_ip_env): New function.
18809 (write_ip_env): Likewise.
18810 (grub_env_write_pxe_default_server): Likewise.
18811 (grub_env_write_pxe_default_gateway): Likewise.
18812 (grub_env_write_pxe_blocksize): Likewise.
18813 (GRUB_MOD_INIT(pxe)): Set environment variables.
18814 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18815 (grub_pxe_mac_addr_t): ... this. All users updated.
18816 (grub_pxe_your_ip): Removed.
18817 (grub_pxe_server_ip): Likewise.
18818 (grub_pxe_gateway_ip): Likewise.
18819 (grub_pxe_blksize): Likewise.
18820
ec5f98ab 188212009-12-25 Carles Pina i Estany <carles@pina.cat>
18822
18823 * commands/help.c: Include `<grub/i18n.h>'.
18824 (grub_cmd_help): Gettextizze.
18825 (GRUB_MOD_INIT): Likewise.
18826 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18827 (GRUB_MOD_INIT): Gettextizze.
18828 * commands/search.c: Include `<grub/i18n.h>'.
18829 (options): Gettextizze.
18830 (GRUB_MOD_INIT): Gettextizze.
18831 * lib/arg.c: Include `<grub/i18n.h>'.
18832 (help_options): Gettextizze.
18833 (find_long): Likewise.
18834 (grub_arg_show_help): Likewise.
18835 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18836 (read_command_list): Gettextizze.
18837 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 18838 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 18839
22815526
RM
188402009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18841
18842 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18843 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18844 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18845 (led_status): New variable.
18846 (keyboard_controller_led): New function.
18847 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18848 update led status for caps lock, num lock and scroll lock.
18849
0ad46fd7
FZ
188502009-12-25 Felix Zielcke <fzielcke@z-51.de>
18851
18852 * util/hostdisk.c (open_device): Fix a comment.
18853
d0e158c2
RM
188542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18855
18856 * util/grub-install.in (host_os): New variable.
18857 * util/i386/efi/grub-install.in (host_os): Likewise.
18858
401c0ad6
RM
188592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18860
18861 * util/mkisofs/write.c (padblock_write): Abort when given an
18862 excedingly large embed image, instead of silently truncating it.
18863
d14d3370
RM
188642009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18865
18866 * include/multiboot.h: Indentation fixes.
18867
eeed10b4
RM
188682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18869
18870 * include/multiboot.h (struct multiboot_aout_symbol_table)
18871 (struct multiboot_elf_section_header_table): New structure
18872 declarations (stolen from GRUB Legacy).
18873 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18874 table information.
18875
18876 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18877 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18878 type aliases.
18879
681c70ab
RM
188802009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18881
18882 * include/multiboot.h: Make comments src2texi-friendly.
18883
e4d47d8d
RM
188842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18885
18886 For consistency with [multiboot]/docs/boot.S.
18887
18888 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18889 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18890 (MULTIBOOT_MAGIC2): Rename from this ...
18891 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18892
a0b70bda
RM
188932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18894
18895 * include/multiboot.h: Remove `<grub/types.h>'.
18896 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18897 types. Update all users.
18898
61ba42be 188992009-12-25 Carles Pina i Estany <carles@pina.cat>
18900
18901 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18902 `couldn't' and `can not' by `cannot'.
18903 * commands/i386/pc/drivemap.c: Likewise.
18904 * disk/ata.c: Likewise.
18905 * disk/ieee1275/nand.c: Likewise.
18906 * fs/affs.c: Likewise.
18907 * fs/fat.c: Likewise.
18908 * fs/hfs.c: Likewise.
18909 * fs/hfsplus.c: Likewise.
18910 * fs/iso9660.c: Likewise.
18911 * fs/jfs.c: Likewise.
18912 * fs/minix.c: Likewise.
18913 * fs/reiserfs.c: Likewise.
18914 * fs/sfs.c: Likewise.
18915 * fs/udf.c: Likewise.
18916 * fs/ufs.c: Likewise.
18917 * fs/xfs.c: Likewise.
18918 * loader/powerpc/ieee1275/linux.c: Likewise.
18919 * loader/sparc64/ieee1275/linux.c: Likewise.
18920 * util/grub-probe.c: Likewise.
18921 * util/misc.c: Likewise.
18922
7fd0baee 189232009-12-24 Carles Pina i Estany <carles@pina.cat>
18924
18925 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18926 grub_errno calls.
18927 * commands/acpi.c: Likewise.
18928 * commands/blocklist.c: Likewise.
18929 * commands/efi/loadbios.c: Likewise.
18930 * commands/i386/pc/drivemap.c: Likewise.
18931 * commands/loadenv.c: Likewise.
18932 * commands/memrw.c: Likewise.
18933 * commands/password.c: Likewise.
18934 * commands/videotest.c: Likewise.
18935 * disk/ata.c: Likewise.
18936 * disk/ata_pthru.c: Likewise.
18937 * disk/dmraid_nvidia.c: Likewise.
18938 * disk/ieee1275/nand.c: Likewise.
18939 * disk/ieee1275/ofdisk.c: Likewise.
18940 * disk/loopback.c: Likewise.
18941 * disk/lvm.c: Likewise.
18942 * disk/mdraid_linux.c: Likewise.
18943 * disk/raid.c: Likewise.
18944 * disk/raid6_recover.c: Likewise.
18945 * disk/scsi.c: Likewise.
18946 * efiemu/main.c: Likewise.
18947 * efiemu/mm.c: Likewise.
18948 * efiemu/pnvram.c: Likewise.
18949 * efiemu/symbols.c: Likewise.
18950 * font/font.c: Likewise.
18951 * fs/cpio.c: Likewise.
18952 * fs/hfsplus.c: Likewise.
18953 * fs/iso9660.c: Likewise.
18954 * fs/jfs.c: Likewise.
18955 * fs/minix.c: Likewise.
18956 * fs/ntfs.c: Likewise.
18957 * fs/ntfscomp.c: Likewise.
18958 * fs/reiserfs.c: Likewise.
18959 * fs/ufs.c: Likewise.
18960 * fs/xfs.c: Likewise.
18961 * gettext/gettext.c: Likewise.
18962 * include/grub/auth.h: Likewise.
18963 * kern/elf.c: Likewise.
18964 * kern/file.c: Likewise.
18965 * kern/ieee1275/init.c: Likewise.
18966 * kern/ieee1275/mmap.c: Likewise.
18967 * kern/ieee1275/openfw.c: Likewise.
18968 * kern/powerpc/dl.c: Likewise.
18969 * kern/sparc64/dl.c: Likewise.
18970 * lib/arg.c: Likewise.
18971 * loader/i386/bsd.c: Likewise.
18972 * loader/i386/bsdXX.c: Likewise.
18973 * loader/i386/efi/linux.c: Likewise.
18974 * loader/i386/efi/xnu.c: Likewise.
18975 * loader/i386/ieee1275/linux.c: Likewise.
18976 * loader/i386/linux.c: Likewise.
18977 * loader/i386/multiboot.c: Likewise.
18978 * loader/i386/pc/linux.c: Likewise.
18979 * loader/i386/pc/multiboot2.c: Likewise.
18980 * loader/i386/xnu.c: Likewise.
18981 * loader/ieee1275/multiboot2.c: Likewise.
18982 * loader/macho.c: Likewise.
18983 * loader/machoXX.c: Likewise.
18984 * loader/multiboot2.c: Likewise.
18985 * loader/multiboot_loader.c: Likewise.
18986 * loader/powerpc/ieee1275/linux.c: Likewise.
18987 * loader/sparc64/ieee1275/linux.c: Likewise.
18988 * loader/xnu.c: Likewise.
18989 * loader/xnu_resume.c: Likewise.
18990 * mmap/i386/pc/mmap.c: Likewise.
18991 * normal/menu_viewer.c: Likewise.
18992 * partmap/acorn.c: Likewise.
18993 * partmap/amiga.c: Likewise.
18994 * partmap/apple.c: Likewise.
18995 * script/lexer.c: Likewise.
18996 * term/gfxterm.c: Likewise.
18997 * term/i386/pc/serial.c: Likewise.
18998 * term/i386/pc/vga.c: Likewise.
18999 * term/ieee1275/ofconsole.c: Likewise.
19000 * term/terminfo.c: Likewise.
19001 * video/bitmap.c: Likewise.
19002 * video/efi_gop.c: Likewise.
19003 * video/efi_uga.c: Likewise.
19004 * video/fb/video_fb.c: Likewise.
19005 * video/i386/pc/vbe.c: Likewise.
19006 * video/readers/tga.c: Likewise.
19007 * video/video.c: Likewise.
19008
0ad46fd7 190092009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
19010
19011 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
19012 * commands/lspci.c: Likewise.
19013 * commands/probe.c: Likewise.
19014 * commands/xnu_uuid.c: Likewise.
19015 * conf/i386-coreboot.rmk: Likewise.
19016 * conf/i386-efi.rmk: Likewise.
19017 * conf/i386-ieee1275.rmk: Likewise.
19018 * conf/i386-pc.rmk: Likewise.
19019 * conf/powerpc-ieee1275.rmk: Likewise.
19020 * conf/sparc64-ieee1275.rmk: Likewise.
19021 * conf/x86_64-efi.rmk: Likewise.
19022 * fs/i386/pc/pxe.c: Likewise.
19023 * gettext/gettext.c: Likewise.
19024 * include/grub/efi/graphics_output.h: Likewise.
19025 * include/grub/i386/pc/memory.h: Likewise.
19026 * kern/env.c: Likewise.
19027 * kern/i386/qemu/startup.S: Likewise.
19028 * lib/i386/pc/biosnum.c: Likewise.
19029 * lib/i386/relocator.c: Likewise.
19030 * lib/i386/relocator_asm.S: Likewise.
19031 * lib/relocator.c: Likewise.
19032 * loader/i386/bsd.c: Likewise.
19033 * loader/i386/multiboot.c: Likewise.
19034 * loader/i386/pc/chainloader.c: Likewise.
19035 * loader/i386/xnu.c: Likewise.
19036 * loader/xnu.c: Likewise.
19037 * normal/main.c: Likewise.
19038 * normal/menu_text.c: Likewise.
19039 * util/getroot.c: Likewise.
19040 * util/grub-mkconfig_lib.in: Likewise.
19041 * util/grub.d/00_header.in: Likewise.
19042 * util/i386/pc/grub-mkimage.c: Likewise.
19043 * util/mkisofs/eltorito.c: Likewise.
19044 * util/mkisofs/exclude.h: Likewise.
19045 * util/mkisofs/hash.c: Likewise.
19046 * util/mkisofs/iso9660.h: Likewise.
19047 * util/mkisofs/joliet.c: Likewise.
19048 * util/mkisofs/mkisofs.c: Likewise.
19049 * util/mkisofs/mkisofs.h: Likewise.
19050 * util/mkisofs/multi.c: Likewise.
19051 * util/mkisofs/name.c: Likewise.
19052 * util/mkisofs/rock.c: Likewise.
19053 * util/mkisofs/tree.c: Likewise.
19054 * util/mkisofs/write.c: Likewise.
19055 * video/efi_gop.c: Likewise.
19056
009ec743
VS
190572009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
19058
19059 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
19060 size counting.
19061
0ad46fd7 190622009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
19063
19064 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
19065 * genmk.rb (class SCRIPT): Modify the target file instead of source.
19066
d3d30ea0
VS
190672009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
19070 (GRUB_MOD_INIT(memrw)): Update help line.
19071
a34f5c70
VS
190722009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19073
19074 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
19075 Use grub_extcmd_t. All users updated.
19076 (options): New variable.
19077 (grub_cmd_read): Restructure for readability. Support "-v" option.
19078 (grub_cmd_write): Restructure for readability.
19079
0ad46fd7 190802009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
19081
19082 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
19083
0ad46fd7 190842009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
19085
19086 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
19087 with the actual contents of the correspondending make variable.
19088 * util/grub-mkrescue.in (pkglib_DATA): New variable.
19089 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
19090 specifying `*.lst' and `efiemu??.o'
19091
0ad46fd7 190922009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
19093
19094 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
19095 after function name.
19096 Noticed by Rene Engelhard <rene@debian.org>.
19097
dc77a799
VS
190982009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19099
19100 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
19101 (options): New variable.
19102 (iospace): Likewise.
19103 (grub_lspci_iter): List IO spaces if "-i" was given.
19104 (grub_cmd_lspci): Parse options.
19105 (GRUB_MOD_INIT(lspci)): Use extcmd.
19106 (GRUB_MOD_FINI(lspci)): Likewise.
19107
0ad46fd7 191082009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
19109
19110 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
19111 `function' keyword.
19112 Patch by Tony Mancill <tmancill@debian.org>.
19113
b5d5993b
VS
191142009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19115
19116 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
19117 (grub_uhci_portstatus): Likewise.
19118 (grub_uhci_portstatus): Add necessary delay.
11d18281 19119 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 19120
941903f2 191212009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 19122
941903f2 19123 * commands/acpi.c (options): Fix capitalizations and/or full stops.
19124 (GRUB_MOD_INIT): Likewise.
19125 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 19126 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
19127 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 19128 * commands/efi/loadbios.c (enable_rom_area): Likewise.
19129 (enable_rom_area): Likewise.
19130 (GRUB_MOD_INIT): Likewise.
19131 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
19132 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
19133 * commands/handler.c (GRUB_MOD_INIT): Likewise.
19134 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
19135 * commands/hexdump.c (options): Likewise.
19136 * commands/i386/cpuid.c (options): Likewise.
19137 (GRUB_MOD_INIT): Likewise.
19138 * commands/i386/pc/drivemap.c (options): Likewise.
19139 (GRUB_MOD_INIT): Likewise.
19140 * commands/i386/pc/halt (options): Likewise.
19141 (GRUB_MOD_INIT): Likewise.
19142 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
19143 * commands/i386/pc/pxecmd.c (options): Likewise.
19144 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
19145 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
19146 * commands/keystatus.c (options): Likewise.
19147 (GRUB_MOD_INIT): Likewise.
19148 * commands/loadenv.c (options): Likewise.
19149 * commands/ls.c (options): Likewise.
19150 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
19151 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
19152 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
19153 * commands/parttool.c (helpmsg): Likewise.
19154 * commands/probe.c (options): Likewise.
19155 * commands/read.c (GRUB_MOD_INIT): Likewise.
19156 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
19157 * commands/search.c (options): Likewise.
19158 * commands/sleep.c (options): Likewise.
19159 * commands/test.c (GRUB_MOD_INIT): Likewise.
19160 * commands/true.c (GRUB_MOD_INIT): Likewise.
19161 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
19162 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
19163 * lib/arg.c (help_options): Likewise.
e9bbb4e7 19164 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
19165 `$(XGETTEXT)'.
98a50553 19166 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 19167
0ad46fd7 191682009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 19169
ef3c2c3a 19170 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
19171 instead of specifying them explicit.
19172
7922f68b
RM
191732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19174
19175 * NEWS: Add grub-probe support for GNU/Hurd.
19176
537ce47f
RM
191772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19178
19179 * NEWS: gettext was added after 1.97.
19180
9b214e3a
RM
191812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19182
19183 * util/mkisofs/msdos_partition.h: New file (based on
19184 include/grub/msdos_partition.h).
19185 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
19186 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
19187 (ld_options, main): Recognize --protective-msdos-label.
19188 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
19189 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
19190 (padblock_write): If `use_protective_msdos_label' is set, patch a
19191 protective DOS-style label in the output image.
19192
19193 * util/grub-mkrescue.in: Use --protective-msdos-label.
19194
e9309813
RM
191952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19196
19197 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
19198 boot.
19199
0ae56929
RM
192002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19201
19202 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
19203 variables.
19204 (ld_options, main): Recognize `--embedded-boot'.
19205 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
19206 declarations.
19207 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
19208 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
19209 (padblock_write): Likewise. Rewrite to support embedded boot image.
19210
19211 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
19212 for BIOS-based disk boot instead of only ElTorito.
19213
b15937b1
RM
192142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19215
19216 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
19217 build (not needed for bootstrap).
19218
52cc3ce0
RM
192192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19220
19221 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
19222 from i386-pc build (not needed for bootstrap).
19223 Rewrite a pair of strings.
19224
36f5ff04
RM
192252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
19226
19227 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
19228
973c6c85 192292009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
19230
19231 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
19232
05d21547
AB
192332009-12-21 Andreas Born <futur.andy@googlemail.com>
19234
19235 * kern/env.c (grub_env_context_open): Mark exported variable for
19236 reexport.
19237
0175d51f
AB
192382009-12-21 Andreas Born <futur.andy@googlemail.com>
19239
19240 * kern/env.c (grub_env_export): Create nonexistent variables before
19241 exporting.
19242
7f39d92f 192432009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 19244
7f39d92f 19245 * include/grub/auth.h: Include `<grub/i18n.h>'.
19246 (GRUB_GET_PASSWORD): Gettextizze string.
19247 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
19248 menu_text.c.
19249 (grub_utf8_to_ucs4_alloc): Fix indentation.
19250 (grub_print_ucs4): Likewise.
19251 (grub_getstringwidth): Likewise.
19252 (print_message_indented): New declaration.
19253 * normal/auth.c: Include `<grub/i18n.h>'.
19254 (grub_auth_check_authentication): Gettexttize string.
19255 * normal/cmdline.c: Include `<grub/i18n.h>'.
19256 (grub_cmdline_get): Gettextizze.
19257 * normal/color.c: Include `<grub/i18n.h>'.
19258 (grub_parse_color_name_pair): Gettexttize strings.
19259 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
19260 string (use `print_message_indented').
19261 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
19262 `include/grub/normal.h'.
19263 (print_message_indented): Renamed to ...
19264 (grub_print_message_indented): ... this. Remove `static' qualifer (now
19265 used in normal/main.c).
19266 (print_message): Use `grub_print_message_indented' instead of
19267 `print_message_indented'.
19268 (print_timeout): Likewise.
19269 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
19270 (grub_normal_print_device_info): Gettexttize strings.
19271 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
19272
3041d898
VS
192732009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19274
19275 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
19276 of arguments. Return number of tokens and not arguments. All users
19277 updated.
19278
de15bf8e
VS
192792009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19280
19281 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
19282 non-MSDOS paritions.
19283
e0a6ca52
VS
192842009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19285
19286 * include/grub/types.h (UNUSED): Removed since it conflicts with
19287 NetBSD headers. All users changed to direct __attribute__ ((unused)).
19288 Reported by Grégoire Sutre.
19289
b99518d1 192902009-12-19 Carles Pina i Estany <carles@pina.cat>
19291
19292 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
19293 (grub_print_ucs4_alloc): Likewise.
19294 (grub_getstringwidth): Likewise.
19295 * normal/main.c (grub_normal_init_page): Gettextize version string.
19296 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
19297 (getstringwidth): Renamed to ...
19298 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
19299 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
19300 (grub_print_ucs4): Remove `static' qualifer (now used in
19301 normal/main.c).
19302 * po/POTFILES: Add normal/main.c.
19303
bfd5e52b 193042009-12-19 Carles Pina i Estany <carles@pina.cat>
19305
19306 * normal/menu_text.c (STANDARD_MARGIN): New macro.
19307 (print_message_indented): Add `margin_left' and `margin_right'
19308 parameters.
19309 (print_message): Update `print_message_indented' calls. Adds '\n' to the
19310 strings.
19311 (print_timeout): Use `print_message_indented' to print the message.
19312 Deletes `second_stage' parameter.
19313 (run_menu): Update `print_timeout' calls.
19314
5a1ad2b9
VS
193152009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19316
19317 Fix console palette on OpenFirmware.
19318
19319 * term/ieee1275/ofconsole.c (MAX): Removed.
19320 (colors): Redone based on VGA palette.
19321 (grub_ofconsole_setcolor): Discard brightness bit since only 8
19322 colors are supported.
19323 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
19324
b045f00a
VS
193252009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19326
19327 Fix potential EfiEmu double prepare.
19328
19329 * efiemu/main.c (prepared): New variable
19330 (grub_efiemu_unload): Set prepare to '0'.
19331 (grub_efiemu_prepare): Return if already prepared. Set prepared.
19332
19333 set_virtual_address_map support.
19334
19335 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
19336 prototype.
19337 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
19338 prototype.
19339 (grub_efiemu_crc32): Likewise.
19340 (grub_efiemu_crc64): Likewise.
19341 (grub_efiemu_set_virtual_address_map): Likewise.
19342 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
19343 New definition.
19344 (grub_autoefi_set_virtual_address_map): Likewise.
19345 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
19346 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
19347 Restructure flow to accomodate it.
19348 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
19349 (grub_efiemu_crc): Recompute CRC32.
19350 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
19351 (efiemu_ptv_relocated): ... this. Made global. All users updated.
19352 * efiemu/symbols.c (relocated_handle): New variable.
19353 (grub_efiemu_free_syms): Free relocated_handle.
19354 (grub_efiemu_alloc_syms): Allocate relocated_handle.
19355 (grub_efiemu_write_sym_markers): New function.
19356 (grub_efiemu_set_virtual_address_map): Likewise.
19357
19358 Newer XNU parameters.
19359
19360 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
19361 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
19362 (grub_xnu_fill_devicetree): New prototype.
19363 (grub_xnu_heap_real_start): New variable.
19364 * loader/xnu.c (get_name_ptr): New function.
19365 (grub_xnu_load_driver): Fill namelen and name.
19366
19367 64-bit xnu support.
19368
19369 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
19370 and 'loader/macho64.c'.
19371 * conf/i386-pc.rmk: Likewise.
19372 * conf/x86_64-efi.rmk: Likewise.
19373 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
19374 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
19375 * include/grub/macho.h (grub_macho_segment64): New structure.
19376 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
19377 (grub_macho_size32): ... to this.
19378 (grub_macho32_get_entry_point): Renamed from ...
19379 (grub_macho_get_entry_point32): ... to this.
19380 (grub_macho_contains_macho64): New prototype.
19381 (grub_macho_size64): Likewise.
19382 (grub_macho_get_entry_point64): Likewise.
19383 (grub_macho32_load): Renamed from ...
19384 (grub_macho_load32): ... to this.
19385 (grub_macho32_filesize): Renamed from ...
19386 (grub_macho_filesize32): ... to this.
19387 (grub_macho32_readfile): Renamed from ...
19388 (grub_macho_readfile32): ... to this.
19389 (grub_macho_filesize64): New prototype.
19390 (grub_macho_readfile64): Likewise.
19391 (grub_macho_parse32): Likewise.
19392 (grub_macho_parse64): Likewise.
19393 * loader/macho.c: Split into ...
19394 * loader/machoXX.c: ... and this. Replace 32 with XX.
19395 * loader/macho32.c: New file.
19396 * loader/macho64.c: Likewise.
19397 * loader/xnu.c (grub_xnu_is_64bit): New variable.
19398 (grub_cmd_xnu_kernel): Make 32-bit only.
19399 (grub_cmd_xnu_kernel64): New function.
19400 (grub_xnu_load_driver): Support Mach-O 64.
19401 (grub_cmd_xnu_mkext): Likewise.
19402 * util/grub.d/30_os-prober.in (osx_entry): New function.
19403 Generate entries for 64-bit boot too.
19404
19405 Eliminate ad-hoc tree format in XNU and EfiEmu.
19406
19407 * efiemu/main.c (grub_efiemu_prepare): Update comment.
19408 * efiemu/pnvram.c: Rewritten to use environment variables.
19409 All users updated.
19410
19411 Inline utf16_to_utf8.
19412
19413 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
19414 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
19415 All users updated.
19416 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
19417
19418 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
19419 * commands/usbtest.c (grub_usb_get_string): ... move here.
19420 (usb_print_str): Fix error handling.
19421 * include/grub/usb.h (grub_usb_get_string): Remove.
19422
19423 UTF-8 to UTF-16 transformation.
19424
19425 * conf/common.rmk (pkglib_MODULES): Add charset.mod
19426 (charset_mod_SOURCES): New variable.
19427 (charset_mod_CFLAGS): Likewise.
19428 (charset_mod_LDFLAGS): Likewise.
19429 * include/grub/utf.h: New file.
19430 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
19431
19432 Support for device properties.
19433
19434 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
19435 (grub_xnu_devprop_device_header): Likewise.
19436 (grub_xnu_devprop_device_descriptor): Likewise.
19437 (grub_xnu_devprop_add_device): New prototype.
19438 (grub_xnu_devprop_remove_device): Likewise.
19439 (grub_xnu_devprop_remove_property): Likewise.
19440 (grub_xnu_devprop_add_property_utf8): Likewise.
19441 (grub_xnu_devprop_add_property_utf16): Likewise.
19442 (grub_cpu_xnu_init): Likewise.
19443 (grub_cpu_xnu_fini): Likewise.
19444 (grub_cpu_xnu_unload): Likewise.
19445 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
19446 (property_descriptor): Likewise.
19447 (devices): New variable.
19448 (grub_xnu_devprop_remove_property): New function.
19449 (grub_xnu_devprop_add_device): Likewise.
19450 (grub_xnu_devprop_remove_device): Likewise.
19451 (grub_xnu_devprop_add_property): Likewise.
19452 (grub_xnu_devprop_add_property_utf8): Likewise.
19453 (grub_xnu_devprop_add_property_utf16): Likewise.
19454 (hextoval): Likewise.
19455 (grub_cpu_xnu_fill_devprop): Likewise.
19456 (grub_cmd_devprop_load): Likewise.
19457 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
19458 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
19459 (cmd_devprop_load): New variable.
19460 (grub_cpu_xnu_init): New function.
19461 (grub_cpu_xnu_fini): Likewise.
19462 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
19463 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
19464 (grub_cmd_xnu_devtree): Likewise.
19465 (hextoval): New function.
19466 (unescape): Likewise.
19467 (grub_xnu_fill_devicetree): Likewise.
19468
19469 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
19470 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
19471
0945f181
VS
194722009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19473
19474 Workaround for broken ATI VBE.
19475
19476 * video/i386/pc/vbe.c (last_set_mode): New variable.
19477 (grub_vbe_set_video_mode): Set 'last_set_mode'.
19478 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
19479 (grub_video_vbe_setup): Don't check for reserved flag.
19480
0ad46fd7 194812009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
19482
19483 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
19484 the `find' command.
19485
c179ebe4
VS
194862009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
19487
19488 UUID support for HFS.
19489
19490 * fs/hfs.c (grub_hfs_uuid): New function.
19491 (grub_hfs_fs): New value .uuid.
19492 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
19493
0ad46fd7 194942009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
19495
19496 Fix a segfault with parsing unknown long options.
19497
19498 * util/grub-mkrelpath.c (options): Zero terminate it.
19499
c4a3e41a
CPE
195002009-12-13 Carles Pina i Estany <carles@pina.cat>
19501
19502 * include/grub/misc.h (grub_puts): New declaration.
19503 (grub_puts_): Likewise.
a22008a6 19504 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
19505 (grub_puts_): Likewise.
19506
2e8a7602
RM
195072009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19508
19509 * util/grub-probe.c (probe): Improve error message.
19510
b50b77b9
RM
195112009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19512
19513 * loader/i386/multiboot_elfxx.c
19514 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
19515 initialization.
19516
195172009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19518
19519 Relocator framework
19520
19521 * loader/i386/xnu_helper.S: Removed. All users updated.
19522 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
19523 (relocator_mod_SOURCES): New variable.
19524 (relocator_mod_CFLAGS): Likewise.
19525 (relocator_mod_LDFLAGS): Likewise.
19526 (relocator_mod_ASFLAGS): Likewise.
19527 * conf/x86_64.rmk: Likewise.
19528 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
19529 (grub_multiboot_payload_entry_offset): Likewise.
19530 (grub_multiboot_forward_relocator): Likewise.
19531 (grub_multiboot_forward_relocator_end): Likewise.
19532 (grub_multiboot_backward_relocator): Likewise.
19533 (grub_multiboot_backward_relocator_end): Likewise.
19534 (grub_multiboot_payload_eip): New variable.
19535 (grub_multiboot_payload_orig): Likewise.
19536 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
19537 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
19538 * include/grub/i386/memory.h
19539 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
19540 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
19541 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
19542 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
19543 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
19544 * include/grub/i386/relocator.h: New file.
19545 * include/grub/x86_64/relocator.h: Likewise.
19546 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
19547 (XNU_RELOCATOR): New macro.
19548 (grub_xnu_launcher_start): Remove.
19549 (grub_xnu_launcher_end): Likewise.
19550 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
19551 (grub_xnu_heap_real_start): Remove.
19552 (grub_xnu_heap_start): Change to void *. All users updated.
19553 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
19554 * lib/i386/relocator.c: New file.
19555 * lib/i386/relocator_asm.S: Likewise.
19556 * lib/i386/relocator_backward.S: Likewise.
19557 * lib/mips/relocator.c: Likewise.
19558 * lib/mips/relocator_asm.S: Likewise.
19559 * lib/relocator.c: Likewise.
19560 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
19561 (entry): Removed.
19562 (playground): Likewise.
19563 (grub_multiboot_payload_orig): New variable.
19564 (grub_multiboot_payload_dest): Likewise.
19565 (grub_multiboot_payload_size): Likewise.
19566 (grub_multiboot_payload_eip): Likewise.
19567 (grub_multiboot_payload_esp): Likewise.
19568 (grub_multiboot_boot): Use grub_relocator32_boot.
19569 (grub_multiboot_unload): Free relocators.
19570 (grub_multiboot): Setup stack. Use relocators.
19571 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
19572 (grub_multiboot_load_elfXX): Use relocators.
19573 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
19574 (grub_multiboot_payload_size): Likewise.
19575 (grub_multiboot_payload_dest): Likewise.
19576 (grub_multiboot_payload_entry_offset): Likewise.
19577 (grub_multiboot_forward_relocator): Likewise.
19578 (grub_multiboot_backward_relocator): Likewise.
19579 (grub_multiboot_real_boot): Likewise.
19580 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
19581 (grub_xnu_entry_point): Likewise.
19582 (grub_xnu_arg1): Likewise.
19583 (grub_xnu_stack): Likewise.
19584 (grub_xnu_launch): Removed.
19585 (grub_xnu_boot_resume): New function.
19586 (grub_xnu_boot): Use relocators.
19587 * loader/i386/xnu_helper.S: Removed.
19588 * loader/xnu.c (grub_xnu_heap_start): New variable.
19589 (grub_xnu_heap_size): Likewise.
19590 (grub_xnu_heap_malloc): Use relocators.
19591 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
19592
29eb90c6
VS
195932009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19594
19595 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
19596 anything.
19597
31027430
CPE
195982009-12-13 Carles Pina i Estany <carles@pina.cat>
19599
19600 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
19601 GRUB_ERR_NONE before calling grub_env_set.
19602
dc0c71d9
RM
196032009-12-12 Robert Millan <rmh@aybabtu.com>
19604
19605 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
19606 * genmk.rb (video): New variable.
19607 (CLEANFILES, VIDEOFILES): Add #{video}.
19608 (#{video}): New target rule.
19609 * genvideolist.sh: New file.
19610 * Makefile.in (pkglib_DATA): Add video.lst.
19611 (video.lst): New target rule.
19612 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
19613 `video.lst'.
19614 * util/grub.d/30_os-prober.in: Replace `vbe' with
19615 ${GRUB_VIDEO_BACKEND}.
19616
2a4bfcf0
RM
196172009-12-11 Robert Millan <rmh.grub@aybabtu.com>
19618
19619 * THANKS: Add David Miller.
19620
2a3aa4d5
RM
196212009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 libpciaccess support.
19624
19625 * Makefile.in (LIBPCIACCESS): New variable.
19626 (enable_grub_emu_pci): Likewise.
19627 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
19628 util/pci.c and commands/lspci.c.
19629 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
19630 * configure.ac (grub-emu-pci): New option.
19631 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
19632 (grub_pci_device_unmap_range): Likewise.
19633 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
19634 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
19635 (grub_pci_address_t) [!GRUB_UTIL]: New type.
19636 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
19637 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
19638 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
19639 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
19640 * include/grub/pciutils.h: New file.
19641 * util/pci.c: Likewise.
19642
0ad46fd7 196432009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
19644
19645 * util/misc.c: Don't include <errno.h> twice.
19646
0ad46fd7 196472009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
19648
19649 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
19650 name in an error message.
19651 (grub_biosdisk_rw): Likewise.
19652
2e59983c
VS
196532009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19654
19655 Eliminate NTFS 4Gib barrier.
19656
19657 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
19658 (read_run_data): Likewise.
19659 (grub_ntfs_read_run_list): Likewise.
19660 (grub_ntfs_read_block): Likewise.
19661 (grub_ntfs_iterate_dir): Likewise.
19662 (read_mft): Likewise.
19663 (read_data): Likewise.
19664 Use COM_LOG_LEN.
19665 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
19666 to avoid 64-bit division
19667 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
19668 (grub_ntfs_rlst): Use grub_disk_addr_t.
19669
71ee178a
VS
196702009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19671
19672 Eliminate grub-fstest 4Gib barrier.
19673
19674 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
19675 (read_file): Fix error reporting.
19676
2520d4b8
VS
196772009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19678
19679 Eliminate hexdump 4Gib barrier.
19680
19681 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
19682 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
19683
e1f27065
VS
196842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19685
19686 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
19687 Fixes amarsh bug.
19688
1a0f7f45
RM
196892009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
19690
19691 Remove miscellaneous files in distclean target.
19692
19693 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
19694
c631d9fb
CW
196952009-12-09 Colin Watson <cjwatson@ubuntu.com>
19696
19697 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
19698 if they're already set. This resolves the conflict between my
19699 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
19700 fixing the --grub-probe option again.
19701 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
19702 change on 2009-10-06, so that we now once again source
19703 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19704
7c7b6106
RM
197052009-12-08 Robert Millan <rmh.grub@aybabtu.com>
19706
19707 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
19708 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
19709 `util/devicemap.c'.
19710
e3069ec1
CPE
197112009-12-08 Carles Pina i Estany <carles@pina.cat>
19712
19713 * include/grub/misc.h (grub_printf_): New declaration.
19714 * kern/misc.c (grub_printf_): New definition.
19715 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
19716 instead of `grub_printf' and `_'.
19717 * normal/menu_entry.c (store_completion): Likewise.
19718 (run): Likewise.
19719 (grub_menu_entry_run): Likewise.
19720 * normal/menu_text.c (grub_wait_after_message): Likewise.
19721 (notify_booting): Likewise.
19722 (notify_fallback): Likewise.
19723 (notify_execution_failure): Likewise.
19724
d6ceebf1
CW
197252009-12-07 Colin Watson <cjwatson@ubuntu.com>
19726
19727 * configure.ac: Check for vasprintf.
19728 * util/misc.c (asprintf): Move allocation from here ...
19729 (vasprintf): ... to here. New function.
19730 (xasprintf): New function.
19731 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19732 prototypes.
19733 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19734 * util/grub-mkfont.c (write_font): Likewise.
19735 * util/grub-probe.c (probe): Likewise.
19736 * util/hostdisk.c (make_device_name): Likewise.
19737
de6daa8b
DM
197382009-12-06 David S. Miller <davem@sunset.davemloft.net>
19739
19740 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19741 anything even prefixed with 'cdrom' as a cdrom.
19742
0ad46fd7 197432009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
19744
19745 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19746 mount points.
19747
98d3dc02
CPE
197482009-12-05 Carles Pina i Estany <carles@pina.cat>
19749
19750 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19751 grub_gettext_msg_list.
19752 (grub_gettext_gettranslation_from_position): Return const char *
19753 and not char *.
a2c1332b 19754 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
19755 returns from the list if existing there.
19756 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19757 (grub_gettext_delete_list): Delete the list.
19758 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19759 lang environment variable is changed.
19760 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19761
b283f108
VS
197622009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19763
19764 Rename kernel.mod to kernel.img.
19765
19766 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19767 (kernel_mod_EXPORTS): Rename to ...
19768 (kernel_img_EXPORTS): ... this.
19769 (kernel_mod_SOURCES): Rename to ...
19770 (kernel_img_SOURCES): ... this.
19771 (kernel_mod_HEADERS): Rename to ...
19772 (kernel_img_HEADERS): ... this. All users updated.
19773 (kernel_mod_CFLAGS): Rename to ...
19774 (kernel_img_CFLAGS): ... this.
19775 (kernel_mod_ASFLAGS): Rename to ...
19776 (kernel_img_ASFLAGS): ... this.
19777 (kernel_mod_LDFLAGS): Rename to ...
19778 (kernel_img_LDFLAGS): ... this.
19779 * conf/x86_64-efi.rmk: Likewise.
19780 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19781 (read_kernel_image): ... this. All users updated.
19782 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19783
69055f8a
CPE
197842009-12-05 Carles Pina i Estany <carles@pina.cat>
19785
19786 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19787 (print_spaces): New function.
19788 (grub_print_ucs4): New function.
19789 (getstringwidth): New function.
19790 (print_message_indented): New function.
19791 (print_message): Gettexttize strings using print_message_indented.
19792 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19793 width.
19794 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 19795 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
19796 Gettextize.
19797 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19798 string.
19799 (run): Likewise.
19800 (grub_menu_entry_run): Likewise.
19801 * PO/POTFILES: Add normal/menu_entry.c.
19802
f616f51c
VS
198032009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19804
19805 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19806
57bbe3be
CPE
198072009-12-05 Carles Pina i Estany <carles@pina.cat>
19808
19809 * util/grub-install.in: Install gettext .mo files.
19810 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19811
013d67a1
CPE
198122009-12-05 Carles Pina i Estany <carles@pina.cat>
19813
19814 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19815 grub_dprintf.
19816
fb954db0
RM
198172009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19818
19819 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19820 non-firmware-dependant one in realmode.S takes precedence.
19821
6b8474f8
RM
198222009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19823
19824 * commands/halt.c: Replace misc arch-specific headers with
19825 `<grub/misc.h>'.
19826 * commands/reboot.c: Likewise.
19827 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19828 `<grub/misc.h>'.
19829 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19830 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19831 (kernel_img_SOURCES): ... to here.
19832
19833 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19834 * include/grub/i386/pc/init.h: Likewise.
19835 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19836 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19837
19838 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19839
19840 * include/grub/i386/halt.h: Remove.
19841 * include/grub/i386/reboot.h: Likewise.
19842
19843 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19844
4b2e6ca2
DM
198452009-12-03 David S. Miller <davem@sunset.davemloft.net>
19846
19847 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19848 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19849 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19850 "progname.h"
19851 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19852 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19853 (usage): Add missing comma in printf.
19854
5239348f
RM
198552009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19856
19857 Use the same reboot approach on i386 coreboot and qemu as we do on
19858 BIOS.
19859
19860 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19861 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19862 * kern/i386/reboot.c: Remove.
19863 * include/grub/i386/reboot.h (grub_reboot): Export function.
19864 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19865 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19866 0xf000:0xfff0 instead of 0xffff:0x0000.
19867 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19868 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19869
ef34cbd4
RM
198702009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19871
19872 Fix $srcdir != $objdir build.
19873
19874 * Makefile.in (po/%.po): Rewrite as ...
19875 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19876
dc9837ea
ST
198772009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19878
19879 Fix GNU/Hurd grub-install crash.
19880 * util/grub-probe.c (probe): Try to access `path' only when it is not
19881 NULL.
19882
2f857f98
VS
198832009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19884
19885 Correct module naming.
19886
19887 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19888 (GRUB_MOD_INIT(efi_uga)): ... to this
19889 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19890 (GRUB_MOD_FINI(efi_uga)): ... to this
19891 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19892 (GRUB_MOD_INIT(efi_gop)): ... to this
19893 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19894 (GRUB_MOD_FINI(efi_gop)): ... to this
19895
c5448046
RM
198962009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19897
19898 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19899 translatable.
19900 (usage): Translate `arg' strings using gettext().
19901 Thanks to Jordi Mallach for the suggestion.
19902
c85184ad
VS
199032009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 GOP support. Based on patch from Bean
19906 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19907
19908 * video/efi_gop.c: New file.
19909 * include/grub/efi/graphics_output.h: Likewise.
19910 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19911 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19912 variables.
19913 * conf/x86_64-efi.rmk: Likewise.
19914
8a4c48d8
VS
199152009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19916
19917 Rename efi_fb to efi_uga.
19918
19919 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19920 'efi_uga.mod'.
19921 (efi_fb_mod_SOURCES): Rename this ...
19922 (efi_uga_mod_SOURCES): ... to this.
19923 (efi_fb_mod_CFLAGS): Rename this ...
19924 (efi_uga_mod_CFLAGS): ... to this.
19925 (efi_fb_mod_LDFLAGS): Rename this ...
19926 (efi_uga_mod_LDFLAGS): ... to this.
19927 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19928 'efi_uga.mod'.
19929 (efi_fb_mod_SOURCES): Rename this ...
19930 (efi_uga_mod_SOURCES): ... to this.
19931 (efi_fb_mod_CFLAGS): Rename this ...
19932 (efi_uga_mod_CFLAGS): ... to this.
19933 (efi_fb_mod_LDFLAGS): Rename this ...
19934 (efi_uga_mod_LDFLAGS): ... to this.
19935 * video/efi_fb.c: Move this ...
19936 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19937
fb6c1a7b
RM
199382009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19939
19940 * po/README: New file. Explain our PO file workflow.
19941
3bc7896c
RM
199422009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19943
19944 * po/ChangeLog: Remove. Move relevant entries back to ...
19945 * ChangeLog: ... here.
19946 * po/ca.po: Remove (now handled by TLP).
19947 * po/id.po: Likewise.
19948 * po/zh_CN.po: Likewise.
19949 * Makefile.in (LINGUAS): Initialize in a way that supports
19950 empty set.
19951
9ed4841d
RM
199522009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19953
19954 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19955 reliing on po/LINGUAS.
19956 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19957 (po/%.po): ... this.
19958
0ad46fd7 199592009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
19960
19961 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19962 (main): Use `program_name' instead of nonexistent `progname'.
19963
e30dd392
FZ
199642009-11-26 Felix Zielcke <fzielcke@z-51.de>
19965
19966 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19967 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19968
7656de4f
RM
199692009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19970
19971 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19972 commit.
19973 * conf/i386-efi.rmk: Likewise.
19974 * conf/i386-ieee1275.rmk: Likewise.
19975 * conf/powerpc-ieee1275.rmk: Likewise.
19976 * conf/sparc64-ieee1275.rmk: Likewise.
19977 * conf/x86_64-efi.rmk: Likewise.
19978
db77c4d4
FZ
199792009-11-26 Felix Zielcke <fzielcke@z-51.de>
19980
19981 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19982
a755bb04
FZ
199832009-11-26 Felix Zielcke <fzielcke@z-51.de>
19984
19985 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19986
8a4c07fd
RM
199872009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19988
19989 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19990 (grub_mkdevicemap_SOURCES): New variable.
19991 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19992 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19993 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19994 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19995 (grub_mkdevicemap_SOURCES): Remove.
19996 * conf/i386-efi.rmk: Likewise.
19997 * conf/i386-ieee1275.rmk: Likewise.
19998 * conf/i386-pc.rmk: Likewise.
19999 * conf/powerpc-ieee1275.rmk: Likewise.
20000 * conf/sparc64-ieee1275.rmk: Likewise.
20001 * conf/x86_64-efi.rmk: Likewise.
20002 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
20003 (usage): Fix strings to use `program_name'.
20004 (main): Initialize gettext.
20005 * util/grub-editenv.c: Likewise.
20006 * util/grub-emu.c: Likewise.
20007 * util/grub-fstest.c: Likewise.
20008 * util/grub-mkdevicemap.c: Likewise.
20009 * util/grub-mkfont.c: Likewise.
20010 * util/grub-mkrelpath.c: Likewise.
20011 * util/grub-pe2elf.c: Likewise.
20012 * util/grub-probe.c: Likewise.
20013 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20014 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20015 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20016
20017 * util/misc.c: Include `"progname.h"'.
20018 (progname): Remove variable.
20019 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
20020
6f61ed55
FZ
200212009-11-25 Felix Zielcke <fzielcke@z-51.de>
20022
20023 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
20024 printf and print a newline after the menuentry header line.
20025 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20026
f022876b
FZ
200272009-11-25 Felix Zielcke <fzielcke@z-51.de>
20028
20029 autoconf >= 2.60 support $(localedir).
20030
20031 * INSTALL: Note that autoconf 2.60 is required.
20032 * configure.ac (AC_PREREQ): Bump to 2.60.
20033 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
20034 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20035
6717926e
YB
200362009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
20037
20038 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
20039 aclocal is run.
20040
08806a54
RM
200412009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20042
20043 * normal/main.c (grub_normal_read_line): Fix off-by-one
20044 buffer overflow.
20045
13b33fba
RM
200462009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20047
20048 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
20049 "parser.grub" in grub_command_execute() call.
20050
4a8572e9
CPE
200512009-11-24 Carles Pina i Estany <carles@pina.cat>
20052
20053 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
20054 * conf/i386-efi.rmk: Likewise.
20055 * conf/i386-ieee1275.rmk: Likewise.
20056 * conf/i386-pc.rmk: Likewise.
20057 * conf/powerpc-ieee1275.rmk: Likewise.
20058 * conf/sparc64-ieee1275.rmk: Likewise.
20059 * conf/x86_64-efi.rmk: Likewise.
20060 * gettext/gettex.c: Include <grub/i18n.h>.
20061 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
20062 here ...
20063 * include/grub/i18n.h: ... to here
20064 * include/grub/i18n.h: ... to here.
20065 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 20066 (grub_gettext_dummy): Move above user.
4a8572e9 20067
bee48093
FZ
200682009-11-24 Felix Zielcke <fzielcke@z-51.de>
20069
20070 * util/Makefile.in (install-local): Convert a `for' into a normal
20071 shell expansion.
20072
a031e91c
RM
200732009-11-24 Robert Millan <rmh.grub@aybabtu.com>
20074
20075 * autogen.sh: Add automake call.
20076 * config.guess: Remove.
20077 * config.sub: Likewise.
20078 * install-sh: Likewise.
20079
26bec39d
FZ
200802009-11-24 Felix Zielcke <fzielcke@z-51.de>
20081
20082 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
20083
8e2532fd
FZ
200842009-11-24 Felix Zielcke <fzielcke@z-51.de>
20085
20086 * util/Makefile.in (install-local): Convert a make `$(foreach)'
20087 function to a normal shell `for'.
20088
fefa1b7d
FZ
200892009-11-24 Felix Zielcke <fzielcke@z-51.de>
20090
20091 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20092
4501250b
FZ
200932009-11-24 Felix Zielcke <fzielcke@z-51.de>
20094
20095 * util/grub-mkrelpath.c: New file.
20096 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
20097 (grub_mkrelpath_SOURCES): New variable.
20098 * include/grub/util/misc.h: New function prototype.
20099 * util/misc.c (make_system_path_relative_to_its_root): New function.
20100
20101 * util/grub-mkconfig_lib.in (bindir): New variable.
20102 (grub_mkrelpath): Likewise.
20103 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
20104
20105 * util/probe.c (probe): Make the file path relative to its root.
20106 Change a info message to use the GRUB path. Enable again the
20107 check if we can read the file with GRUB facilities.
20108
20109 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
20110 to its root.
20111
11d9778b
FZ
201122009-11-24 Felix Zielcke <fzielcke@z-51.de>
20113
20114 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
20115 platform.
20116
4465287d
FZ
201172009-11-24 Felix Zielcke <fzielcke@z-51.de>
20118
20119 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
20120 strncmp().
20121
62b47f22
FZ
201222009-11-24 Felix Zielcke <fzielcke@z-51.de>
20123
20124 * util/getroot.c (grub_util_is_dmraid): New function.
20125 (grub_util_get_dev_abstraction): Treat dmraid and multipath
20126 devices as normal ones, not as LVM.
20127
1eafb9b9 201282009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
20129
20130 * conf/common.rmk: Add grub-gettext_lib target and updates
20131 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
20132 LDFLAGS.
20133 * gettext/gettext.c: New file. (Reads mo files).
20134 * include/grub/file.h (grub_file_pread): New prototype.
20135 * include/grub/i18n.h (_): New prototype.
20136 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
20137 prototypes.
20138 * kern/misc.c (grub_gettext_dummy): New function.
20139 * normal/menu_text.c: Include <grub/i18n.h>.
20140 * normal/menu_text.c (print_timeout): Gettexttize string.
20141 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
20142 * po/POTFILES: Add `normal/menu_text.c'.
20143 * po/ca.po: Add new translations.
c3ea6bd4
CPE
20144 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
20145 gettext module and defines locale_dir and lang in grub.cfg.
20146 * NEWS: Add gettext support.
20147
0fdb2568
RM
201482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20149
20150 * util/hostdisk.c: Include `<grub/i18n.h>'.
20151 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
20152 (make_device_name): Rewrite using asprintf.
20153 (convert_system_partition_to_system_disk): Replace 0 with NULL.
20154 (find_system_device): If a device is not found, generate one just
20155 by reusing the OS path name.
20156 (read_device_map): Make it permissible for device.map not to exist.
20157
f515aa62
RM
201582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20159
20160 * script/sh/execute.c: Move from here ...
20161 * script/execute.c: ... to here. Update all users.
20162 * script/sh/function.c: Move from here ...
20163 * script/function.c: ... to here. Update all users.
20164 * script/sh/lexer.c: Move from here ...
20165 * script/lexer.c: ... to here. Update all users.
20166 * script/sh/main.c: Move from here ...
20167 * script/main.c: ... to here. Update all users.
20168 * script/sh/parser.y: Move from here ...
20169 * script/parser.y: ... to here. Update all users.
20170 * script/sh/script.c: Move from here ...
20171 * script/script.c: ... to here. Update all users.
20172
f84b481b
RM
201732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20174
20175 * configure.ac: Detect all `emu' platforms. Define
20176 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
20177 --enable-grub-emu logic. Disable include/grub/machine
20178 symlink on `emu' platforms.
20179
20180 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
20181 * gensymlist.sh.in: Likewise.
20182
20183 * include/grub/i386/coreboot/machine.h: Remove file.
20184 * include/grub/i386/efi/machine.h: Likewise.
20185 * include/grub/i386/ieee1275/machine.h: Likewise.
20186 * include/grub/i386/pc/machine.h: Likewise.
20187 * include/grub/i386/qemu/machine.h: Likewise.
20188 * include/grub/powerpc/ieee1275/machine.h: Likewise.
20189 * include/grub/sparc64/ieee1275/machine.h: Likewise.
20190 * include/grub/x86_64/efi/machine.h: Likewise.
20191
20192 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
20193 * commands/halt.c: Likewise.
20194 * commands/reboot.c: Likewise.
20195 * include/grub/autoefi.h: Likewise.
20196 * include/grub/i386/at_keyboard.h: Likewise.
20197 * include/grub/i386/kernel.h: Likewise.
20198 * include/grub/i386/loader.h: Likewise.
20199 * include/grub/i386/pc/memory.h: Likewise.
20200 * kern/dl.c: Likewise.
20201 * kern/i386/coreboot/init.c: Likewise.
20202 * loader/i386/bsd.c: Likewise.
20203 * loader/i386/linux.c: Likewise.
20204 * loader/multiboot_loader.c: Likewise.
20205 * term/i386/pc/serial.c: Likewise.
20206 * term/usb_keyboard.c: Likewise.
20207
20208 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
20209 `<grub/machine/machine.h>'
20210 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
20211 * util/misc.c: Remove `<grub/machine/machine.h>' and
20212 `<grub/machine/time.h>'.
20213
20214 * Makefile.in (enable_grub_emu): Remove variable.
20215 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
20216
20217 * conf/any-emu.rmk: New file.
20218 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
20219 (grub_emu_init.c): Move from here ...
20220 * conf/any-emu.rmk: ... to here.
20221
20222 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
20223 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
20224 * conf/any-emu.rmk: ... to here.
20225
4efeab03
RM
202262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20227
20228 * include/grub/parser.h (grub_parser_register): Document need
20229 of `name' parameter.
20230 * normal/main.c (grub_normal_read_line): Simplify prompt string.
20231 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
20232 "sh" to "grub".
20233
ea1dd8bf
RM
202342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20235
20236 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
20237 `$(XGETTEXT)'.
20238 * include/grub/i18n.h (N_): New macro.
20239 * util/mkisofs/mkisofs.h: Likewise.
20240 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
20241 around N_().
20242 (usage): Use gettext() to translate help strings when printing them.
20243
0c140626
RM
202442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20245
20246 Based on patch from Bean
20247 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
20248
20249 * video/efi_fb.c: New file.
20250 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
20251 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
20252 variables.
20253 * conf/x86_64-efi.rmk: Likewise.
20254
87d58298
RM
202552009-11-22 Robert Millan <rmh.grub@aybabtu.com>
20256
20257 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
20258 * util/i386/pc/grub-setup.c: Likewise.
20259
994cc3a3
ST
202602009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20261
20262 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
20263 <hurd/fs.h>
20264 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
20265 file_get_storage_info to implement grub_guess_root_device.
20266
26a61d6a
FZ
202672009-11-21 Felix Zielcke <fzielcke@z-51.de>
20268
20269 * Makefile.in (target): Use make's builtin $(shell) function
20270 instead of calling directly $(SHELL) to create the locale directories,
20271 inside the $(foreach) function.
20272
74ff1dd5
FZ
202732009-11-21 Felix Zielcke <fzielcke@z-51.de>
20274
20275 * util/grub-mkrescue.in: Print an error and usage if output option
20276 has not been given.
20277
0b787d0e
FZ
202782009-11-21 Felix Zielcke <fzielcke@z-51.de>
20279
20280 Patch from Loïc Minier <loic.minier@ubuntu.com>.
20281 * util/grub.d/30_os-prober.in: Cope with Linux entries where
20282 root and /boot are on different devices.
20283
1164b270
RM
202842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20285
20286 Fix build for srcdir != objdir.
20287
20288 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
20289 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
20290 $(srcdir).
20291 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
20292 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
20293 reference for input.
20294
13774a2f
RM
202952009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20296
20297 * util/grub-mkrescue.in: Use source directory direcly (without copiing
20298 or hardlinking it). Remove -J option, Joliet is not compatible with
20299 multiple source directories.
20300
efda854e
RM
203012009-11-21 Carles Pina i Estany <carles@pina.cat>
203022009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20303
20304 * util/grub-mkrescue.in: Recognize `--override-directory' option.
20305 (process_input_dir): New function. Process an arbitrary input
20306 directory.
20307 Misc adjustments to support both "override mode" and system-wide mode.
20308
6c09890c
FZ
203092009-11-20 Felix Zielcke <fzielcke@z-51.de>
20310
20311 * configure.ac (UNIFONT_BDF): Rename to ...
20312 (FONT_SOURCE): ... this. Update all users.
20313
a797824f
FZ
203142009-11-20 Felix Zielcke <fzielcke@z-51.de>
20315
20316 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
20317 to the list of unifont files to look for.
20318
cd4f42b0
RM
203192009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20320
20321 Patch from Joe Auricchio <jauricchio@gmail.com>
20322 * commands/minicmd.c (grub_mini_cmd_clear): New function.
20323 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
20324 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
20325
393c783d
FZ
203262009-11-19 Felix Zielcke <fzielcke@z-51.de>
20327
20328 * Makefile.in (install-local): Add a missing backslash.
20329
b2f1e327
FZ
203302009-11-19 Felix Zielcke <fzielcke@z-51.de>
20331
20332 * include/grub/x86_64/io.h: New file.
20333
f577f7a0
RM
203342009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20335
20336 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
20337 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
20338 Include `"progname.h"'.
20339 (main): Initialize gettext.
20340 * util/i386/pc/grub-setup.c: Gettexttize.
20341 * util/i386/pc/grub-mkimage.c: Likewise.
20342
20343 * Makefile.in (po/*.po): Redefine as ...
20344 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
20345
3bc7896c
RM
20346 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
20347
c37943b6
RM
203482009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20349
20350 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
20351 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
20352 (program_name): Remove.
20353 (main): Initialize gettext support.
6323f705
RM
20354 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
20355 Include `<libintl.h>'.
20356 (_): New macro.
c37943b6
RM
20357
20358 * util/mkisofs/eltorito.c: Gettexttize.
20359 * util/mkisofs/joliet.c: Likewise.
20360 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
20361 * util/mkisofs/multi.c: Likewise.
20362 * util/mkisofs/rock.c: Likewise.
20363 * util/mkisofs/tree.c: Likewise.
20364 * util/mkisofs/write.c: Likewise.
20365
3bc7896c
RM
20366 * po/POTFILES: Update with new files.
20367
5ce77c6e
RM
203682009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20369
20370 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
20371 * util/mkisofs/iso9660.h: Likewise.
20372 * util/mkisofs/joliet.c: Likewise.
20373 * util/mkisofs/mkisofs.c: Likewise.
20374 * util/mkisofs/mkisofs.h: Likewise.
20375 * util/mkisofs/rock.c: Likewise.
20376 * util/mkisofs/tree.c: Likewise.
20377 * util/mkisofs/write.c: Likewise.
20378
20379 * util/mkisofs/eltorito.c (rcsid): Remove.
20380 * util/mkisofs/hash.c: Likewise.
20381 * util/mkisofs/joliet.c: Likewise.
20382 * util/mkisofs/name.c: Likewise.
20383 * util/mkisofs/rock.c: Likewise.
20384 * util/mkisofs/tree.c: Likewise.
20385 * util/mkisofs/write.c: Likewise.
20386
1dabbc77
RM
203872009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20388
20389 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
20390 instead of static allocation.
20391 * util/mkisofs/match.h: Likewise.
20392
633877cb
RM
203932009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20394
3bc7896c
RM
20395 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
20396 and `util/grub.d/10_linux.in'.
633877cb
RM
20397 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
20398 translatable Shell files.
20399
af1c0c85
RM
204002009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20401
20402 * Makefile.in ($(srcdir)/aclocal.m4): New target.
20403
769ae37b
RM
204042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20405
20406 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 20407 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
20408 * util/grub.d/10_kfreebsd.in (bindir): New variable.
20409 Add gettext initialization.
20410 (kfreebsd_entry): Make menuentry output translatable.
20411
204122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20413
20414 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
20415 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
20416 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
20417 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
20418 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 20419 * po/LINGUAS: New file.
769ae37b
RM
20420
204212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20422
20423 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
20424 other things).
20425 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
20426 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
20427 bindtextdomain() calls for gettext initialization.
20428
204292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20430
20431 * gnulib/progname.c: New file (imported from Gnulib).
20432 * gnulib/progname.h: Likewise.
20433 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20434 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
20435 (usage): Replace `progname' with `program_name'.
20436 (main): Use set_program_name() for program name initialization.
20437
204382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20439
20440 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
20441 from here ...
20442 * Makefile.in (CPPFLAGS): ... to here.
20443
204442009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20445
20446 * aclocal.m4: Move from here ...
20447 * acinclude.m4: ... to here.
20448 * autogen.sh: Add call to `aclocal'.
20449 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
20450
204512009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20452
20453 * Makefile.in (CLEANFILES): Add `po/*.mo'.
20454 (LINGUAS): New variable.
20455 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
20456 (install-local): Install MO files.
20457 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
20458 * include/grub/i18n.h: New file.
3bc7896c
RM
20459 * po/POTFILES: New file.
20460 * po/ca.po: New file.
769ae37b
RM
20461 * util/grub.d/10_linux.in (bindir): New variable.
20462 Add gettext initialization.
20463 (linux_entry): Make menuentry output translatable.
20464 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
20465 (usage): Make --help output translatable.
20466 (main): Initialize gettext.
20467
02c0a6ad
RM
204682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20469
20470 * import_gcry.py: New file (written by Vladimir with minor
20471 adjustments).
20472 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
20473 ciphers.
20474 * INSTALL: Document that Python is required for bootstrap.
20475
204762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20477
20478 Import ciphers from libgcrypt 1.4.4.
20479
20480 * lib/libgcrypt/cipher/ChangeLog
20481 * lib/libgcrypt/cipher/ac.c
20482 * lib/libgcrypt/cipher/arcfour.c
20483 * lib/libgcrypt/cipher/bithelp.h
20484 * lib/libgcrypt/cipher/blowfish.c
20485 * lib/libgcrypt/cipher/camellia-glue.c
20486 * lib/libgcrypt/cipher/camellia.c
20487 * lib/libgcrypt/cipher/camellia.h
20488 * lib/libgcrypt/cipher/cast5.c
20489 * lib/libgcrypt/cipher/cipher.c
20490 * lib/libgcrypt/cipher/crc.c
20491 * lib/libgcrypt/cipher/des.c
20492 * lib/libgcrypt/cipher/dsa.c
20493 * lib/libgcrypt/cipher/ecc.c
20494 * lib/libgcrypt/cipher/elgamal.c
20495 * lib/libgcrypt/cipher/hash-common.c
20496 * lib/libgcrypt/cipher/hash-common.h
20497 * lib/libgcrypt/cipher/hmac-tests.c
20498 * lib/libgcrypt/cipher/md.c
20499 * lib/libgcrypt/cipher/md4.c
20500 * lib/libgcrypt/cipher/md5.c
20501 * lib/libgcrypt/cipher/primegen.c
20502 * lib/libgcrypt/cipher/pubkey.c
20503 * lib/libgcrypt/cipher/rfc2268.c
20504 * lib/libgcrypt/cipher/rijndael-tables.h
20505 * lib/libgcrypt/cipher/rijndael.c
20506 * lib/libgcrypt/cipher/rmd.h
20507 * lib/libgcrypt/cipher/rmd160.c
20508 * lib/libgcrypt/cipher/rsa.c
20509 * lib/libgcrypt/cipher/seed.c
20510 * lib/libgcrypt/cipher/serpent.c
20511 * lib/libgcrypt/cipher/sha1.c
20512 * lib/libgcrypt/cipher/sha256.c
20513 * lib/libgcrypt/cipher/sha512.c
20514 * lib/libgcrypt/cipher/tiger.c
20515 * lib/libgcrypt/cipher/twofish.c
20516 * lib/libgcrypt/cipher/whirlpool.c
20517
af2f93ac
RM
205182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20519
20520 Fix build for systems without error().
20521
20522 * gnulib/error.c: New file (imported from Gnulib).
20523 * gnulib/error.h: Likewise.
20524 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
20525 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
20526 (this variable is now used by error()).
20527
73fb3dd5
FZ
205282009-11-16 Felix Zielcke <fzielcke@z-51.de>
20529
814f5e96
FZ
20530 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
20531 instead of relying that char is signed.
73fb3dd5 20532
a691ca33
VS
205332009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
20536 blocksize different from specified.
20537 (grub_pxefs_read): Likewise.
20538
2af8f0f4
FZ
205392009-11-16 Felix Zielcke <fzielcke@z-51.de>
20540
20541 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
20542
20543 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
20544 (grub_ata_readwrite): Likewise. Update 2 format strings.
20545 (grub_atapi_read): Likewise.
20546
20547 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
20548 * conf/i386.rmk (pkglib_MODULES): ... to here ...
20549 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
20550 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
20551 (ata_mod_LDFLAGS): Move from here ...
20552 * conf/i386.rmk: ... to here ...
20553 * conf/x86_64-efi.rmk: ... and here.
20554 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
20555 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
20556
83bdecaf
RM
205572009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20558
20559 Relicense multiboot.h, with RMS' blessing.
20560
20561 * include/multiboot.h: Change to X11 license.
20562
fd6fd3d7
RM
205632009-11-15 Robert Millan <rmh.grub@aybabtu.com>
20564
20565 Support --version in grub-mkisofs.
20566
20567 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
20568 (OPTION_VERSION): New macro.
20569 (ld_options): Recognize --version.
20570 (usage): Move `program_name' from here ...
20571 (program_name): ... to here. Add `static' qualifier.
20572 (main): Recognize `OPTION_VERSION'.
20573
16a88c49
FZ
205742009-11-15 Felix Zielcke <fzielcke@z-51.de>
20575
20576 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
20577 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
20578
a4158476
RM
205792009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20580
20581 Fix help2man generation for mkisofs.
20582
20583 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
20584 (usage): Send output to stdout (rather than stderr).
20585
fc2208b0
RM
205862009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20587
20588 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
20589 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20590 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
20591 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20592 (bin_SCRIPTS): Add `grub-mkfloppy'.
20593 (grub_mkfloppy_SOURCES): New variable.
20594
20595 * util/grub-mkrescue.in: New file.
20596 * util/i386/pc/grub-mkfloppy.in: New file.
20597
20598 * util/i386/coreboot/grub-mkrescue.in: Remove.
20599 * util/i386/pc/grub-mkrescue.in: Remove.
20600
8d0edf4a
RM
206012009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20602
20603 * include/grub/multiboot.h (struct grub_multiboot_header): Move
20604 from here ...
20605 * include/multiboot.h (struct multiboot_header): ... to here. Update
20606 all users.
20607 * include/grub/multiboot.h (struct grub_multiboot_info): Move
20608 from here ...
20609 * include/multiboot.h (struct multiboot_info): ... to here. Update
20610 all users.
20611 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
20612 from here ...
20613 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
20614 Update all users.
20615 * include/grub/multiboot.h (struct grub_mod_list): Move
20616 from here ...
20617 * include/multiboot.h (struct multiboot_mod_list): ... to here.
20618 Update all users.
20619
a73f5969
RM
206202009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20621
20622 * include/multiboot2.h (multiboot_word): Rename from this ...
20623 (multiboot2_word): ... to this. Update all users.
20624 (multiboot_header): Rename from this ...
20625 (multiboot2_header): ... to this. Update all users.
20626 (multiboot_tag_header): Rename from this ...
20627 (multiboot2_tag_header): ... to this. Update all users.
20628 (multiboot_tag_start): Rename from this ...
20629 (multiboot2_tag_start): ... to this. Update all users.
20630 (multiboot_tag_name): Rename from this ...
20631 (multiboot2_tag_name): ... to this. Update all users.
20632 (multiboot_tag_module): Rename from this ...
20633 (multiboot2_tag_module): ... to this. Update all users.
20634 (multiboot_tag_memory): Rename from this ...
20635 (multiboot2_tag_memory): ... to this. Update all users.
20636 (multiboot_tag_unused): Rename from this ...
20637 (multiboot2_tag_unused): ... to this. Update all users.
20638 (multiboot_tag_end): Rename from this ...
20639 (multiboot2_tag_end): ... to this. Update all users.
20640
1c8927f0
RM
206412009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20642
20643 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
20644 this platform we should support Multiboot1 first.
20645
20646 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20647 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
20648 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
20649
6e1e0d89
RM
206502009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20651
20652 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
20653 of write calls (converting them to fwrite() if they aren't already).
20654 (get_torito_desc): Likewise.
20655 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
20656
7f2b34d8
RM
206572009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20658
20659 * util/i386/pc/grub-install.in: Move from here ...
20660 * util/grub-install.in: ... to here. Update all users.
20661
c0ef3311
CW
206622009-11-11 Colin Watson <cjwatson@ubuntu.com>
20663
20664 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
20665
e1f240ff
RM
206662009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20667
20668 Support for El Torito without floppy emulation.
20669
20670 * util/mkisofs/eltorito.c: Include `<errno.h>'.
20671 (init_boot_catalog): Improve error handling.
20672 (get_torito_desc): Don't use floppy emulation unless requested by
20673 user. Patch boot information table when requested via
20674 `-boot-info-table'.
20675 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
20676 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
20677 (use_boot_info_table): New variables.
20678 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
20679 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
20680 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
20681 `--eltorito-emul-floppy'.
20682 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
20683 and `OPTION_ELTORITO_EMUL_FLOPPY'.
20684 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
20685 (use_boot_info_table, get_731): New prototypes.
20686 * util/mkisofs/write.c (get_731): New function.
20687
af7d4de5
FZ
206882009-11-11 Felix Zielcke <fzielcke@z-51.de>
20689
20690 Fix the generation of the man page.
20691
20692 * util/pc/i386/grub-install.in: Source
20693 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20694
2c55dbc0
RM
206952009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20696
20697 Large file support for grub-mkisofs.
20698
20699 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
20700 * util/mkisofs/mkisofs.c (next_extent, last_extent)
20701 (session_start): Upgrade type to `uint64_t'. Update all users.
20702 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
20703 (struct directory_entry): Upgrade type of `starting_block' and
20704 `size' to `uint64_t'. Update all users.
20705 (struct deferred): Remove unused structure.
20706 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
20707 Update all users.
20708 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
20709 file is larger than `UINT32_MAX'.
20710 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
20711 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
20712 return value.
20713 (struct deferred_write): Upgrade type of `extent' and `size' to
20714 `uint64_t'. Update all users.
20715 (last_extent_written): Upgrade type to `uint64_t'. Update all
20716 users.
20717 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20718 Update all users. Upgrade type of `remain' to `int64_t' and
20719 `use' to `size_t'. Use error() to handle fread() errors.
20720 (write_files): Rely on write_one_file() rather than calling
20721 xfwrite() directly.
20722
6a9cead5
FZ
207232009-11-09 Felix Zielcke <fzielcke@z-51.de>
20724
20725 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20726
4825d790
RM
207272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20728
20729 * util/mkisofs/fnmatch.c: Remove.
20730 * util/mkisofs/getopt1.c: Likewise.
20731 * util/mkisofs/getopt.c: Likewise.
20732 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20733 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20734 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20735 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20736 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20737
20738 * configure.ac: Detect `mingw32msvc' host_os.
20739 Check for lstat(), getuid() and getgid().
20740
20741 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20742 instances of `u_char' with `uint8_t'.
20743
20744 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20745 [!HAVE_GETUID] (getuid): New function (stub).
20746 [!HAVE_GETGID] (getgid): Likewise.
20747 [!HAVE_LSTAT] (lstat): Likewise.
20748 [!S_IROTH] (S_IROTH): New macro (dummy).
20749 [!S_IRGRP] (S_IRGRP): Likewise.
20750
84b860d8
RM
207512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20752
20753 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20754 conditional expression).
20755
66e9b712
RM
207562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20757
20758 Import from Gnulib.
20759
20760 * gnulib/fnmatch.c: New file.
20761 * gnulib/fnmatch.h: Likewise.
20762 * gnulib/fnmatch_loop.c: Likewise.
20763 * gnulib/getopt.c: Likewise.
20764 * gnulib/getopt.h: Likewise.
20765 * gnulib/getopt1.c: Likewise.
20766 * gnulib/getopt_int.h: Likewise.
20767 * gnulib/gettext.h: Likewise.
20768
34f4a5b0
RM
207692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20770
20771 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20772 * normal/handler.c (read_handler_list): Likewise.
20773
ac451143
RM
207742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20775
20776 Misc cleanup.
20777
20778 * kern/command.c (grub_register_command_prio): Use
20779 grub_zalloc() instead of explicitly zeroing data.
20780 * kern/list.c: Include `<grub/mm.h>'.
20781 (grub_named_list_find): Replace `0' with `NULL'.
20782 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20783 (fs_module_list): Change type to `grub_named_list_t'. Update all
20784 users.
20785 * normal/dyncmd.c (read_command_list): Add space between function
20786 call and parenthesis.
20787 * normal/handler.c (read_handler_list): Likewise.
20788
4089b167
RM
207892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20790
20791 * normal/auth.c (punishment_delay): Moved from here ...
20792 (grub_auth_strcmp): ... to here (inside function).
20793
325f5037
RM
207942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20795
20796 * include/grub/list.h (struct grub_named_list): Remove `const'
20797 qualifier from `name'.
20798 (struct grub_prio_list): Likewise.
20799
7aea29a3
RM
208002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20801
20802 * normal/auth.c: Include `<grub/time.h>'.
20803 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20804
3fd6f044
RM
208052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20806
20807 * normal/auth.c (punishment_delay): New variable.
20808 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20809 (grub_auth_check_authentication): Punish failed login attempts with
20810 an incremental (2^N) delay.
20811
a4cd68e4
RM
208122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20813
20814 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20815 path with $(srcdir).
20816
7ad12f43
VS
208172009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20818
20819 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20820
c1129f03
RM
208212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20822
20823 * util/i386/coreboot/grub-mkrescue.in: New file.
20824 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20825 variables.
20826
20827 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20828 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20829 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20830 requirements.
20831 * util/mkisofs/defaults.h: New file.
20832 * util/mkisofs/eltorito.c: Likewise.
20833 * util/mkisofs/exclude.h: Likewise.
20834 * util/mkisofs/fnmatch.c: Likewise.
20835 * util/mkisofs/getopt.c: Likewise.
20836 * util/mkisofs/getopt1.c: Likewise.
20837 * util/mkisofs/hash.c: Likewise.
20838 * util/mkisofs/include/fctldefs.h: Likewise.
20839 * util/mkisofs/include/mconfig.h: Likewise.
20840 * util/mkisofs/include/prototyp.h: Likewise.
20841 * util/mkisofs/include/statdefs.h: Likewise.
20842 * util/mkisofs/iso9660.h: Likewise.
20843 * util/mkisofs/joliet.c: Likewise.
20844 * util/mkisofs/match.c: Likewise.
20845 * util/mkisofs/match.h: Likewise.
20846 * util/mkisofs/mkisofs.c: Likewise.
20847 * util/mkisofs/mkisofs.h: Likewise.
20848 * util/mkisofs/multi.c: Likewise.
20849 * util/mkisofs/name.c: Likewise.
20850 * util/mkisofs/rock.c: Likewise.
20851 * util/mkisofs/tree.c: Likewise.
20852 * util/mkisofs/write.c: Likewise.
20853
ec8bb77d
VS
208542009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20855
20856 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20857 being insecure.
20858
3716b12c
RM
208592009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20860
20861 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20862 `grub-mkimage' (and use $0 when possible).
20863
b97b7b91
RM
208642009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20865
20866 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20867 error message for excessively large memory map.
20868
04114812
RM
208692009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20870
20871 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20872 executable bit.
20873
e4eb2373
RM
208742009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20875
20876 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20877 message for coreboot users.
20878
c926e1d5 208792009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20880
20881 Fix build with GNU gold.
20882
20883 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20884 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20885 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20886 link addresses.
20887 * aclocal.m4: Likewise.
20888
86e5b1db 208892009-11-04 Felix Zielcke <fzielcke@z-51.de>
20890
20891 * configure.ac (AC_PREREQ): Bump to 2.59d.
20892 * INSTALL: Make it more clear when Autoconf and Ruby are
20893 needed and when to run `./autogen.sh'.
20894
246cd78f 208952009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20896
20897 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20898 OSes.
20899
4f9dfb37 209002009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20901
20902 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20903
b82bd5e1 209042009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20905
20906 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20907 giving it to GNU Mach.
20908
ff1a9bca 209092009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20910
20911 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20912 GNU partition number to get internal GRUB partition number.
20913
61697d9c 209142009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20915
20916 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20917 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20918
a50569e1 209192009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20920
20921 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20922 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20923 case.
20924
5b153867 209252009-11-01 Felix Zielcke <fzielcke@z-51.de>
20926
20927 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20928
d9e2cd70 209292009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20930
20931 Fix build problem.
20932
20933 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20934 `-isystem=$(srcdir)/include'.
20935
805111a4 209362009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20937
20938 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20939 checked (grub-install doesn't currently rely on it).
20940
fa6e945f 209412009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20942
20943 Revert SVN r2660.
20944
20945 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20946 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20947 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20948 * conf/i386-ieee1275.rmk: Likewise.
20949 * conf/i386-pc.rmk: Likewise.
20950 * conf/powerpc-ieee1275.rmk: Likewise.
20951 * conf/sparc64-ieee1275.rmk: Likewise.
20952 * conf/x86_64-efi.rmk: Likewise.
20953
cee15086 209542009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20955
20956 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20957
95b9239e 209582009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20959
20960 * include/grub/misc.h: Stop checking for APPLE_CC.
20961
2ed19dfd 209622009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20963
20964 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20965 doesn't cause an infinite call loop.
20966
fdcdde19 209672009-10-28 Felix Zielcke <fzielcke@z-51.de>
20968
20969 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20970 strings.
20971
cefabfe1 209722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20973
20974 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20975 variable.
20976 * Makefile.in: Likewise.
20977
ed96ab6d 209782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20979
20980 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20981
0579b753 209822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20983
20984 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20985
478df409 209862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20987
20988 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20989
083d1679 209902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20991
20992 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20993 from here ...
20994 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20995
5947ae32 209962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20997
20998 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20999 in $(MAKEINFO) invocation. This makes it clear in output that
21000 errors are being ignored.
21001
94180ff6 210022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21003
21004 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
21005 from here ...
21006 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21007 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
21008 * conf/i386-ieee1275.rmk: Likewise.
21009 * conf/i386-pc.rmk: Likewise.
21010 * conf/powerpc-ieee1275.rmk: Likewise.
21011 * conf/sparc64-ieee1275.rmk: Likewise.
21012 * conf/x86_64-efi.rmk: Likewise.
21013
9031b03a 210142009-10-26 Colin Watson <cjwatson@ubuntu.com>
21015
21016 * util/grub-editenv.c (main): If only a command is given, use
21017 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
21018 (usage): FILENAME is now optional and has a default.
21019
e4f6809b 210202009-10-26 Colin Watson <cjwatson@ubuntu.com>
21021
21022 Improve grub-mkconfig performance when there are several menu
21023 entries on a single filesystem.
21024
21025 * util/grub.d/10_linux.in (linux_entry): Cache the output of
21026 prepare_grub_to_access_device.
21027 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21028 * util/grub.d/30_os-prober.in: Likewise.
21029
67937d4d 210302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21031
21032 * util/grub.d/10_freebsd.in: Remove.
21033 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
21034 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
21035
ee3756cc 210362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21037
5c35048e 21038 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 21039
4dea1c6f 210402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21041
21042 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
21043 grub_util_error() call.
21044
042484d7 210452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21046
21047 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
21048 `reserved_first_sector' member.
21049 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
21050 `reserved_first_sector' to 1.
21051 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
21052 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
21053 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
21054 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
21055 filesystems which begin at first sector.
21056 (options): New option --skip-fs-probe.
21057 (main): Handle --skip-fs-probe and pass it to setup().
21058
d64448a7 210592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21060
21061 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
21062 (memset): Fix function prototype.
21063
508d42ec 210642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
210652009-10-25 Vasily Averin <vvs@parallels.com>
21066
21067 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
21068 `dirent.direntlen == 0'.
21069
b240e30c 210702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21071
21072 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
21073 `cpio'.
21074 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
21075
346e7fbe 210762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21077
21078 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
21079 `__trampoline_setup' and `__ucmpdi2'.
21080 * include/grub/powerpc/libgcc.h: Only export symbols for functions
21081 that libgcc provides.
21082
cdb308b0 210832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21084
21085 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
21086 * include/grub/sparc64/libgcc.h (memset): Likewise.
21087 * include/grub/misc.h (memset, memcmp): New function prototypes.
21088
fb26abc2 210892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21090
21091 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
21092 `cpio'.
21093 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
21094
f6693890 210952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21096
21097 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
21098 * docs/grub.cfg: Compensate for recent change in multiboot
21099 loader (since 2009-08-14 it won't pass filename to payload).
21100 * util/grub.d/10_hurd.in: Likewise.
21101
0933cdc0 211022009-10-21 Felix Zielcke <fzielcke@z-51.de>
21103
21104 * config.guess: Update to latest version from config git
21105 repository.
21106 * config.sub: Likewise.
21107
3b2fe8c2 211082009-10-20 Robert Millan <rmh.grub@aybabtu.com>
21109
21110 Fix build on sparc64.
21111
21112 * configure.ac: Perform checks for libgcc symbols before
21113 adding `-nostdlib' to LDFLAGS.
21114
46695a62 211152009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21116
21117 Let user specify OpenBSD root device.
21118
21119 * loader/i386/bsd.c (openbsd_root): New variable.
21120 (openbsd_opts): New option 'root'.
21121 (OPENBSD_ROOT_ARG): New macro.
21122 (grub_openbsd_boot): Use 'openbsd_root'.
21123 (grub_cmd_openbsd): Fill 'openbsd_root'.
21124
d2b6b7fc 211252009-10-16 Robert Millan <rmh.grub@aybabtu.com>
21126
21127 * NEWS: Misc adjustments.
21128
421bd7ac 211292009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
21132
f1d29d87 211332009-10-16 Robert Millan <rmh.grub@aybabtu.com>
21134
21135 * configure.ac: Bump version to 1.97.
21136
6f3cd880 211372009-10-16 Colin Watson <cjwatson@ubuntu.com>
21138
21139 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
21140 -mno-3dnow on x86 architectures. Some toolchains enable these
21141 features by default, but they rely on registers that aren't enabled
21142 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
21143
035f7122 211442009-10-15 Robert Millan <rmh.grub@aybabtu.com>
21145
21146 Make entry text a bit more readable.
21147
21148 * util/grub.d/10_linux.in: Add `with' before `Linux'.
21149
44998e58 211502009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21151
21152 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
21153
cd2851b3 211542009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21155
21156 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
21157 operations.
21158
c6f3b249 211592009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21160
21161 * configure.ac: Add missing dollar.
21162
6b5886ba 211632009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
21164
21165 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
21166
21167 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
21168 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
21169 exports.
21170 * include/grub/sparc64/libgcc.h: Likewise. Use
21171 preprocessor conditionals.
21172
e9d66f6d 211732009-10-14 Robert Millan <rmh.grub@aybabtu.com>
21174
21175 * conf/common.rmk (grub-dumpbios): Remove rule.
21176 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
21177 * util/grub-dumpbios.in: Remove file.
21178
9155bc17 211792009-10-14 Robert Millan <rmh.grub@aybabtu.com>
21180
21181 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
21182 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
21183
21184 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
21185 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
21186 users.
21187
21188 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
21189 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
21190 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
21191 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
21192 users.
21193
bf7f7a18 211942009-10-12 Robert Millan <rmh.grub@aybabtu.com>
21195
21196 * term/tparm.c: Switch to GPLv3.
21197
86564c26 211982009-10-09 Robert Millan <rmh.grub@aybabtu.com>
21199
21200 * include/grub/i386/cpuid.h: Add header protection.
21201
5c936493 212022009-10-09 Robert Millan <rmh.grub@aybabtu.com>
21203
21204 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
21205
21206 * include/grub/i386/cpuid.h: New file.
21207 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
21208 (has_longmode): Rename to ...
21209 (grub_cpuid_has_longmode): ... this. Update all users. Remove
21210 `static' attribute.
21211 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
21212 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
21213 on a CPU that doesn't implement AMD64 instruction set.
21214
186e7cf2 212152009-10-06 Colin Watson <cjwatson@ubuntu.com>
21216
21217 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
21218 that version.texi is rebuilt on version number changes.
21219
83b65c4a 212202009-10-06 Colin Watson <cjwatson@ubuntu.com>
21221
21222 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
21223 Fixes bug #27602.
21224
d244281c 212252009-10-06 Colin Watson <cjwatson@ubuntu.com>
21226
21227 * util/i386/pc/grub-install.in: Source
21228 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
21229 that the --grub-probe option will work.
21230 * util/sparc64/ieee1275/grub-install.in: Likewise.
21231
da25306d 212322009-10-05 Robert Millan <rmh.grub@aybabtu.com>
21233
21234 * configure.ac: Bump version to 1.97~beta4.
21235
e8ee83c0 212362009-10-03 Robert Millan <rmh.grub@aybabtu.com>
21237
21238 Resync grub-mkdevicemap in x86_64-efi.
21239
21240 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
21241 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
21242 `util/devicemap.c'.
21243
50dcabcf 212442009-10-01 Colin Watson <cjwatson@ubuntu.com>
21245
21246 * util/grub-editenv.c (create_envblk_file): Write new block with a
21247 .new suffix and then rename it into place, to ensure atomic
21248 creation.
21249
0e51c3a7 212502009-09-28 Robert Millan <rmh.grub@aybabtu.com>
21251
21252 Do not automatically install headers.
21253
21254 * Makefile.in (include_DATA): Remove. Update all users.
21255
31299a95 212562009-09-26 Robert Millan <rmh.grub@aybabtu.com>
21257
21258 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
21259 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
21260
21261 * util/osdetect.lua: Remove.
21262 * script/lua/lauxlib.c: Likewise.
21263 * script/lua/ldebug.c: Likewise.
21264 * script/lua/grub_main.c: Likewise.
21265 * script/lua/lauxlib.h: Likewise.
21266 * script/lua/ldebug.h: Likewise.
21267 * script/lua/ltablib.c: Likewise.
21268 * script/lua/liolib.c: Likewise.
21269 * script/lua/lstrlib.c: Likewise.
21270 * script/lua/lualib.h: Likewise.
21271 * script/lua/ldo.c: Likewise.
21272 * script/lua/ldump.c: Likewise.
21273 * script/lua/ldo.h: Likewise.
21274 * script/lua/loslib.c: Likewise.
21275 * script/lua/lundump.c: Likewise.
21276 * script/lua/grub_lib.c: Likewise.
21277 * script/lua/ldblib.c: Likewise.
21278 * script/lua/lundump.h: Likewise.
21279 * script/lua/lmem.c: Likewise.
21280 * script/lua/grub_lib.h: Likewise.
21281 * script/lua/lmathlib.c: Likewise.
21282 * script/lua/lstate.c: Likewise.
21283 * script/lua/ltm.c: Likewise.
21284 * script/lua/lvm.c: Likewise.
21285 * script/lua/lmem.h: Likewise.
21286 * script/lua/lstate.h: Likewise.
21287 * script/lua/ltm.h: Likewise.
21288 * script/lua/ltable.c: Likewise.
21289 * script/lua/lvm.h: Likewise.
21290 * script/lua/llex.c: Likewise.
21291 * script/lua/lgc.c: Likewise.
21292 * script/lua/grub_lua.h: Likewise.
21293 * script/lua/loadlib.c: Likewise.
21294 * script/lua/lfunc.c: Likewise.
21295 * script/lua/lopcodes.c: Likewise.
21296 * script/lua/lparser.c: Likewise.
21297 * script/lua/ltable.h: Likewise.
21298 * script/lua/llex.h: Likewise.
21299 * script/lua/lgc.h: Likewise.
21300 * script/lua/lfunc.h: Likewise.
21301 * script/lua/lbaselib.c: Likewise.
21302 * script/lua/lopcodes.h: Likewise.
21303 * script/lua/lparser.h: Likewise.
21304 * script/lua/lzio.c: Likewise.
21305 * script/lua/linit.c: Likewise.
21306 * script/lua/lobject.c: Likewise.
21307 * script/lua/llimits.h: Likewise.
21308 * script/lua/lstring.c: Likewise.
21309 * script/lua/lzio.h: Likewise.
21310 * script/lua/lapi.c: Likewise.
21311 * script/lua/lcode.c: Likewise.
21312 * script/lua/lua.h: Likewise.
21313 * script/lua/lobject.h: Likewise.
21314 * script/lua/lstring.h: Likewise.
21315 * script/lua/lapi.h: Likewise.
21316 * script/lua/lcode.h: Likewise.
21317 * script/lua/luaconf.h: Likewise.
21318
cb8a2c38 213192009-09-26 Colin Watson <cjwatson@ubuntu.com>
21320
21321 * docs/grub.texi (Command-line and menu entry commands): Document
21322 date and echo commands.
21323
6b9b6276 213242009-09-24 Pavel Roskin <proski@gnu.org>
21325
21326 * include/grub/kernel.h (struct grub_module_header): Remove
21327 `grub_module_header_types'. Make `type' unsigned. Make `size'
21328 32-bit on all platforms.
21329 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
21330 8-bit field. Use grub_host_to_target32() for `size'.
21331 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
21332 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
21333 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
21334
4e5a02a7 213352009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21336
21337 Fix "lost keypress" bug in at_keyboard.
21338
21339 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
21340 Checks for readyness of input buffer (without flushing it).
21341 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
21342 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
21343
c6dcedf6 213442009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21345
21346 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
21347 size check within GRUB_MACHINE_PCBIOS section.
21348
74c958b1 213492009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21350
21351 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
21352 return value.
21353 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
21354 KEYBOARD_ISREADY check.
21355 (grub_at_keyboard_checkkey): Rename to ...
21356 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
21357 Remove gratuitous cast.
21358
ff420223 213592009-09-23 Colin Watson <cjwatson@ubuntu.com>
21360
21361 * configure.ac: Call AC_PROG_MKDIR_P.
21362 * Makefile.in (docs/stamp-vti): Create docs directory. Create
21363 version.texi in $(builddir) rather than $(srcdir).
21364 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
21365 to makeinfo's @include search path.
21366
d96875df 213672009-09-23 Felix Zielcke <fzielcke@z-51.de>
21368
21369 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
21370
9b3f8365 213712009-09-23 Felix Zielcke <fzielcke@z-51.de>
21372
21373 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
21374 for `*.dpkg-new'.
21375
c44c90db 213762009-09-21 Colin Watson <cjwatson@ubuntu.com>
21377
21378 Build info documentation. Some code borrowed from Automake.
21379
21380 * configure.ac: Check for makeinfo.
21381 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
21382 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
21383 docs/version.texi.
21384 (MOSTLYCLEANFILES): Add vti.tmp.
21385 (docs/version.texi, docs/stamp-vti): Update automatically.
21386 (docs/grub.info): Build info documentation. Use --force and ignore
21387 errors for now.
21388 (all-local): Add $(INFOS).
21389 (install-local): Install info files.
21390 (uninstall): Uninstall info files.
21391 * docs/version.texi: Remove from revision control. This file is
21392 automatically generated on build now.
21393 * gendistlist.sh: Add `*.info'.
21394
e0b37bb5 213952009-09-21 Felix Zielcke <fzielcke@z-51.de>
21396
21397 * kern/term.c: Fix indentation.
21398
5a78865b 213992009-09-21 Felix Zielcke <fzielcke@z-51.de>
21400
21401 * util/hostdisk.c: Fix a comment.
21402
dace7e8a 214032009-09-20 Robert Millan <rmh.grub@aybabtu.com>
21404
21405 Fix regression introduced in r2539.
21406
21407 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
21408 to 0xA1.
21409
a83d079b 214102009-09-19 Colin Watson <cjwatson@ubuntu.com>
21411
21412 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 21413 os-prober. Under normal operation, it does not print anything to
21414 stderr; if it does, we need to debug it, and throwing away stderr
21415 makes that excessively difficult.
a83d079b 21416
be94a509 214172009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
21420
63f745e8 214212009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21422
21423 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
21424 AC_LANG_PROGRAM from autoconf.
21425 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
21426 prototypes (fixes warning).
21427
21428 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
21429 `--disable-werror' was used.
21430
bbb2a70f 214312009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21432
21433 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
21434 uninitialized `lastaddr'.
21435
77c24f1d 214362009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21437
0f0b8c87 21438 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 21439
07197f23 214402009-09-14 Colin Watson <cjwatson@ubuntu.com>
21441
21442 * commands/test.c (get_fileinfo): Return immediately if
21443 grub_fs_probe fails.
21444
dabf1798 214452009-09-14 José Martínez <xosemp@gmail.com>
21446
21447 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
21448
d52109a7 214492009-09-14 Colin Watson <cjwatson@ubuntu.com>
21450
21451 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
21452 output.
21453
56532179 214542009-09-13 Robert Millan <rmh.grub@aybabtu.com>
21455
21456 * configure.ac: Remove --enable-grub-pe2elf. Only build
21457 grub-pe2elf when needed by the build system itself.
21458 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
21459
8ef070f5 214602009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21461
21462 * configure.ac: Bump version to 1.97~beta3.
21463 * docs/version.texi: Likewise.
21464
61229557 214652009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21466
21467 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
21468 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
21469 from here ...
21470 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
21471 (grub_linux_setup_video): ... to here (with some adjustments).
21472
5c9f8d84 214732009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21474
21475 Fix memory corruption issue (spotted by Colin Watson).
21476
21477 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
21478 causing returned size to be stored in an incorrect memory location.
21479 Fix use of uninitialized value when storing the returned size.
21480
e8f5d6e9 214812009-09-12 Yves Blusseau <blusseau@zetam.org>
21482
21483 Change clean rules to properly remove files
21484
21485 * genmk.rb: add new clean rules
21486 * Makefile.in (clean): add the new targets
21487 (mostlyclean): likewise
21488
cda2a409 214892009-09-11 Colin Watson <cjwatson@ubuntu.com>
21490
21491 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
21492 to grub_uint64_t.
21493 * fs/ntfs.c (init_file): Understand 64-bit sizes for
21494 non-resident files.
21495
86695375 214962009-09-11 Colin Watson <cjwatson@ubuntu.com>
21497
21498 * configure.ac: Don't look for help2man when cross-compiling. Fixes
21499 part of bug #27349.
21500
8aa1541a 215012009-09-10 Felix Zielcke <fzielcke@z-51.de>
21502
21503 * util/grub-mkconfig.in: Make the created config mode 400 and
21504 print a warning if it fails.
21505
48d9bb0a 215062009-09-10 Robert Millan <rmh.grub@aybabtu.com>
21507
21508 * util/grub.d/40_custom.in: Ask user to type custom entries below
21509 comment, rather than below 'exec tail' line.
21510
3b0521be 215112009-09-10 Colin Watson <cjwatson@ubuntu.com>
21512
21513 * util/grub.d/40_custom.in: Make sure that the explanatory text is
21514 visible in grub.cfg.
21515
50051d55 215162009-09-10 Colin Watson <cjwatson@ubuntu.com>
21517
21518 * util/grub.d/40_custom.in: Make it a little clearer how to use this
21519 file.
21520
c0d34387 215212009-09-10 Felix Zielcke <fzielcke@z-51.de>
21522
21523 * docs/grub.cfg: Add an example menu entry for memtest86+.
21524
80a608f3 215252009-09-09 Felix Zielcke <fzielcke@z-51.de>
21526
a2094832 21527 * config.guess: Update to latest version from config git.
80a608f3 21528 * config.sub: Likewise.
21529
99423078 215302009-09-08 Colin Watson <cjwatson@ubuntu.com>
21531
21532 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
21533 unknown-command case. Fixes bug #27320.
21534
44454e4c 215352009-09-08 Felix Zielcke <fzielcke@z-51.de>
21536
21537 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
21538 `help' if the command exists.
21539
e30d87ad 215402009-09-06 Robert Millan <rmh.grub@aybabtu.com>
21541
21542 * INSTALL: Require GCC 4.1.3 or later.
21543
9a86f1ec 215442009-09-06 Yves Blusseau <blusseau@zetam.org>
21545
21546 * Makefile.in (RMKFILES): add i386-qemu.rmk
21547 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
21548 $(srcdir)/stamp-h.in
21549
7f26d466 215502009-09-05 Robert Millan <rmh.grub@aybabtu.com>
21551
21552 * util/grub-probe.c (probe): Comment out buggy codepath, which
21553 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
21554 should be re-enabled after 1.97.
21555
3a613259 215562009-09-05 Felix Zielcke <fzielcke@z-51.de>
21557
21558 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
21559 find searches for.
21560
197f76c7 215612009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21562
21563 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
21564 unnecessary calls to grub_error.
21565
70ba68ce 215662009-09-04 Colin Watson <cjwatson@ubuntu.com>
21567
21568 * NEWS: Mention `keystatus' and Unicode fonts.
21569
4ff0d7a4 215702009-09-04 Robert Millan <rmh.grub@aybabtu.com>
21571
21572 * configure.ac: Bump version to 1.97~beta2.
21573 * docs/version.texi: Likewise.
21574
77c55a87 215752009-09-03 Colin Watson <cjwatson@ubuntu.com>
21576
21577 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
21578 containing unwind information in some cases where it previously did
21579 not. Use -fno-dwarf2-cfi-asm if available to restore the old
21580 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
21581 discussion.
21582
f79572cd 215832009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
21584
21585 Embedding loadenv module into grub-emu
21586
21587 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
21588 commands/loadenv.c
21589 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
21590 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
21591 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
21592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
21593 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
21594 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
21595
93a81088 215962009-09-03 Magnus Granberg <zorry@ume.nu>
21597
21598 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
21599 include -fPIE in the default specs.
21600 * configure.ac: Check if pie_possible is yes and add -fno-PIE
21601 to TARGET_CFLAGS.
21602
160034b2 216032009-09-03 Felix Zielcke <fzielcke@z-51.de>
21604
21605 * INSTALL: Note that GNU Bison 2.3 or later is required.
21606
087c07c4 216072009-09-03 Colin Watson <cjwatson@ubuntu.com>
21608
21609 * kern/i386/pc/startup.S: Fix typo.
21610
cbf978c0 216112009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21612
21613 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
21614 according to GCS.
21615
216162009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 21617
21618 * docs/grub.texi (Naming convention): Describe one-based partition
21619 numbering.
21620 (Device syntax): Likewise.
21621 (File name syntax): Likewise.
21622 (Block list syntax): Likewise.
21623 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
21624 menu.lst.
21625 (File name syntax): Likewise.
21626 (Command-line and menu entry commands): Document acpi, blocklist,
21627 crc, export, insmod, keystatus, ls, set, and unset commands.
21628
f3e8cdfd 216292009-09-02 Colin Watson <cjwatson@ubuntu.com>
21630
21631 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
21632 to avoid implying that only one of --shift, --ctrl, or --alt may be
21633 used.
21634
c0bc232b 216352009-09-02 Colin Watson <cjwatson@ubuntu.com>
21636
21637 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
21638 rather than comparing against S_IFREG, which will almost never work.
21639
aa0f752d 216402009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
21643 (write_blocklists): Likewise.
21644
ecb3166a 216452009-09-01 Colin Watson <cjwatson@ubuntu.com>
21646
21647 * script/lua/grub_lua.h (fputs): Supply a format string as the first
21648 argument to grub_printf.
21649
c403a125 216502009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 21651
21652 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 21653 non GNU test.
31aba781 21654
b5e7312c 216552009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21656
21657 * kern/file.c (grub_file_read): Spelling fix
21658
fe00f472 216592009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21660
21661 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
21662 loading of headers in some cases.
21663
cc55302e 216642009-08-30 Robert Millan <rmh.grub@aybabtu.com>
21665
21666 * configure.ac: Bump version to 1.97~beta1.
21667 * docs/version.texi: Likewise.
21668
5c90cdd2 216692009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 21670
21671 * include/grub/i386/xnu.h: Add license header.
21672 include grub/err.h explicitly.
21673
c90edae4 216742009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21675
21676 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
21677 to `ufs' in the vfs.root.mountfrom kernel parameter.
21678
d8888b5c 216792009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21680
21681 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
21682
21683 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
21684 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
21685
21686 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
21687 `ARRAY_SIZE' macro.
21688
6f07b921 216892009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21690
21691 * kern/file.c (grub_file_read): Check offset.
21692 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
21693 * fs/jfs.c (grub_jfs_read_file): Likewise.
21694 * fs/ntfs.c (grub_ntfs_read): Likewise.
21695 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
21696 * fs/minix.c (grub_minix_read_file): Correct offset check.
21697 * fs/ufs.c (grub_ufs_read_file): Likewise.
21698
b4f34077 216992009-08-28 Colin Watson <cjwatson@ubuntu.com>
21700
21701 * term/i386/pc/console.c (bios_data_area): Cast
21702 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
21703
e7c69859 217042009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21705
21706 1-bit optimised blitters.
21707
21708 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
21709 prototype.
21710 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21711 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21712 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21713 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21714 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21715 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21716 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
21717 function.
21718 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21719 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21720 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21721 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21722 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21723 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21724 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21725 when possible.
21726 * video/video.c (grub_video_get_blit_format): Return
21727 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21728
a57da43f 217292009-08-28 Colin Watson <cjwatson@ubuntu.com>
21730
21731 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21732 the first argument to grub_printf.
21733
4cbe67e5 217342009-08-28 Colin Watson <cjwatson@ubuntu.com>
217352009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21736
21737 Add `getkeystatus' terminal method. Add a new `keystatus' command
21738 to query it.
21739
21740 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21741 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21742 modifier key bitmasks.
21743 (struct grub_term_input): Add `getkeystatus' member.
21744 (grub_getkeystatus): Add prototype.
21745 * kern/term.c (grub_getkeystatus): New function.
21746
21747 * include/grub/i386/pc/memory.h
21748 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21749 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21750 Data Area layout.
21751 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21752 (grub_console_term_input): Set `getkeystatus' member.
21753 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21754 constants.
21755 (grub_usb_keyboard_getreport): Likewise.
21756 (grub_usb_keyboard_checkkey): Likewise.
21757 (grub_usb_keyboard_getkeystatus): New function.
21758 (grub_usb_keyboard_term): Set `getkeystatus' member.
21759
21760 * commands/keystatus.c: New file.
21761 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21762 (keystatus_mod_SOURCES): New variable.
21763 (keystatus_mod_CFLAGS): Likewise.
21764 (keystatus_mod_LDFLAGS): Likewise.
21765 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21766 commands/keystatus.c.
21767 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21768 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21769 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21771 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21772 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 21773
6e2a9085 217742009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 Split befs.mod and afs.mod into *_be.mod and *.mod
21777
21778 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21779 (grub_fstest_SOURCES): Likewise.
21780 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21781 (afs_be_mod_SOURCES): New variable.
21782 (afs_be_mod_CFLAGS): Likewise.
21783 (afs_be_mod_LDFLAGS): Likewise.
21784 (befs_be_mod_SOURCES): Likewise.
21785 (befs_be_mod_CFLAGS): Likewise.
21786 (befs_be_mod_LDFLAGS): Likewise.
21787 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21788 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21789 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21790 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21791 (grub_emu_SOURCES): Likewise.
21792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21793 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21794 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21795 * fs/afs_be.c: New file.
21796 * fs/befs_be.c: New file.
21797 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21798 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21799 (U16): Replaced with ...
21800 (grub_afs_to_cpu16): ...this. All users updated.
21801 (U32): Replaced with ...
21802 (grub_afs_to_cpu32): ...this. All users updated.
21803 (U64): Replaced with ...
21804 (grub_afs_to_cpu64): ...this. All users updated.
21805 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21806 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 21807 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 21808 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21809 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21810 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21811 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21812 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21813 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21814 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21815 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21816
32a71655 218172009-08-26 Bean <bean123ch@gmail.com>
21818
21819 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21820 64-bit number.
21821 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21822 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21823 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21824
552bf6c5 218252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 NetBSD memory map support.
21828
21829 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21830 (grub_netbsd_btinfo_mmap_header): New structure.
21831 (grub_netbsd_btinfo_mmap_entry): Likewise.
21832 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21833
1ae2078c 218342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21835
21836 Enable bsd.mod on coreboot.
21837
21838 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21839 (bsd_mod_SOURCES): New variable.
21840 (bsd_mod_CFLAGS): Likewise.
21841 (bsd_mod_LDFLAGS): Likewise.
21842 (bsd_mod_ASFLAGS): Likewise.
21843 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21844 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21845
beefc598 218462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21847
21848 Cleanup NetBSD root support.
21849
21850 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21851 grub_bsd_get_device.
21852 Fix typo.
21853
3b76e68b 218542009-08-25 Felix Zielcke <fzielcke@z-51.de>
21855
21856 * util/grub.d/00_header.in: Move check for the video backend of
21857 gfxterm from here ...
21858 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21859 a suitable video backend.
21860
aea664ea 218612009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21862
21863 Fix breakage in grub-setup.
21864
21865 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21866 "msdos_partition_map".
21867
ff747d50 218682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21869
21870 Fix breakage in normal/auth.c.
21871
21872 * normal/auth.c (grub_iswordseparator): New function.
21873
e7e1f93f 218742009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21875
21876 Authentication support.
21877
21878 * commands/password.c: New file.
21879 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21880 (password_mod_SOURCES): New variable.
21881 (password_mod_CFLAGS): Likewise.
21882 (password_mod_LDFLAGS): Likewise.
21883 (normal_mod_SOURCES): Add normal/auth.c.
21884 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21885 normal/auth.c.
21886 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21887 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21888 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21890 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21891 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21892 * include/grub/auth.h: New file.
21893 * include/grub/err.h (grub_err_t): New enum value
21894 GRUB_ERR_ACCESS_DENIED.
21895 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21896 'users'.
21897 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21898 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21899 users updated.
21900 * normal/auth.c: New file.
21901 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21902 (grub_cmdline_run): Don't allow to go to command line without
21903 authentication.
21904 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21905 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21906 menuentry without superuser rights.
21907 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21908 user isn't a superuser.
21909
70f1161d 219102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21911
21912 Save space by inlining misc.c functions.
21913
21914 * kern/misc.c (grub_iswordseparator): Made static.
21915 * kern/misc.c (grub_strcat): Moved from here ...
21916 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21917 * kern/misc.c (grub_strncat): Moved from here ...
21918 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21919 * kern/misc.c (grub_strcasecmp): Moved from here ...
21920 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21921 * kern/misc.c (grub_strncasecmp): Moved from here ...
21922 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21923 * kern/misc.c (grub_isalpha): Moved from here ...
21924 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21925 * kern/misc.c (grub_isdigit): Moved from here ...
21926 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21927 * kern/misc.c (grub_isgraph): Moved from here ...
21928 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21929 * kern/misc.c (grub_tolower): Moved from here ...
21930 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21931
48e40bff 219322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21933
21934 * script/sh/function.c (grub_script_function_find): Cut error message
21935 not to flood terminal.
21936 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21937 limit.
21938 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21939
c385bfc3 219402009-08-24 Colin Watson <cjwatson@ubuntu.com>
21941
21942 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21943 `report' grub_uint8_t *.
21944 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21945 Use a 50-millisecond timeout rather than just repeating
21946 grub_usb_keyboard_getreport 50 times.
21947 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21948
2d21e3e8 219492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21950
21951 Rename *_partition_map to part_*
21952
21953 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21954 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21955 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21956 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21957 All users updated.
21958 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21959 All users updated.
21960 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21961 * util/grub-probe.c (probe_partmap): Don't transform partition name
21962 to get module name.
21963
dd103c4e 219642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21965
21966 Fix OpenBSD and NetBSD support.
21967
21968 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21969 memory address conflict.
21970 (OPENBSD_MMAP_ACPI): New definition.
21971 (OPENBSD_MMAP_NVS): Likewise.
21972 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21973 and OPENBSD_MMAP_NVS.
21974 Add memory map terminator
21975 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 21976 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 21977
16c84d74 219782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21979
21980 Let user specify NetBSD root device.
21981
21982 * loader/i386/bsd.c (netbsd_root): New variable.
21983 (netbsd_opts): New option 'root'.
21984 (NETBSD_ROOT_ARG): New macro.
21985 (grub_netbsd_boot): Use 'netbsd_root'.
21986 (grub_bsd_unload): Free 'netbsd_root'.
21987 (grub_cmd_netbsd): Fill 'netbsd_root'.
21988
adb29902 219892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 Support for 64-bit NetBSD.
21992
21993 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21994 point when booting non-FreeBSD.
21995
f5ae9f74 219962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21997
21998 Support --no-smp and --no-acpi for NetBSD.
21999
22000 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
22001 (NETBSD_AB_NOACPI): Likewise.
22002 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
22003 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
22004
de74f136 220052009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
22008 errors.
22009 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
22010 errors. Call grub_error when needed.
22011
e9a925da 220122009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22013
22014 * commands/search.c (search_fs): Try searching without autoload first.
22015 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
22016 filesystem module explicitly for faster booting.
22017
5174302b 220182009-08-23 Colin Watson <cjwatson@ubuntu.com>
22019
22020 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
22021
c8c80635 220222009-08-23 Colin Watson <cjwatson@ubuntu.com>
22023
22024 * util/grub.d/30_os-prober.in: Disable os-prober if
22025 `GRUB_DISABLE_OS_PROBER' was set to true.
22026
71acf5e5 220272009-08-23 Robert Millan <rmh.grub@aybabtu.com>
22028
22029 * partmap/pc.c: Rename to ...
22030 * partmap/msdos.c: ... this. Update all users.
22031 (grub_pc_partition_map): Rename to ...
22032 (grub_msdos_partition_map): ... this. Update all users.
22033
22034 * parttool/pcpart.c: Rename to ...
22035 * parttool/msdospart.c: ... this. Update all users.
22036
22037 * include/grub/pc_partition.h: Rename to ...
22038 * include/grub/msdos_partition.h: ... this. Update all users.
22039 (grub_pc_partition_bsd_entry): Rename to ...
22040 (grub_msdos_partition_bsd_entry): ... this. Update all users.
22041 (grub_pc_partition_disk_label): Rename to ...
22042 (grub_msdos_partition_disk_label): ... this. Update all users.
22043 (grub_pc_partition_entry): Rename to ...
22044 (grub_msdos_partition_entry): ... this. Update all users.
22045 (grub_pc_partition_mbr): Rename to ...
22046 (grub_msdos_partition_mbr): ... this. Update all users.
22047 (grub_pc_partition): Rename to ...
22048 (grub_msdos_partition): ... this. Update all users.
22049 (grub_pc_partition_is_empty): Rename to ...
22050 (grub_msdos_partition_is_empty): ... this. Update all users.
22051 (grub_pc_partition_is_extended): Rename to ...
22052 (grub_msdos_partition_is_extended): ... this. Update all users.
22053 (grub_pc_partition_is_bsd): Rename to ...
22054 (grub_msdos_partition_is_bsd): ... this. Update all users.
22055
22056 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
22057 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
22058 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
22059 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
22060 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
22061 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
22062 (gpt_mod_LDFLAGS): Rename to ...
22063 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
22064 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
22065 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
22066 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
22067 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
22068 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
22069 (part_gpt_mod_LDFLAGS): ... this.
22070 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
22071 `pcpart.mod' to `msdospart.mod'.
22072 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
22073 to ...
22074 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
22075 (msdospart_mod_LDFLAGS): ... this.
22076
c11fded5 220772009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22078
22079 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
22080 (openbsd_opts): Likewise.
22081 (netbsd_opts): Likewise.
22082 (freebsd_flags): Added 0 terminator.
22083 (openbsd_flags): Likewise.
22084 (netbsd_flags): Likewise.
22085 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
22086 (grub_cmd_freebsd): Transformed into extended command.
22087 (grub_cmd_openbsd): Likewise.
22088 (grub_cmd_netbsd): Likewise.
22089 (cmd_freebsd): Changed type to grub_extcmd_t.
22090 (cmd_openbsd): Likewise.
22091 (cmd_netbsd): Likewise.
22092 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
22093 grub_cmd_openbsd as extended commands.
22094 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
22095 cmd_netbsd and cmd_openbsd
22096
11d1c769 220972009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22098
22099 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
22100
7a9094e5 221012009-08-21 Pavel Roskin <proski@gnu.org>
22102
5496c37e 22103 * Makefile.in (install-local): When checking if a file is in the
22104 build directory, use "test -e" to detect symlinks.
22105
7a9094e5 22106 * Makefile.in (install-local): Remove all files in
22107 $(DESTDIR)$(pkglibdir) before installing new files there.
22108
e53cea11 221092009-08-18 Felix Zielcke <fzielcke@z-51.de>
22110
22111 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
22112 grub-mkelfimage.
22113
9aced544 221142009-08-18 Felix Zielcke <fzielcke@z-51.de>
22115
22116 * util/grub-mkconfig.in: Don't use gfxterm by default if not
22117 explicitly specified by the user.
22118
b7da6bab 221192009-08-18 Pavel Roskin <proski@gnu.org>
22120
22121 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
22122 grub_uint8_t pointer for data.
22123 * include/grub/fbutil.h (struct grub_video_fbblit_info):
22124 Likewise.
22125 * video/fb/fbutil.c: Remove unnecessary casts.
22126
19f1b335 221272009-08-17 Michal Suchanek <hramrach@centrum.cz>
22128
22129 VBE cleanup.
22130
22131 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
22132 (grub_vbe_set_video_mode): Save active mode info
22133 only after setting the mode.
22134 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
22135 second argument.
22136
2f467aa9 221372009-08-17 Michal Suchanek <hramrach@centrum.cz>
22138
22139 Rename variables for clarity.
22140
22141 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
22142 (active_vbe_mode_info): ... this. All users updated.
22143 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
22144 All users updated.
22145 (initial_mode): Rename to ...
22146 (initial_vbe_mode): ... this. All users updated.
22147 (mode_in_use): Rename to ..
22148 (vbe_mode_in_use): ... this. All users updated.
22149 (mode_list): Rename to ..
22150 (vbe_mode_list): ... this. All users updated.
22151 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
22152 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
22153 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
22154 'mode_list_size' to 'vbe_mode_list_size'.
22155 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
22156 'best_mode_info' to 'best_vbe_mode_info' and
22157 'best_mode' to 'best_vbe_mode'
22158
6025fcd7 221592009-08-17 Michal Suchanek <hramrach@centrum.cz>
22160
22161 Remove duplicate grub_video_fb_get_video_ptr.
22162
22163 * include/grub/fbutil.h (get_data_ptr): Rename to ...
22164 (grub_video_fb_get_video_ptr): ... this.
22165 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
22166 * video/fb/fbutil.c: Add comment about addressing.
22167 (get_data_ptr): Rename to ...
22168 (grub_video_fb_get_video_ptr): ... this. All users updated.
22169 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
22170
cc8c6faf 221712009-08-17 Robert Millan <rmh.grub@aybabtu.com>
22172
22173 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
22174 grub_dprintf() that was just added.
22175
08aa61f0 221762009-08-17 Robert Millan <rmh.grub@aybabtu.com>
22177
22178 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
22179 (DEFAULT_VIDEO_MODE): Remove macros.
22180 (grub_linux_boot): Remove assumption that Linux has FB support,
22181 and use "text" as default video mode.
22182
7cef4f75 221832009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
22184
22185 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
22186 grub_dprintf.
22187 * fs/fat.c (grub_fat_read_data): Likewise.
22188
e1f39873 221892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22190
22191 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
22192 payload.
22193 (grub_module): Likewise.
22194
c166d79e 221952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
22198 mbi->cmdline but free playground.
22199
c60cee8e 222002009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 Handle group offset on UFS1.
22203
22204 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
22205 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
22206
c0d8b5d4 222072009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22208
22209 Split ufs.mod into ufs1.mod and ufs2.mod.
22210
22211 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
22212 (grub_fstest_SOURCES): Likewise.
22213 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
22214 (ufs_mod_SOURCES): Remove.
22215 (ufs_mod_CFLAGS): Likewise.
22216 (ufs_mod_LDFLAGS): Likewise.
22217 (ufs1_mod_SOURCES): New variable.
22218 (ufs1_mod_CFLAGS): Likewise.
22219 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 22220 (ufs2_mod_SOURCES): New variable.
22221 (ufs2_mod_CFLAGS): Likewise.
22222 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 22223 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
22224 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
22225 Likewise.
22226 (grub_emu_SOURCES): Likewise.
22227 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22228 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22229 (grub_setup_SOURCES): Likewise.
22230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22231 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
22232 (grub_setup_SOURCES): Likewise.
22233 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
22234 Likewise.
22235 * fs/ufs2.c: New file.
22236 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
22237
d3539132 222382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22239
22240 Framebuffer split.
22241
22242 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
22243 subsystem at the end.
22244 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
22245 (video_fb_mod_SOURCES): New variable.
22246 (video_fb_mod_CFLAGS): Likewise.
22247 (video_fb_mod_LDFLAGS): Likewise.
22248 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
22249 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
22250 * video/i386/pc/vbeblit.c: Moved from here ...
22251 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
22252 * video/i386/pc/vbefill.c: Moved from here ...
22253 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
22254 * video/i386/pc/vbeutil.c: Moved from here ...
22255 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
22256 * include/grub/i386/pc/vbeblit.h: Moved from here ...
22257 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
22258 * include/grub/i386/pc/vbefill.h: Moved from here ...
22259 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
22260 * include/grub/i386/pc/vbeutil.h: Moved from here ...
22261 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
22262 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
22263 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
22264 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
22265 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
22266 (grub_video_adapter): Added 'get_info_and_fini'.
22267 (grub_video_get_info_and_fini): New prototype.
22268 (grub_video_set_mode): make modestring const char *.
22269 * loader/i386/linux.c (grub_linux_setup_video): Use
22270 grub_video_get_info_and_fini.
22271 (grub_linux_boot): Move modesetting just before booting.
22272 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
22273 grub_video_get_info_and_fini.
22274 * video/i386/pc/vbe.c: Moved framebuffer part ...
22275 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
22276 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
22277 grub_video_fbstd_colors and grub_video_fb_set_palette.
22278 (grub_video_vbe_init): Clear 'framebuffer' variable and use
22279 grub_video_fb_init.
22280 (grub_video_vbe_fini): Use grub_video_fb_fini.
22281 (grub_video_vbe_setup): Use framebuffer.render_target instead of
22282 render_target and use grub_video_fb_set_active_render_target and
22283 grub_video_fb_set_palette.
22284 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
22285 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
22286 (grub_video_vbe_adapter): Use framebuffer.
22287 * video/video.c (grub_video_get_info_and_fini): New function.
22288 (grub_video_set_mode): Make modestring const char *.
22289 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
22290 values are already initialised.
22291
d404ee56 222922009-08-14 Pavel Roskin <proski@gnu.org>
22293
22294 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
22295 ABS and APPLE_CC.
22296 * boot/i386/pc/diskboot.S: Likewise.
22297 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
22298 sectors allow compilation on MacOSX.
22299 * conf/i386-pc.rmk: Enable unconditional compilation of
22300 lnxboot.img.
22301
9a10df16 223022009-08-13 Colin Watson <cjwatson@ubuntu.com>
22303
22304 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
22305 * util/grub.d/00_header.in: Enter interruptible sleep if
22306 GRUB_HIDDEN_TIMEOUT is set.
22307
be3c9ca7 223082009-08-13 Yves Blusseau <blusseau@zetam.org>
22309
22310 * include/grub/symbol.h: Add the LOCAL macro.
22311 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
22312 starting with "L_".
22313
1f9e557e 223142009-08-13 Pavel Roskin <proski@gnu.org>
22315
9ca62843 22316 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
22317 any modern compilers we support.
22318
1f9e557e 22319 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
22320 Use local labels starting with "L_" so that Apple assembler
22321 knows they are local.
22322
81623db6 223232009-08-10 Robert Millan <rmh.grub@aybabtu.com>
22324
22325 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
22326 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
22327 (bsd_kernel_types): ... this enum.
22328
22329 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
22330 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
22331 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
22332
22333 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
22334 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
22335 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
22336 messages.
22337
f5d35e7a 223382009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22339
22340 * util/grub-dumpdevtree: Moved from here ...
22341 * util/i386/efi/grub-dumpdevtree: ... to here.
22342 (hexify): New function. Converts a string to its hex version.
22343 Generate hex versions of "efi" and "device-properties" by calling
22344 hexify() on the ASCII strings rather than by hardcoding numbers.
22345
d1e1d527 223462009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22347
22348 * fs/jfs.c: Update copyright year.
22349
1ebbe064 223502009-08-08 Felix Zielcke <fzielcke@z-51.de>
22351
22352 * util/grub.d/00_header.in: Fix a comment.
22353 * util/grub.d/10_linux.in: Likewise.
22354 * util/grub.d/10_windows.in: Likewise.
22355 * util/grub.d/10_hurd.in: Likewise.
22356
a78c8d24 223572009-08-08 Felix Zielcke <fzielcke@z-51.de>
22358
22359 * util/grub-mkconfig.in: Allow the user to specify the used font
22360 with GRUB_FONT.
22361
29a6b9e8 223622009-08-08 Pavel Roskin <proski@gnu.org>
22363
b5f16cc4 22364 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
22365 available, xfs.mod needs it now.
22366
2f5cb827 22367 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
22368 the "g" modifier in sed when the intention is to strip something
22369 once. This fixes comparison of kernels with multiple dashes.
22370
29a6b9e8 22371 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
22372 on it. Add missing space before closing bracket. Fix
22373 misleading formatting.
22374
892a3d98 223752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22376
22377 * docs/grub.texi: Major overhaul. Remove all sections that are
22378 specific to GRUB Legacy, or mostly composed of Legacy-specific
22379 information.
22380
ed94253f 223812009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22382
22383 * docs/version.texi: New file. Provides version information for
22384 grub.texi.
22385
126d6628 223862009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22387
22388 * docs/grub.texi: Update CVS information to SVN.
22389 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
22390
998b5aa9 223912009-08-07 Felix Zielcke <fzielcke@z-51.de>
22392
22393 * util/grub-mkconfig.in: Remove a wrong `fi'.
22394
818e094a 223952009-08-07 Felix Zielcke <fzielcke@z-51.de>
22396
22397 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
22398 (grub_jfs_uuid): New function.
22399 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
22400
b969c52f 224012009-08-07 Felix Zielcke <fzielcke@z-51.de>
22402
22403 * util/grub-mkconfig_lib.in (font_path): Move the functionality
22404 of it to ...
22405 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
22406 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
22407
7a4894cc 224082009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22409
22410 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
22411 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
22412 Update all users.
22413
22414 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
22415 not just "vmlinu[zx]".
22416 Moved from here ...
22417 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
22418 all users.
22419
22420 * util/grub.d/10_linux.in (find_latest): Moved from here ...
22421 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
22422 all users.
22423
4e2171f8 224242009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22425
22426 * util/grub.d/10_freebsd.in: Use an absolute device path for
22427 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
22428
6dcfcb32 224292009-08-06 Felix Zielcke <fzielcke@z-51.de>
22430
22431 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
22432 handling of multiple abstraction modules.
22433
f56a8756 224342009-08-04 Robert Millan <rmh.grub@aybabtu.com>
22435
22436 Fix a bug resulting in black screen when loading Linux using a
22437 packed video mode.
22438
22439 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
22440 function.
22441
22442 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
22443 (grub_vbe_bios_getset_dac_palette_width): New function.
22444 (grub_vbe_bios_get_dac_palette_width)
22445 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
22446 grub_vbe_bios_getset_dac_palette_width()).
22447
22448 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
22449 check for return status.
22450 (grub_vbe_get_video_mode_info): When getting information for a packed
22451 mode (<= 8 bpp), obtain DAC palette width using
22452 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
22453 {red,green,blue}_mark_size.
22454
222671b2 224552009-08-04 Felix Zielcke <fzielcke@z-51.de>
22456
ecb1a6d9 22457 * commands/search.c (options): Fix help output to match actual code.
222671b2 22458
f84114f5 224592009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
22460
22461 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
22462 of homegrown code.
22463
bd288a20 224642009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 22465
22466 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
22467 on XFS or ReiserFS.
22468
8aab5e25 224692009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22470
22471 Support Apple partition map with sector size different from 512 bytes.
22472
22473 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
22474 (apple_partition_map_iterate): Respect 'aheader.blocksize'
22475 and 'apart.partmap_size'.
22476
6ad6258a 224772009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
224782009-08-01 Robert Millan <rmh.grub@aybabtu.com>
22479
22480 Fix cpuid command.
22481
22482 * commands/i386/cpuid.c (options): New variable.
22483 (grub_cmd_cpuid): Return real error.
22484 (GRUB_MOD_INIT(cpuid)): Declare options.
22485
67459bc6 224862009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
22487
22488 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
22489 valid.
22490
fbc6ab54 224912009-07-31 Bean <bean123ch@gmail.com>
22492
22493 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
22494 log2_inode.
22495 (grub_fshelp_node): Move inode field to the end.
22496 (grub_xfs_data): Remove inode field.
22497 (grub_xfs_inode_block): Calculate inode size using sblock.
22498 (grub_xfs_inode_offset): Likewise.
22499 (grub_xfs_read_inode): Calculate inode size using sblock.
22500 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
22501 (grub_xfs_iterate_dir): Calculate inode size using sblock.
22502 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
22503 to match inode size.
22504 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
22505 not accessible when data is null.
22506 (grub_xfs_open): Likewise.
22507
f45d6cfc 225082009-07-31 Bean <bean123ch@gmail.com>
22509
22510 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
22511 Don't change pv->disk if it's already set.
22512
22513 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
22514 (grub_raid_register): ... here.
22515 (grub_raid_rescan): Removed.
22516
22517 * include/grub/raid.h (grub_raid_rescan): Removed.
22518
22519 * util/grub-fstest.c: Remove include file <grub/raid.h>.
22520 (fstest): Replace grub_raid_rescan with module fini function followed
22521 by init function.
22522
22523 * util/grub-probe.c: Add include file <grub/raid.h>.
22524 (probe_raid_level): New function.
22525 (probe): Detect abstraction by walking the disk device, support two
22526 level of abstraction (LVM on RAID) when detecting partition map.
22527
24443b5a 225282009-07-31 Pavel Roskin <proski@gnu.org>
22529
22530 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
22531 to grub_zalloc(), it was erroneous.
22532 Reported by Bean <bean123ch@gmail.com>
22533
a275d9e7 225342009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
22535
22536 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 22537 embedding zone, not only the first one.
a275d9e7 22538
56c5a47f 225392009-07-29 Joe Auricchio <jauricchio@gmail.com>
22540
22541 * term/gfxterm.c (clear_char): New function.
22542 (grub_virtual_screen_setup): Use clear_char.
22543 (scroll_up): Likewise.
22544 (grub_virtual_screen_cls): Likewise.
22545
67bb323a 225462009-07-29 Felix Zielcke <fzielcke@z-51.de>
22547
22548 * util/deviceiter.c (get_acceleraid_disk_name): New static
22549 function.
22550 (grub_util_iterate_devices): Handle Accelraid devices.
22551 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
22552
388a7c75 225532009-07-28 Robert Millan <rmh.grub@aybabtu.com>
22554
22555 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
22556 separator for the suggested gfxpayload string (';' collides with the
22557 parser and needs escaping).
22558
3bb7abcf 225592009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22560
22561 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
22562 Clear direction flag before jumping to OS.
22563 (grub_multiboot2_real_boot): Likewise.
22564
2ddd36d7 225652009-07-28 Felix Zielcke <fzielcke@z-51.de>
22566
22567 * util/i386/pc/grub-install: Fix parsing of --disk-module
22568 option.
22569
c521b62b 225702009-07-28 Felix Zielcke <fzielcke@z-51.de>
22571
22572 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
22573 when embedding.
22574
880e0a0c 225752009-07-26 Felix Zielcke <fzielcke@z-51.de>
22576
22577 * util/grub-mkconfig.in (package_version): New variable.
22578 Use it do display the version.
22579
2366e356 225802009-07-25 Felix Zielcke <fzielcke@z-51.de>
22581
22582 * kern/file.c (grub_file_open): Revert to previous check with
22583 grub_errno.
22584
7ad8c80e 225852009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22586
22587 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
22588 from help line. It's out of sync with code.
22589
72b9658b 225902009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22591
22592 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
22593 entries on failed boot.
22594
77435277 225952009-07-25 Felix Zielcke <fzielcke@z-51.de>
22596
22597 * kern/file.c (grub_file_open): Fix an error check.
22598
fcaa8b21 225992009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
22600
35d16c74 22601 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
22602 partition map couldn't be identified.
fcaa8b21 22603
48904cd1 226042009-07-23 Pavel Roskin <proski@gnu.org>
22605
ef3c317f 22606 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
22607 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
22608 case of little endian words becomes just an optimization.
22609 Respect const modifier.
ad8ea1f4 22610 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 22611
48904cd1 22612 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
22613 to avoid loss of upper bits if align is unsigned and shorter
22614 than addr.
22615
260c9a89 226162009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22617
22618 UUID support for UFS
22619
22620 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
22621 (grub_ufs_uuid): New function.
22622 (grub_ufs_fs): add .uuid
22623
f76ce889 226242009-07-21 Pavel Roskin <proski@gnu.org>
22625
22626 * kern/dl.c (grub_dl_check_header): Make static.
22627
6a6cbcaf 226282009-07-21 Felix Zielcke <fzielcke@z-51.de>
22629
22630 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
22631 add drivemap for Vista. It breaks Windows 7.
22632
cffcddb2 226332009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22634
22635 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
22636 128 bytes
22637
1ef44b80 226382009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22639
22640 Add BFS support
22641
22642 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
22643 (grub_fstest_SOURCES): Likewise.
22644 (pkglib_MODULES): Add befs.mod.
22645 (befs_mod_SOURCES): New variable.
22646 (befs_mod_CFLAGS): Likewise.
22647 (befs_mod_LDFLAGS): Likewise.
22648 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22649 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22650 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22651 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22652 (grub_setup_SOURCES): Likewise.
22653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22654 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22655 (grub_setup_SOURCES): Likewise.
22656 * fs/befs.c: New file.
22657 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
22658 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
22659 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
22660 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
22661 (B_KEY_INDEX_ALIGN): New declaration.
22662 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
22663 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
22664 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
22665 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
22666 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
22667 (grub_afs_mount) [MODE_BFS]: Likewise.
22668 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
22669 (grub_afs_fs): Use GRUB_AFS_FSNAME
22670 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
22671 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
22672 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
22673 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
22674
4f253044 226752009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
22676
22677 * util/getroot.c (find_root_device): Add support for MacOSX.
22678 * util/hostdisk.c: Likewise.
22679
57a55913 226802009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22681
22682 * font/font.c (find_glyph): Check whether a font is present to avoid
22683 segmentation fault.
75421ca9 22684
226852009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 22686
22687 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
22688
e98cd0c2 226892009-07-20 Pavel Roskin <proski@gnu.org>
22690
22691 * configure.ac: Trim excessively wordy excuses.
22692
1d2d169a 226932009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22694
22695 Add symlink, mtime and label support to AtheFS.
22696
22697 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
22698 (grub_afs_iterate_dir): Handle symlinks.
22699 (grub_afs_open): Use grub_afs_read_symlink.
22700 (grub_afs_dir): Likewise.
22701 Pass mtime.
22702 (grub_afs_label): New function.
22703 (grub_afs_fs): Add grub_afs_label.
22704 (grub_afs_read_symlink): New function.
22705
186f3189 227062009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22707
22708 Fix AtheFS support.
22709
22710 * fs/afs.c: Fix comments style.
22711 (grub_afs_blockrun): Declare as packed.
22712 (grub_afs_datastream): Likewise.
22713 (grub_afs_bnode): Likewise.
22714 (grub_afs_btree): Likewise.
22715 (grub_afs_sblock): Likewise.
22716 Declare `name' as char.
22717 (grub_afs_inode): Declare as packed.
22718 Change void *vnode to grub_uint32_t unused.
22719 (grub_afs_iterate_dir): Check that key_size is positive.
22720 (grub_afs_mount): Don't read superblock twice.
75421ca9 22721 (grub_afs_dir): Don't free node in case of error,
186f3189 22722 grub_fshelp_find_file already handles this.
22723 (grub_afs_open): Likewise.
22724
5680109e 227252009-07-19 Pavel Roskin <proski@gnu.org>
22726
22727 * Makefile.in: Remove LIBLZO and enable_lzo.
22728 * conf/i386-pc.rmk: Remove lzo support.
22729 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22730 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22731 support.
22732 * kern/i386/pc/lzo1x.S: Remove.
22733 * kern/i386/pc/startup.S: Remove lzo support.
22734 * util/i386/pc/grub-mkimage.c: Likewise.
22735
ac70fa32 227362009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22737
22738 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22739 * fs/xfs.c (grub_xfs_dir): Likewise.
22740 * fs/afs.c (grub_afs_dir): Likewise.
22741 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22742 (grub_iso9660_open): Likewise.
22743 * fs/jfs.c (grub_jfs_open): Likewise.
22744 * fs/ext2.c (grub_ext2_dir): Likewise.
22745 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22746 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 22747
eab58da2 227482009-07-16 Pavel Roskin <proski@gnu.org>
22749
d2838156 22750 * configure.ac: Never add "-c" to CFLAGS.
22751
55c70904 22752 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22753
43e6200c 22754 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22755 grub_cv_cc_efiemu should be used.
22756
ce7a733d 22757 * configure.ac: Typo fixes.
22758
eab58da2 22759 * kern/mm.c (grub_zalloc): New function.
22760 (grub_debug_zalloc): Likewise.
22761 * include/grub/mm.h: Declare grub_zalloc() and
22762 grub_debug_zalloc().
22763 * util/misc.c (grub_zalloc): New function.
22764 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22765 instead of grub_malloc(), remove unneeded initializations.
22766 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22767 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22768 * commands/parttool.c (grub_cmd_parttool): Likewise.
22769 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22770 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22771 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22772 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22773 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22774 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22775 (grub_cmd_efiemu_pnvram): Likewise.
22776 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22777 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22778 (grub_iso9660_iterate_dir): Likewise.
22779 * fs/jfs.c (grub_jfs_opendir): Likewise.
22780 * fs/ntfs.c (list_file): Likewise.
22781 (grub_ntfs_mount): Likewise.
22782 * kern/disk.c (grub_disk_open): Likewise.
22783 * kern/dl.c (grub_dl_load_core): Likewise.
22784 * kern/elf.c (grub_elf_file): Likewise.
22785 * kern/env.c (grub_env_context_open): Likewise.
22786 (grub_env_set): Likewise.
22787 (grub_env_set_data_slot): Likewise.
22788 * kern/file.c (grub_file_open): Likewise.
22789 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22790 * loader/i386/multiboot.c (grub_module): Likewise.
22791 * loader/xnu.c (grub_xnu_create_key): Likewise.
22792 (grub_xnu_create_value): Likewise.
22793 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22794 (read_config_file): Likewise.
22795 * normal/menu_entry.c (make_screen): Likewise.
22796 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22797 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22798 * script/sh/script.c (grub_script_parse): Likewise.
22799 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22800 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22801 * video/readers/png.c (grub_png_output_byte): Likewise.
22802 (grub_video_reader_png): Likewise.
22803
830afef7 228042009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 22805
22806 Enable all targets that can be built by default
22807
830afef7 22808 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 22809 grub-mkfont and grub-fstest if they can be built
22810
ee293aee 228112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22812
22813 Fix hang and segmentation fault in grub-emu-usb
22814
22815 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22816 * util/usb.c (grub_libusb_devices): likewise
22817 (grub_libusb_init): rename to ...
22818 (GRUB_MOD_INIT (libusb)):...this
22819 (grub_libusb_fini): rename to ..
22820 (GRUB_MOD_FINI (libusb)):...this
22821 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22822 * include/grub/disk.h (grub_raid_init): removed, it's useless
22823 (grub_raid_fini): likewise
22824 (grub_lvm_init): likewise
22825 (grub_lvm_fini): likewise
22826 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22827 by grub_init_all
22828
94414221 228292009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22830
22831 Fix libusb
22832
22833 * Makefile.in (LIBUSB): new macro
22834 * genmk.rb (Utility/print_tail): new method
22835 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22836 (top level): call util.print_tail at the end.
22837
59ade63d 228382009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22839
22840 Make FreeBSD accept zpool.cache
22841
22842 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22843 type is /boot/zfs/zpool.cache
22844
a58da8c7 228452009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22846
22847 Fix 64-bit efiemu
22848
22849 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22850 correct wrong typedef
22851 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22852
20591577 228532009-07-15 Pavel Roskin <proski@gnu.org>
22854
560ca572 22855 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22856 * kern/disk.c (struct grub_disk_cache): Likewise.
22857
e8e8e4fd 22858 * commands/probe.c (options): Typo fix.
22859
fde24e10 22860 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22861 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22862 accordingly.
22863 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22864
379c54c1 22865 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22866 the end of "Error" to make the message more readable.
22867
7bd8f5bf 22868 * boot/i386/pc/boot.S (kernel_segment): Remove.
22869 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22870 for destination.
22871
40b132c5 22872 * boot/i386/pc/boot.S (boot_version): Remove.
22873 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22874 Remove.
22875
20591577 22876 * include/grub/i386/pc/boot.h: Sort all offsets.
22877 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22878 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22879 * boot/i386/pc/boot.S: Assert location of every offset listed in
22880 include/grub/i386/pc/boot.h.
22881
2df32b2c 228822009-07-13 Pavel Roskin <proski@gnu.org>
22883
44b5d879 22884 * include/grub/i386/coreboot/machine.h: Rename
22885 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22886 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22887 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22888
17dc3751 22889 * kern/dl.c: Force native word size to suppress warnings when
22890 compiling grub-emu.
22891
2df32b2c 22892 * kern/device.c (grub_device_iterate): Change struct part_ent to
22893 hold the name, not a pointer to it. Use one grub_malloc() per
22894 partition, not two. Free partition_name if grub_malloc() fails.
22895 Set ents to NULL only before grub_partition_iterate() is called.
22896
75c59f59 228972009-07-11 Bean <bean123ch@gmail.com>
22898
22899 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22900 childname.
22901
0ae1bf88 229022009-07-10 Bean <bean123ch@gmail.com>
229032009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22904
22905 * kern/ieee1275/openfw.c (grub_children_iterate)
22906 (grub_devalias_iterate): Fix size evaluation for property or path
22907 strings, which was broken since r2132.
22908
8279cade 229092009-07-07 Pavel Roskin <proski@gnu.org>
22910
7d8a52d3 22911 * commands/search.c (search_file): Merge into ...
22912 (search_fs): ... this. Accept search type as argument.
22913 (grub_cmd_search): Pass search type to search_fs().
22914
25f9a05a 22915 * include/grub/util/console.h: New file.
22916 * util/console.c: Use it instead of grub/machine/console.h.
22917 * util/grub-emu.c: Likewise.
22918
8279cade 22919 * lib/arg.c (find_long_option): Remove.
22920 (find_long): Add `len' argument, make `s' const char *.
22921 (grub_arg_parse): Parse long options in place, not in a
22922 temporary buffer.
22923
4a11b60f 229242009-07-06 Pavel Roskin <proski@gnu.org>
22925
99f68041 22926 * commands/search.c (search_fs): Fix potential NULL pointer
22927 dereference.
22928
4a11b60f 22929 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22930 function pointer.
22931
e110f4de 229322009-07-06 Daniel Mierswa <impulze@impulze.org>
22933
22934 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22935 comparison.
22936
46eeb6a2 229372009-07-05 Pavel Roskin <proski@gnu.org>
22938
bab74958 22939 * include/grub/i386/linux.h (struct linux_kernel_params):
22940 Restore padding3, it's still needed.
22941
46eeb6a2 22942 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22943 FreeBSD.
22944 * util/osdetect.lua: Likewise.
22945
b4a1dc79 229462009-07-05 Bean <bean123ch@gmail.com>
22947
22948 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22949
22950 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22951 (grub_lua_getenv): Likewise.
22952 (grub_lua_setenv): Likewise.
22953 (save_errno): New function.
22954 (push_result): Likewise.
22955 (grub_lua_enum_device): Likewise.
22956 (grub_lua_enum_file): Likewise.
22957 (grub_lua_file_open): Likewise.
22958 (grub_lua_file_close): Likewise.
22959 (grub_lua_file_seek): Likewise.
22960 (grub_lua_file_read): Likewise.
22961 (grub_lua_file_getline): Likewise.
22962 (grub_lua_file_getsize): Likewise.
22963 (grub_lua_file_getpos): Likewise.
22964 (grub_lua_file_eof): Likewise.
22965 (grub_lua_file_exist): Likewise.
22966 (grub_lua_add_menu): Likewise.
22967
22968 * script/lua/grub_lua.h (isupper): New inline function.
22969 (islower): Likewise.
22970 (ispunct): Likewise.
22971 (isxdigit): Likewise.
22972 (strcspn): Change to normal function.
22973 (strpbkr): New function declaration.
22974 (memchr): Likewise.
22975
22976 * script/lua/grub_main.c (scan_str): New function.
22977 (strcspn): Likewise.
22978 (strpbrk): Likewise.
22979 (memchr): Likewise.
22980
22981 * script/lua/linit.c (lualibs): Enable the string library.
22982
22983 * util/osdetect.lua: New file.
22984
2da92295 229852009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22986
22987 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22988 `capabilities' member.
22989
b2582ec9 229902009-07-02 Pavel Roskin <proski@gnu.org>
22991
22992 * genparttoollist.sh: Add missing newline at the end.
22993
32622956 229942009-07-01 Pavel Roskin <proski@gnu.org>
22995
87a7339e 22996 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22997
d23af54e 22998 * util/hostdisk.c (open_device): Remove `const' from
22999 `sysctl_size', as sysctlbyname() can change it (in this case it
23000 doesn't actually happen).
23001
c94b18a9 23002 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
23003 using signed long int constants.
23004
c6cd3ef0 23005 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
23006 constant to avoid a warning on FreeBSD.
23007
0df63420 23008 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
23009 where it's needed.
23010
999577f1 23011 * Makefile.in: Install include/grub/machine symlink.
23012
6f41557f 23013 * Makefile.in: When installing symlinks, use "cp -fR", which
23014 works on FreeBSD and MacOSX.
23015 From Yves Blusseau <cl7m42e02@sneakemail.com>
23016
c8d22988 23017 * kern/dl.c (grub_dl_resolve_symbol): Make static.
23018 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
23019
1b96e952 23020 * util/misc.c: Move grub_reboot() and grub_halt() ...
23021 * util/grub-emu.c: ... here. Make main_env static.
23022 * include/grub/util/misc.h: Remove main_env.
23023
2ef0084d 23024 * kern/mm.c: Use correct format to print size_t.
23025
32622956 23026 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
23027 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
23028 * kern/powerpc/dl.c: Likewise.
23029 * kern/sparc64/dl.c: Likewise.
23030 * kern/x86_64/dl.c: Likewise.
23031
3f7f0cd0 230322009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23033
23034 Fix grub-emu build on sparc64-ieee1275.
23035
75421ca9 23036 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 23037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
23038
211d06b5 230392009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23040
23041 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
23042 (grub_reboot, grub_halt): New functions.
23043
23044 * util/i386/pc/misc.c: Delete. Update all users.
23045 * util/sparc64/ieee1275/misc.c: Likewise.
23046 * util/powerpc/ieee1275/misc.c: Likewise.
23047
aaf53e3c 230482009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23049
23050 * conf/i386.rmk (setjmp_mod_SOURCES)
23051 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
23052 * conf/common.rmk (setjmp_mod_SOURCES)
23053 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
23054 to use $(target_cpu).
23055 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
23056 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
23057 * conf/powerpc-ieee1275.rmk: Likewise.
23058 * conf/sparc64-ieee1275.rmk: Likewise.
23059
23060 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
23061 $(target_cpu) for kern/$(target_cpu)/dl.c.
23062 * conf/i386-efi.rmk: Likewise.
23063 * conf/i386-ieee1275.rmk: Likewise.
23064 * conf/x86_64-efi.rmk: Likewise.
23065 * conf/i386-coreboot.rmk: Likewise.
23066 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
23067 $(target_cpu) for kern/$(target_cpu)/dl.c and for
23068 kern/$(target_cpu)/cache.S.
23069 * conf/sparc64-ieee1275.rmk: Likewise.
23070
a337130b 230712009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23072
23073 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
23074 type to `grub_uint8_t', and adjust `padding9' accordingly.
23075
c6fe4d53 230762009-06-29 Robert Millan <rmh.grub@aybabtu.com>
23077
b09db61d 23078 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
23079
c6fe4d53 23080 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
23081 assembly in final jump, using register constraints.
23082
b09db61d 23083 (grub_linux_boot): For text mode, initialize `have_vga' using
23084 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
23085
23086 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
23087 right before the final jump.
23088
23089 Set `video_mode' to 0x3.
23090
23091 Document initialization of `video_page', `video_mode' and
23092 `video_ega_bx'.
23093
28333ad0 230942009-06-29 Robert Millan <rmh.grub@aybabtu.com>
23095
23096 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
23097 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 23098 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 23099
02164e1b 231002009-06-29 Robert Millan <rmh.grub@aybabtu.com>
23101
23102 Fix build on Debian / sparc.
23103
23104 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
23105
18b6c557 231062009-06-28 Pavel Roskin <proski@gnu.org>
23107
85f2aab6 23108 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
23109 fix a warning.
23110
18b6c557 23111 * util/grub.d/10_linux.in: Match SUSE style initrd names.
23112
ad760f81 231132009-06-27 Robert Millan <rmh.grub@aybabtu.com>
23114
23115 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
23116 `err'.
23117
87a4623b 231182009-06-27 Robert Millan <rmh.grub@aybabtu.com>
23119
23120 Revert r2338.
23121
23122 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
23123 file can't be opened. grub_file_open() is already supposed to set
75421ca9 23124 grub_errno / grub_errmsg appropriately.
87a4623b 23125 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23126
8231fb77 231272009-06-27 Pavel Roskin <proski@gnu.org>
231282009-06-27 Robert Millan <rmh.grub@aybabtu.com>
23129
23130 * include/grub/dl.h: Include grub/elf.h.
23131 (struct grub_dl): Add symtab field.
23132 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
23133 GRUB_MODULES_MACHINE_READONLY.
23134 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
23135 of the header for read-only modules.
23136 (grub_dl_unload): Free mod->symtab for read-only modules.
23137 * kern/i386/dl.c: Use mod->symtab.
23138 * kern/powerpc/dl.c: Likewise.
23139 * kern/sparc64/dl.c: Likewise.
23140 * kern/x86_64/dl.c: Likewise.
23141
23142 * conf/i386-qemu.rmk: New file.
23143 * kern/i386/qemu/startup.S: Likewise.
23144 * kern/i386/qemu/mmap.c: Likewise.
23145 * boot/i386/qemu/boot.S: Likewise.
23146 * include/grub/i386/qemu/time.h: Likewise.
23147 * include/grub/i386/qemu/serial.h: Likewise.
23148 * include/grub/i386/qemu/kernel.h: Likewise.
23149 * include/grub/i386/qemu/console.h: Likewise.
23150 * include/grub/i386/qemu/boot.h: Likewise.
23151 * include/grub/i386/qemu/init.h: Likewise.
23152 * include/grub/i386/qemu/machine.h: Likewise.
23153 * include/grub/i386/qemu/loader.h: Likewise.
23154 * include/grub/i386/qemu/memory.h: Likewise.
23155
23156 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
23157 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
23158 [qemu] (pkglib_IMAGES): Add `boot.img'.
23159 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
23160 [qemu] (boot_img_FORMAT): New variables.
23161 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
23162 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
23163 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
23164 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23165 [qemu] (kernel_img_FORMAT): New variables.
23166
23167 * configure.ac: Recognise `i386-qemu'.
23168
23169 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
23170 (for no compression).
23171 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
23172 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
23173 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
23174 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
23175 ifdefs).
23176
97fe384e 231772009-06-27 Pavel Roskin <proski@gnu.org>
23178
23179 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
23180 read.
23181 * efiemu/prepare32.c: Likewise.
23182 * efiemu/prepare64.c: Likewise.
23183
c402ab17 231842009-06-26 Pavel Roskin <proski@gnu.org>
23185
23186 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
23187 * include/grub/elf.h: Define symbols without "32" or "64" based
23188 on GRUB_TARGET_WORDSIZE.
23189 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
23190 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
23191 ELF definitions.
23192 * efiemu/loadcore64.c: Likewise.
23193 * loader/i386/bsd32.c: Likewise.
23194 * loader/i386/bsd64.c: Likewise.
23195 * kern/dl.c: Remove own ELF definitions.
23196 * util/i386/efi/grub-mkimage.c: Likewise.
23197
9bbdfd4d 231982009-06-23 Robert Millan <rmh.grub@aybabtu.com>
23199
23200 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
23201 segment 0x0 unconditionally, because the reference generated by
23202 GAS is an absolute address.
23203
a42ce6e9 232042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23205
23206 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
23207 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
23208
c952cf92 232092009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23210
23211 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
23212 indexes. Check for -f explicitly.
cc3752ad 23213 (search_file): Improve error message.
23214 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 23215
132a0a59 232162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23217
23218 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
23219 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
23220
387a140c 232212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23222
23223 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
23224 * conf/i386-ieee1275.rmk: Likewise.
23225 * conf/i386-coreboot.rmk: Likewise.
23226
23227 * kern/i386/pc/startup.S (grub_stop): Remove function.
23228 * kern/i386/ieee1275/startup.S: Likewise.
23229 * kern/i386/coreboot/startup.S: Likewise.
23230 * kern/i386/misc.S (grub_stop): New function.
23231
41da9665 232322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23233
23234 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
23235 * kern/i386/realmode.S (real_to_prot): ... to here.
23236
bf337234 232372009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23238
23239 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
23240 with `kernel.img'.
23241 (kernel_elf_SOURCES): Rename to ...
23242 (kernel_img_SOURCES): ... this.
23243 (kernel_elf_HEADERS): Rename to ...
23244 (kernel_img_HEADERS): ... this. Update all users.
23245 (kernel_elf_ASFLAGS): Rename to ...
23246 (kernel_img_ASFLAGS): ... this.
23247 (kernel_elf_CFLAGS): Rename to ...
23248 (kernel_img_CFLAGS): ... this.
23249 (kernel_elf_LDFLAGS): Rename to ...
23250 (kernel_img_LDFLAGS): ... this.
23251 * conf/i386-coreboot.rmk: Likewise.
23252 * conf/powerpc-ieee1275.rmk: Likewise.
23253
23254 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
23255 with "kernel.img".
23256
f52196ff 232572009-06-21 Pavel Roskin <proski@gnu.org>
23258
c3cee413 23259 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
23260 to match nested functions.
23261 * loader/sparc64/ieee1275/linux.c: Likewise.
23262
f52196ff 23263 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
23264
58750afc 232652009-06-21 Robert Millan <rmh.grub@aybabtu.com>
23266
23267 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
23268 all i386 platforms.
23269
15355c7d 232702009-06-21 Robert Millan <rmh.grub@aybabtu.com>
23271
23272 Fix asm file handling on ELF, and remove workarounds.
23273
23274 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 23275 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 23276 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
23277 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
23278
3f3ec72b 232792009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
23280
23281 Load BSD ELF modules
23282
23283 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
23284 and loader/i386/bsd64.c
23285 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
23286 (FREEBSD_MODTYPE_ELF_MODULE): New definition
23287 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
23288 (grub_freebsd_load_elfmodule32): New declaration
23289 (grub_freebsd_load_elfmoduleobj64): Likewise
23290 (grub_freebsd_load_elf_meta32): Likewise
23291 (grub_freebsd_load_elf_meta64): Likewise
23292 (grub_freebsd_add_meta): Likewise
23293 (grub_freebsd_add_meta_module): Likewise
23294 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
23295 (grub_freebsd_add_meta_module): Likewise and move module-specific
23296 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
23297 (grub_cmd_freebsd): Add elf-kernel specific parts
23298 based on grub_freebsd_add_meta_module
23299 (grub_cmd_freebsd_module): Add type parsing moved from
23300 grub_freebsd_add_meta_module
23301 (grub_cmd_freebsd_module_elf): New function
23302 (cmd_freebsd_module_elf): New variable
23303 (GRUB_MOD_INIT): Register freebsd_module_elf
23304 * loader/i386/bsd32.c: New file
23305 * loader/i386/bsd64.c: Likewise
23306 * loader/i386/bsdXX.c: Likewise
23307 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
23308 (grub_elf64_load): Likewise
23309 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
23310 All users updated
23311 (grub_elf64_load_hook_t): Likewise
23312
0db15301 233132009-06-21 Colin Watson <cjwatson@ubuntu.com>
23314
23315 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
23316 variable.
23317 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
23318 don't write a menu entry for recovery mode.
23319
546796c1 233202009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23321
23322 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
23323 after it's no longer needed.
23324
cd7310d5 233252009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23326
23327 * include/grub/i386/loader.h (grub_linux_prot_size)
23328 (grub_linux_tmp_addr, grub_linux_real_addr)
23329 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
23330 GRUB_MACHINE_PCBIOS.
23331 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
23332 common grub_util_info() call to ...
23333 (generate_image): ... here.
23334 Fix use of uninitialized memory, comparison of signed with
23335 unsigned integers and memory leak.
23336 Remove bogus module address message.
23337
ab32d3b5 233382009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23339
23340 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
23341 grub_raid_register
23342 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
23343
024ef597 233442009-06-19 Pavel Roskin <proski@gnu.org>
23345
23346 * configure.ac: Remove stray AC_MSG_CHECKING.
23347
3ac72b51 233482009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
23349
23350 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 23351
e14cd814 233522009-06-18 Pavel Roskin <proski@gnu.org>
23353
23354 * conf/common.rmk: Add fs_file.mod.
23355 * disk/fs_file.c: New file.
23356 * include/grub/disk.h (enum grub_disk_dev_id): Add
23357 GRUB_DISK_DEVICE_FILE_ID.
23358
26586d98 233592009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23360
23361 Fix build with Apple's toolchain. Part 2
23362
23363 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
23364 a fake start
23365
26de2bcd 233662009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23367
23368 Fix build with Apple's toolchain. Part 1
23369
23370 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
23371 for long calls
23372 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 23373 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 23374 Apple's toolchain
23375
09b3490b 233762009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23377
23378 Fix warnings
23379
23380 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
23381 (decomp_block): initialize ch
23382 use grub_memcpy instead of memcpy
23383
c22a006a 233842009-06-17 Pavel Roskin <proski@gnu.org>
23385
d3638678 23386 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
23387 version, use declarations needed to use vga_text as the startup
23388 console.
23389
c22a006a 23390 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
23391 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
23392 the kernel.
23393 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
23394 and grub_at_keyboard_fini(), it's done on module load and
23395 unload.
23396
05b129e0 233972009-06-17 Felix Zielcke <fzielcke@z-51.de>
23398
23399 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
23400 file can't be found.
23401 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23402
cf24ed9e 234032009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23404
23405 Fix newline handling
23406
23407 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 23408 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 23409 (grub_script_yylex): don't segfault on unterminated script
23410 newline terminates command and variable
23411
74aa8e4b 234122009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23413
23414 avoid double grub_adjust_range call. Bug reported by David Simner
23415
23416 * kern/disk.c (grub_disk_write): change to raw disk access before
23417 calling disk_read
23418
1bd265f3 234192009-06-17 Colin Watson <cjwatson@ubuntu.com>
23420
23421 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
23422 spaces, for the benefit of help2man.
23423 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23424
a2d08c06 234252009-06-16 Pavel Roskin <proski@gnu.org>
23426
23427 * kern/i386/halt.c: Include grub/machine/init.h.
23428 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
23429
b97bcb19 234302009-06-16 Felix Zielcke <fzielcke@z-51.de>
23431
23432 * util/grub.d/30_os-prober.in: Use ${root} in the generated
23433 drivemap menuentry.
23434
0644f96c 234352009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
23436
23437 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
23438 `echo' command.
23439
3ef17a2e 234402009-06-16 Pavel Roskin <proski@gnu.org>
23441
23442 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
23443 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
23444 save %dx, we only need %dl and we never change it.
23445 * boot/i386/pc/cdboot.S: Don't set the root drive.
23446 * boot/i386/pc/pxeboot.S: Likewise.
23447 * include/grub/i386/pc/boot.h: Remove
23448 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
23449 GRUB_BOOT_MACHINE_DRIVE_CHECK.
23450 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
23451 * kern/i386/pc/init.c (make_install_device): Remove references
23452 to grub_root_drive.
23453 * kern/i386/pc/startup.S: Likewise.
23454 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
23455
693fe637 234562009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23457
23458 xnu_uuid command
23459
23460 * commands/xnu_uuid.c: new file
23461 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
23462 (xnu_uuid_mod_SOURCES): new variable
23463 (xnu_uuid_mod_CFLAGS): likewise
23464 (xnu_uuid_mod_LDFLAGS): likewise
23465 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23466 * conf/i386-ieee1275.rmk: likewise
23467 * conf/i386-pc.rmk: likewise
23468 * conf/powerpc-ieee1275.rmk: likewise
23469 * conf/sparc64-ieee1275.rmk: likewise
23470 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
23471
c9da87d0 234722009-06-16 Pavel Roskin <proski@gnu.org>
23473
23474 * configure.ac: Avoid '==' in test command, it's not portable.
23475
9c6f4596 234762009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23477
23478 Probe command
23479
23480 * commands/probe.c: new file
23481 * conf/common.rmk (pkglib_MODULES): add probe.mod
23482 (probe_mod_SOURCES): new variable
23483 (probe_mod_CFLAGS): likewise
23484 (probe_mod_LDFLAGS): likewise
23485 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23486 * conf/i386-ieee1275.rmk: likewise
23487 * conf/i386-pc.rmk: likewise
23488 * conf/powerpc-ieee1275.rmk: likewise
23489 * conf/sparc64-ieee1275.rmk: likewise
23490
70b7f9fd 234912009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
23492
23493 Fix handling of string like \"hello\" and "a
23494 b"
23495
23496 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
23497 (grub_script_yylex): fix parsing of quoting, escaping and newline
23498
71c79a6b 234992009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
23500
dd74360c 23501 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 23502 handling
dd74360c 23503
0644f96c 235042009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 23505
23506 * util/grub-mkconfig.in: Fix parsing of --output option.
23507
e40893c3 235082009-06-12 Pavel Roskin <proski@gnu.org>
23509
23510 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
23511 genmk.rb don't need to be generated or installed.
23512
3a1acfe2 235132009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23514
23515 * commands/i386/pc/drivemap_int13h.S: add more comments
23516
3a4575d4 235172009-06-11 Pavel Roskin <proski@gnu.org>
23518
0658e928 23519 * Makefile.in (uninstall): Uninstall manuals.
23520
ca0388f0 23521 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
23522 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
23523 and update-grub_lib in two places.
23524 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
23525
e3b27c39 23526 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
23527 a compiler warning.
23528
3a4575d4 23529 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
23530 `entry_lo' to fix variable shadowing.
23531
af1f4f55 235322009-06-11 Christian Franke <franke@computer.org>
23533
23534 * kern/misc.c (__enable_execute_stack): Add missing return type
23535 to prevent gcc warning.
23536
5225e649 235372009-06-11 Felix Zielcke <fzielcke@z-51.de>
23538
23539 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
23540
7d83bd47 235412009-06-11 Pavel Roskin <proski@gnu.org>
23542
c1cb63ba 23543 * Makefile.in: Don't rely on any scripts being executable.
23544 Always use $(SHELL) to run shell scripts.
23545
7d83bd47 23546 * configure.ac: Always define ___main if using -nostdlib. This
23547 fixes tests on Cygwin.
23548
948f48e7 235492009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
23550
23551 UDF fix
23552
7d83bd47 23553 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 23554 is in bytes and not in blocks
7d83bd47 23555
8ada9bc1 235562009-06-11 Pavel Roskin <proski@gnu.org>
23557
23558 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
23559 warning.
23560
25ad2323 235612009-06-11 Felix Zielcke <fzielcke@z-51.de>
23562
23563 * util/grub.d/30_os-prober.in: Fix a comment. Source
23564 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
23565 to set the root device. Place drivemap command in the generated
23566 chain entry.
23567
e65acb0c 235682009-06-11 Pavel Roskin <proski@gnu.org>
23569
23570 * configure.ac: Remove host_m32. Issues with 64-bit utilities
23571 have long been resolved.
23572
f285fe2d 235732009-06-11 Colin Watson <cjwatson@ubuntu.com>
23574
bd47b0b5 23575 * util/grub.d/10_linux.in: Capitalise "Linux".
23576
f285fe2d 23577 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
23578
a0c62e4e 235792009-06-11 Pavel Roskin <proski@gnu.org>
23580
b6783cb2 23581 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
23582 fix a gcc warning and ensure that the function won't ever exit.
23583
dde032e8 23584 * kern/i386/ieee1275/init.c: Add missing prototype for
23585 grub_stop_floppy().
23586
22cd079d 23587 * loader/ieee1275/multiboot2.c [__i386__]: Include
23588 grub/cpu/multiboot.h.
23589
a0c62e4e 23590 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
23591 casts to short - they are not portable and cause warnings. Fix
23592 use of uninitialized values in input_buf. Use ARRAY_SIZE.
23593
63963d17 235942009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
23595
23596 Drivemap fixes
23597
23598 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
23599 new function
23600 (grub_get_root_biosnumber_saved): new variable
23601 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
23602 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 23603 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 23604 %dx after the call if necessary
23605 * conf/common.rmk (pkglib_MODULES): remove boot.mod
23606 (boot_mod_SOURCES): remove
23607 (boot_mod_CFLAGS): remove
23608 (boot_mod_LDFLAGS): remove
23609 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
23610 (boot_mod_SOURCES): new variable
23611 (boot_mod_CFLAGS): likewise
23612 (boot_mod_LDFLAGS): likewise
23613 * conf/i386-efi.rmk: likewise
23614 * conf/i386-ieee1275.rmk: likewise
23615 * conf/i386-pc.rmk: likewise
23616 * conf/powerpc-ieee1275.rmk: likewise
23617 * conf/sparc64-ieee1275.rmk: likewise
23618 * conf/x86_64-efi.rmk: likewise
23619 * include/grub/i386/pc/biosnum.h: new file
23620 * lib/i386/pc/biosnum.c: likewise
23621 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
23622 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
23623 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 23624
33abf7ae 236252009-06-10 Pavel Roskin <proski@gnu.org>
23626
5ac35b35 23627 * io/gzio.c (test_header): Don't reuse one buffer for all data.
23628 Use separate variables. Read only the file size at the end, but
23629 not the checksum that we don't use.
23630
5c5215d5 23631 * kern/file.c (grub_file_read): Use void pointer for the buffer.
23632 Adjust all callers.
23633
27d5fef7 23634 * kern/ieee1275/openfw.c: Remove libc includes.
23635 * kern/ieee1275/cmain.c: Likewise.
23636 * include/grub/ieee1275/ieee1275.h: Likewise.
23637
33abf7ae 23638 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
23639 compiler warnings.
23640
19d50c2b 236412009-06-10 Felix Zielcke <fzielcke@z-51.de>
23642
23643 * Makefile.in: Remove all trailing whitespace.
23644 * conf/i386-pc.rmk: Likewise.
23645 * conf/powerpc-ieee1275.rmk: Likewise.
23646 * conf/sparc64-ieee1275.rmk: Likewise.
23647 * docs/grub.texi: Likewise.
23648 * docs/texinfo.tex: Likewise.
23649 * disk/fs_uuid.c: Likewise.
23650 * disk/lvm.c: Likewise.
23651 * disk/scsi.c: Likewise.
23652 * disk/ata.c: Likewise.
23653 * disk/ieee1275/ofdisk.c: Likewise.
23654 * disk/i386/pc/biosdisk.c: Likewise.
23655 * disk/host.c: Likewise.
23656 * disk/raid.c: Likewise.
23657 * disk/efi/efidisk.c: Likewise.
23658 * disk/usbms.c: Likewise.
23659 * disk/memdisk.c: Likewise.
23660 * disk/loopback.c: Likewise.
23661 * kern/powerpc/dl.c: Likewise.
23662 * kern/device.c: Likewise.
23663 * kern/dl.c: Likewise.
23664 * kern/sparc64/dl.c: Likewise.
23665 * kern/ieee1275/ieee1275.c: Likewise.
23666 * kern/term.c: Likewise.
23667 * kern/fs.c: Likewise.
23668 * kern/i386/dl.c: Likewise.
23669 * kern/i386/pc/startup.S: Likewise.
23670 * kern/i386/pc/init.c: Likewise.
23671 * kern/i386/pc/mmap.c: Likewise.
23672 * kern/i386/pc/lzo1x.S: Likewise.
23673 * kern/i386/ieee1275/init.c: Likewise.
23674 * kern/i386/realmode.S: Likewise.
23675 * kern/i386/tsc.c: Likewise.
23676 * kern/partition.c: Likewise.
23677 * kern/corecmd.c: Likewise.
23678 * kern/file.c: Likewise.
23679 * kern/efi/efi.c: Likewise.
23680 * kern/efi/init.c: Likewise.
23681 * kern/efi/mm.c: Likewise.
23682 * kern/main.c: Likewise.
23683 * kern/err.c: Likewise.
23684 * kern/env.c: Likewise.
23685 * kern/disk.c: Likewise.
23686 * kern/generic/millisleep.c: Likewise.
23687 * kern/generic/rtc_get_time_ms.c: Likewise.
23688 * kern/misc.c: Likewise.
23689 * kern/parser.c: Likewise.
23690 * genmk.rb: Likewise.
23691 * configure.ac: Likewise.
23692 * boot/i386/pc/diskboot.S: Likewise.
23693 * boot/i386/pc/pxeboot.S: Likewise.
23694 * boot/i386/pc/boot.S: Likewise.
23695 * boot/i386/pc/lnxboot.S: Likewise.
23696 * boot/i386/pc/cdboot.S: Likewise.
23697 * parttool/pcpart.c: Likewise.
23698 * video/readers/tga.c: Likewise.
23699 * video/video.c: Likewise.
23700 * video/bitmap.c: Likewise.
23701 * lib/envblk.c: Likewise.
23702 * lib/i386/setjmp.S: Likewise.
23703 * fs/xfs.c: Likewise.
23704 * fs/afs.c: Likewise.
23705 * fs/fat.c: Likewise.
23706 * fs/ntfs.c: Likewise.
23707 * fs/udf.c: Likewise.
23708 * fs/affs.c: Likewise.
23709 * fs/iso9660.c: Likewise.
23710 * fs/hfs.c: Likewise.
23711 * fs/fshelp.c: Likewise.
23712 * fs/ext2.c: Likewise.
23713 * fs/jfs.c: Likewise.
23714 * fs/reiserfs.c: Likewise.
23715 * fs/hfsplus.c: Likewise.
23716 * fs/minix.c: Likewise.
23717 * fs/cpio.c: Likewise.
23718 * fs/sfs.c: Likewise.
23719 * fs/ufs.c: Likewise.
23720 * efiemu/prepare.c: Likewise.
23721 * efiemu/loadcore_common.c: Likewise.
23722 * efiemu/runtime/efiemu.sh: Likewise.
23723 * efiemu/runtime/efiemu.S: Likewise.
23724 * efiemu/runtime/efiemu.c: Likewise.
23725 * efiemu/pnvram.c: Likewise.
23726 * efiemu/main.c: Likewise.
23727 * efiemu/i386/pc/cfgtables.c: Likewise.
23728 * efiemu/i386/loadcore64.c: Likewise.
23729 * efiemu/i386/loadcore32.c: Likewise.
23730 * efiemu/loadcore.c: Likewise.
23731 * efiemu/symbols.c: Likewise.
23732 * efiemu/mm.c: Likewise.
23733 * include/grub/autoefi.h: Likewise.
23734 * include/grub/datetime.h: Likewise.
23735 * include/grub/term.h: Likewise.
23736 * include/grub/hfs.h: Likewise.
23737 * include/grub/lvm.h: Likewise.
23738 * include/grub/i386/tsc.h: Likewise.
23739 * include/grub/i386/linux.h: Likewise.
23740 * include/grub/i386/xnu.h: Likewise.
23741 * include/grub/i386/efiemu.h: Likewise.
23742 * include/grub/i386/pc/biosdisk.h: Likewise.
23743 * include/grub/i386/pc/memory.h: Likewise.
23744 * include/grub/i386/pc/vbe.h: Likewise.
23745 * include/grub/parttool.h: Likewise.
23746 * include/grub/video.h: Likewise.
23747 * include/grub/memory.h: Likewise.
23748 * include/grub/fs.h: Likewise.
23749 * include/grub/partition.h: Likewise.
23750 * include/grub/xnu.h: Likewise.
23751 * include/grub/efi/api.h: Likewise.
23752 * include/grub/efi/pe32.h: Likewise.
23753 * include/grub/efi/memory.h: Likewise.
23754 * include/grub/multiboot.h: Likewise.
23755 * include/grub/usbdesc.h: Likewise.
23756 * include/grub/multiboot2.h: Likewise.
23757 * include/grub/acpi.h: Likewise.
23758 * include/grub/efiemu/efiemu.h: Likewise.
23759 * include/grub/disk.h: Likewise.
23760 * include/grub/ieee1275/ieee1275.h: Likewise.
23761 * include/grub/net.h: Likewise.
23762 * include/grub/machoload.h: Likewise.
23763 * include/grub/macho.h: Likewise.
23764 * include/multiboot.h: Likewise.
23765 * genmoddep.awk: Likewise.
23766 * normal/main.c: Likewise.
23767 * normal/menu_entry.c: Likewise.
23768 * normal/menu_viewer.c: Likewise.
23769 * normal/completion.c: Likewise.
23770 * normal/cmdline.c: Likewise.
23771 * normal/misc.c: Likewise.
23772 * normal/datetime.c: Likewise.
23773 * bus/usb/usbtrans.c: Likewise.
23774 * bus/usb/ohci.c: Likewise.
23775 * bus/usb/uhci.c: Likewise.
23776 * bus/usb/usb.c: Likewise.
23777 * mmap/efi/mmap.c: Likewise.
23778 * mmap/i386/pc/mmap_helper.S: Likewise.
23779 * mmap/i386/pc/mmap.c: Likewise.
23780 * mmap/i386/mmap.c: Likewise.
23781 * mmap/i386/uppermem.c: Likewise.
23782 * mmap/mmap.c: Likewise.
23783 * commands/acpi.c: Likewise.
23784 * commands/echo.c: Likewise.
23785 * commands/blocklist.c: Likewise.
23786 * commands/loadenv.c: Likewise.
23787 * commands/usbtest.c: Likewise.
23788 * commands/boot.c: Likewise.
23789 * commands/parttool.c: Likewise.
23790 * commands/search.c: Likewise.
23791 * commands/cat.c: Likewise.
23792 * commands/i386/pc/play.c: Likewise.
23793 * commands/i386/pc/drivemap.c: Likewise.
23794 * commands/i386/pc/vbeinfo.c: Likewise.
23795 * commands/i386/pc/acpi.c: Likewise.
23796 * commands/i386/pc/vbetest.c: Likewise.
23797 * commands/ls.c: Likewise.
23798 * commands/cmp.c: Likewise.
23799 * commands/test.c: Likewise.
23800 * commands/efi/acpi.c: Likewise.
23801 * commands/gptsync.c: Likewise.
23802 * commands/help.c: Likewise.
23803 * partmap/amiga.c: Likewise.
23804 * partmap/apple.c: Likewise.
23805 * partmap/acorn.c: Likewise.
23806 * partmap/pc.c: Likewise.
23807 * partmap/sun.c: Likewise.
23808 * partmap/gpt.c: Likewise.
23809 * script/sh/lexer.c: Likewise.
23810 * script/sh/function.c: Likewise.
23811 * font/font.c: Likewise.
23812 * font/font_cmd.c: Likewise.
23813 * loader/powerpc/ieee1275/linux.c: Likewise.
23814 * loader/efi/chainloader.c: Likewise.
23815 * loader/multiboot_loader.c: Likewise.
23816 * loader/macho.c: Likewise.
23817 * loader/i386/multiboot.c: Likewise.
23818 * loader/i386/linux.c: Likewise.
23819 * loader/i386/pc/linux.c: Likewise.
23820 * loader/i386/pc/multiboot2.c: Likewise.
23821 * loader/i386/pc/chainloader.c: Likewise.
23822 * loader/i386/pc/xnu.c: Likewise.
23823 * loader/i386/bsd_trampoline.S: Likewise.
23824 * loader/i386/efi/linux.c: Likewise.
23825 * loader/i386/multiboot_elfxx.c: Likewise.
23826 * loader/i386/bsd_helper.S: Likewise.
23827 * loader/i386/bsd.c: Likewise.
23828 * loader/i386/linux_trampoline.S: Likewise.
23829 * loader/i386/xnu_helper.S: Likewise.
23830 * loader/i386/xnu.c: Likewise.
23831 * loader/i386/bsd_pagetable.c: Likewise.
23832 * loader/i386/multiboot_helper.S: Likewise.
23833 * loader/xnu.c: Likewise.
23834 * loader/xnu_resume.c: Likewise.
23835 * io/gzio.c: Likewise.
23836 * term/efi/console.c: Likewise.
23837 * term/terminfo.c: Likewise.
23838 * term/ieee1275/ofconsole.c: Likewise.
23839 * term/i386/pc/serial.c: Likewise.
23840 * term/i386/pc/vesafb.c: Likewise.
23841 * term/i386/pc/vga.c: Likewise.
23842 * term/usb_keyboard.c: Likewise.
23843 * term/gfxterm.c: Likewise.
23844 * aclocal.m4: Likewise.
23845 * util/lvm.c: Likewise.
23846 * util/grub.d/30_os-prober.in: Likewise.
23847 * util/grub.d/10_hurd.in: Likewise.
23848 * util/console.c: Likewise.
23849 * util/grub-macho2img.c: Likewise.
23850 * util/grub-probe.c: Likewise.
23851 * util/hostfs.c: Likewise.
23852 * util/i386/pc/grub-mkimage.c: Likewise.
23853 * util/i386/pc/grub-setup.c: Likewise.
23854 * util/i386/efi/grub-mkimage.c: Likewise.
23855 * util/grub-mkconfig.in: Likewise.
23856 * util/raid.c: Likewise.
23857 * util/resolve.c: Likewise.
23858 * util/grub-mkdevicemap.c: Likewise.
23859 * util/grub-emu.c: Likewise.
23860 * util/getroot.c: Likewise.
23861 * util/hostdisk.c: Likewise.
23862 * util/usb.c: Likewise.
23863 * util/grub-editenv.c: Likewise.
23864 * util/misc.c: Likewise.
23865
d2d49665 238662009-06-10 Felix Zielcke <fzielcke@z-51.de>
23867
23868 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23869 `genparttoollist.sh'.
23870 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23871 Add `*.sh' to the list find searches for and change `mdate.sh'
23872 to `mdate-sh'.
23873
fe052e37 238742009-06-10 Pavel Roskin <proski@gnu.org>
23875
2763ac18 23876 * include/grub/multiboot2.h: Provide compatibility defines for
23877 multiboot2.h.
23878 * include/multiboot2.h: Include stdint.h only if needed, using
23879 angle brackets.
23880 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23881 grub/multiboot2.h.
23882 * loader/ieee1275/multiboot2.c: Likewise.
23883 * loader/multiboot2.c: Likewise.
23884 * loader/multiboot_loader.c: Likewise.
23885
437e6adc 23886 * configure.ac: Use -nostdlib when probing for the target. It
23887 should not be required to have libc for the target.
23888
06a6836c 23889 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23890 they fail without libc headers for the target.
23891 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23892 exports.
23893 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23894 preprocessor conditionals.
23895
fe052e37 23896 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23897 build system doesn't need to be aware of the tar.c internals.
23898
afd22553 238992009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 23900
afd22553 23901 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 23902
6b787c4f 239032009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23904
23905 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23906 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23907
239082009-06-09 Felix Zielcke <fzielcke@z-51.de>
23909
23910 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 23911 aren't available if ata.mod gets used.
6b787c4f 23912
473d1e45 239132009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 23914
473d1e45 23915 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 23916 initialising controller.
473d1e45 23917 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 23918
255a27d4 239192009-06-08 Felix Zielcke <fzielcke@z-51.de>
23920
23921 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23922 to choose between ata and biosdisk module on i386-pc.
23923
473d1e45 239242009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 23925
d55842d8 23926 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23927 Subclass and Programming Interface fields in terms of the 3 byte
23928 Class Code register.
23929 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23930
fa5db0b1 23931 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23932 interface is OHCI. Add grub_dprintf for symmetry with
23933 bus/usb/uhci.c.
23934 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23935 interface is UHCI. Add interf variable for programming
23936 interface. Print interface with class/subclass.
23937
c0947beb 23938 * bus/usb/ohci.c: Set interf with correct field.
23939
69da8877 23940 * bus/usb/uhci.c: Remove unneeded doubled lines.
23941 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23942 Remove whitespace inside comment.
23943
9e172e30 239442009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23945
23946 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23947 as fallback an equivalent option without depth.
23948
de65ee2b 239492009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23950
23951 Not fail if unable to retrieve C/H/S on LBA disks
23952
473d1e45 23953 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 23954 if unable to retrieve C/H/S on LBA disks
23955
b57ea2c9 239562009-06-08 Pavel Roskin <proski@gnu.org>
23957
23958 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23959 about aliasing.
23960
af361263 239612009-06-08 Felix Zielcke <fzielcke@z-51.de>
23962
23963 * Makefile.in (uninstall): Remove all $lib_DATA files.
23964
4c9ec6b3 239652009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23966
23967 Bugfix: install on partitionless device
23968
23969 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23970 is a whole disk
23971
e76fc924 239722009-06-08 Felix Zielcke <fzielcke@z-51.de>
23973
23974 * Makefile.in (uninstall): Remove all $include_DATA files.
23975
ba5a0d05 239762009-06-08 Felix Zielcke <fzielcke@z-51.de>
23977
23978 * commands/true.c: New file. Implement the true and false commands.
23979 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23980 (true_mod_SOURCES): New variable.
23981 (true_mod_CFLAGS): Likewise.
23982 (true_mod_LDFLAGS): Likewise.
23983
c8048e32 239842009-06-05 Colin D Bennett <colin@gibibit.com>
23985
23986 Optimized font character lookup using binary search instead of linear
23987 search. Fonts now are required to have the character index ordered by
23988 code point.
23989
23990 * font/font.c (load_font_index): Verify that fonts have ordered
23991 character indices.
23992 (find_glyph): Use binary search instead of linear search to find a
23993 character in a font.
23994
408305be 239952009-06-05 Michael Scherer <misc@mandriva.org>
23996
23997 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23998 uses case sensitive btree.
23999 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
24000 only for case insensitive filesystems.
24001
8ee1e0d9 240022009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
24003
24004 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
24005 * conf/common.rmk (search_mod_CFLAGS): likewise
24006
a9966eb1 240072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24008
473d1e45 24009 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 24010 compensate a compiler bug
24011
9e7100fb 240122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24013
473d1e45 24014 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 24015 instead of '\b'
473d1e45 24016
ede21d71 240172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24018
24019 Definitions for creating asm symbols with Apple's CC
24020
24021 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
24022 [APPLE_CC] (VARIABLE): likewise
24023
9dbf7653 240242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24025
24026 Disable lnxboot.img when compiled
24027 with Apple's CC
24028
24029 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
24030 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
24031 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
24032 [! APPLE_CC] (CODE_LENG): skip
24033 [! APPLE_CC] (setup_sects): likewise
24034 [! APPLE_CC]: skip filling
473d1e45 24035
e93cdc3d 240362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24037
24038 Address in trampolines based on 32-bit registers when compiled
24039 with Apple's CC
24040
473d1e45 24041 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 24042 for addresses
24043 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
24044
6c688477 240452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24046
24047 Avoid aliases when compiling with Apple's CC for PCBIOS machine
24048
24049 * kern/misc.c [APPLE_CC] (memcpy): new function
24050 [APPLE_CC] (memmove): likewise
24051 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 24052 (memcpy): define alias conditionally on !APPLE_CC
6c688477 24053 (memset): likewise
24054 (abort): likewise
24055 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
24056 APPLE_CC are defined
24057 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
24058 (grub_assert_fail): make prototype conditional
24059
e37ffc5c 240602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24061
24062 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
24063
473d1e45 24064 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
24065 grub-macho2img
e37ffc5c 24066 (CLEANFILES): add grub-macho2img
24067 (grub_macho2img_SOURCES): new variable
24068 * kern/i386/pc/startup.S (bss_start): new variable
24069 (bss_end): likewise
24070 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
24071 * util/grub-macho2img.c: new file
24072
cf00df31 240732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24074
24075 Use objconv when compiling with Apple's CC
24076
24077 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
24078 (efiemu64.o): likewise
24079 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
24080 when compiling with Apple's CC
24081 (efiemu64_s.o): likewise
24082 * configure.ac: check for objconv when compiling with Apple's CC
24083 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 24084
d119a20c 240852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24086
24087 Define segment as well as section when compiling with
24088 Apple's CC
24089
24090 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
24091 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
24092 (efiemu_convert_pointer): likewise
24093 (efiemu_set_virtual_address_map): likewise
24094 (efiemu_convert_pointer): likewise
24095 (efiemu_getcrc32): likewise
24096 (init_crc32_table): likewise
24097 (reflect): likewise
24098 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
24099 (GRUB_MOD_DEP): likewise
473d1e45 24100
c8600122 241012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24102
24103 Allow a compilation without -mcmodel=large
24104
24105 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
24106 when compiled without -mcmodel=large
473d1e45 24107 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 24108 without -mcmodel=large
473d1e45 24109 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 24110 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 24111
e8df1d4e 241122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24113
24114 Remove nested functions in efiemu core
24115
24116 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 24117
cc6c3ac1 241182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24119
24120 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
24121
24122 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
24123 temporary storage
473d1e45 24124 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
24125 using Apple's CC
cc6c3ac1 24126 (grub_cpu_is_tsc_supported): likewise
24127 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 24128
3e325901 241292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24130
24131 Absolute addressing through constant with Apple's cc
24132
24133 * kern/i386/pc/startup.S: Define necessary constants
24134 and address through it when using ABS with Apple's CC
24135 * boot/i386/pc/diskboot.S: likewise
24136 * boot/i386/pc/boot.S: likewise
24137 * boot/i386/pc/lnxboot.S: likewise
24138 * boot/i386/pc/cdboot.S: likewise
24139 * mmap/i386/pc/mmap_helper.S: likewise
24140 * commands/i386/pc/drivemap_int13h.S: likewise
24141
2b167a72 241422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24143
24144 Check if compiler is apple cc
24145
24146 * Makefile.in (ASFLAGS): new variable
24147 (TARGET_ASFLAGS): likewise
24148 (TARGET_MODULE_FORMAT): likewise
24149 (TARGET_APPLE_CC): likewise
24150 (OBJCONV): likewise
24151 (TARGET_IMG_CFLAGS): likewise
24152 (TARGET_CPPFLAGS): add includedir
24153 * configure.ac: call grub_apple_cc and grub_apple_target_cc
24154 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
24155 Check for linker script only if compiler isn't Apple's CC
24156 (TARGET_MODULE_FORMAT): set
24157 (TARGET_APPLE_CC): likewise
24158 (TARGET_ASFLAGS): likewise
24159 (ASFLAGS): likewise
24160 Check for objcopy only if compiler isn't Apple's CC
24161 Check for BSS symbol only if compiler isn't Apple's CC
24162 * genmk.rb: adapt nm options if we use Apple's utils
24163 * aclocal.m4 (grub_apple_cc): new test
24164 (grub_apple_target_cc): likewise
473d1e45 24165
fb14123e 241662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24167
24168 Simplify sed expressions and improve awk
24169
24170 * Makefile.in (install-local): simplify sed expression
24171 * gencmdlist.sh: likewise
24172 * genmoddep.awk: avoid adding module as a dependency of itself
24173
5b889789 241742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24175
24176 Add missing start symbols
24177
24178 * boot/i386/pc/boot.S: add start
fb14123e 24179 * boot/i386/pc/pxeboot.S: likewise
473d1e45 24180
fd2bf2e3 241812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24182
24183 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 24184
24185 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 24186 (relocate_addresses): consider both r_addend and value at offset
24187 (make_mods_section): zerofill modinfo and header
24188 (convert_elf): write prefix here
473d1e45 24189
5389763d 241902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24191
24192 Use .asciz instead of .string
24193
24194 * i386/pc/diskboot.S: use .asciz instead of .string
24195 * i386/pc/boot.S: likewise
24196 * include/grub/dl.h (GRUB_MOD_DEP): likewise
24197 (GRUB_MOD_NAME): likewise
473d1e45 24198
3eb5ed4e 241992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24200
24201 gfxpayload support
24202
24203 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
24204 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
24205 (grub_video_setup): remove
24206 (grub_video_set_mode): new prototype
24207 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
24208 (vid_mode): remove
24209 (linux_vesafb_res): compile only on PCBIOS
24210 (grub_linux_boot): support gfxpayload
24211 * loader/i386/pc/xnu.c (video_hook): new function
24212 (grub_xnu_set_video): support gfxpayload
24213 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
24214 (DEFAULT_VIDEO_HEIGHT): likewise
24215 (DEFAULT_VIDEO_FLAGS): likewise
24216 (DEFAULT_VIDEO_MODE): new definition
24217 (video_hook): new function
24218 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 24219 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 24220 loading xnu
24221 * video/video.c (grub_video_setup): removed
473d1e45 24222 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 24223 grub_video_setup
24224
4b0e1143 242252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24226
24227 Avoid calling biosdisk in drivemap
24228
24229 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
24230 (revparse_biosdisk): likewise
24231 (list_mappings): derive name from id directly
24232 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 24233
fda6cb98 242342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24235
24236 Script fixes
24237
24238 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
24239 (grub_lexer_param): add tokenonhold
24240 (grub_script_create_cmdline): remove cmdline. All callers updated
24241 (grub_script_function_create): make functionname
24242 grub_script_arg. All callers updated
24243 (grub_script_execute_argument_to_string): new prototype
24244 * kern/parser.c (state_transitions): reorder
24245 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 24246 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 24247 make global
24248 (grub_script_execute_cmdline): use new format
24249 * script/sh/function.c (grub_script_function_create): make functionname
24250 grub_script_arg. All callers updated
473d1e45 24251 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 24252 (grub_script_yylex): remove
24253 (grub_script_yylex2): renamed to ...
24254 (grub_script_yylex): ...renamed
24255 parse the expressions like a${b}c
24256 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
24257 (GRUB_PARSER_TOKEN_VAR): remove
24258 (GRUB_PARSER_TOKEN_NAME): likewise
24259 ("if"): declare as typeless
24260 ("while"): likewise
24261 ("function"): likewise
24262 ("else"): likewise
24263 ("then"): likewise
24264 ("fi"): likewise
24265 (text): remove
24266 (argument): likewise
24267 (script): accept empty scripts and make exit on error
24268 (arguments): use GRUB_PARSER_TOKEN_ARG
24269 (function): likewise
24270 (command): move error handling to script
24271 (menuentry): move grub_script_lexer_ref before
473d1e45 24272 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 24273 argument. All callers updated
24274
f4448a07 242752009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24276
24277 Prevent GRUB from probing floppies during boot.
24278
24279 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
24280 * commands/search.c (options): Add --no-floppy.
24281 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
24282 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
24283 --no-floppy when searching for UUIDs.
24284
2bf5885a 242852009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24286
24287 Simplify the code duplication in commands/search.c.
24288
24289 * commands/search.c (search_label, search_fs_uuid): Merge into ...
24290 (search_fs): ... this. Update all users.
24291
f6fd460a 242922009-06-03 Felix Zielcke <fzielcke@z-51.de>
24293
24294 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
24295
cbb3c83e 242962009-05-28 Pavel Roskin <proski@gnu.org>
24297
57788cfd 24298 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
24299 Remove the original symlink explicitly.
24300
cbb3c83e 24301 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
24302 just one slash. That's how grub_fshelp_find_file() does it.
24303
cd0d5e30 243042009-05-26 Pavel Roskin <proski@gnu.org>
24305
f0f8bbe2 24306 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
24307 to `str'.
24308
cd0d5e30 24309 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
24310 possibly unused.
24311
8c2cab51 243122009-05-25 Christian Franke <franke@computer.org>
24313
24314 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
24315 register.
24316 (grub_atapi_identify): Add wait after drive select.
24317 (grub_ata_identify): Do more strict status register check before
24318 calling grub_atapi_identify (). Suppress error message if status
24319 register is 0x00 after command failure. Add status register
24320 check after PIO read to avoid bogus identify due to stuck DRQ.
24321 Thanks to Pavel Roskin for testing.
24322 (grub_device_initialize): Remove unsafe status register check.
24323 Thanks to 'phcoder' for problem report and patch.
24324 Prevent sign extension in debug message.
24325
230c0ad6 243262009-05-23 Colin D Bennett <colin@gibibit.com>
24327
24328 Cleaned up `include/grub/normal.h'. Grouped prototypes by
24329 definition file, and functions defined in `normal/menu.c' have had
24330 their prototypes moved to `include/grub/menu.h' for consistency.
24331
24332 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
24333 from normal.h.
24334 (grub_menu_get_entry): Likewise.
24335 (grub_menu_get_timeout): Likewise.
24336 (grub_menu_set_timeout): Likewise.
24337 (grub_menu_execute_entry): Likewise.
24338 (grub_menu_execute_with_fallback): Likewise.
24339 (grub_menu_entry_run): Likewise.
24340
24341 * include/grub/normal.h: Re-ordered and grouped function
24342 prototypes by file that the function is defined in.
24343 (grub_menu_execute_callback): Removed; moved to menu.h.
24344 (grub_menu_get_entry): Likewise.
24345 (grub_menu_get_timeout): Likewise.
24346 (grub_menu_set_timeout): Likewise.
24347 (grub_menu_execute_entry): Likewise.
24348 (grub_menu_execute_with_fallback): Likewise.
24349 (grub_menu_entry_run): Likewise.
24350 (grub_menu_addentry): Renamed from this ...
24351 (grub_normal_add_menu_entry): ... to this.
24352
24353 * normal/main.c (grub_menu_addentry): Renamed from this ...
24354 (grub_normal_add_menu_entry): ... to this.
24355
24356 * script/sh/execute.c (grub_script_execute_menuentry): Update
24357 reference to renamed grub_menu_addentry function.
24358
861f03a5 243592009-05-23 Felix Zielcke <fzielcke@z-51.de>
24360
24361 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
24362
96b1619a 243632009-05-22 Pavel Roskin <proski@gnu.org>
24364
bf6a5fb2 24365 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
24366 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
24367 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
24368 compiling for the i386 targets, but not for the utilities.
24369
96b1619a 24370 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
24371 to grub_uint8_t.
24372 (grub_root_drive): Likewise.
24373 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
24374 remove alignment.
24375 (grub_root_drive): Change size to byte.
24376 (grub_start_addr): Remove.
24377 (grub_end_addr): Likewise.
24378 (grub_apm_bios_info): Likewise.
24379
b729776b 243802009-05-21 Felix Zielcke <fzielcke@z-51.de>
24381
24382 * normal/i386: Remove.
24383 * normal/powerpc: Likewise.
24384 * normal/sparc64: Likewise.
24385 * normal/x86_64: Likewise.
24386
0a15ce80 243872009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
24388
24389 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 24390 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 24391 * loader/i386/xnu_helper.S: Likewise
d6da58e6 24392
33db9015 243932009-05-18 Colin D Bennett <colin@gibibit.com>
24394
d6da58e6 24395 Display error messages when parsing a Lua statement fails.
24396 Previously, executing a syntactically invalid statement like
24397 ")foo" or "bar;" would silently fail.
33db9015 24398
24399 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 24400 (grub_lua_parse_line): Improved reporting of Lua parser and
24401 execution errors.
33db9015 24402
46422c89 244032009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24404
24405 Remove -Werror which causes build to fail on some systems
24406
24407 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
24408 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
24409 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 24410
22f53a96 244112009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24412
24413 trampoline for linux on 64-bit platform
24414
18f547ad 24415 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
24416 loader/i386/efi/linux_trampoline.S
24417 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 24418 declaration
d6da58e6 24419 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
24420 here
22f53a96 24421 * loader/i386/linux_trampoline.S: moved here
d6da58e6 24422 * loader/i386/efi/linux.c (allocate_pages): reserve space for
24423 trampoline
22f53a96 24424 (jumpvector): removed
24425 (grub_linux_trampoline_start): new declaration
24426 (grub_linux_trampoline_end): likewise
24427 (grub_linux_boot): use trampoline when on 64-bit platform
24428 * loader/i386/linux.c: likewise
24429
cb5a0f40 244302009-05-16 Pavel Roskin <proski@gnu.org>
24431
24432 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
24433 const to avoid a warning.
24434 (grub_lua_setenv): Likewise.
24435 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
24436 lmsg to fix a warning.
24437
334f2c28 244382009-05-16 Felix Zielcke <fzielcke@z-51.de>
24439
24440 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 24441 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24442 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
24443 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24444 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24445 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24446 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24447 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 24448
59e5d3ec 244492009-05-16 Felix Zielcke <fzielcke@z-51.de>
24450
24451 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
24452
9d87a1ba 244532009-05-16 Bean <bean123ch@gmail.com>
24454
24455 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
24456 (lua_mod_SOURCES): New variable.
24457 (lua_mod_CFLAGS): Likewise.
24458 (lua_mod_LDFLAGS): Likewise.
24459
24460 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
24461 (setjmp_mod_SOURCES): New variable.
24462 (setjmp_mod_CFLAGS): Likewise.
24463 (setjmp_LDFLAGS): Likewise.
24464
24465 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
24466 (setjmp_mod_SOURCES): New variable.
24467 (setjmp_mod_CFLAGS): Likewise.
24468 (setjmp_LDFLAGS): Likewise.
24469
24470 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24471 (setjmp_mod_SOURCES): New variable.
24472 (setjmp_mod_CFLAGS): Likewise.
24473 (setjmp_LDFLAGS): Likewise.
24474
24475 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24476 (setjmp_mod_SOURCES): New variable.
24477 (setjmp_mod_CFLAGS): Likewise.
24478 (setjmp_LDFLAGS): Likewise.
24479
24480 * normal/i386/setjmp.S: Moved from here ...
24481 * lib/i386/setjmp.S: ... Moved here
24482 * normal/x86_64/setjmp.S: Moved from here ...
24483 * lib/x86_64/setjmp.S: ... Moved here
24484 * normal/powerpc/setjmp.S: Moved from here ...
24485 * lib/powerpc/setjmp.S: ... Moved here
24486 * normal/sparc64/setjmp.S: Moved from here ...
24487 * lib/sparc64/setjmp.S: ... Moved here
24488
24489 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
24490 returns_twice in mingw.
24491
24492 * script/lua/grub_lib.c: New file.
24493 * script/lua/grub_lib.h: Likewise.
24494 * script/lua/grub_lua.h: Likewise.
24495 * script/lua/grub_main.c: Likewise.
24496 * script/lua/lapi.c: Likewise.
24497 * script/lua/lapi.h: Likewise.
24498 * script/lua/lauxlib.c: Likewise.
24499 * script/lua/lauxlib.h: Likewise.
24500 * script/lua/lbaselib.c: Likewise.
24501 * script/lua/lcode.c: Likewise.
24502 * script/lua/lcode.h: Likewise.
24503 * script/lua/ldblib.c: Likewise.
24504 * script/lua/ldebug.c: Likewise.
24505 * script/lua/ldebug.h: Likewise.
24506 * script/lua/ldo.c: Likewise.
24507 * script/lua/ldo.h: Likewise.
24508 * script/lua/ldump.c: Likewise.
24509 * script/lua/lfunc.c: Likewise.
24510 * script/lua/lfunc.h: Likewise.
24511 * script/lua/lgc.c: Likewise.
24512 * script/lua/lgc.h: Likewise.
24513 * script/lua/linit.c: Likewise.
24514 * script/lua/liolib.c: Likewise.
24515 * script/lua/llex.c: Likewise.
24516 * script/lua/llex.h: Likewise.
24517 * script/lua/llimits.h: Likewise.
24518 * script/lua/lmathlib.c: Likewise.
24519 * script/lua/lmem.c: Likewise.
24520 * script/lua/lmem.h: Likewise.
24521 * script/lua/loadlib.c: Likewise.
24522 * script/lua/lobject.c: Likewise.
24523 * script/lua/lobject.h: Likewise.
24524 * script/lua/lopcodes.c: Likewise.
24525 * script/lua/lopcodes.h: Likewise.
24526 * script/lua/loslib.c: Likewise.
24527 * script/lua/lparser.c: Likewise.
24528 * script/lua/lparser.h: Likewise.
24529 * script/lua/lstate.c: Likewise.
24530 * script/lua/lstate.h: Likewise.
24531 * script/lua/lstring.c: Likewise.
24532 * script/lua/lstring.h: Likewise.
24533 * script/lua/lstrlib.c: Likewise.
24534 * script/lua/ltable.c: Likewise.
24535 * script/lua/ltable.h: Likewise.
24536 * script/lua/ltablib.c: Likewise.
24537 * script/lua/ltm.c: Likewise.
24538 * script/lua/ltm.h: Likewise.
24539 * script/lua/lua.h: Likewise.
24540 * script/lua/luaconf.h: Likewise.
24541 * script/lua/lualib.h: Likewise.
24542 * script/lua/lundump.c: Likewise.
24543 * script/lua/lundump.h: Likewise.
24544 * script/lua/lvm.c: Likewise.
24545 * script/lua/lvm.h: Likewise.
24546 * script/lua/lzio.c: Likewise.
24547 * script/lua/lzio.h: Likewise.
24548
5e898c9d 245492009-05-16 Bean <bean123ch@gmail.com>
24550
24551 * include/grub/kernel.h (grub_module_header_types): Add type
24552 OBJ_TYPE_CONFIG.
24553
24554 * kern/main.c (grub_load_config): New function.
24555 (grub_main): Call grub_load_config to read boot config.
24556
24557 * grub-mkimage (generate_image): New parameter config_path.
24558 (options): New option --config.
24559 (main): Parse --config option, and pass it to generate_image.
24560
cf353a47 245612009-05-14 Christian Franke <franke@computer.org>
24562
24563 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
24564 This fixes build on Cygwin.
24565
3834887f 245662009-05-14 Pavel Roskin <proski@gnu.org>
24567
24568 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
24569 jump. This saves two bytes, so the typical case of 2 swapped
24570 drives would fit 32 bytes.
24571
8090fc01 245722009-05-13 Pavel Roskin <proski@gnu.org>
24573
ac963883 24574 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
24575 grub_uint32_t to avoid a warning.
24576
8090fc01 24577 * loader/i386/linux.c (allocate_pages): When assigning
24578 real_mode_mem, cast through grub_size_t to fix a warning. The
24579 code already makes sure that the value would fit a pointer.
24580 (grub_linux_setup_video): Cast render_target->data to
24581 grub_size_t to fix a warning.
24582
18f547ad 245832009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 24584
24585 * commands/i386/pc/drivemap.c: New file - implement drivemap
24586 command.
24587 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
24588 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
24589
6f6a8b28 245902009-05-13 Pavel Roskin <proski@gnu.org>
24591
24592 * util/i386/pc/grub-setup.c (setup): Remove unused variable
24593 embedding_area_exists.
24594
15fbf4c4 245952009-05-13 Robert Millan <rmh.grub@aybabtu.com>
24596
24597 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
24598 it easier to understand / work with.
59978c8a 24599 Improve warning messages for cases where there's no embedding area,
24600 or when it is too small (or core.img too large).
15fbf4c4 24601
238e871f 246022009-05-13 Pavel Roskin <proski@gnu.org>
24603
0ab3a9a4 24604 * loader/i386/pc/multiboot2.c: Add necessary includes for
24605 grub_multiboot2_real_boot().
24606
a2c8c5f8 24607 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
24608 PX record is always little-endian. We only need the lower 2
24609 bytes of the mode.
24610
faec96af 24611 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
24612 facilitate code reuse.
24613 (grub_cpio_mount): Use "struct head", not a char buffer. This
24614 fixes a warning reported by gcc 4.4.
24615
238e871f 24616 * kernel/disk.c (grub_disk_read): Use void pointer for the
24617 buffer.
24618 (grub_disk_write): Use const void pointer for the buffer.
24619 Adjust all callers. Remove unnecessary casts.
24620
901d2f0c 246212009-05-10 Robert Millan <rmh.grub@aybabtu.com>
24622
24623 * util/i386/pc/grub-install.in: Update copyright year.
24624
18f547ad 246252009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 24626
24627 gptsync
24628
24629 * commands/gptsync.c: new file
24630 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
24631 (gptsync_mod_SOURCES): new variable
24632 (gptsync_mod_CFLAGS): likewise
24633 (gptsync_mod_LDFLAGS): likewise
18f547ad 24634 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 24635 new definition
24636 (GRUB_PC_PARTITION_TYPE_HFS): likewise
24637 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
24638 * conf/i386-ieee1275.rmk: likewise
24639 * conf/i386-pc.rmk: likewise
24640 * conf/powerpc-ieee1275.rmk: likewise
24641
b4ba690a 246422009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24643
24644 Fixed grub-emu
24645
24646 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
24647 (grub_dl_ref): likewise
24648
317e1a44 246492009-05-08 Robert Millan <rmh.grub@aybabtu.com>
24650
24651 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
24652 split in two functions (one for msdos and one for gpt).
24653
041b8094 246542009-05-08 Pavel Roskin <proski@gnu.org>
24655
752473c2 24656 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
24657 not modified.
24658
041b8094 24659 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
24660 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
24661 Initialize them with -1. Add sanity check for bad1. Eliminate
24662 nerr variable.
24663
172800ce 246642009-05-08 David S. Miller <davem@davemloft.net>
24665
24666 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
24667
29aa5e81 246682009-05-06 Robert Millan <rmh.grub@aybabtu.com>
24669
24670 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 24671 existence.
29aa5e81 24672
96613b62 246732009-05-05 Felix Zielcke <fzielcke@z-51.de>
24674
24675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 24676 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 24677
eef73c8a 246782009-05-05 David S. Miller <davem@davemloft.net>
24679
24680 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
24681
119494b5 246822009-05-05 Pavel Roskin <proski@gnu.org>
24683
24684 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
24685 of grub_dl_ref() and grub_dl_unref().
24686 * commands/parttool.c: Remove preprocessor conditionals around
24687 grub_dl_ref() and grub_dl_unref().
24688 * fs/affs.c: Likewise.
24689 * fs/afs.c: Likewise.
24690 * fs/cpio.c: Likewise.
24691 * fs/ext2.c: Likewise.
24692 * fs/fat.c: Likewise.
24693 * fs/hfs.c: Likewise.
24694 * fs/hfsplus.c: Likewise.
24695 * fs/iso9660.c: Likewise.
24696 * fs/jfs.c: Likewise.
24697 * fs/minix.c: Likewise.
24698 * fs/ntfs.c: Likewise.
24699 * fs/reiserfs.c: Likewise.
24700 * fs/sfs.c: Likewise.
24701 * fs/udf.c: Likewise.
24702 * fs/ufs.c: Likewise.
24703 * fs/xfs.c: Likewise.
24704 * include/grub/dl.h: Likewise.
24705 * loader/xnu.c: Likewise.
24706
de5fd76e 247072009-05-04 Pavel Roskin <proski@gnu.org>
24708
24709 * commands/acpi.c: Remove unused variable my_mod.
24710 * partmap/amiga.c: Likewise.
24711 * partmap/apple.c: Likewise.
24712 * partmap/gpt.c: Likewise.
24713 * partmap/pc.c: Likewise.
24714 * partmap/sun.c: Likewise.
24715 * term/gfxterm.c: Likewise.
24716 * term/i386/pc/vesafb.c: Likewise.
24717 * term/i386/pc/vga.c: Likewise.
24718
983598ad 247192009-05-04 David S. Miller <davem@davemloft.net>
24720
24721 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24722 pointer args to grub_ieee1275_get_property().
24723
8aadec43 24724 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24725
9554b15e 24726 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24727 devices, and do not traverse down under controller nodes.
24728
67e23c90 24729 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24730 (grub_ofdisk_open): Use it to un-escape "," characters.
24731 * kern/disk.c (find_part_sep): New.
24732 (grub_disk_open): Use it to find the first non-escaped ','
24733 character in the disk name.
24734 * util/ieee1275/devicemap.c (escape_of_path): New.
24735 (grub_util_emit_devicemap_entry): Use it.
24736 * util/sparc64/ieee1275/grub-install.in: Update script to
24737 strip partition specifiers properly by not triggering on
24738 '\' escaped ',' characters.
24739
74bfdd2f 247402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24741
24742 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24743 to 0x300.
24744 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24745 resolutions.
24746 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24747 on documentation from Wikipedia).
24748
4241d2b1 247492009-05-04 Pavel Roskin <proski@gnu.org>
24750
24751 * disk/ata.c: Spelling fixes.
24752 * disk/raid.c: Likewise.
24753 * disk/usbms.c: Likewise.
24754 * disk/dmraid_nvidia.c: Likewise.
24755 * kern/ieee1275/openfw.c: Likewise.
24756 * kern/ieee1275/init.c: Likewise.
24757 * kern/ieee1275/cmain.c: Likewise.
24758 * boot/i386/pc/cdboot.S: Likewise.
24759 * video/readers/png.c: Likewise.
24760 * video/i386/pc/vbe.c: Likewise.
24761 * fs/udf.c: Likewise.
24762 * fs/hfs.c: Likewise.
24763 * fs/reiserfs.c: Likewise.
24764 * efiemu/runtime/efiemu.c: Likewise.
24765 * efiemu/main.c: Likewise.
24766 * efiemu/mm.c: Likewise.
24767 * include/grub/elf.h: Likewise.
24768 * include/grub/xnu.h: Likewise.
24769 * include/grub/usbdesc.h: Likewise.
24770 * include/grub/usb.h: Likewise.
24771 * include/grub/script_sh.h: Likewise.
24772 * include/grub/lib/LzmaEnc.h: Likewise.
24773 * include/grub/efiemu/efiemu.h: Likewise.
24774 * include/grub/command.h: Likewise.
24775 * normal/menu.c: Likewise.
24776 * normal/main.c: Likewise.
24777 * normal/datetime.c: Likewise.
24778 * bus/usb/uhci.c: Likewise.
24779 * mmap/i386/uppermem.c: Likewise.
24780 * mmap/mmap.c: Likewise.
24781 * commands/acpi.c: Likewise.
24782 * commands/test.c: Likewise.
24783 * partmap/apple.c: Likewise.
24784 * font/font.c: Likewise.
24785 * loader/sparc64/ieee1275/linux.c: Likewise.
24786 * loader/macho.c: Likewise.
24787 * loader/i386/bsd_trampoline.S: Likewise.
24788 * loader/i386/bsd.c: Likewise.
24789 * loader/xnu.c: Likewise.
24790 * term/i386/pc/vesafb.c: Likewise.
24791 * term/usb_keyboard.c: Likewise.
24792 * util/resolve.c: Likewise.
24793 * util/getroot.c: Likewise.
24794
0cfc0083 247952009-05-04 Felix Zielcke <fzielcke@z-51.de>
24796
24797 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24798
7c1d00cd 247992009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24800
24801 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24802 build error.
24803
b01f0548 248042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24805
24806 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24807 parameter only available on BIOS.
24808
ecc3eb22 248092009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24810
24811 Removed wrong semicolon in declaration
24812
24813 * grub/misc.h (grub_dprintf): remove semicolon
24814
112972a9 248152009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24816
24817 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24818 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24819 is done by grub_cmd_linux() now).
24820 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24821 restore video to text mode.
24822 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24823 indicates lack of "vga=" parameter. "vga=0" is mapped to
24824 `GRUB_LINUX_VID_MODE_NORMAL'.
24825
afd5c115 248262009-05-04 Felix Zielcke <fzielcke@z-51.de>
24827
24828 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24829 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24830 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 24831 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 24832 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24833 `grub_script.tab.c'.
24834
24835 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24836 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24838 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24839 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24840
faa517ce 24841 * Makefile.in: Remove duplicated 2008 in Copyright line.
24842
ae0c0bdc 248432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24844
473d1e45 24845 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 24846 unconditionally.
24847 * include/grub/util/misc.h (grub_util_warn): New declaration.
24848
24849 * util/i386/pc/grub-install.in: Understand --force and pass it down
24850 to grub-setup.
24851
24852 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24853 down to setup().
24854 (setup): Improve error messages and add warnings when requested to
24855 install in odd layouts. Refuse to install using blocklists unless
24856 --force was set.
24857
18f547ad 248582009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 24859
24860 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24861
6d260daa 248622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24863
24864 Updated copyright year
24865
24866 * fs/hfsplus.c: updated copyright year
18f547ad 24867
69f853f8 248682009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24869
24870 HFS+ UUID
24871
18f547ad 24872 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 24873 in the space previously used by unused3
24874 (grub_hfsplus_uuid): new function
24875 (grub_hfsplus_fs): added uuid field
24876
4c402e73 248772009-05-03 Pavel Roskin <proski@gnu.org>
24878
24879 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24880 suppress warnings. It's no longer needed.
24881 * disk/host.c: Likewise.
24882 * disk/ata_pthru.c: Likewise.
24883 * disk/loopback.c: Likewise.
24884 * hook/datehook.c: Likewise.
24885 * parttool/pcpart.c: Likewise.
24886 * fs/i386/pc/pxe.c: Likewise.
24887 * fs/ntfscomp.c: Likewise.
24888 * efiemu/main.c: Likewise.
24889 * mmap/mmap.c: Likewise.
24890 * commands/crc.c: Likewise.
24891 * commands/hexdump.c: Likewise.
24892 * commands/hdparm.c: Likewise.
24893 * commands/acpi.c: Likewise.
24894 * commands/echo.c: Likewise.
24895 * commands/minicmd.c: Likewise.
24896 * commands/blocklist.c: Likewise.
24897 * commands/memrw.c: Likewise.
24898 * commands/loadenv.c: Likewise.
24899 * commands/usbtest.c: Likewise.
24900 * commands/lsmmap.c: Likewise.
24901 * commands/boot.c: Likewise.
24902 * commands/parttool.c: Likewise.
24903 * commands/configfile.c: Likewise.
24904 * commands/search.c: Likewise.
24905 * commands/ieee1275/suspend.c: Likewise.
24906 * commands/cat.c: Likewise.
24907 * commands/i386/pc/pxecmd.c: Likewise.
24908 * commands/i386/pc/play.c: Likewise.
24909 * commands/i386/pc/halt.c: Likewise.
24910 * commands/i386/pc/vbeinfo.c: Likewise.
24911 * commands/i386/pc/vbetest.c: Likewise.
24912 * commands/lspci.c: Likewise.
24913 * commands/date.c: Likewise.
24914 * commands/handler.c: Likewise.
24915 * commands/ls.c: Likewise.
24916 * commands/test.c: Likewise.
24917 * commands/cmp.c: Likewise.
24918 * commands/efi/loadbios.c: Likewise.
24919 * commands/efi/fixvideo.c: Likewise.
24920 * commands/halt.c: Likewise.
24921 * commands/help.c: Likewise.
24922 * commands/reboot.c: Likewise.
24923 * hello/hello.c: Likewise.
24924 * script/sh/main.c: Likewise.
24925 * loader/xnu.c: Likewise.
24926 * term/terminfo.c: Likewise.
24927 * term/i386/pc/serial.c: Likewise.
24928 * term/usb_keyboard.c: Likewise.
24929
515b5079 249302009-05-03 David S. Miller <davem@davemloft.net>
24931
24932 * normal/menu.c: Include grub/parser.h
24933
dfc31a22 249342009-05-03 Pavel Roskin <proski@gnu.org>
24935
2fee74f1 24936 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24937 not char*.
24938 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24939 Suggested by Javier Martín <lordhabbit@gmail.com>
24940
dfc31a22 24941 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24942 efiemu??.o doesn't exist.
24943 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24944 copying.
24945
18f547ad 249462009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 24947
24948 FreeBSD 64-bit support
24949
18f547ad 24950 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 24951 and loader/i386/bsd_trampoline.S
24952 (bsd_mod_ASFLAGS): new variable
24953 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24954 (FREEBSD_MODTYPE_KERNEL64): likewise
24955 (grub_bsd64_trampoline_start): likewise
24956 (grub_bsd64_trampoline_end): likewise
24957 (grub_bsd64_trampoline_selfjump): likewise
24958 (grub_bsd64_trampoline_gdt): likewise
24959 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24960 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24961 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24962 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 24963 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 24964 of "attrib" member
24965 * loader/i386/bsd_pagetable.c: new file
24966 * loader/i386/bsd_trampoline.S: likewise
24967 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24968 (ALIGN_VAR): likewise
24969 (entry_hi): new variable
24970 (kern_end_mdofs): likewise
24971 (is_64bit): likewise
24972 (grub_freebsd_add_meta): use ALIGN_VAR
24973 (grub_e820_mmap): new declaration
24974 (grub_freebsd_add_mmap): new function
24975 (grub_freebsd_add_meta_module): support 64 bit kernels
24976 (grub_freebsd_list_modules): use ALIGN_VAR
24977 (gdt_descriptor): new declaration
24978 (grub_freebsd_boot): support 64 bit kernels
24979 (grub_bsd_elf64_hook): new function
24980 (grub_bsd_load_elf): support elf64
24981
038c5720 249822009-05-03 Bean <bean123ch@gmail.com>
24983
24984 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24985 after we get the result of if statement.
24986
fc45fb58 249872009-05-03 Bean <bean123ch@gmail.com>
24988
24989 * Makefile.in (enable_efiemu): New variable.
24990
24991 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24992 set.
24993 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24994 path.
24995 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24996 path, add -mno-red-zone option.
24997 (efiemu64_s.o): Likewise.
24998 (efiemu64.o): Use macro $^ for source file.
24999
25000 * configure.ac (--enable-efiemu): New option.
25001
bbee0f2b 250022009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25003
25004 xnu support
25005
25006 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
25007 (pkglib_MODULES): add xnu.mod
25008 (xnu_mod_SOURCES): new variable
25009 (xnu_mod_CFLAGS): likewise
25010 (xnu_mod_LDFLAGS): likewise
25011 (xnu_mod_ASFLAGS): likewise
25012 * conf/i386-pc.rmk: likewise
25013 * conf/x86_64-efi.rmk: likewise
7dd4a573 25014 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 25015 new declaration
25016 * include/grub/i386/macho.h: new file
25017 * include/grub/i386/xnu.h: likewise
25018 * include/grub/macho.h: likewise
25019 * include/grub/machoload.h: likewise
25020 * include/grub/x86_64/macho.h: likewise
25021 * include/grub/x86_64/xnu.h: likewise
25022 * include/grub/xnu.h: likewise
25023 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
25024 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
25025 * loader/i386/efi/xnu.c: new file
25026 * loader/i386/pc/xnu.c: likewise
25027 * loader/i386/xnu.c: likewise
25028 * loader/i386/xnu_helper.S: likewise
25029 * loader/macho.c: likewise
25030 * loader/xnu.c: likewise
25031 * loader/xnu_resume.c: likewise
25032 * util/grub-dumpdevtree: likewise
25033 * include/grub/i386/pit.h: include grub/err.h
25034 (grub_pit_wait): export
25035 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 25036
5caf964d 250372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25038
25039 Efiemu
7dd4a573 25040
5caf964d 25041 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 25042 _linux_efi, linux_efi.
25043 new files in grub-emu
5caf964d 25044 new targets efiemu32.o and efiemu64.o
25045 * loader/linux_normal_efiemu.c: likewise
25046 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 25047 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 25048 files to copy
25049 * include/grub/autoefi.h: new file
7dd4a573 25050 * include/grub/i386/efiemu.h: likewise
5caf964d 25051 * include/grub/i386/pc/efiemu.h: likewise
25052 * include/grub/efi/api.h: add LL suffix when necessary
25053 new definitions relating to tables
25054 * include/grub/efiemu/efiemu.h: new file
25055 * include/grub/efiemu/runtime.h: likewise
25056 * efiemu/prepare.c: likewise
25057 * efiemu/loadcore_common.c: likewise
25058 * efiemu/loadcore64.c: likewise
25059 * efiemu/runtime/efiemu.sh: likewise
25060 * efiemu/runtime/efiemu.S: likewise
25061 * efiemu/runtime/efiemu.c: likewise
25062 * efiemu/runtime/config.h: likewise
25063 * efiemu/prepare32.c: likewise
25064 * efiemu/main.c: likewise
25065 * efiemu/modules/pnvram.c: likewise
25066 * efiemu/modules/i386: likewise
25067 * efiemu/modules/i386/pc: likewise
25068 * efiemu/modules/acpi.c: likewise
25069 * efiemu/i386/pc/cfgtables.c: likewise
25070 * efiemu/i386/loadcore64.c: likewise
25071 * efiemu/i386/loadcore32.c: likewise
25072 * efiemu/prepare64.c: likewise
25073 * efiemu/loadcore.c: likewise
25074 * efiemu/symbols.c: likewise
25075 * efiemu/mm.c: likewise
25076 * efiemu/loadcore32.c: likewise
7dd4a573 25077
250782009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 25079
25080 ACPI spoofing
25081
25082 * commands/acpi.c: new file
25083 * commands/i386/pc/acpi.c: likewise
25084 * commands/efi/acpi.c: likewise
25085 * include/grub/acpi.h: likewise
25086 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
25087 (acpi_mod_SOURCES): new variable
25088 (acpi_mod_CFLAGS): likewise
25089 (acpi_mod_LDFLAGS): likewise
25090 * conf/i386-efi.rmk: likewise
25091 * conf/x86_64-efi.rmk: likewise
25092
7dd4a573 250932009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 25094
25095 Missing part from mmap patch
25096
25097 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
25098 (grub_mmap_unregister)
25099 (grub_mmap_free_and_unregister): use grub_mmap_register
25100
7dd4a573 251012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 25102
25103 Mmap services
25104
25105 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
25106 * loader/i386/linux.c (find_mmap_size): likewise
25107 (allocate_pages): likewise
25108 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
25109 (grub_fill_multiboot_mmap): likewise
25110 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
25111 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
25112 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
25113 (OPENBSD_MMAP_RESERVED): likewise
25114 * include/grub/i386/pc/memory.h: include grub/memory.h
25115 (grub_lower_mem): removed
25116 (grub_upper_mem): likewise
25117 (GRUB_MACHINE_MEMORY_ACPI): new definition
25118 (GRUB_MACHINE_MEMORY_NVS): likewise
25119 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
25120 (GRUB_MACHINE_MEMORY_HOLE): likewise
25121 (grub_machine_mmap_register): likewise
25122 (grub_machine_mmap_unregister): likewise
25123 (grub_machine_get_upper): likewise
25124 (grub_machine_get_lower): likewise
25125 (grub_machine_get_post64): likewise
25126 * include/grub/i386/efi/memory.h: new file
25127 * include/grub/x86_64/efi/memory.h: likewise
25128 * include/grub/efi/memory.h: likewise
25129 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
25130 (mmap_mod_SOURCES): new variable
25131 (mmap_mod_LDFLAGS): likewise
25132 (mmap_mod_ASFLAGS): likewise
25133 * conf/i386-coreboot.rmk: likewise
25134 * conf/i386-ieee1275.rmk: likewise
25135 * conf/i386-efi.rmk: likewise
25136 * conf/x86_64-efi.rmk: likewise
25137 * include/grub/types.h (UINT_TO_PTR): new macro
25138 (PTR_TO_UINT32): likewise
25139 (PTR_TO_UINT64): likewise
25140 * include/grub/memory.h: new file
25141 * mmap/i386/pc/mmap.c: likewise
25142 * mmap/i386/pc/mmap_helper.S: likewise
25143 * mmap/i386/uppermem.c: likewise
25144 * mmap/mmap.c: likewise
25145 * mmap/efi/mmap.c: likewise
7dd4a573 25146 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 25147 grub_upper_mem
25148 * kern/i386/pc/init.c (grub_lower_mem): removed variable
25149 (grub_upper_mem): likewise
25150 (grub_machine_init): don't use grub_upper_mem,
25151 make grub_lower_mem local
25152 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
25153 grub_mmap_iterate and grub_mmap_get_upper
25154 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
25155
d558e6b5 251562009-05-02 Bean <bean123ch@gmail.com>
25157
25158 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
25159 script/sh/parser.y.
25160 (pkglib_MODULES): Add normal.mod and sh.mod.
25161 (normal_SOURCES): New variable.
25162 (normal_mod_CFLAGS): Likewise.
25163 (normal_mod_LDFLAGS): Likewise.
25164 (sh_mod_SOURCES): Likewise.
25165 (sh_mod_CFLAGS): Likewise.
25166 (sh_mod_LDFLAGS): Likewise.
25167
25168 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
25169 script/sh/lexer.c_DEPENDENCIES.
25170 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
25171 kern/rescue_reader.c and kern/rescue_parser.c.
25172 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
25173 (grub_emu_SOURCES): Change source files.
25174 (pkglib_MODULES): Remove normal.mod.
25175 (normal_SOURCES): Removed.
25176 (normal_mod_CFLAGS): Likewise.
25177 (normal_mod_LDFLAGS): Likewise.
25178 * conf/i386-coreboot.rmk: Likewise.
25179 * conf/i386-efi.rmk: Likewise.
25180 * conf/i386-ieee1276.rmk: Likewise.
25181 * conf/powerpc-ieee1275.rmk: Likewise.
25182 * conf/sparc64-ieee1275.rmk: Likewise.
25183 * conf/x86_64-efi.rmk: Likewise.
25184
25185 * include/grub/command.h (grub_command_execute): New inline function.
25186
25187 * include/grub/menu.h (grub_menu_entry): Removed commands field.
25188
25189 * include/grub/normal.h: Remove <grub/setjmp.h>.
25190 (grub_fs_module_list): Moved to normal/autofs.c.
25191 (grub_exit_env): Removed.
25192 (grub_command_execute): Likewise.
25193 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
25194 parameter script.
25195 (read_command_list): New function declaration.
25196 (read_fs_list): Likewise.
25197
25198 * include/parser.h: Include <grub/reader.h>.
25199 (grub_parser_split_cmdline): Change type of getline parameter.
25200 (grub_parser): New structure.
25201 (grub_parser_class): New variable.
25202 (grub_parser_execute): New function declaration.
25203 (grub_register_rescue_parser): Likewise.
25204 (grub_parser_register): New inline function.
25205 (grub_parser_unregister): Likewise.
25206 (grub_parser_get_current): Likewise.
25207 (grub_parser_set_current): Likewise.
25208
25209 * include/grub/reader.h: New file.
25210 * kern/reader.c: Likewise.
25211 * kern/rescue_parser.c: Likewise.
25212 * kern/rescue_reader.c: Likewise.
25213 * normal/autofs.c: Likewise.
25214 * normal/dyncmd.c: Likewise.
25215
25216 * include/grub/rescue.h: Removed.
25217 * normal/command.h: Likewise.
25218
25219 * include/grub/script.h: Moved to ...
25220 * include/grub/script_sh.h: ... Moved here.
25221 * normal/execute.c: Moved to ...
25222 * script/sh/execute.c: ... Moved here.
25223 * normal/function.c: Moved to ...
25224 * script/sh/function.c: ... Moved here.
25225 * normal/lexer.c: Moved to ...
25226 * script/sh/lexer.c: ... Moved here.
25227 * normal/parser.y: Moved to ...
25228 * script/sh/parser.y: ... Moved here.
25229 * normal/script.c: Moved to ...
25230 * script/sh/script.c: ... Moved here.
25231
25232 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
25233 <grub/reader.h>.
25234 (grub_exit_env): Removed.
25235 (fs_module_list): Moved to normal/autofs.c.
25236 (grub_file_getline): Don't handle comment here.
25237 (free_menu): Skip removed field entry->commands.
25238 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
25239 script parameter.
25240 (read_config_file): Removed nested parameter, change getline function.
25241 (grub_enter_normal_mode): Removed.
25242 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
25243 (read_command_list): Likewise.
25244 (autoload_fs_module): Moved to normal/autofs.c.
25245 (read_fs_list): Likewise.
25246 (reader_nested): New variable.
25247 (grub_normal_execute): Run parser.sh to switch to sh parser.
25248 (grub_cmd_rescue): Removed.
25249 (cmd_normal): Removed.
25250 (grub_cmd_normal): Unregister itself at the beginning. Don't register
25251 rescue command.
25252 (grub_cmdline_run): New function.
25253 (grub_normal_reader_init): Likewise.
25254 (grub_normal_read_line): Likewise.
25255 (grub_env_write_pager): Likewise.
25256 (cmdline): New variable.
25257 (grub_normal_reader): Likewise.
25258 (GRUB_MOD_INIT): Register normal reader and set as current, register
25259 pager hook, register normal command with grub_register_command_prio,
25260 so that it won't show up in command.lst.
25261 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
25262 grub_fs_autoload_hook.
25263
25264 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
25265 (grub_menu_execute_entry): Replace grub_script_execute with
25266 grub_parser_execute, change parameter to grub_command_execute.
25267
25268 * normal/menu_text.c: Remove <grub/script.h>.
25269
25270 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
25271 and <grub/parser.h>.
25272 (run): Change editor_getline to use new parser interface. Change
25273 parameter to grub_command_execute.
25274
25275 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
25276 <grub/reader.h> and <grub/parser.h>.
25277 (grub_load_normal_mode): Execute normal command.
25278 (grub_main): Call grub_register_core_commands,
25279 grub_register_rescue_parser and grub_register_rescue_reader, use
25280 grub_reader_loop to enter input loop.
25281
7dd4a573 25282 * kern/parser.c (grub_parser_split_cmdline): Change type of
25283 getline parameter.
d558e6b5 25284 (grub_parser_class): New variable.
25285 (grub_parser_execute): New function.
25286
25287 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
25288 * loader/multiboot2.c: Likewise.
25289 * loader/sparc64/ieee1275/linux.c: Likewise.
25290
25291 * util/grub-emu.c (read_command_list): New dummy function.
25292
18db813d 252932009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25294
25295 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
25296 count to 16 for CCISS and IDA.
25297
6c67de15 252982009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25299
25300 * normal/menu_text.c (grub_wait_after_message): Print a newline
25301 after waiting for user input.
25302
25303 * loader/i386/linux.c: Include `<grub/normal.h>'.
25304 (grub_cmd_linux): Improve the error message about `ask' mode, by
25305 waiting for user input so it's not missed (we can do this, since
25306 user requested interaction).
25307
d9dc87b0 253082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25309
25310 Added missing lst to grub-mkrescue
25311
25312 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
25313 and ${input_dir}/parttool.lst
25314
ac8a2baa 253152009-04-30 David S. Miller <davem@davemloft.net>
25316
ad22a610 25317 * util/hostdisk.c (device_is_wholedisk): New function.
25318 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
25319 zero only if device_is_wholedisk() returns true.
25320
6966215d 25321 * util/hostdisk.c (convert_system_partition_to_system_disk):
25322 Handle virtual disk devices named /dev/vdiskX as found on sparc
25323 and powerpc.
25324
ac8a2baa 25325 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
25326 lettered partition specifier is found, convert to numbered.
25327
979b4fb4 253282009-04-29 David S. Miller <davem@davemloft.net>
25329
e2bf39b2 25330 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
25331 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25332
3c64e104 25333 * normal/command.c: Add missing newline at end of file.
25334
979b4fb4 25335 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
25336 warnings.
25337 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
25338 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
25339 grub_ofdisk_read): Likewise, and deal similarly with the fact that
25340 ihandles have a 32-bit type but need to be stored in a "void *".
25341
136d9f82 253422009-04-28 Pavel Roskin <proski@gnu.org>
25343
9459c306 25344 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
25345 not disk. Adjust all dependencies.
2e08a26a 25346 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 25347 grub_disk_close().
25348
136d9f82 25349 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
25350 parent's partition, don't copy it by reference, as it gets freed
25351 on close.
25352
7dd4a573 253532009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 25354
25355 Preboot hooks support
25356
25357 * commands/boot.c (struct grub_preboot_t): new declaration
25358 (preboots_head): new variable
25359 (preboots_tail): likewise
25360 (grub_loader_register_preboot_hook): new function
25361 (grub_loader_unregister_preboot_hook): likewise
25362 (grub_loader_set): launch preboot hooks
25363 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
25364 (grub_loader_register_preboot_hook): new declaration
25365 (grub_loader_unregister_preboot_hook): likewise
25366
5af922b5 253672009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25368
25369 Warning fix
25370
7dd4a573 25371 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 25372 calling grub_dprintf
25373
a5562c30 253742009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
25375
25376 Bug and warning fixes
25377
7dd4a573 25378 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 25379 declaration
25380 * commands/test.c (test_parse): fixed bug with file tests and corrected
25381 declaration of find_file
25382
4006f85c 253832009-04-26 Pavel Roskin <proski@gnu.org>
25384
25385 * Makefile.in: Don't install empty manual pages if help2man is
25386 missing. Use help2man option for output, not shell redirection.
25387
5c77c3de 253882009-04-26 David S. Miller <davem@davemloft.net>
25389
25390 * util/grub-mkdevicemap.c (make_device_map): Add missing
25391 NESTED_FUNC_ATTR to process_device().
25392
033b10a8 253932009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25394
25395 Test command
25396
25397 * commands/test.c: rewritten to use bash-like test
25398
e4343593 253992009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25400
25401 Parttool autoloading and improvements
25402
7dd4a573 25403 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 25404 (parttool.lst): new target
25405 * genmk.rb: generate parttool-*
25406 (CLEANFILES): add #{parttool}
25407 (PARTTOOLFILES): new variable
25408 * genparttoollist.sh: new file
7dd4a573 25409 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 25410 (grub_pcpart_type): likewise
25411 * commands/parttool.c (helpmsg): new variable
25412 (grub_cmd_parttool): output help if not enough arguments are supplied
25413 autoload modules
25414 (GRUB_MOD_INIT(parttool)): use helpmsg
25415
0d312500 254162009-04-24 David S. Miller <davem@davemloft.net>
25417
7dd4a573 25418 Avoiding opening same device multiple times in device iterator.
0d312500 25419
25420 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 25421 and use it to build a list of partitions in iterate_disk() and
0d312500 25422 iterate_partition().
25423
ac20caff 25424 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
25425 on disk->data.
25426
0dcf7495 25427 * disk/ieee1275/nand.c (grub_nand_iterate): Return
25428 grub_devalias_iterate() result instead of unconditional 0.
25429 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
25430 Also, capture hook return value, either directly or via
25431 grub_children_iterate(), and propagate to caller.
25432 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
25433 grub_children_iterate): Return value is now 'int' instead of
25434 'grub_err_t'.
25435 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
25436 like a proper iterator, stopping when hooks return non-zero.
25437 (grub_devalias_iterate): Likewise.
25438
c8c08833 254392009-04-23 David S. Miller <davem@davemloft.net>
25440
25441 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
25442
f01005a8 254432009-04-22 David S. Miller <davem@davemloft.net>
25444
25445 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
25446 is larger than address_cells, use that value for address_cells too.
25447
4e8269da 25448 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
25449 IEEE1275_MAX_PATH_LEN): Define.
25450 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
25451 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
25452 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
25453 'devtype'. Explicitly NULL terminate devalias expansion.
25454
a1447506 25455 * util/sparc64/ieee1275/misc.c: New file.
25456 * util/sparc64/ieee1275/grub-setup.c: New file.
25457 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
25458 * util/sparc64/ieee1275/grub-mkimage.c: New file.
25459 * util/sparc64/ieee1275/grub-install.in: New file.
25460 * util/ieee1275/ofpath.c: New file.
25461 * util/ieee1275/devicemap.c: New file.
25462 * util/devicemap.c: New file.
25463 * util/deviceiter.c: New file.
25464 * kern/sparc64/ieee1275/init.c: New file.
25465 * include/grub/util/ofpath.h: New file.
25466 * include/grub/util/deviceiter.h: New file.
25467 * util/grub-mkdevicemap.c: Include deviceiter.h.
25468 Implement using grub_util_emit_devicemap_entry and
25469 grub_util_iterate_devices.
25470 * conf/i386-corebook.rmk: Build util/deviceiter.c and
25471 util/devicemap.c into grub-mkdevicemap
25472 * conf/i386-efi.rmk: Likewise.
25473 * conf/i386-ieee1275.rmk: Likewise.
25474 * conf/i386-pc.rmk: Likewise.
25475 * conf/powerpc-ieee1275.rmk: Likewise.
25476 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
25477 images and installation utilities. Build kernel as image
25478 instead of as elf binary. Use common rules as much as possible.
25479
7dd4a573 254802009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 25481
25482 Correct GPT definition
25483
7dd4a573 25484 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 25485 of "attrib" member
25486
c6c5219f 254872009-04-19 Felix Zielcke <fzielcke@z-51.de>
25488
25489 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
25490
0552ff9f 254912009-04-19 David S. Miller <davem@davemloft.net>
25492
25493 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
25494 (grub_rescue_cmd_linux): Rename to...
25495 (grub_cmd_linux): and fix prototype.
25496 (grub_rescue_cmd_initrd): Rename to...
25497 (grub_cmd_initrd): and fix prototype.
25498 (cmd_linux, cmd_initrd): New.
25499 (GRUB_MOD_INIT(linux)): Use grub_register_command().
25500 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
25501
d1a282fc 255022009-04-17 Pavel Roskin <proski@gnu.org>
25503
07c5039f 25504 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
25505 format.
25506 (grub_ohci_transfer): Likewise.
25507
b012002d 25508 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
25509
1bc09c35 25510 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
25511 return without a value. Fix inconsistent indentation.
25512
e0ff9126 25513 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
25514 match struct grub_fs.
25515
d1a282fc 25516 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
25517 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
25518 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25519 * commands/lspci.c (grub_lspci_iter): Likewise.
25520
a96df3f2 255212009-04-16 Bean <bean123ch@gmail.com>
25522
25523 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
25524 value.
25525
41bb0fe9 255262009-04-15 Pavel Roskin <proski@gnu.org>
25527
25528 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
25529 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
25530 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
25531 definitions.
25532
596c6970 255332009-04-15 Felix Zielcke <fzielcke@z-51.de>
25534
25535 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 25536 that no multiple data or metadata areas are supported and `Unknown
596c6970 25537 metadata header'.
25538
7dd4a573 255392009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 25540
25541 Move loader out of the kernel
25542
25543 * kern/loader.c: moved to ...
25544 * commands/boot.c: ... moved here
25545 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
25546 * commands/boot.c (grub_cmd_boot): moved here. All users updated
25547 * include/grub/kernel.h (grub_machine_fini): export
25548 * include/grub/loader.h (grub_loader_is_loaded): update declaration
25549 (grub_loader_set): likewise
25550 (grub_loader_unset): likewise
25551 (grub_loader_boot): likewise
25552 * conf/common.rmk: new module boot.mod
25553 (pkglib_MODULES): add boot.mod
25554 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
25555 (grub_emu_SOURCES): likewise
25556 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
25557 (grub_emu_SOURCES): likewise
25558 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
25559 (grub_emu_SOURCES): likewise
25560 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
25561 (grub_emu_SOURCES): likewise
25562 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
25563 (grub_emu_SOURCES): likewise
7dd4a573 25564 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
25565 (grub_emu_SOURCES): likewise
0d5d5653 25566 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 25567 (grub_emu_SOURCES): likewise
0d5d5653 25568
7dd4a573 255692009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 25570
25571 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 25572
5999d619 25573 * kern/misc.c (grub_itoa): Removed function
25574 (grub_ltoa): likewise
25575 (grub_vsprintf): use grub_lltoa
25576
7dd4a573 255772009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 25578
25579 Restore grub-emu
25580
25581 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
25582 * conf/i386-coreboot.rmk: likewise
25583 * conf/i386-ieee1275.rmk: likewise
25584 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25585
20318222 255862009-04-15 Felix Zielcke <fzielcke@z-51.de>
25587
25588 * INSTALL: Add that `./autogen.sh' needs to be run before
25589 `./configure.'.
25590
d05f0df3 255912009-04-14 Bean <bean123ch@gmail.com>
25592
25593 * Makefile.in (pkglib_DATA): Add handler.lst.
25594 (handler.lst): New rule.
25595
25596 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
25597 * conf/i386-coreboot.rmk: Likewise.
25598 * conf/i386-ieee1275.rmk: Likewise.
25599 * conf/i386-efi.rmk: Likewise.
25600 * conf/x86_64-efi.rmk: Likewise.
25601 * conf/powerpc-ieee1275.rmk: Likewise.
25602 * conf/sparc64-ieee1275.rmk: Likewise.
25603
25604 * genhandlerlist.sh: New file.
25605
25606 * genmk.rb: Add rules to generate handler.lst.
25607
25608 * include/grub/normal.h (grub_file_getline): New function definition.
25609 (read_handler_list): Likewise.
25610 (free_handler_list): Likewise.
25611
25612 * include/grub/term.h (grub_term_register_input): Add name parameter
25613 for auto generation of handler.lst.
25614 (grub_term_register_output): Likewise.
25615
25616 * normal/handler.c: New file.
25617
25618 * normal/main.c (get_line): Renamed to grub_file_getline.
25619 (read_config_file): Use the newly renamed grub_file_getline.
25620 (read_command_list): Likewise.
25621 (read_fs_list): Likewise.
25622 (grub_normal_execute): Call read_handler_list to parse handler.lst.
25623 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
25624
25625 * term/efi/console.c (grub_console_init): Add name parameter for auto
25626 generation of handler.lst.
25627 * term/gfxterm.c: Likewise.
25628 * term/i386/pc/at_keyboard.c: Likewise.
25629 * term/i386/pc/console.c: Likewise.
25630 * term/i386/pc/serial.c: Likewise.
25631 * term/i386/pc/vesafb.c: Likewise.
25632 * term/i386/pc/vga.c: Likewise.
25633 * term/i386/pc/vga_text.c: Likewise.
25634 * term/ieee1275/ofconsole.c: Likewise.
25635 * term/usb_keyboard.c: Likewise.
25636
33c846be 256372009-04-14 Bean <bean123ch@gmail.com>
25638
25639 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
25640 properly with null character.
25641
4484e01e 256422009-04-14 Felix Zielcke <fzielcke@z-51.de>
25643
25644 * configure: Remove.
25645 * config.h.in: Likewise.
f93d668e 25646 * stamp-h.in: Likewise.
4484e01e 25647 * DISTLIST: Likewise.
25648 * conf/common.mk: Likewise.
25649 * conf/i386-coreboot.mk: Likewise.
25650 * conf/i386-efi.mk: Likewise.
25651 * conf/i386-ieee1275.mk: Likewise.
25652 * conf/i386.mk: Likewise.
25653 * conf/i386-pc.mk: Likewise.
25654 * conf/powerpc-ieee1275.mk: Likewise.
25655 * conf/sparc64-ieee1275.mk: Likewise.
25656 * conf/x86_64-efi.mk: Likewise.
25657
25658 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
25659 develop on GRUB.
25660
7dd4a573 256612009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 25662 David S. Miller <davem@davemloft.net>
25663
25664 * util/hostdisk.c (make_device_name): Fix buffer length
25665 calculations.
25666
e25b5a8c 256672009-04-14 Felix Zielcke <fzielcke@z-51.de>
25668
25669 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
25670 <sys/param.h> and <sys/sysctl.h>.
25671 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
25672 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
25673 opening the device and reset them afterwards.
25674
1f1f580c 256752009-04-13 Pavel Roskin <proski@gnu.org>
25676
25677 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
25678 Reported by John Stanley <jpsinthemix@verizon.net>
25679
7ebc2d6b 256802009-04-13 Robert Millan <rmh@aybabtu.com>
25681
25682 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 25683 that name for menuentries when appropriate.
7ebc2d6b 25684
d8ba3667 256852009-04-13 Felix Zielcke <fzielcke@z-51.de>
25686
25687 * util/grub.d/10_freebsd.in: Add a missing `fi'.
25688
cba416eb 256892009-04-13 Robert Millan <rmh@aybabtu.com>
25690
25691 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
25692 to Linux, simply abort telling the user it's no longer supported.
25693
a547a745 256942009-04-13 Felix Zielcke <fzielcke@z-51.de>
25695
25696 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 25697 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 25698 `freebsd_loadenv' only when devices.hints exist.
25699
232a769c 257002009-04-13 Pavel Roskin <proski@gnu.org>
25701
25702 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
25703
c3012039 257042009-04-13 Felix Zielcke <fzielcke@z-51.de>
25705
25706 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
25707 partition number.
25708 (grub_drive): Likewise.
25709
234022fe 257102009-04-13 David S. Miller <davem@davemloft.net>
25711
25712 * kern/sparc64/ieee1275/ieee1275.c: New file.
25713 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
25714 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
25715 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
25716 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
25717 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25718 grub_ieee1275_alloc_physmem): Declare new exported functions.
25719
d8e1836c 25720 * include/grub/sparc64/ieee1275/loader.h: New file.
25721 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25722 * include/grub/sparc64/kernel.h: Likewise.
25723 * loader/sparc64/ieee1275/linux.c: Likewise.
25724
96bd81ec 25725 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25726 (grub_fstest_SOURCES): Likewise.
25727
6a4737e5 25728 * util/hostdisk.c (make_device_name): Do not make any assumptions
25729 about the length of drive names.
25730
1d7a72fd 25731 * kern/dl.c (grub_dl_load_file): Close file immediately when
25732 we are done using it.
25733
56bc2471 257342009-04-12 David S. Miller <davem@davemloft.net>
25735
25736 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25737 values. Noticed by Pavel Roskin.
25738
df38d0bb 25739 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25740 target compiler.
7dd4a573 25741
e382e93a 25742 * genmk.rb: Add more flexible image type specification, also
25743 pass --strip-unneeded to objcopy.
25744 * conf/i386-pc.rmk: Use *_FORMAT.
25745 * conf/i386-pc.mk: Rebuilt.
25746
f5dbbca9 25747 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25748 (OFDISK_HASH_SZ): Define.
25749 (ofdisk_hash): New hash table.
25750 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25751 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25752 instead of device phandle which is not unique.
25753
91c88b12 25754 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25755 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25756 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25757 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25758 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25759 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25760 GRUB_KERNEL_MACHINE_DATA_END): Define.
25761 (grub_kernel_image_size, grub_total_module_size): Declare.
25762
5b5d4aa5 257632009-04-12 Pavel Roskin <proski@gnu.org>
25764
7dd4a573 25765 * configure.ac: Change the logic when we check for target tools.
25766 Do it when the target is specified and it's different from the
25767 specified value of the host.
5b5d4aa5 25768
c91e1793 257692009-04-11 Felix Zielcke <fzielcke@z-51.de>
25770
25771 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25772 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25773 GNU/kFreeBSD. Check if a device is a character device. Use
25774 DIOCGMEDIASIZE to get the size.
25775 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25776 support for GNU/kFreeBSD.
25777 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25778 is a character device instead of a block device. Add support for
25779 FreeBSD device names.
25780
25781 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25782 is a character device instead of a block device.
25783
25784 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25785 is a character device instead of a block device.
25786
b1ac8644 257872009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25788
25789 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25790 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25791 FreeBSD. Check if a device is a character device. Use
25792 DIOCGMEDIASIZE to get the size.
25793 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25794 support for FreeBSD.
25795 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25796 is a character device instead of a block device. Add support for
25797 FreeBSD device names.
25798
25799 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25800 a character device instead of a block device.
25801 (grub_util_check_char_device): New function.
25802
25803 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25804 a character device instead of a block device.
25805
25806 * include/grub/util/getroot.h (grub_util_check_char_device): New
25807 prototype.
25808
a3f7515a 258092009-04-11 David S. Miller <davem@davemloft.net>
25810
25811 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25812 static libgcc.
25813 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25814 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25815 function, if present.
25816 (__bswapdi2): Likewise.
25817
0d44993d 25818 * include/grub/sparc64/ieee1275/boot.h: New file.
25819 * boot/sparc64/ieee1275/boot.S: Likewise.
25820 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25821
ed3d2bc2 25822 * kern/misc.c (grub_ltoa): New function.
25823 (grub_vsprintf): Use it to format 'long' integers.
25824
d3bfb59c 258252009-04-10 David S. Miller <davem@davemloft.net>
25826
25827 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25828 slots are of type grub_ieee1275_cell_t.
25829 (grub_nand_read): Likewise.
25830 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25831 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25832 macros are used to compare values in arg/ret block of the call.
25833 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25834 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25835 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25836 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25837 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25838 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25839 grub_ieee1275_close, grub_ieee1275_set_property,
25840 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25841 grub_ieee1275_cell_t.
25842 * kern/ieee1275/openfw.c (grub_map): Likewise.
25843 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25844 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25845
450e2238 25846 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25847 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25848 (grub_devalias_iterate): Likewise.
25849
7dd4a573 258502009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 25851
25852 UFS improvements
25853
25854 * fs/ufs.c (INODE_NBLOCKS): new definition
25855 (struct grub_ufs_dirent): added fields for non-BSD dirents
25856 (grub_ufs_get_file_block): fixed double indirect handling
25857 (grub_ufs_lookup_symlink): use more robust way to determine whether
25858 symlink is inline
25859 (grub_ufs_find_file): support for non-BSD dirents
25860 (grub_ufs_dir): support for non-BSD dirents
25861
e7e6862a 258622009-04-10 Bean <bean123ch@gnail.com>
25863
25864 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25865 attribute, otherwise the size would be wrong for i386 platform.
25866
25867 * include/grub/pci.h (grub_pci_read_word): New inline function.
25868 (grub_pci_read_byte): Likewise.
25869 (grub_pci_write): Likewise.
25870 (grub_pci_write_word): Likewise.
25871 (grub_pci_write_byte): Likewise.
25872
25873 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25874
25875 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25876 (find_framebuf): Scan pci to locate the frame buffer address.
25877
25878 * commands/efi/fixvideo.c: New file.
25879
25880 * commands/efi/loadbios.c: Likewise.
25881
25882 * commands/memrw.c: Likewise.
25883
25884 * util/grub-dumpbios.in: Likewise.
25885
25886 * conf/common.rmk (grub-dumpbios): New utility.
25887 (pkglib_MODULES): New module memrw.mod.
25888 (memrw_mod_SOURCE): New macro.
25889 (memrw_mod_CFLAGS): Likewise.
25890 (memrw_mod_LDFLAGS): Likewise.
25891
7dd4a573 25892 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25893 fixvideo.mod.
25894 (loadbios_mod_SOURCE): New macro.
25895 (loadbios_mod_CFLAGS): Likewise.
25896 (loadbios_mod_LDFLAGS): Likewise.
25897 (fixvideo_mod_SOURCE): Likewise.
25898 (fixvideo_mod_CFLAGS): Likewise.
25899 (fixvideo_mod_LDFLAGS): Likewise.
25900
7dd4a573 25901 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25902 fixvideo.mod.
25903 (loadbios_mod_SOURCE): New macro.
25904 (loadbios_mod_CFLAGS): Likewise.
25905 (loadbios_mod_LDFLAGS): Likewise.
25906 (fixvideo_mod_SOURCE): Likewise.
25907 (fixvideo_mod_CFLAGS): Likewise.
25908 (fixvideo_mod_LDFLAGS): Likewise.
25909
af63ada2 259102009-04-08 Felix Zielcke <fzielcke@z-51.de>
25911
25912 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25913
c2cdde70 259142009-04-07 David S. Miller <davem@davemloft.net>
25915
25916 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25917 support for R_SPARC_OLO10 relocations. Fix compile warning for
25918 R_SPARC_WDISP30 case.
ea3f72cf 25919 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 25920
761319cf 259212009-04-06 Pavel Roskin <proski@gnu.org>
25922
1007d1f5 25923 * include/grub/misc.h (ARRAY_SIZE): New macro.
25924 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25925 New macro.
25926 * loader/i386/linux.c (allocate_pages): Use free_pages().
25927 (grub_linux_unload): Don't use free_pages().
25928 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25929 wrong index. Treat all other modes as text modes.
25930 (grub_cmd_linux): Initialize vid_mode unconditionally to
25931 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25932
761319cf 25933 * commands/help.c (print_command_help): Use cmd->prio, not
25934 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25935
ea761d40 259362009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 25937
ea761d40 25938 Parttool
25939
25940 * parttool/pcpart.c: new file
25941 * commands/parttool.c: likewise
25942 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25943 (parttool_mod_SOURCES): new variable
25944 (parttool_mod_CFLAGS): likewise
25945 (parttool_mod_LDFLAGS): likewise
25946 (pcpart_mod_SOURCES): likewise
25947 (pcpart_mod_CFLAGS): likewise
25948 (pcpart_mod_LDFLAGS): likewise
7dd4a573 25949 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 25950 and parttool/pcpart.c
25951 * conf/i386-efi.rmk: likewise
25952 * conf/i386-ieee1275.rmk: likewise
25953 * conf/i386-pc.rmk: likewise
25954 * conf/powerpc-ieee1275.rmk: likewise
25955 * conf/sparc64-ieee1275.rmk: likewise
25956 * conf/x86_64-ieee1275.rmk: likewise
25957
05aaebfb 259582009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25959
25960 Support for mtime and further expandability of dir command
25961
25962 * include/grub/lib/datetime.h: moved to ...
7dd4a573 25963 * include/grub/datetime.h: ... moved here and added
05aaebfb 25964 declaration of grub_unixtime2datetime. All users updated
7dd4a573 25965 * include/grub/fs.h: new syntax for dir and mtime functions in
25966 struct grub_fs
05aaebfb 25967 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25968 and GRUB_FSHELP_FLAGS_MASK
25969 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25970 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25971 (grub_ext2_mtime): new function
25972 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25973 (grub_hfsplus_mtime): new function
25974 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25975 (GRUB_UFS_ATTR_FILE): likewise
25976 (GRUB_UFS_ATTR_LNK): likewise
25977 (struct grub_ufs_sblock): new fields mtime
25978 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25979 all users updated
25980 (grub_ufs_dir): mtime support
25981 (grub_ufs_mtime): new function
25982 * fs/affs.c (grub_affs_dir): use new dir syntax
25983 * fs/afs.c (grub_afs_dir): likewise
25984 * fs/cpio.c (grub_cpio_dir): likewise
25985 * fs/fat.c (grub_fat_find_dir): likewise
25986 * fs/hfs.c (grub_hfs_dir): likewise
25987 * fs/iso9660.c (grub_iso9660_dir): likewise
25988 * fs/jfs.c (grub_jfs_dir): likewise
25989 * fs/minix.c (grub_minix_dir): likewise
25990 * fs/ntfs.c (grub_ntfs_dir): likewise
25991 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25992 * fs/sfs.c (grub_sfs_dir): likewise
25993 * fs/xfs.c (grub_xfs_dir): likewise
25994 * util/hostfs.c (grub_hostfs_dir): likewise
25995 * lib/datetime.c: moved to ...
25996 * normal/datetime.c: ... moved here
25997 (grub_unixtime2datetime): new function
25998 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 25999 * normal/completion.c (iterate_dir): use new dir syntax
26000 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 26001 last modification time of a volume
7dd4a573 26002 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 26003 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 26004 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 26005 (normal_mod_SOURCES): likewise
26006 (datetime_mod_SOURCES): Removed lib/datetime.c
26007 * conf/i386-efi.rmk: likewise
7dd4a573 26008 * conf/i386-ieee1275.rmk: likewise
05aaebfb 26009 * conf/i386-pc.rmk: likewise
26010 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 26011 * conf/sparc64-ieee1275.rmk: likewise
26012 * conf/x86_64-efi.rmk: likewise
05aaebfb 26013
8a7e1a14 260142009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26015
26016 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 26017
26018 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 26019 on grub_fat_find_dir
26020 (grub_fat_find_dir): use grub_fat_iterate_dir
26021 (grub_fat_label): likewise
26022
04186a9c 260232009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26024
7dd4a573 26025 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 26026 and command.h
26027 remove extraneous kernel_elf_HEADERS
26028
da4c0bb6 260292009-04-04 Bean <bean123ch@gnail.com>
26030
26031 * include/grub/util/misc.h: Add dummy function fsync for mingw.
26032
26033 * util/misc.c: Likewise.
26034
54ad9555 260352009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26036
26037 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
26038 instead of grub_printf.
26039
7a6bf9f2 260402009-04-03 Robert Millan <rmh@aybabtu.com>
26041
26042 * loader/i386/linux.c (grub_linux_setup_video): Fill
26043 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
26044 values from `mode info' structure instead of hardcoded
26045 values.
26046
3fcc2083 260472009-04-01 Pavel Roskin <proski@gnu.org>
26048
26049 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
26050 unused now.
26051 * genmk.rb: Likewise.
26052 * configure.ac: Likewise.
26053
5ec9740b 260542009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
26055
26056 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
26057 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
26058
5270cec8 260592009-04-01 David S. Miller <davem@davemloft.net>
26060
26061 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 26062 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 26063 (grub_setjmp): Mark with 'returns_twice' attribute.
26064 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
26065 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
26066 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
26067
9c3dd854 260682009-04-01 Robert Millan <rmh@aybabtu.com>
26069
26070 Reapply fix from 2008-07-28 which was accidentally reverted; also
26071 perform the same fix to a similar check in same function.
26072
26073 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
26074 with the same number are found, just use issue a warning with
26075 grub_dprintf(), as this error has been reported to be non-fatal.
26076
0d818b7e 260772009-03-31 Pavel Roskin <proski@gnu.org>
26078
26079 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
26080 for cross-compilation.
26081
95646d92 260822009-03-30 Robert Millan <rmh@aybabtu.com>
26083
26084 Fix i386-ieee1275 build.
26085
26086 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
26087 Remove declaration.
26088
6a003ed1 260892009-03-30 Pavel Roskin <proski@gnu.org>
26090
26091 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
26092 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
26093 zero-terminated, rely only on the strlen value. Fix comparison
26094 of strings differing in length.
26095
92f33540 260962009-03-30 Robert Millan <rmh@aybabtu.com>
26097
26098 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
26099 checking for abi version. Improve error messages on BIOS to notify
26100 user about `linux16' command.
26101
a8c48fd5 261022009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
26103
f968172e 26104 Leak fixes
a8c48fd5 26105
f968172e 26106 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
26107 in case of collision
26108 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 26109
9c323f09 261102009-03-29 Robert Millan <rmh@aybabtu.com>
26111
26112 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
26113 set `vid_mode' accordingly.
26114 (grub_linux_boot): Process `vid_mode' and set video mode.
26115
ae68f423 261162009-03-29 Robert Millan <rmh@aybabtu.com>
26117
26118 * util/grub.d/10_linux.in (linux_entry): New function.
26119 Factorize generation of Linux boot entries.
26120
5709cfc4 261212009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
26122
26123 Make the format of Environment Block plain text. The boot loader
26124 part is not tested well yet.
7dd4a573 26125
5709cfc4 26126 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
26127 (buffer): Removed.
26128 (envblk): Likewise.
26129 (usage): Remove "info" and "clear". Add "unset". Update the
26130 description of "set", as this does not delete variables any
26131 longer.
26132 (create_envblk_file): Complete rewrite.
26133 (open_envblk_file): Likewise.
26134 (cmd_info): Removed.
26135 (cmd_list): Likewise.
26136 (cmd_set): Likewise.
26137 (cmd_clear): Likewise.
26138 (list_variables): New function.
26139 (write_envblk): Likewise.
26140 (set_variables): Likewise.
26141 (unset_variables): Likewise.
26142 (main): Complete rewrite.
26143
26144 * commands/loadenv.c (buffer): Removed.
26145 (envblk): Likewise.
26146 (open_envblk_file): New function.
26147 (read_envblk_file): Complete rewrite.
26148 (grub_cmd_load_env): Likewise.
26149 (grub_cmd_list_env): Likewise.
26150 (struct blocklist): New struct.
26151 (free_blocklists): New function.
26152 (check_blocklists): Likewise.
26153 (write_blocklists): Likewise.
26154 (grub_cmd_save_env): Complete rewrite.
26155
26156 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
26157 a plain text signature.
26158 (GRUB_ENVBLK_MAXLEN): Removed.
26159 (struct grub_envblk): Complete rewrite.
26160 (grub_envblk_find): Removed.
26161 (grub_envblk_insert): Likewise.
26162 (grub_envblk_open): New prototype.
26163 (grub_envblk_set): Likewise.
26164 (grub_envblk_delete): Put const to VALUE.
26165 (grub_envblk_iterate): Put const to NAME and VALUE.
26166 (grub_envblk_close): New prototype.
26167 (grub_envblk_buffer): New inline function.
26168 (grub_envblk_size): Likewise.
26169
26170 * lib/envblk.c: Include grub/mm.h.
26171 (grub_env_find): Removed.
26172 (grub_envblk_open): New function.
26173 (grub_envblk_close): Likewise.
26174 (escaped_value_len): Likewise.
26175 (find_next_line): Likewise.
26176 (grub_envblk_insert): Removed.
26177 (grub_envblk_set): New function.
26178 (grub_envblk_delete): Complete rewrite.
26179 (grub_envblk_iterate): Likewise.
26180
a9368fd3 261812009-03-28 Robert Millan <rmh@aybabtu.com>
26182
26183 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
26184 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
26185 variables. Use 16-bit loader.
26186 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
26187 loader.
26188 * kern/i386/loader.S (grub_linux_boot): Rename to ...
26189 (grub_linux16_boot): ... this. Update all users.
26190 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
26191 (grub_linux_boot): ... this. Update all users.
26192
26193 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
26194 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
26195 commands to `linux16' and `initrd16'.
26196 (GRUB_MOD_FINI(linux)): Rename to ...
26197 (GRUB_MOD_FINI(linux16)): ... this.
26198
e4dd5a7e 261992009-03-24 Pavel Roskin <proski@gnu.org>
26200
26201 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
26202 not just for compilation.
26203
c04d6e05 262042009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
26205
26206 Move multiboot helper out of kernel
26207
26208 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
26209 `loader/i386/multiboot_helper.S'.
26210 * conf/i386-coreboot.rmk: Likewise
26211 * conf/i386-ieee1275.rmk: Likewise
26212
26213 * kern/i386/loader.S: Move multiboot helpers from here...
26214 * loader/i386/multiboot_helper.S: ...moved here
26215 * include/grub/i386/loader.h: Move declarations of multiboot
26216 helpers from here...
26217 * include/grub/i386/multiboot.h: ...moved here
26218 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
26219
42a5b3fc 262202009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
26221
26222 * kern/env.c (grub_env_context_open): Added an argument to specify
26223 whether a new context inherits exported variables from current
26224 one. This is useful when making a sandbox to interpret a config
26225 file.
26226 All callers updated.
26227
26228 * include/grub/env.h (grub_env_context_open): Updated the prototype.
26229
b28bbc4e 262302009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
26231
26232 * kern/env.c (grub_env_context_close): Fix memory leaks.
26233
f04f02e4 262342009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
26235
26236 * normal/main.c (grub_normal_execute): Added an argument
26237 BATCH to specify if an interactive interface should be provided
26238 after reading a config file.
26239 All callers updated.
26240 (read_command_list): Prevent being executed twice.
26241 (read_fs_list): Likewise.
26242
42a5b3fc 26243 * include/grub/normal.h (grub_normal_execute): Updated the
26244 prototype.
f04f02e4 26245
41473ac2 262462009-03-22 Pavel Roskin <proski@gno.org>
26247
fbc00b0c 26248 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
26249 _start.
26250 * kern/i386/pc/startup.S: Likewise.
26251 * kern/i386/efi/startup.S: Likewise.
26252 * kern/i386/ieee1275/startup.S: Likewise.
26253 * kern/i386/coreboot/startup.S: Likewise.
26254 * kern/x86_64/efi/startup.S: Likewise.
26255
41473ac2 26256 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
26257 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
26258 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
26259
2274cc8f 262602009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
26261
26262 Bugfixes in multiboot for bugs uncovered by solaris kernel.
26263
26264 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
26265 limit detection.
26266 Use vaddr of correct segment for entry_point.
26267
b1b797cb 262682009-03-21 Bean <bean123ch@gmail.com>
26269
26270 * commands/blocklist.c: Add include file <grub/command.h>, remove
26271 <grub/normal.h> and <grub/arg.h>.
26272 (grub_cmd_blocklist): Use the new command interface.
26273 (GRUB_MOD_INIT): Likewise.
26274 (GRUB_MOD_FINI): Likewise.
26275 * commands/boot.c: Likewise.
26276 * commands/cat.c: Likewise.
26277 * commands/cmp.c: Likewise.
26278 * commands/configfile.c: Likewise.
26279 * commands/crc.c: Likewise.
26280 * commands/echo.c: Likewise.
26281 * commands/halt.c: Likewise.
26282 * commands/handler.c: Likewise.
26283 * commands/hdparm.c: Likewise.
26284 * commands/help.c: Likewise.
26285 * commands/hexdump.c: Likewise.
26286 * commands/loadenv.c: Likewise.
26287 * commands/ls.c: Likewise.
26288 * commands/lsmmap.c: Likewise.
26289 * commands/lspci.c: Likewise.
26290 * commands/loadenv.c: Likewise.
26291 * commands/read.c: Likewise.
26292 * commands/reboot.c: Likewise.
26293 * commands/search.c: Likewise.
26294 * commands/sleep.c: Likewise.
26295 * commands/test.c: Likewise.
26296 * commands/usbtest.c: Likewise.
26297 * commands/videotest.c: Likewise.
26298 * commands/i386/cpuid.c: Likewise.
26299 * commands/i386/pc/halt.c: Likewise.
26300 * commands/i386/pc/play.c: Likewise.
26301 * commands/i386/pc/pxecmd.c: Likewise.
26302 * commands/i386/pc/vbeinfo.c: Likewise.
26303 * commands/i386/pc/vbetest.c: Likewise.
26304 * commands/ieee1275/suspend.c: Likewise.
26305 * disk/loopback.c: Likewise.
26306 * font/font_cmd.c: Likewise.
26307 * hello/hello.c: Likewise.
26308 * loader/efi/appleloader.c: Likewise.
26309 * loader/efi/chainloader.c: Likewise.
26310 * loader/i386/bsd.c: Likewise.
26311 * loader/i386/efi/linux.c: Likewise.
26312 * loader/i386/ieee1275/linux.c: Likewise.
26313 * loader/i386/linux.c: Likewise.
26314 * loader/i386/pc/chainloader.c: Likewise.
26315 * loader/i386/pc/linux.c: Likewise.
26316 * loader/powerpc/ieee1275/linux.c: Likewise.
26317 * loader/multiboot_loader.c: Likewise.
26318 * term/gfxterm.c: Likewise.
26319 * term/i386/pc/serial.c: Likewise.
26320 * term/terminfo.c: Likewise.
26321
26322 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
26323 * term/i386/pc/vga.c: Likewise.
26324 * video/readers/jpeg.c: Likewise.
26325 * video/readers/png.c: Likewise.
26326 * video/readers/tga.c: Likewise.
26327
26328 * util/grub-fstest (cmd_loopback): Removed.
26329 (cmd_blocklist): Likewise.
26330 (cmd_ls): Likewise.
26331 (grub_register_command): Likewise.
26332 (grub_unregister_command): Likewise.
26333 (execute_command): Use grub_command_find to locate command and execute
26334 it.
26335
26336 * include/grub/efi/chainloader.h: Removed.
26337 * loader/efi/chainloader_normal.c: Likewise.
26338 * loader/i386/bsd_normal.c: Likewise.
26339 * loader/i386/pc/chainloader_normal.c: Likewise.
26340 * loader/i386/pc/multiboot_normal.c: Likewise.
26341 * loader/linux_normal.c: Likewise.
26342 * loader/multiboot_loader_normal.c: Likewise.
26343 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26344
26345 * gencmdlist.sh: Scan new registration command grub_register_extcmd
26346 and grub_register_command_p1.
26347
26348 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
26349 kern/command.c, lib/arg.c and commands/extcmd.c.
26350 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
26351 (minicmd_mod_SOURCES): New variable.
26352 (minicmd_mod_CFLAGS): Likewise.
26353 (minicmd_mod_LDFLAGS): Likewise.
26354 (extcmd_mod_SOURCES): Likewise.
26355 (extcmd_mod_CFLAGS): Likewise.
26356 (extcmd_mod_LDFLAGS): Likewise.
26357 (boot_mod_SOURCES): Removed.
26358 (boot_mod_CFLAGS): Likewise.
26359 (boot_mod_LDFLAGS): Likewise.
26360
26361 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
26362 kern/corecmd.c.
26363 (kernel_img_HEADERS): Add command.h.
26364 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
26365 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
26366 and lib/arg.c.
26367 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
26368 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
26369 remove the corresponding normal mode command.
26370 (normal_mod_SOURCES): Remove normal/arg.c.
26371 * conf/i386-coreboot.rmk: Likewise.
26372 * conf/i386-efi.rmk: Likewise.
26373 * conf/i386-ieee1275.rmk: Likewise.
26374 * conf/powerpc-ieee1275.rmk: Likewise.
26375 * conf/x86_64-efi.rmk: Likewise.
26376
26377 * include/grub/arg.h: Move from here ...
26378 * include/grub/lib/arg.h: ... to here.
26379
26380 * normal/arg.c: Move from here ...
26381 * lib/arg.c: ... to here.
26382
26383 * commands/extcmd.c: New file.
26384 * commands/minicmd.c: Likewise.
26385 * include/grub/command.h: Likewise.
26386 * include/grub/extcmd.h: Likewise.
26387 * kern/command.c: Likewise.
26388 * kern/corecmd.c: Likewise.
26389
26390 * kern/list.c (grub_list_iterate): Return int instead of void.
26391 (grub_list_insert): New function.
26392 (grub_prio_list_insert): Likewise.
26393
26394 * kern/rescue.c (grub_rescue_command): Removed.
26395 (grub_rescue_command_list): Likewise.
26396 (grub_rescue_register_command): Likewise.
26397 (grub_rescue_unregister_command): Likewise.
26398 (grub_rescue_cmd_boot): Move to minicmd.c
26399 (grub_rescue_cmd_help): Likewise.
26400 (grub_rescue_cmd_info): Likewise.
26401 (grub_rescue_cmd_boot): Likewise.
26402 (grub_rescue_cmd_testload): Likewise.
26403 (grub_rescue_cmd_dump): Likewise.
26404 (grub_rescue_cmd_rmmod): Likewise.
26405 (grub_rescue_cmd_lsmod): Likewise.
26406 (grub_rescue_cmd_exit): Likewise.
26407 (grub_rescue_print_devices): Moved to corecmd.c.
26408 (grub_rescue_print_files): Likewise.
26409 (grub_rescue_cmd_ls): Likewise.
26410 (grub_rescue_cmd_insmod): Likewise.
26411 (grub_rescue_cmd_set): Likewise.
26412 (grub_rescue_cmd_unset): Likewise.
7d074e3c 26413 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 26414 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 26415 commands, remove grub_rescue_register_command calls.
b1b797cb 26416
7d074e3c 26417 * normal/command.c (grub_register_command): Removed.
b1b797cb 26418 (grub_unregister_command): Likewise.
26419 (grub_command_find): Likewise.
26420 (grub_iterate_commands): Likewise.
26421 (rescue_command): Likewise.
26422 (export_command): Moved to corecmd.c.
26423 (set_command): Removed.
26424 (unset_command): Likewise.
26425 (insmod_command): Likewise.
26426 (rmmod_command): Likewise.
26427 (lsmod_command): Likewise.
26428 (grub_command_init): Likewise.
26429
26430 * normal/completion.c (iterate_command): Use cmd->prio to check for
26431 active command.
26432 (complete_arguments): Use grub_extcmd_t structure to find options.
26433 (grub_normal_do_completion): Change function grub_iterate_commands to
26434 grub_command_iterate.
26435
26436 * normal/execute.c (grub_script_execute_cmd): No need to parse
26437 argument here.
26438
26439 * normal/main.c (grub_dyncmd_dispatcher): New function.
26440 (read_command_list): Register unload commands as dyncmd.
26441 (grub_cmd_normal): Use new command interface, register rescue,
26442 unregister normal at entry, register normal, unregister rescue at exit.
26443
26444 * include/grub/list.h (grub_list_test_t): New type.
26445 (grub_list_iterate): Return int instead of void.
26446 (grub_list_insert): New function.
26447 (GRUB_AS_NAMED_LIST_P): New macro.
26448 (GRUB_AS_PRIO_LIST): Likewise.
26449 (GRUB_AS_PRIO_LIST_P): Likewise.
26450 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
26451 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
26452 (grub_prio_list): New structure.
26453 (grub_prio_list_insert): New function.
26454 (grub_prio_list_remove): New inline function.
26455
26456 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
26457 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
26458 (GRUB_COMMAND_FLAG_MENU): Likewise.
26459 (GRUB_COMMAND_FLAG_BOTH): Likewise.
26460 (GRUB_COMMAND_FLAG_TITLE): Likewise.
26461 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
26462 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
26463 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
26464 (grub_command): Likewise.
26465 (grub_register_command): Likewise.
26466 (grub_command_find): Likewise.
26467 (grub_iterate_commands): Likewise.
26468 (grub_command_init): Likewise.
26469 (grub_arg_parse): Likewise.
26470 (grub_arg_show_help): Likewise.
26471
26472 * include/grub/rescue.h (grub_rescue_register_command): Removed.
26473 (grub_rescue_unregister_command): Likewise.
26474
26475 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
26476 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
26477 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
26478
26479 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
26480 grub_rescue_cmd_initrd.
26481 * include/grub/i386/loader.h: Likewise.
26482 * include/grub/x86_64/loader.h: Likewise.
26483
26484 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
26485
1f4147aa 264862009-03-21 Bean <bean123ch@gmail.com>
26487
26488 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
26489 instead of stat in mingw environment.
26490
26491 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
26492
26493 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
26494
26495 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
26496 AC_CONFIG_LINKS.
26497
2156d5ba 264982009-03-21 Bean <bean123ch@gmail.com>
26499
26500 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
26501 out of range error.
26502
177b82ca 265032009-03-18 Michel Dänzer <michel@daenzer.net>
26504
26505 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
26506 checking inode flags for EXT4_EXTENTS_FLAG.
26507
14aad807 265082009-03-18 Robert Millan <rmh@aybabtu.com>
26509
26510 * loader/i386/linux.c: Include `<grub/video.h>' and
26511 `<grub/i386/pc/vbe.h>'..
26512 (grub_linux_setup_video): New function. Loosely based on the EFI one.
26513 (grub_linux32_boot): Attempt to configure video settings with
26514 grub_linux_setup_video().
26515 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
26516 to avoid grub_console_fini() which would step out of graphical mode
26517 unconditionally.
26518
8cf83a27 265192009-03-14 Robert Millan <rmh@aybabtu.com>
26520
26521 Fix build on powerpc.
26522 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
26523
40164e75 265242009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
26525
26526 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
26527 background image command.
26528
c58bc32a 265292009-03-12 Colin D Bennett <colin@gibibit.com>
26530
26531 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
26532 (grub_gfxterm_putchar): Extract pairs of identical calls to
26533 draw_cursor out of conditional blocks.
26534
5415144a 265352009-03-11 Pavel Roskin <proski@gnu.org>
26536
26537 * fs/hfs.c (grub_hfs_strncasecmp): New function.
26538 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
26539
6394042e 265402009-03-11 Robert Millan <rmh@aybabtu.com>
26541
26542 * loader/i386/multiboot_elfxx.c
26543 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
26544
b7b50e5f 265452009-03-11 Felix Zielcke <fzielcke@z-51.de>
26546
26547 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
26548 `kern/handler.c'.
26549
1ca7fc96 265502009-03-11 Robert Millan <rmh@aybabtu.com>
26551
26552 * loader/i386/multiboot.c (code_size): New variable.
26553 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 26554 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 26555 4-byte alignment to MBI and others by increasing
7d074e3c 26556 `boot_loader_name_length' appropriately.
1ca7fc96 26557
26558 * loader/i386/multiboot_elfxx.c
26559 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
26560
a83ea1d2 265612009-03-09 Felix Zielcke <fzielcke@z-51.de>
26562
26563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
26564 `fs/ext2.c'.
26565
aa9f3bff 265662009-03-08 Robert Millan <rmh@aybabtu.com>
26567
26568 Make loader/i386/linux.c usable on i386-pc again.
26569
26570 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
26571 memory to heap.
26572 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
26573 `#error' stanza.
26574
d8b3b60e 265752009-03-07 Bean <bean123ch@gmail.com>
26576
26577 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
26578 allocation.
26579
b362c9e9 265802009-03-06 Robert Millan <rmh@aybabtu.com>
26581
26582 Fix display issue on terminals with screen size other than 80x25
26583 (e.g. gfxterm with resolution higher than 640x480).
26584
26585 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 26586 position relative to the center of the terminal instead of relying
b362c9e9 26587 on a hardcoded offset.
26588
9304eef1 265892009-03-04 Robert Millan <rmh@aybabtu.com>
26590
26591 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
26592 installed.
26593
26594 * Makefile.in (host_kernel): New variable.
26595 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
26596 scripts instead of just the windows one.
26597 * configure.ac: Initialize and AC_SUBST `host_kernel'.
26598
eabc95fb 265992009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 26600
26601 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
26602 `kern/handler.c'.
26603 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26604 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26605 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26607 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26608 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26609
ceb1223c 266102009-03-04 Felix Zielcke <fzielcke@z-51.de>
26611
26612 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
26613 or if there's no space for the disk label and print the partition number on a
26614 invalid magic.
26615
4910684a 266162009-03-04 Felix Zielcke <fzielcke@z-51.de>
26617
26618 * util/misc.c: Include <time.h>.
26619 (grub_millisleep): New function.
26620
7e9ca17a 266212009-03-04 Bean <bean123ch@gmail.com>
26622
26623 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
26624 another option -mno-red-zone.
26625
26626 * commands/handler.c: Change module description.
26627
26628 * kern/handler.c: Add missing space at the end of description line.
26629
26630 * kern/list.c: Likewise.
26631
f501677c 266322009-03-03 Robert Millan <rmh@aybabtu.com>
26633
26634 Move more components to the relocation area, and fix mbi pointer
26635 handling to use the destination rather than the origin (thanks to
26636 Vladimir Serbinenko for spotting).
26637
26638 * loader/i386/multiboot.c (mbi_dest): New variable.
26639 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
26640 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
26641 relocation area.
26642
9902d047 266432009-03-01 Bean <bean123ch@gmail.com>
26644
50fb7002 26645 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 26646 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
26647 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
26648 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
26649
26650 * loader/i386/efi/linux.c (acpi_guid): New variable.
26651 (acpi_guid): Likewise.
26652 (EBDA_SEG_ADDR): New constant.
26653 (LOW_MEM_ADDR): Likewise.
26654 (FAKE_EBDA_SEG): Likewise.
26655 (fake_bios_data): New function.
26656 (grub_linux_boot): Call fake_bios_data.
26657
71b9f361 266582009-03-01 Bean <bean123ch@gmail.com>
26659
26660 * commands/terminal.c: Removed.
26661
26662 * commands/handler.c: New file.
26663
26664 * include/grub/list.h: Likewise.
26665
26666 * include/grub/handler.h: Likewise.
26667
26668 * kern/list.c: Likewise.
26669
26670 * kern/handler.c: Likewise.
26671
26672 * kern/term.h: Include header file <grub/handler.h>.
26673 (grub_term_input): Move next field to the beginning.
26674 (grub_term_output): Likewise.
26675 (grub_term_input_class): New variable.
26676 (grub_term_output_class): Likewise.
26677 (grub_term_register_input): Changed to inline function.
26678 (grub_term_register_output): Likewise.
26679 (grub_term_unregister_input): Likewise.
26680 (grub_term_unregister_output): Likewise.
26681 (grub_term_set_current_input): Likewise.
26682 (grub_term_set_current_output): Likewise.
26683 (grub_term_get_current_input): Likewise.
26684 (grub_term_get_current_output): Likewise.
26685 (grub_term_iterate_input): Removed.
26686 (grub_term_iterate_output): Likewise.
26687
26688 * kern/term.c (grub_term_list_input): Removed.
26689 (grub_term_list_output): Likewise.
26690 (grub_term_input_class): New variable.
26691 (grub_term_output_class): Likewise.
50fb7002 26692 (grub_cur_term_input): Change variable as macro.
71b9f361 26693 (grub_cur_term_output): Likewise.
26694 (grub_term_register_input): Removed.
26695 (grub_term_register_output): Likewise.
26696 (grub_term_unregister_input): Likewise.
26697 (grub_term_unregister_output): Likewise.
26698 (grub_term_set_current_input): Likewise.
26699 (grub_term_set_current_output): Likewise.
26700 (grub_term_iterate_input): Likewise.
26701 (grub_term_iterate_output): Likewise.
26702 (grub_term_get_current_input): Likewise.
26703 (grub_term_get_current_output): Likewise.
26704
26705 * util/grub-editenv.c: Include header file <grub/handler.h>.
26706 (grub_term_get_current_input): Removed.
26707 (grub_term_get_current_output): Likewise.
26708 (grub_term_input_class): New variable.
50fb7002 26709 (grub_term_output_class): Likewise.
71b9f361 26710
26711 * util/grub-fstest.c (grub_term_get_current_input): Removed.
26712 (grub_term_get_current_output): Likewise.
26713 (grub_term_input_class): New variable.
50fb7002 26714 (grub_term_output_class): Likewise.
71b9f361 26715
26716 * util/grub-probe.c (grub_term_get_current_input): Removed.
26717 (grub_term_get_current_output): Likewise.
26718 (grub_term_input_class): New variable.
50fb7002 26719 (grub_term_output_class): Likewise.
71b9f361 26720
26721 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26722 (grub_term_get_current_output): Likewise.
26723 (grub_term_input_class): New variable.
50fb7002 26724 (grub_term_output_class): Likewise.
71b9f361 26725
26726 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26727 (terminal_mod_SOURCES): Likewise.
26728 (terminal_mod_CFLAGS): Likewise.
26729 (terminal_mod_LDFLAGS): Likewise.
26730
26731 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26732 handler.c.
26733 (kernel_img_SOURCES): Add list.c and handler.c.
26734 (kernel_img_HEADERS): Add list.h and handler.h.
26735
26736 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26737 handler.c.
26738 (kernel_mod_SOURCES): Add list.c and handler.c.
26739 (kernel_mod_HEADERS): Add list.h and handler.h.
26740
26741 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26742 handler.c.
26743 (kernel_elf_SOURCES): Add list.c and handler.c.
26744 (kernel_elf_HEADERS): Add list.h and handler.h.
26745
26746 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26747 handler.c.
26748 (kernel_elf_SOURCES): Add list.c and handler.c.
26749 (kernel_elf_HEADERS): Add list.h and handler.h.
26750
26751 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26752 handler.c.
26753 (kernel_mod_SOURCES): Add list.c and handler.c.
26754 (kernel_mod_HEADERS): Add list.h and handler.h.
26755
26756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26757 handler.c.
26758 (kernel_elf_SOURCES): Add list.c and handler.c.
26759 (kernel_elf_HEADERS): Add list.h and handler.h.
26760
8a31787f 267612009-02-27 Robert Millan <rmh@aybabtu.com>
26762
26763 Factorize elf32 / elf64 code in Multiboot loader. This will
26764 prevent it from getting out of sync again.
26765
26766 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26767 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26768 grub_multiboot_load_elf64): Move from here ...
26769 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26770 grub_multiboot_load_elf): ... to here (new file).
26771
51cd3dfc 267722009-02-27 Robert Millan <rmh@aybabtu.com>
26773
26774 * util/grub.d/10_linux.in: Rename "single-user mode" to
26775 "recovery mode".
26776
6e8c9c3a 267772009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26778
26779 Don't leak in SCSI code.
26780 * disk/scsi.c (grub_scsi_close): free `scsi'.
26781
4b6bf4f9 267822009-02-27 Robert Millan <rmh@aybabtu.com>
26783
26784 * loader/i386/pc/multiboot.c: Move from here ...
26785 * loader/i386/multiboot.c: ... to here. Update all users.
26786
b9413424 267872009-02-27 Robert Millan <rmh@aybabtu.com>
26788
26789 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26790 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26791
50fb7002 267922009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 26793
26794 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26795 b-tree.
26796
8cc50345 267972009-02-27 Robert Millan <rmh@aybabtu.com>
26798
26799 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26800 `0x' qualifier as 0 when base is specified as parameter).
26801
6e09b8b7 268022009-02-24 Bean <bean123ch@gmail.com>
26803
26804 * configure.ac: Check for -mcmodel=large in x86_64 target.
26805
26806 * include/grub/efi/api.h (efi_call_10): New macro.
26807 (efi_wrap_10): New function.
26808
26809 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26810 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26811 (GRUB_PE32_REL_BASED_LOW): Likewise.
26812 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26813 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26814 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26815 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26816 (GRUB_PE32_REL_BASED_REL): Likewise.
26817 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26818 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26819 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26820
26821 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26822 issue.
26823
26824 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26825 (efi_wrap_10): New function.
26826
26827 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26828
26829 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26830 MB/MBP model (NV chipset).
26831 (devdata_devs): Add devpath_5 to the list.
26832
26833 * load/i386/efi/linux.c (video_base): Remove variable.
26834 (RGB_MASK): New macro.
26835 (RGB_MAGIC): Likewise.
26836 (LINE_MIN): Likewise.
26837 (LINE_MAX): Likewise.
26838 (FBTEST_STEP): Likewise.
26839 (FBTEST_COUNT): Likewise.
26840 (fb_list): New variable.
26841 (grub_find_video_card): Remove function.
26842 (find_framebuf): New function.
26843 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26844 line length.
26845
26846 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26847 problem for x86_64.
26848
74b21bee 268492009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26850
26851 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26852
26853 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26854 coding tool name.
26855
a455f472 268562009-02-22 Robert Millan <rmh@aybabtu.com>
26857
26858 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26859 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26860 in our relocation, instead of using it directly from heap. Also
26861 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26862
6374daf3 268632009-02-21 Robert Millan <rmh@aybabtu.com>
26864
26865 Implement USB keyboard support (based on patch by Marco Gerards)
26866
26867 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26868 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26869 (usb_keyboard_mod_LDFLAGS): New variables.
26870
26871 * term/usb_keyboard.c: New file.
26872
8fa4ea70 268732009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26874
26875 Corrected wrong declaration
26876
26877 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26878
353976ac 268792009-02-14 Christian Franke <franke@computer.org>
26880
26881 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26882 (grub_lspci_iter): Print class code and programming interface byte.
26883
6aa1169b 268842009-02-14 Christian Franke <franke@computer.org>
26885
26886 * gendistlist.sh: Ignore `.svn' directories.
26887
265372ca 268882009-02-14 Felix Zielcke <fzielcke@z-51.de>
26889
26890 * fs/fat.c: Add 2009 to Copyright line.
26891
9ff516f3 268922009-02-14 Christian Franke <franke@computer.org>
26893
26894 * commands/hdparm.c: New file. Provides `hdparm' command
26895 which sends ATA commands via grub_disk_ata_pass_through ().
26896
26897 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26898
26899 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26900 and <grub/cpu/io.h> to include/grub/ata.h.
26901 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26902 (GRUB_CDROM_SECTOR_SIZE): Remove.
26903 (GRUB_ATA_*): Move to include/grub/ata.h.
26904 (GRUB_ATAPI_*): Likewise.
26905 (enum grub_ata_commands): Likewise.
26906 (enum grub_ata_timeout_milliseconds): Likewise.
26907 (struct grub_ata_device): Likewise.
26908 (grub_ata_regset): Likewise.
26909 (grub_ata_regget): Likewise.
26910 (grub_ata_regset2): Likewise.
26911 (grub_ata_regget2): Likewise.
26912 (grub_ata_check_ready): Likewise.
26913 (grub_ata_wait_not_busy): Remove static, exported in
26914 include/grub/ata.h.
26915 (grub_ata_wait_drq): Likewise.
26916 (grub_ata_pio_read): Likewise.
26917
26918 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26919 function for hdparm.mod.
26920
26921 * include/grub/ata.h: New file, contains declarations from
26922 disk/ata.c.
26923 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26924
26925 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26926 (grub_disk_ata_pass_through): New exported variable.
26927
26928 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26929
772e23da 269302009-02-13 Colin D Bennett <colin@gibibit.com>
26931
26932 Support multiple fallback entries, and provide an API to support
26933 executing default+fallback menu entries. Renamed the `terminal' menu
26934 viewer to `text'.
26935
26936 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26937 variable declaration.
26938 (grub_menu_execute_callback): New structure declaration.
26939 (grub_menu_execute_callback_t): New typedef.
26940 (grub_menu_execute_with_fallback): New function declaration.
26941 (grub_menu_get_entry): Likewise.
26942 (grub_menu_get_timeout): Likewise.
26943 (grub_menu_set_timeout): Likewise.
26944
26945 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26946
26947 * normal/menu.c (grub_wait_after_message): Moved to
26948 `normal/menu_text.c'.
26949 (draw_border): Likewise.
26950 (print_message): Likewise.
26951 (print_entry): Likewise.
26952 (print_entries): Likewise.
26953 (grub_menu_init_page): Likewise.
26954 (get_entry_number): Likewise.
26955 (print_timeout): Likewise.
26956 (run_menu): Likewise.
26957 (grub_menu_execute_entry): Likewise.
26958 (show_text_menu): Likewise.
26959 (get_and_remove_first_entry_number): New function.
26960 (grub_menu_execute_with_fallback): Likewise.
26961 (get_entry): Renamed to ...
26962 (grub_menu_get_entry): .. this and made it global.
26963 (get_timeout): Renamed to ...
26964 (grub_menu_get_timeout): ... this and made it global.
26965 (set_timeout): Renamed to ...
26966 (grub_menu_set_timeout): ... this and made it global.
26967 (grub_normal_terminal_menu_viewer): Renamed to ...
26968 (grub_normal_text_menu_viewer): ... this.
26969
26970 * normal/menu_text.c: New file. Extracted text-menu-specific code
26971 from normal/menu.c.
26972
26973 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26974 (normal_mod_SOURCES): Likewise.
26975
26976 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26977 (normal_mod_SOURCES): Likewise.
26978
26979 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26980 (normal_mod_SOURCES): Likewise.
26981
26982 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26983 (normal_mod_SOURCES): Likewise.
26984
26985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26986 (normal_mod_SOURCES): Likewise.
26987
26988 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26989 (normal_mod_SOURCES): Likewise.
26990
26991 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26992 (normal_mod_SOURCES): Likewise.
26993
16ac430e 269942009-02-11 Robert Millan <rmh@aybabtu.com>
26995
26996 * util/grub.d/00_header.in: Update old reference to `font' command.
26997
06ff20fc 269982009-02-10 Felix Zielcke <fzielcke@z-51.de>
26999
27000 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
27001
27002 Based on patch from Javier Martín.
27003
96da9407 270042009-02-09 Felix Zielcke <fzielcke@z-51.de>
27005
27006 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 27007 to avoid false positives with FAT.
96da9407 27008 (grub_fstest_SOURCES): Likewise.
27009 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27010 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27012 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27013 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27014 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27015
6dca6fe4 270162009-02-09 Felix Zielcke <fzielcke@z-51.de>
27017
06ff20fc 27018 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 27019 bpb.version_specific.fat12_or_fat16.fstype and
27020 bpb.version_specific.fat32.fstype.
27021
2550c62f 270222009-02-08 Robert Millan <rmh@aybabtu.com>
27023
be110b30 27024 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 27025
56978920 270262009-02-08 Robert Millan <rmh@aybabtu.com>
27027
27028 * Makefile.in (host_os, host_cpu): New variables.
27029 (target_os): Remove. Update all users.
27030
d64399b5 270312009-02-08 Marco Gerards <marco@gnu.org>
27032
27033 * Makefile.in (enable_grub_emu_usb): New variable.
27034 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
27035 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
27036 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
27037 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
27038 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
27039 `usbtest.mod' and `usbms.mod'.
27040 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
27041 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
27042 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
27043 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
27044 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
27045 variables.
27046
27047 * disk/usbms.c: New file.
27048
27049 * include/grub/usb.h: Likewise.
27050
27051 * include/grub/usbtrans.h: Likewise.
27052
27053 * include/grub/usbdesc.h: Likewise.
27054
27055 * bus/usb/usbtrans.c: Likewise.
27056
27057 * bus/usb/ohci.c: Likewise.
27058
27059 * bus/usb/uhci.c: Likewise.
27060
27061 * bus/usb/usbhub.c: Likewise.
27062
27063 * bus/usb/usb.c: Likewise.
27064
27065 * commands/usbtest.c: Likewise.
27066
27067 * util/usb.c: Likewise.
50fb7002 27068
d64399b5 27069 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
27070
27071 * configure.ac: Test for libusb presence.
50fb7002 27072
d64399b5 27073 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
27074
2b40d6bb 270752009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
27076
27077 * kern/mm.c: Add more comments.
27078
73a4ce81 270792009-02-08 Robert Millan <rmh@aybabtu.com>
27080
27081 Patch from Javier Martín.
27082 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
27083 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
27084
f821ce59 270852009-02-08 Robert Millan <rmh@aybabtu.com>
27086
27087 * fs/cpio.c: Split tar functionality to ...
27088 * fs/tar.c: ... here (new file). Update all users.
27089
aebfc4b0 270902009-02-07 Robert Millan <rmh@aybabtu.com>
27091
27092 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
27093 backward-incompatible features.
27094
27095 Based on patch from Javier Martín, with some adjustments.
27096
50fb7002 270972009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 27098
27099 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
27100
0bb5115e 271012009-02-07 Robert Millan <rmh@aybabtu.com>
27102
27103 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
27104 position of `disk/lvm.c' to ensure grub_init_all() always picks it
27105 after the RAID stuff.
27106
38a0f8e7 271072009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
27108
50fb7002 27109 Fixes problem when running vbetest command as reported by
38a0f8e7 27110 Vladimir Serbinenko <phcoder@gmail.com>.
27111
27112 * (grub_vbe_set_video_mode): Fixed problem with text modes.
27113
3143cc1c 271142009-02-04 Felix Zielcke <fzielcke@z-51.de>
27115
27116 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
27117 /dev/md/NpN style mdraid devices.
27118
9cba6fce 271192009-02-03 Felix Zielcke <fzielcke@z-51.de>
27120
27121 * util/unifont2pff.rb: Remove.
27122
e507a2c1 271232009-02-03 Felix Zielcke <fzielcke@z-51.de>
27124
27125 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
27126 `#'.
27127
d2c2b4cd 271282009-02-03 Felix Zielcke <fzielcke@z-51.de>
27129
27130 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
27131 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27132 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27133 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27134 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27135 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27136 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27137
b4315fb0 271382009-02-02 Christian Franke <franke@computer.org>
27139
27140 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
27141
de3aa260 271422009-02-01 Felix Zielcke <fzielcke@z-51.de>
27143
7c3ff286 27144 * INSTALL: Note that we now require at least autoconf 2.59 and
27145 that LZO is optional.
de3aa260 27146
825a182b 271472009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
27148
27149 Base on patch on bug #24154 created by Tomas Tintera
27150 <trosos@seznam.cz>.
27151
27152 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
27153
a69ef770 271542009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
27155
7c3ff286 27156 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 27157 <bero@arklinux.org>.
27158
27159 * normal/parser.y (script_init): Add missing semicolon.
27160
6fa42fa6 271612009-01-31 Colin D Bennett <colin@gibibit.com>
27162
7c3ff286 27163 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 27164 (free_menu_entry_classes): Added.
27165 (grub_normal_menu_addentry): Added class property handling.
27166 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
27167 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
27168
27169 * normal/menu_viewer.c: New file.
27170
27171 * normal/menu.c (run_menu_entry): Renamed to ...
27172 (grub_menu_execute_entry): ... this and made it as global.
27173 (grub_menu_run): Renamed to ...
27174 (show_text_menu): ... this and made it local.
27175 (show_text_menu): Adapt to new function names.
27176 (grub_normal_terminal_menu_viewer): New global variable.
27177
27178 * include/grub/menu.h: New file.
27179
27180 * include/grub/menu_viewer.h: New file.
27181
27182 * include/grub/normal.h: Added include to grub/menu.h.
27183 (grub_menu_entry): Moved to include/grub/menu.h.
27184 (grub_menu_entry_t): Likewise.
27185 (grub_menu): Likewise.
27186 (grub_menu_t): Likewise.
27187 (grub_normal_terminal_menu_viewer): Added.
27188 (grub_menu_execute_entry): Likewise.
27189 (grub_menu_run): Removed.
27190
27191 * DISTLIST: Added include/grub/menu.h.
27192 Added include/grub/menu_viewer.h.
27193 Added normal/menu_viewer.c.
27194
271952009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
27196
27197 * normal/execute.c (grub_script_execute_menuentry): Changed to use
27198 arglist for menutitle arguments.
27199
27200 * normal/main.c (grub_normal_menu_addentry): Likewise.
27201
27202 * normal/parser.y (menuentry): Likewise.
27203
27204 * normal/script.c (grub_script_create_cmdmenu): Likewise.
27205
27206 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
27207 (grub_script_create_cmdmenu): Likewise.
27208
27209 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
27210
27211 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
27212 changes.
27213
27214 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
27215
27216 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
27217
27218 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
27219
27220 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
27221
27222 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
27223
27224 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
27225
56192c23 272262009-01-30 Christian Franke <franke@computer.org>
27227
27228 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
27229 in option help text.
27230
d72521b3 272312009-01-27 Pavel Roskin <proski@gnu.org>
27232
27233 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
27234
994b5e84 272352009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
27236
27237 * commands/lsmmap.c: Add include to grub/machine/memory.h.
27238
27239 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
27240
27241 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
27242 unregister function.
27243
6a7eab2c 272442009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
27245
27246 * disk/scsi.c (grub_scsi_read): Fix sign problem.
27247
27248 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
27249
27250 * util/grub-mkfont.c (usage): Fix typo.
27251
27252 * util/elf/grub-mkimage.c (load_modules): Fix warning.
27253
1806b56e 272542009-01-26 Daniel Mierswa <impulze@impulze.org>
27255
3fb18f09 27256 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
27257
336e1fb9 27258 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
27259
1806b56e 27260 * kern/misc.c (grub_strcasecmp): New function.
27261 (grub_strcasecmp): Use grub_size_t instead of int for length.
27262 Fix return value.
27263 * include/grub/misc.h: Update function prototypes.
27264
580b2a0f 272652009-01-26 Robert Millan <rmh@aybabtu.com>
27266
27267 * configure.ac: Fix cross-compilation check.
ef257b36 27268
d31c24f1 272692009-01-22 Christian Franke <franke@computer.org>
27270
27271 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
27272 (precision) digit string. Allow `.format2' without `format1' (width).
27273 Limit input chars for `%s' output to `format2' if specified. This is
27274 compatible with standard printf ().
27275
3138b44c 272762009-01-22 Christian Franke <franke@computer.org>
27277
27278 * disk/ata.c (grub_ata_wait_status): Replace by ...
27279 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
27280 other status bits may be invalid while BSY is asserted.
27281 (grub_ata_check_ready): New function.
27282 (grub_ata_cmd): Removed.
27283 (grub_ata_wait_drq): New function.
27284 (grub_ata_strncpy): Remove inline.
27285 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
27286 and error check now done by grub_ata_wait_drq ().
27287 (grub_ata_pio_write): Likewise.
27288 (grub_atapi_identify): Set DEV before check for !BSY. Use
27289 grub_ata_wait_drq () to wait for data.
27290 (grub_ata_device_initialize): Add status register check to
27291 detect missing SATA slave devices. Add debug messages.
27292 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
27293 (grub_atapi_packet): Set DEV before check for !BSY. Replace
27294 transfer loop by grub_ata_pio_write ().
27295 (grub_ata_identify): Set DEV before check for !BSY. Use
27296 grub_ata_wait_drq () to wait for data.
ef257b36 27297 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 27298 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
27299 read/write in one loop. Fix invalid command on write. Fix incomplete
27300 command on (size % batch) == 0. Add missing error check after write of
27301 last block. Add debug messages.
27302 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
27303
59a64ef6 273042009-01-19 Christian Franke <franke@computer.org>
27305
27306 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
27307 (GRUB_ATAPI_IREASON_*): Likewise.
27308 (grub_ata_pio_write): Fix timeout error return.
27309 (grub_atapi_identify): Add grub_ata_wait () after cmd.
27310 (grub_atapi_wait_drq): New function.
27311 (grub_atapi_packet): New parameter `size'.
27312 Use grub_atapi_wait_drq () and direct write instead of
27313 grub_ata_pio_write ().
27314 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
27315 reads the number of bytes requested by the device for each DRQ
27316 assertion.
27317 (grub_atapi_write): Remove old implementation, return not
27318 implemented instead.
27319
1cfe20b3 273202009-01-19 Christian Franke <franke@computer.org>
27321
27322 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
27323 of 512 to calculate data size.
27324 (grub_scsi_read12): Likewise.
27325 (grub_scsi_write10): Likewise.
27326 (grub_scsi_write12): Likewise.
27327 (grub_scsi_read): Adjust size according to blocksize.
27328 Add checks for invalid blocksize and unaligned transfer.
27329
bee5fe5d 273302009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
27331
27332 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
27333
ef257b36 27334 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 27335 width glyphs.
27336
3e643f8c 273372009-01-19 Robert Millan <rmh@aybabtu.com>
27338
27339 * config.guess: Update to latest version from config git.
27340 * config.sub: Likewise.
27341
4fa80998 273422009-01-17 Felix Zielcke <fzielcke@z-51.de>
27343
27344 * Makefile.in: Change font compilation to use new grub-mkfont instead
27345 of java version.
27346
27347 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
27348 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
27349 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27350 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27351 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
27352 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
27353 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
27354 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
27355 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27356
7086085b 273572009-01-16 Christian Franke <franke@computer.org>
27358
27359 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
27360 (enum grub_ata_timeout_milliseconds): New enum.
27361 (grub_ata_wait_status): Add parameter milliseconds.
27362 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
27363 recovery from timed-out commands.
27364 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
27365 return grub_errno instead of REG_ERROR.
27366 (grub_ata_pio_write): Add parameter milliseconds.
27367 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
27368 Pass milliseconds to grub_ata_wait_status () and
27369 grub_ata_pio_read ().
27370 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
27371 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
27372 grub_ata_wait_status (). Fix IDENTIFY timeout check.
27373 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
27374 It is not suitable for device detection, because DEV bit is ignored,
27375 the command may run too long, and not all devices set the signature
27376 properly.
27377 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
27378 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
27379 Fix device selection, DEV bit must be set first to address the registers
27380 of the correct device.
27381 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
27382 grub_ata_pio_read/write ().
27383 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
27384 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
27385
4a412913 273862009-01-13 Carles Pina i Estany <carles@pina.cat>
27387
27388 * util/grub-editenv.c (main): Use fseeko(), not fseek().
27389
7795c55e 273902009-01-13 Bean <bean123ch@gmail.com>
d913988c 27391
27392 * util/grub-mkfont.c (write_font): forget to remove some debug code.
27393
7795c55e 273942009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 27395
27396 * Makefile.in: (enable_grub_mkfont): New variable.
27397 (freetype_cflags): Likewise.
27398 (freetype_libs): Likewise.
27399
27400 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
27401 (grub_mkfont_SOURCES): New variable.
27402 (grub_mkfont_CFLAGS): Likewise.
27403 (grub_mkfont_LDFLAGS): Likewise.
27404
27405 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
27406 library if `--enable-grub-mkfont' is requested.
27407 (enable_grub_mkfont): New variable.
27408 (freetype_cflags): Likewise.
27409 (freetype_libs): Likewise.
27410
27411 * util/grub-mkfont.c: New file.
27412
093af1fe 274132009-01-12 Christian Franke <franke@computer.org>
27414
27415 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
27416 mode check. Fix setting of compat_use[].
27417
f36cc108 274182009-01-10 Robert Millan <rmh@aybabtu.com>
27419
27420 Update a few copyright years which we forgot to do in 2008 (only for
27421 files whose changes made in 2008 were copyright-significant)
27422
27423 * Makefile.in: Add 2008 to Copyright line.
27424 * disk/ieee1275/ofdisk.c: Likewise.
27425 * disk/efi/efidisk.c: Likewise.
27426 * kern/dl.c: Likewise.
27427 * kern/sparc64/ieee1275/init.c: Likewise.
27428 * kern/mm.c: Likewise.
27429 * kern/efi/mm.c: Likewise.
27430 * boot/i386/pc/boot.S: Likewise.
27431 * genfslist.sh: Likewise.
27432 * fs/iso9660.c: Likewise.
27433 * fs/hfs.c: Likewise.
27434 * fs/jfs.c: Likewise.
27435 * fs/minix.c: Likewise.
27436 * fs/ufs.c: Likewise.
27437 * gensymlist.sh.in: Likewise.
27438 * genkernsyms.sh.in: Likewise.
27439 * include/grub/misc.h: Likewise.
27440 * include/grub/types.h: Likewise.
27441 * include/grub/symbol.h: Likewise.
27442 * include/grub/elf.h: Likewise.
27443 * include/grub/kernel.h: Likewise.
27444 * include/grub/disk.h: Likewise.
27445 * include/grub/dl.h: Likewise.
27446 * include/grub/i386/linux.h: Likewise.
27447 * include/grub/i386/pc/biosdisk.h: Likewise.
27448 * include/grub/efi/api.h: Likewise.
27449 * include/grub/efi/pe32.h: Likewise.
27450 * include/grub/util/misc.h: Likewise.
27451 * normal/execute.c: Likewise.
27452 * normal/arg.c: Likewise.
27453 * normal/completion.c: Likewise.
27454 * normal/lexer.c: Likewise.
27455 * normal/parser.y: Likewise.
27456 * normal/misc.c: Likewise.
27457 * commands/i386/pc/vbeinfo.c: Likewise.
27458 * commands/hexdump.c: Likewise.
27459 * commands/terminal.c: Likewise.
27460 * commands/ls.c: Likewise.
27461 * commands/help.c: Likewise.
27462 * partmap/pc.c: Likewise.
27463 * loader/efi/chainloader.c: Likewise.
27464 * loader/multiboot_loader.c: Likewise.
27465 * loader/i386/pc/multiboot2.c: Likewise.
27466 * term/efi/console.c: Likewise.
27467 * term/i386/pc/serial.c: Likewise.
27468 * util/lvm.c: Likewise.
27469 * util/console.c: Likewise.
27470 * util/i386/efi/grub-mkimage.c: Likewise.
27471 * util/raid.c: Likewise.
27472
7f02114b 274732009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
27474
27475 * commands/videotest.c: Removed include to grub/machine/memory.h.
27476
27477 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
27478 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
27479 (video_mod_SOURCES): Removed.
27480 (video_mod_CFLAGS): Likewise.
27481 (video_mod_LDFLAGS): Likewise.
27482 (gfxterm_mod_SOURCES): Likewise.
27483 (gfxterm_mod_CFLAGS): Likewise.
27484 (gfxterm_mod_LDFLAGS): Likewise.
27485 (videotest_mod_SOURCES): Likewise.
27486 (videotest_mod_CFLAGS): Likewise.
27487 (videotest_mod_LDFLAGS): Likewise.
27488 (bitmap_mod_SOURCES): Likewise.
27489 (bitmap_mod_CFLAGS): Likewise.
27490 (bitmap_mod_LDFLAGS): Likewise.
27491 (tga_mod_SOURCES): Likewise.
27492 (tga_mod_CFLAGS): Likewise.
27493 (tga_mod_LDFLAGS): Likewise.
27494 (jpeg_mod_SOURCES): Likewise.
27495 (jpeg_mod_CFLAGS): Likewise.
27496 (jpeg_mod_LDFLAGS): Likewise.
27497 (png_mod_SOURCES): Likewise.
27498 (png_mod_CFLAGS): Likewise.
27499 (png_mod_LDFLAGS): Likewise.
27500
27501 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
27502 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
27503 (video_mod_SOURCES): Added.
27504 (video_mod_CFLAGS): Likewise.
27505 (video_mod_LDFLAGS): Likewise.
27506 (videotest_mod_SOURCES): Likewise.
27507 (videotest_mod_CFLAGS): Likewise.
27508 (videotest_mod_LDFLAGS): Likewise.
27509 (bitmap_mod_SOURCES): Likewise.
27510 (bitmap_mod_CFLAGS): Likewise.
27511 (bitmap_mod_LDFLAGS): Likewise.
27512 (tga_mod_SOURCES): Likewise.
27513 (tga_mod_CFLAGS): Likewise.
27514 (tga_mod_LDFLAGS): Likewise.
27515 (jpeg_mod_SOURCES): Likewise.
27516 (jpeg_mod_CFLAGS): Likewise.
27517 (jpeg_mod_LDFLAGS): Likewise.
27518 (png_mod_SOURCES): Likewise.
27519 (png_mod_CFLAGS): Likewise.
27520 (png_mod_LDFLAGS): Likewise.
27521 (gfxterm_mod_SOURCES): Likewise.
27522 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 27523 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 27524
27525 * term/gfxterm.c: Removed include to grub/machine/memory.h,
27526 grub/machine/console.h.
27527
644fff97 275282009-01-04 Jerone Young <jerone@gmail.com>
27529
27530 Make on screen instructions clearer
27531
27532 Based on patch created by Jidanni <jidanni@jidanni.org>
27533
27534 * normal/menu.c: print clearer instructions on the screen
27535
1e901a75 275362009-01-02 Colin D Bennett <colin@gibibit.com>
27537
27538 New font engine.
34c44600 27539
1e901a75 27540 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
27541 build system and fixed gfxterm.c to work with different sized fonts.
27542
27543 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 27544
1e901a75 27545 * configure: Re-generated.
34c44600 27546
1e901a75 27547 * DISTLIST: Removed font/manager.c.
27548 Added font/font.c.
27549 Added font/font_cmd.c.
34c44600 27550
1e901a75 27551 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
27552 compilation.
34c44600 27553
1e901a75 27554 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 27555
27556 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 27557
27558 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 27559
1e901a75 27560 * normal/menu.c: Likewise.
34c44600 27561
1e901a75 27562 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
27563 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 27564
1e901a75 27565 * include/grub/font.h: Replaced with new file.
34c44600 27566
1e901a75 27567 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
27568 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
27569 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
27570 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
27571 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 27572 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 27573 fg_red, fg_green, fg_blue, fg_alpha.
27574 (grub_video_adapter): Removed blit_glyph.
34c44600 27575 (grub_video_blit_glyph): Removed.
27576
1e901a75 27577 * font/manager.c: Removed file.
34c44600 27578
27579 * font/font.c: New file.
27580
1e901a75 27581 * font/font_cmd.c: Likewise.
34c44600 27582
1e901a75 27583 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 27584
1e901a75 27585 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
27586 (grub_video_vbe_map_rgba): Likewise.
27587 (grub_video_vbe_unmap_color_int): Likewise.
27588 (grub_video_vbe_blit_glyph): Removed.
27589 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 27590
1e901a75 27591 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
27592 (get_pixel): Likewise.
34c44600 27593 (set_pixel): Likewise.
27594
1e901a75 27595 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 27596
1e901a75 27597 * term/gfxterm.c: Adapted to new font engine.
34c44600 27598
1e901a75 27599 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 27600
1e901a75 27601 * term/i386/pc/vga.c: Likewise.
34c44600 27602
1e901a75 27603 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 27604
1e901a75 27605 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 27606
1e901a75 27607 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27608
1e901a75 27609 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27610
1e901a75 27611 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 27612
1e901a75 27613 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 27614
1e901a75 27615 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 27616
1e901a75 27617 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 27618
1e901a75 27619 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27620
27621 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 27622
1e901a75 27623 * util/grub-mkconfig_lib.in: Changed font extension.
27624
278922e8 276252008-12-28 Felix Zielcke <fzielcke@z-51.de>
27626
27627 * util/getroot.c (grub_util_get_grub_dev): Add support for
27628 /dev/md/dNNpNN style partitionable mdraid devices.
27629
3ced05cf 276302008-12-12 Alex Smith <alex@alex-smith.me.uk>
27631
27632 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
27633 at a time limit of the PXE TFTP API correctly.
27634 (grub_pxefs_close): Likewise.
27635
7fd0ee30 276362008-11-29 Robert Millan <rmh@aybabtu.com>
27637
34c44600 27638 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 27639 grub_ata_device_initialize() calls.
27640
34c44600 276412008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 27642
27643 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
27644 iteration failed.
27645 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
27646
89313780 276472008-11-28 Robert Millan <rmh@aybabtu.com>
27648
27649 Fix build on powerpc-ieee1275. Based on patch created by
27650 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
27651 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27652 `kern/ieee1275/mmap.c'.
27653 * include/grub/powerpc/ieee1275/memory.h: New file.
27654
15257703 27655 Provide grub-install on coreboot.
27656 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
27657 (grub_install_SOURCES): New variable.
27658 * util/i386/pc/grub-install.in: Add a few condition checks to make it
27659 usable on coreboot.
27660
9fc5388a 276612008-11-25 Felix Zielcke <fzielcke@z-51.de>
27662
27663 * util/grub-fstest.c (grub_term_get_current_input): Change return type
27664 to `grub_term_input_t'.
27665 (grub_term_get_current_output): Change return type to
27666 `grub_term_output_t'.
27667
bc3a2f31 276682008-11-22 Robert Millan <rmh@aybabtu.com>
27669
34c44600 27670 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 27671 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
27672 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
27673 grub_vga_text_cls().
27674
80fc88f2 27675 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 27676 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 27677
cbf36fd3 27678 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
27679 to 0x200000 (avoids trouble with some OFW implementations, and matches
27680 with the one in Yaboot).
27681 Reported by Manoel Abranches
27682
73e8e268 276832008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 27684
27685 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
27686 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
27687
73e8e268 27688 * util/grub-mkconfig_lib.in (grub_warn): New function.
27689 (convert_system_path_to_grub_path): Use grub_warn() when issuing
27690 warnings, to obtain consistent formatting.
27691 * util/grub.d/00_header.in: Likewise.
27692 * util/update-grub_lib.in: Likewise.
27693
e94045a1 27694 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 27695 Move comment text to `#error' stanza.
e94045a1 27696
79d29fd7 27697 Harmonize ieee1275's grub_available_iterate() with the generic
27698 grub_machine_mmap_iterate() interface (fixes a recently-introduced
27699 build problem on i386-ieee1275):
27700 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
27701 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
27702 parameter `type'. Update all users of this function.
27703 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
27704 `kern/ieee1275/mmap.c'.
27705 * kern/ieee1275/init.c
27706 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
27707 with ...
27708 (grub_machine_mmap_iterate): ... this.
27709 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
27710 return type to `grub_err_t'. Update all implementations of this
27711 function prototype.
27712 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
27713 Likewise.
27714
60d6b16e 27715 Add `lsmmap' command (lists firmware-provided memory map):
27716 * commands/lsmmap.c: New file.
27717 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27718 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27719 variables.
27720 * conf/powerpc-ieee1275.rmk: Likewise.
27721 * conf/i386-coreboot.rmk: Likewise.
27722 * conf/i386-ieee1275.rmk: Likewise.
27723
ebaaf49b 277242008-11-19 Robert Millan <rmh@aybabtu.com>
27725
27726 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 27727 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27728 constraints to initrd allocation (based on code from
27729 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27730 for Linux to find it.
ebaaf49b 27731
dfab719f 277322008-11-14 Robert Millan <rmh@aybabtu.com>
27733
27734 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27735 order to cope with duplicate slashes.
27736
10fc3eb9 277372008-11-14 Robert Millan <rmh@aybabtu.com>
27738
27739 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27740 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27741 don't want to mess with lower memory, because it is used in the Linux
27742 loader.
27743
27744 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 27745 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 27746 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27747 is in our heap (probably as a result of it being corrupted during
2f2a3442 27748 decompression). Add #error instance with comment to explain why this
27749 loader isn't currently usable on PC/BIOS.
10fc3eb9 27750
e2e07847 277512008-11-14 Robert Millan <rmh@aybabtu.com>
27752
27753 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 27754 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 27755
fe8e8d69 277562008-11-12 Robert Millan <rmh@aybabtu.com>
27757
27758 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27759
27760 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27761 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27762 from here ...
27763 * include/grub/i386/pc/memory.h: ... to here.
27764
976b07d0 277652008-11-12 Robert Millan <rmh@aybabtu.com>
27766
27767 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27768 split).
27769
27770 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27771 (grub_console_cur_color, grub_console_real_putchar)
27772 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27773 (grub_console_setcolorstate, grub_console_setcolor)
27774 (grub_console_getcolor): Move from here ...
27775 * include/grub/i386/vga_common.h: ... to here (new file).
27776
27777 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27778 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27779 `<grub/i386/io.h>'.
27780 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27781 `<grub/i386/vga_common.h>'.
27782
76679cd3 277832008-11-12 Robert Millan <rmh@aybabtu.com>
27784
27785 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27786 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27787 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27788 variables.
27789 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27790 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27791
27792 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27793 grub_console_init() with call to grub_vga_text_init().
27794 (grub_machine_fini): Replace call to
27795 grub_console_fini() with call to grub_vga_text_fini() and
27796 grub_at_keyboard_fini().
27797
27798 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27799 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27800 (grub_console_setcolorstate, grub_console_setcolor)
27801 (grub_console_getcolor): New function prototypes.
27802
27803 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27804 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27805 (grub_vga_text_setcursor): Static-ize.
27806 (grub_vga_text_term): New structure.
27807 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27808
27809 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27810 (grub_console_cur_color, grub_console_standard_color)
27811 (grub_console_normal_color, grub_console_highlight_color)
27812 (map_char, grub_console_putchar, grub_console_getcharwidth)
27813 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27814 (grub_console_getcolor): Move from here ...
27815 * term/i386/vga_common.c: ... to here (same function names).
27816
95b841d3 278172008-11-12 Robert Millan <rmh@aybabtu.com>
27818
27819 Use newly-added Multiboot support in coreboot.
27820
27821 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27822 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27823
27824 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27825 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27826 (codestart): Store the MBI in `startup_multiboot_info' when we're
27827 being loaded using Multiboot.
27828
27829 * kern/i386/coreboot/init.c (grub_machine_init): Move
27830 grub_at_keyboard_init() call to beginning of function (useful for
27831 debugging). Call grub_machine_mmap_init() before attempting to use
27832 grub_machine_mmap_iterate().
27833 (grub_lower_mem, grub_upper_mem): Move from here ...
27834 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27835 here (new file).
27836
27837 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27838 function prototype.
27839
761ca975 278402008-11-12 Robert Millan <rmh@aybabtu.com>
27841
27842 Fix a regression introduced by the at_keyboard.mod split. Because
27843 some terminals are default on some platforms and non-default on
27844 others, the first terminal being registered determines which is
27845 going to be default.
27846
27847 * kern/term.c (grub_term_register_input): If this is the first
27848 terminal being registered, set it as the current one.
27849 (grub_term_register_output): Likewise.
27850
27851 * term/efi/console.c (grub_console_init): Do not call
27852 grub_term_set_current_output() or grub_term_set_current_input().
27853 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27854 * term/i386/pc/console.c (grub_console_init): Likewise.
27855 (grub_console_fini): Do not call grub_term_set_current_input()
27856 (but leave grub_term_set_current_output() to restore text mode).
27857
6c529df7 278582008-11-10 Robert Millan <rmh@aybabtu.com>
27859
27860 * util/grub.d/00_header.in: Add backward compatibility check for
27861 versions of terminal.mod that don't understand `terminal_input' or
27862 `terminal_output'.
27863
132e4113 278642008-11-09 Robert Millan <rmh@aybabtu.com>
27865
27866 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27867 `terminal_input' / `terminal_output', not `terminal'.
27868
ac293d50 278692008-11-08 Robert Millan <rmh@aybabtu.com>
27870
27871 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 27872 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 27873
0025933a 278742008-11-08 Robert Millan <rmh@aybabtu.com>
27875
27876 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 27877 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 27878 members. Update all users.
27879 * util/console.c (grub_ncurses_term): Split in ...
27880 (grub_ncurses_term_input): ... this, and ...
27881 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 27882 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 27883
37c86336 278842008-11-08 Robert Millan <rmh@aybabtu.com>
27885
27886 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27887 (PKGDATA): Add $(pkgdata_SRCDIR).
27888 (pkglib_BUILDDIR): New variable.
27889 (pkgdata_SRCDIR): New variable.
27890 (build_env.mk): New target.
27891 (include_DATA): New variable.
27892 (install-local): Install $(include_DATA) files in $(includedir).
27893
b6c15a2d 278942008-11-07 Pavel Roskin <proski@gnu.org>
27895
d99d46f1 27896 * gendistlist.sh: Use C locale for sorting to ensure consistent
27897 output on all systems.
27898
b6c15a2d 27899 * util/grub.d/00_header.in: Remove incorrect space before
27900 "serial".
27901
c32ee8c9 279022008-11-07 Robert Millan <rmh@aybabtu.com>
27903
27904 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27905 per specification.
27906 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27907 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27908 (based on find_multi_boot1_header).
27909 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27910 using find_multi_boot2_header(), and abort if neither Multiboot or
27911 Multiboot headers were found.
27912
651c29b7 279132008-11-07 Robert Millan <rmh@aybabtu.com>
27914
27915 Modularize at_keyboard.mod:
27916
27917 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27918 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27919 (at_keyboard_mod_LDFLAGS): New variables.
27920
27921 Actual terminal split:
27922
27923 * include/grub/term.h (struct grub_term): Split in ...
27924 (struct grub_term_input): ... this, and ...
27925 (struct grub_term_output): ... this. Update all users.
27926 (grub_term_set_current): Split in ...
27927 (grub_term_set_current_input): ... this, and ...
27928 (grub_term_set_current_output): ... this.
27929 (grub_term_get_current): Split in ...
27930 (grub_term_get_current_input): ... this, and ...
27931 (grub_term_get_current_output): ... this.
27932 (grub_term_register): Split in ...
27933 (grub_term_register_input): ... this, and ...
27934 (grub_term_register_output): ... this.
27935 (grub_term_unregister): Split in ...
27936 (grub_term_unregister_input): ... this, and ...
27937 (grub_term_unregister_output): ... this.
27938 (grub_term_iterate): Split in ...
27939 (grub_term_iterate_input): ... this, and ...
27940 (grub_term_iterate_output): ... this.
27941
27942 * kern/term.c (grub_term_list): Split in ...
27943 (grub_term_list_input): ... this, and ...
27944 (grub_term_list_output): ... this. Update all users.
27945 (grub_cur_term): Split in ...
27946 (grub_cur_term_input): ... this, and ...
27947 (grub_cur_term_output): ... this. Update all users.
27948 (grub_term_set_current): Split in ...
27949 (grub_term_set_current_input): ... this, and ...
27950 (grub_term_set_current_output): ... this.
27951 (grub_term_get_current): Split in ...
27952 (grub_term_get_current_input): ... this, and ...
27953 (grub_term_get_current_output): ... this.
27954 (grub_term_register): Split in ...
27955 (grub_term_register_input): ... this, and ...
27956 (grub_term_register_output): ... this.
27957 (grub_term_unregister): Split in ...
27958 (grub_term_unregister_input): ... this, and ...
27959 (grub_term_unregister_output): ... this.
27960 (grub_term_iterate): Split in ...
27961 (grub_term_iterate_input): ... this, and ...
27962 (grub_term_iterate_output): ... this.
27963
27964 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27965 a check for input and one for output (and only attempt to get keys
27966 from user when input works).
27967
27968 * util/grub-probe.c (grub_term_get_current): Split in ...
27969 (grub_term_get_current_input): ... this, and ...
27970 (grub_term_get_current_output): ... this.
27971 * util/grub-fstest.c: Likewise.
27972 * util/i386/pc/grub-setup.c: Likewise.
27973 * util/grub-editenv.c: Likewise.
27974
27975 Portability adjustments:
27976
27977 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27978 `term/i386/pc/at_keyboard.c'.
27979 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27980 grub_keyboard_controller_init() (now handled by terminal .init).
27981 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27982 grub_at_keyboard_init().
27983 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27984 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27985 at_keyboard.mod via input terminal interface).
27986 * include/grub/i386/coreboot/console.h: Convert into a stub for
27987 `<grub/i386/pc/console.h>'.
27988
27989 Migrate full terminals to new API:
27990
27991 * term/efi/console.c (grub_console_term): Split into ...
27992 (grub_console_term_input): ... this, and ...
27993 (grub_console_term_output): ... this. Update all users.
27994 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27995 (grub_ofconsole_init): Split into ...
27996 (grub_ofconsole_init_input): ... this, and ...
27997 (grub_ofconsole_init_output): ... this.
27998 (grub_ofconsole_term): Split into ...
27999 (grub_ofconsole_term_input): ... this, and ...
28000 (grub_ofconsole_term_output): ... this. Update all users.
28001 * term/i386/pc/serial.c (grub_serial_term): Split into ...
28002 (grub_serial_term_input): ... this, and ...
28003 (grub_serial_term_output): ... this. Update all users.
28004 * term/i386/pc/console.c (grub_console_term): Split into ...
28005 (grub_console_term_input): ... this, and ...
28006 (grub_console_term_output): ... this. Update all users.
28007 (grub_console_term_input): Only enable it on PC/BIOS platform.
28008 (grub_console_init): Remove grub_keyboard_controller_init() call.
28009
28010 Migrate input terminals to new API:
28011
28012 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
28013 `i386' and `i386/pc' to enable build on x86_64 (this driver is
28014 i386-specific anyway).
28015 (grub_console_checkkey): Rename to ...
28016 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
28017 users.
28018 (grub_keyboard_controller_orig): New variable.
28019 (grub_console_getkey): Rename to ...
28020 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
28021 users.
28022 (grub_keyboard_controller_init): Static-ize. Save original
28023 controller value so that it can be restored ...
28024 (grub_keyboard_controller_fini): ... here (new function).
28025 (grub_at_keyboard_term): New structure.
28026 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
28027 functions.
28028
28029 Migrate output terminals to new API:
28030
28031 * term/i386/pc/vga.c (grub_vga_term): Change type to
28032 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28033 members. Update all users.
28034 * term/gfxterm.c (grub_video_term): Change type to
28035 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28036 members. Update all users.
28037 * include/grub/i386/pc/console.h (grub_console_checkkey)
28038 (grub_console_getkey): Do not export (no longer needed by gfxterm,
28039 etc).
28040
28041 Migrate `terminal' command and userland tools to new API:
28042
28043 * commands/terminal.c (grub_cmd_terminal): Split into ...
28044 (grub_cmd_terminal_input): ... this, and ...
28045 (grub_cmd_terminal_output): ... this.
28046 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
28047 `terminal_input' and `terminal_output'.
28048 * util/grub.d/00_header.in: Adjust `terminal' calls to new
28049 `terminal_input' / `terminal_output' API.
28050 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
28051 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
28052 provided ${GRUB_TERMINAL}, convert it).
28053
96e5d876 280542008-11-04 Robert Millan <rmh@aybabtu.com>
28055
28056 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
28057 for FreeBSD.
28058 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
28059
556f3775 280602008-11-03 Bean <bean123ch@gmail.com>
28061
28062 * kern/elf.c (grub_elf32_load): Revert to previous code.
28063 (grub_elf64_load): Likewise.
28064
28065 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
28066
926b9823 280672008-11-01 Robert Millan <rmh@aybabtu.com>
28068
28069 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
28070 (TARGET_CPPFLAGS): Likewise.
28071 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
28072
1432e958 280732008-11-01 Carles Pina i Estany <carles@pina.cat>
28074
28075 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
28076
dba3f844 280772008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 28078
28079 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
28080 addition of objects until the code is not going to be able to fail.
28081
dba3f844 280822008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 28083
28084 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
28085 (add a missing NULL check, and correct them by moving the pointer
28086 operations after the actual check).
28087
7ab28c21 280882008-10-29 Robert Millan <rmh@aybabtu.com>
28089
28090 * util/i386/pc/grub-install.in: Handle empty string as output from
28091 make_system_path_relative_to_its_root().
28092
1b7748eb 280932008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
28094
28095 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
28096 circular metadata worst case scenario. If the metadata is circular
28097 then copy the wrap in place.
28098 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
28099 project lib/format_text/layout.h
28100 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
28101
c9618ab2 281022008-10-03 Felix Zielcke <fzielcke@z-51.de>
28103
7a36edca 28104 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 28105
bf981c62 281062008-10-03 Felix Zielcke <fzielcke@z-51.de>
28107
28108 * util/update-grub_lib.in: Mention filename in warning message.
28109
6d994591 281102008-09-29 Felix Zielcke <fzielcke@z-51.de>
28111
28112 * NEWS: Update for rename of update-grub to grub-mkconfig.
28113
18ade780 281142008-09-29 Felix Zielcke <fzielcke@z-51.de>
28115
28116 * util/update-grub_lib.in: Copy to ...
28117 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 28118 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 28119 * util/update-grub.in: Rename to ...
28120 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
28121 option. Add `--output' option to allow users to specify the generated
28122 configuration file. Default to stdout.
28123 (update_grub_dir): Rename to ...
28124 (grub_mkconfig_dir): ... this.
28125 (grub_cfg): Default to an empty string.
28126 * conf/common.rmk (update-grub): Rename to ...
28127 (grub-mkconfig): ... this.
28128 (update-grub_lib): Copy to ...
28129 (grub-mkconfig_lib): ... this.
28130 (update-grub_SCRIPTS): Copy to ...
28131 (grub-mkconfig_SCRIPTS): ... this. Update all users.
28132 (update-grub_DATA): Rename to ...
28133 (grub-mkconfig_DATA): ... this.
28134
556ce6ac 281352008-09-28 Robert Millan <rmh@aybabtu.com>
28136
28137 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
28138 to `modified'. Add the real `created' field.
28139 (grub_iso9660_uuid): Use `modified' rather than `created' for
28140 constructing the UUID.
28141
281422008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 28143
28144 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
28145 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
28146
92274e85 281472008-09-28 Bean <bean123ch@gmail.com>
28148
28149 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
28150 Thanks to Christian Franke for finding this bug.
28151
add6f17a 281522008-09-25 Robert Millan <rmh@aybabtu.com>
28153
28154 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
28155 instances of grub_util_get_disk_name() (see previous commit).
28156
d2a367b8 281572008-09-25 Robert Millan <rmh@aybabtu.com>
28158
28159 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
28160 `util/i386/get_disk_name.c'.
28161 * conf/i386-efi.rmk: Likewise.
28162 * conf/x86_64-efi.rmk: Likewise.
28163 * conf/i386-coreboot.rmk: Likewise.
28164 * conf/i386-ieee1275.rmk: Likewise.
28165 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
28166 `util/ieee1275/get_disk_name.c'.
28167 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
28168 * util/ieee1275/get_disk_name.c: Remove file.
28169 * util/i386/get_disk_name.c: Remove file.
28170 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
28171 "hd%d" for device.map entries, rather than using
28172 grub_util_get_disk_name().
28173
81a06771 281742008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 28175
28176 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
28177 warning.
28178 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
28179
5a004279 281802008-09-24 Carles Pina i Estany <carles@pina.cat>
28181
28182 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
28183 Changed to 0x5100.
28184 (GRUB_TERM_PPAGE): Changed to 0x4900.
28185
397093d3 281862008-09-24 Robert Millan <rmh@aybabtu.com>
28187
28188 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
28189 macros (they were i386-pc specific).
28190 * include/grub/sparc64/ieee1275/console.h: Likewise.
28191 * include/grub/efi/console.h: Likewise.
28192
a91b6c7c 281932008-09-22 Bean <bean123ch@gmail.com>
28194
28195 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
28196 resident and in attribute list.
28197
28198 * include/grub/ntfs.h (BMP_LEN): Removed.
28199
c40fd116 282002008-09-22 Bean <bean123ch@gmail.com>
28201
81a06771 28202 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 28203 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
28204
28205 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
28206 error occurs, as grub_disk_open will call grub_disk_close, which will
28207 call p->close (scsi).
28208
81a06771 282092008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 28210
28211 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
28212 (AC_PREREQ): Bumped to 2.59.
28213 (AC_TRY_COMPILE): Replace obsolete macro with ...
28214 (AC_COMPILE_IFELSE): ... this.
28215 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
28216 (AC_LINK_IFELSE): ... this.
28217
5dc43410 282182008-09-21 Felix Zielcke <fzielcke@z-51.de>
28219
28220 * autogen.sh: Add a call to `gendistlist.sh'.
28221
9035dce4 282222008-09-19 Christian Franke <franke@computer.org>
28223
28224 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
28225 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
28226 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
28227 Export __enable_execute_stack() to modules.
28228 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
28229 New function.
28230
7fd75377 282312008-09-09 Felix Zielcke <fzielcke@z-51.de>
28232
040030b3 28233 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
28234 Sort the list.
28235
282362008-09-09 Felix Zielcke <fzielcke@z-51.de>
28237
28238 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 28239 #include <grub/util/hostdisk.h>.
28240
89d5ffcf 282412008-09-08 Robert Millan <rmh@aybabtu.com>
28242
28243 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
28244 segments when their filesz is zero (grub_file_read() interprets
81a06771 28245 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 28246 Use `lowest_segment' rather than 0 for calculating the current
28247 segment load address.
28248
40da438f 282492008-09-08 Robert Millan <rmh@aybabtu.com>
28250
28251 * util/hostdisk.c (open_device): Replace a grub_util_info() call
28252 with grub_dprintf("hostdisk", ...), as it was so verbose that it
28253 clobbered useful information.
28254
ddbf5556 282552008-09-08 Robert Millan <rmh@aybabtu.com>
28256
28257 * include/grub/util/biosdisk.h: Move to ...
28258 * include/grub/util/hostdisk.h: ... here. Update all users.
28259 * util/biosdisk.c: Move to ...
28260 * util/hostdisk.c: ... here. Update all users.
28261
783d0f48 282622008-09-07 Robert Millan <rmh@aybabtu.com>
28263
28264 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
28265 variables.
28266 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
28267 and length can be stored directly in the `mbi->mmap_addr' and
28268 `mbi->mmap_length' struct fields.
28269
548e2ea5 282702008-09-07 Robert Millan <rmh@aybabtu.com>
28271
28272 * conf/i386.rmk: New file. Provides declaration for building
28273 `cpuid.mod'.
28274 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
28275 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
28276 variables.
28277 Include `conf/i386.mk'.
28278 * conf/i386-efi.rmk: Likewise.
28279 * conf/x86_64-efi.rmk: Likewise.
28280 * conf/i386-coreboot.rmk: Likewise.
28281 * conf/i386-ieee1275.rmk: Likewise.
28282
0ea85a37 282832008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
28284
28285 Based on patch created by Colin D Bennett <colin@gibibit.com>.
28286 Adds optimization support for BGR based modes.
28287
28288 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
28289 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28290 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28291 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28292 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28293 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28294 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28295 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28296 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28297 (grub_video_i386_vbeblit_index_index): Likewise.
28298 (grub_video_i386_vbeblit_replace_directN): Added.
28299 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28300 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28301 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28302 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28303 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28304 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 28305 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 28306 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28307 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28308 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28309 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28310 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28311 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
28312
28313 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
28314 (grub_video_i386_vbefill_R8G8B8): Likewise.
28315 (grub_video_i386_vbefill_index): Likewise.
28316 (grub_video_i386_vbefill_direct32): Added.
28317 (grub_video_i386_vbefill_direct24): Likewise.
28318 (grub_video_i386_vbefill_direct16): Likewise.
28319 (grub_video_i386_vbefill_direct8): Likewise.
28320
81a06771 28321 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 28322 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
28323 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
28324 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
28325 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
28326 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 28327
0ea85a37 28328 * video/video.c (grub_video_get_blit_format): Updated to use new
28329 blit formats. Added handling for 16 bit color modes.
81a06771 28330
28331 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 28332 fillers.
28333 (common_blitter): Updated to use new blitters.
28334
28335 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
28336 Removed.
28337 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28338 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28339 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28340 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28341 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28342 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28343 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28344 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28345 (grub_video_i386_vbeblit_index_index): Likewise.
28346 (grub_video_i386_vbeblit_replace_directN): Added.
28347 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28348 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28349 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28350 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28351 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28352 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
28353 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
28354 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28355 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28356 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28357 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28358 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28359 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 28360
0ea85a37 28361 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
28362 (grub_video_i386_vbefill_R8G8B8): Likewise.
28363 (grub_video_i386_vbefill_index): Likewise.
28364 (grub_video_i386_vbefill_direct32): Added.
28365 (grub_video_i386_vbefill_direct24): Likewise.
28366 (grub_video_i386_vbefill_direct16): Likewise.
28367 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 28368
0ea85a37 28369 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
28370 types.
81a06771 28371
0ea85a37 28372 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
28373 types.
81a06771 28374
0ea85a37 28375 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
28376 blitter types.
81a06771 28377
0ea85a37 28378 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
28379 types.
28380
e8a83df6 283812008-09-06 Felix Zielcke <fzielcke@z-51.de>
28382
28383 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
28384 RAID level 1.
28385
6bcd8ee5 283862008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 28387
6bcd8ee5 28388 * fs/iso9660.c (grub_iso9660_date): New structure.
28389 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
28390 (grub_iso9660_uuid): New function.
c375ae58 28391
59261157 283922008-09-05 Bean <bean123ch@gmail.com>
28393
28394 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
28395
28396 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
28397 insensitive bit for names in Win32 and Win32 & DOS namespace.
28398
28399 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
28400
28401 * include/grub/types.h (LONG_MAX): Likewise.
28402
58b6645a 284032008-09-04 Felix Zielcke <fzielcke@z-51.de>
28404
4ee55921 28405 * util/getroot.c: Include <config.h>.
28406 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
28407 add support for /dev/md/N devices and handle LVM double dash escaping.
28408
284092008-09-04 Felix Zielcke <fzielcke@z-51.de>
28410
28411 * config.guess: Update to latest version from config git.
28412 * config.sub: Likewise.
58b6645a 28413
9124f65d 284142008-09-03 Robert Millan <rmh@aybabtu.com>
28415
28416 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
28417 `disk->total_sectors'.
28418
81a06771 284192008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 28420
28421 * include/grub/normal.h: Fixed incorrect comment for
28422 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
28423
81a06771 284242008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 28425
28426 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
28427 values with defines.
28428
28429 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
28430 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
28431 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
28432 (GRUB_VBE_MODEATTR_COLOR): Likewise.
28433 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
28434 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
28435 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
28436 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
28437 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
28438 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
28439 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
28440 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
28441 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
28442 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
28443 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
28444 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
28445 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
28446 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
28447 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
28448
93d5cbf8 284492008-08-31 Robert Millan <rmh@aybabtu.com>
28450
28451 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
28452 declaration.
28453 (grub_multiboot): Fix a few warnings.
28454
21751d50 284552008-08-31 Robert Millan <rmh@aybabtu.com>
28456
28457 * loader/i386/pc/multiboot.c: Update comment not to say that
28458 boot_device support is unimplemented.
28459
e27a75c5 284602008-08-31 Robert Millan <rmh@aybabtu.com>
28461
28462 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
28463 or memory map support are unimplemented.
28464
81a06771 284652008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 28466
28467 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
28468
81a06771 284692008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 28470
28471 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
28472 total video memory in 'vbeinfo' output; show color format details for
28473 each video mode.
28474
7c5d8d95 284752008-08-30 Pavel Roskin <proski@gnu.org>
28476
28477 * util/genmoddep.c: Remove for real this time.
28478 * DISTLIST: Remove util/genmoddep.c.
28479
4cebd25a 284802008-08-30 Robert Millan <rmh@aybabtu.com>
28481
28482 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
28483 as required by Multiboot spec (it was already 4-byte aligned, but
28484 only by chance).
28485
b497a269 284862008-08-29 Pavel Roskin <proski@gnu.org>
28487
e3925185 28488 * kern/powerpc/ieee1275/crt0.S: Rename to ...
28489 * kern/powerpc/ieee1275/startup.S: ... this.
28490 * conf/powerpc-ieee1275.rmk: Adjust for the above.
28491 * DISTLIST: Likewise.
28492
b497a269 28493 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
28494 grub/cpu/kernel.h. Add start label for consistency with other
28495 platforms. Add grub_prefix immediately after start. Add jump
28496 to the code after grub_prefix.
28497 * include/grub/powerpc/kernel.h: Provide valid values for
28498 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
28499
6e5a42fe 285002008-08-29 Bean <bean123ch@gmail.com>
28501
28502 * configure.ac: Change host_os to cygwin for mingw.
28503 (asprintf): New check for function.
28504
28505 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
28506 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
28507
28508 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 28509 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 28510 sync, sleep and grub_util_get_disk_size for mingw.
28511
28512 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
28513 to get size in mingw.
28514 (open_device): Use flag O_BINARY if it's defined.
28515 (find_root_device): Add dummy code for mingw.
28516
28517 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
28518 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
28519 (get_scsi_disk_name): Return 0 for mingw.
28520
28521 * util/hostfs.c: #include <grub/util/misc.h>.
28522 (grub_hostfs_open): Use "rb" flag to open file, use
28523 grub_util_get_disk_size to get disk size for mingw.
28524
28525 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
28526 (asprintf): New function if HAVE_ASPRINTF is not set.
28527 (sync): New function for mingw.
28528 (sleep): Likewise.
28529 (grub_util_get_disk_size): Likewise.
28530
ab3f2673 285312008-08-28 Pavel Roskin <proski@gnu.org>
28532
28533 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28534 kern/time.c.
28535
1c282483 285362008-08-28 Robert Millan <rmh@aybabtu.com>
28537
28538 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
28539
678e849c 285402008-08-28 Robert Millan <rmh@aybabtu.com>
28541
28542 Change find_grub_drive() syntax so it doesn't prevent it from
28543 detecting NULL names as errors.
28544
28545 * util/biosdisk.c (find_grub_drive): Move free slot search code
28546 from here ...
28547 (find_free_slot): ... to here.
28548 (read_device_map): Use find_free_slot() to search for free slots.
28549
965c75ca 285502008-08-27 Marco Gerards <marco@gnu.org>
28551
28552 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
28553 (scsi_mod_SOURCES): New variable.
28554 (scsi_mod_CFLAGS): Likewise
28555 (scsi_mod_LDFLAGS): Likewise.
28556
28557 * disk/scsi.c: New file.
28558
28559 * include/grub/scsi.h: Likewise.
28560
28561 * include/grub/scsicmd.h: Likewise.
28562
28563 * disk/ata.c: Include <grub/scsi.h>.
28564 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
28565 instead.
28566 (grub_ata_iterate): Skip ATAPI devices.
28567 (grub_ata_open): Only handle ATAPI devices.
28568 (struct grub_atapi_read): Removed.
28569 (grub_atapi_readsector): Likewise.
28570 (grub_ata_read): No longer handle ATAPI devices.
28571 (grub_ata_write): Likewise.
28572 (grub_atapi_iterate): New function.
28573 (grub_atapi_read): Likewise.
28574 (grub_atapi_write): Likewise.
28575 (grub_atapi_open): Likewise.
28576 (grub_atapi_close): Likewise.
28577 (grub_atapi_dev): New variable.
28578 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
28579 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
28580
28581 * include/grub/disk.h (enum grub_disk_dev_id): Add
28582 `GRUB_DISK_DEVICE_SCSI_ID'.
28583
c07ae501 285842008-08-26 Robert Millan <rmh@aybabtu.com>
28585
28586 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
28587 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
28588 descriptive.
28589
5ed20adc 285902008-08-23 Bean <bean123ch@gmail.com>
28591
28592 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
28593 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28594 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
28595 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
28596 dm_nv.mod.
28597 (raid5rec_mod_SOURCES): New macro.
28598 (raid5rec_mod_CFLAGS): Likewise.
28599 (raid5rec_mod_LDFLAGS): Likewise.
28600 (raid6rec_mod_SOURCES): Likewise.
28601 (raid6rec_mod_CFLAGS): Likewise.
28602 (raid6rec_mod_LDFLAGS): Likewise.
28603 (mdraid_mod_SOURCES): Likewise.
28604 (mdraid_mod_CFLAGS): Likewise.
28605 (mdraid_mod_LDFLAGS): Likewise.
28606 (dm_nv_mod_SOURCES): Likewise.
28607 (dm_nv_mod_CFLAGS): Likewise.
28608 (dm_nv_mod_LDFLAGS): Likewise.
28609
28610 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
28611 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28612 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28613
28614 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
28615 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28616
28617 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28618
28619 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28620
28621 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28622
28623 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28624
28625 * disk/raid5_recover.c: New file.
28626
28627 * disk/raid6_recover.c: Likewise.
28628
28629 * disk/mdraid_linux.c: Likewise.
28630
28631 * disk/dmraid_nvidia.c: Likewise.
28632
28633 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
28634 ULONG_MAX.
28635
28636 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
28637 calculate the size of raid device.
28638 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
28639 different layout of raid5.
28640 (grub_raid_scan_device): Remove code specific to mdraid.
28641 (grub_raid_list): New variable.
28642 (free_array): New function.
28643 (grub_raid_register): Likewise.
28644 (grub_raid_unregister): Likewise.
28645 (grub_raid_rescan): Likewise.
28646 (GRUB_MOD_INIT): Don't iterate device here.
28647 (GRUB_MOD_FINI): Use free_array to release resource.
28648
28649 * include/grub/raid.h: Remove macro and structure specific to mdraid.
28650 (grub_raid5_recover_func_t): New function variable type.
28651 (grub_raid6_recover_func_t): Likewise.
28652 (grub_raid5_recover_func): New variable.
28653 (grub_raid6_recover_func): Likewise.
28654 (grub_raid_register): New function.
28655 (grub_raid_unregister): Likewise.
28656 (grub_raid_rescan): Likewise.
28657 (grub_raid_block_xor): Likewise.
28658
28659 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
28660 (CMD_CRC): New macro.
28661 (part): Removed.
28662 (read_file): Handle device as well as file.
28663 (cmd_crc): New function.
28664 (fstest): Handle multiple disks.
28665 (options): Remove part, raw and long, add root and diskcount.
28666 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 28667 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 28668 add handling for the new options, support multiple disks.
28669
28670 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
28671
29c18915 286722008-08-23 Bean <bean123ch@gmail.com>
28673
28674 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
28675
28676 * genfslist.sh: Ignore kernel.mod.
28677
28678 * genpartmaplist.sh: Likewise.
28679
8415f261 286802008-08-23 Robert Millan <rmh@aybabtu.com>
28681
28682 * util/getroot.c (find_root_device): Skip anything that starts with
28683 a dot, not just directories. This avoids things like /dev/.tmp.md0.
28684
d5a7dc5b 286852008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 28686
d5a7dc5b 28687 * util/update-grub.in (GRUB_GFXMODE): Export variable.
28688 * util/grub.d/00_header.in: Allow the administrator to change default
28689 gfxmode via ${GRUB_GFXMODE}.
28690
380cfbb4 286912008-08-21 Felix Zielcke <fzielcke@z-51.de>
28692
28693 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
28694
c9baafe7 286952008-08-21 Robert Millan <rmh@aybabtu.com>
28696
28697 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
28698 loader.
28699 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
28700 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
28701
e290bef2 287022008-08-20 Carles Pina i Estany <carles@pina.cat>
28703
28704 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
28705 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
28706
f9dbfc96 287072008-08-19 Robert Millan <rmh@aybabtu.com>
28708
28709 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
28710 (struct grub_virtual_screen): Remove `cursor_color'.
28711 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
28712 initialization.
28713 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
28714
dd6bd6ab 287152008-08-18 Robert Millan <rmh@aybabtu.com>
28716
28717 Unify (identical) linux_normal.c files.
28718 * loader/i386/efi/linux_normal.c: Move from here ...
28719 * loader/linux_normal.c: ... to here. Update all users.
28720 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28721 * loader/i386/ieee1275/linux_normal.c: Likewise.
28722
7f42f83e 287232008-08-18 Robert Millan <rmh@aybabtu.com>
28724
28725 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28726 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28727 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28728 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28729 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28730 New macros.
28731 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28732 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28733 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28734 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28735 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28736 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28737 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28738 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28739 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28740 portably using grub_getxy().
28741 Replace `-EFI' with `-bzImage' in boot message.
28742
38487ddb 287432008-08-17 Robert Millan <rmh@aybabtu.com>
28744
28745 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28746
deceb3ec 287472008-08-17 Robert Millan <rmh@aybabtu.com>
28748
28749 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28750
28751 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28752 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28753 (grub_machine_mmap_iterate): New function declaration.
28754 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28755 structure.
28756 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28757 macros.
28758
28759 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28760 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28761 Move e820 parsing from here ...
28762 * kern/i386/pc/mmap.c: New file.
28763 (grub_machine_mmap_iterate): ... to here.
28764
28765 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28766 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28767 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28768 (grub_available_iterate): Redeclare to return `void', and redeclare
28769 its hook to use grub_uint64_t as addr and size parameters, and rename
28770 to ...
28771 (grub_machine_mmap_iterate): ... this. Update all users.
28772
28773 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28774 to make it more readable. Rename to ...
28775 (grub_machine_mmap_iterate): ... this.
28776
28777 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28778 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28779 (grub_multiboot): Allocate an extra region after the payload, and fill
28780 it with a Multiboot memory map. Adjust a.out loader to calculate size
28781 with the extra space.
28782 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28783 with the extra space.
28784
f8aa0f43 287852008-08-17 Carles Pina i Estany <carles@pina.cat>
28786
9807deb9 28787 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 28788
605f5bb6 287892008-08-17 Felix Zielcke <fzielcke@z-51.de>
28790
28791 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28792 mdate-sh to the list `find' searches for.
28793 * DISTLIST: Regenerated.
28794
210db6c6 287952008-08-16 Felix Zielcke <fzielcke@z-51.de>
28796
28797 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28798 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 28799 genmoddep.awk, gensymlist.sh.in.
28800 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 28801 * DISTLIST: Regenerated.
48cdbfd4 28802 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 28803
1082b929 288042008-08-16 Robert Millan <rmh@aybabtu.com>
28805
28806 * disk/raid.c (grub_raid_init): Handle/report errors set by
28807 grub_device_iterate().
28808 * disk/lvm.c (grub_lvm_init): Likewise.
28809
42ce5170 288102008-08-15 Bean <bean123ch@gmail.com>
28811
28812 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28813 and datehook.mod.
28814 (datetime_mod_SOURCES): New macro.
28815 (datetime_mod_CFLAGS): Likewise.
28816 (datetime_mod_LDFLAGS): Likewise.
28817 (date_mod_SOURCES): Likewise.
28818 (date_mod_CFLAGS): Likewise.
28819 (date_mod_LDFLAGS): Likewise.
28820 (datehook_mod_SOURCES): Likewise.
28821 (datehook_mod_CFLAGS): Likewise.
28822 (datehook_mod_LDFLAGS): Likewise.
28823
28824 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28825 and datehook.mod.
28826 (datetime_mod_SOURCES): New macro.
28827 (datetime_mod_CFLAGS): Likewise.
28828 (datetime_mod_LDFLAGS): Likewise.
28829 (date_mod_SOURCES): Likewise.
28830 (date_mod_CFLAGS): Likewise.
28831 (date_mod_LDFLAGS): Likewise.
28832 (datehook_mod_SOURCES): Likewise.
28833 (datehook_mod_CFLAGS): Likewise.
28834 (datehook_mod_LDFLAGS): Likewise.
28835
28836 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28837 and datehook.mod.
28838 (datetime_mod_SOURCES): New macro.
28839 (datetime_mod_CFLAGS): Likewise.
28840 (datetime_mod_LDFLAGS): Likewise.
28841 (date_mod_SOURCES): Likewise.
28842 (date_mod_CFLAGS): Likewise.
28843 (date_mod_LDFLAGS): Likewise.
28844 (datehook_mod_SOURCES): Likewise.
28845 (datehook_mod_CFLAGS): Likewise.
28846 (datehook_mod_LDFLAGS): Likewise.
28847
28848 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28849 and datehook.mod.
28850 (datetime_mod_SOURCES): New macro.
28851 (datetime_mod_CFLAGS): Likewise.
28852 (datetime_mod_LDFLAGS): Likewise.
28853 (date_mod_SOURCES): Likewise.
28854 (date_mod_CFLAGS): Likewise.
28855 (date_mod_LDFLAGS): Likewise.
28856 (datehook_mod_SOURCES): Likewise.
28857 (datehook_mod_CFLAGS): Likewise.
28858 (datehook_mod_LDFLAGS): Likewise.
28859
28860 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28861 and datehook.mod.
28862 (datetime_mod_SOURCES): New macro.
28863 (datetime_mod_CFLAGS): Likewise.
28864 (datetime_mod_LDFLAGS): Likewise.
28865 (date_mod_SOURCES): Likewise.
28866 (date_mod_CFLAGS): Likewise.
28867 (date_mod_LDFLAGS): Likewise.
28868 (datehook_mod_SOURCES): Likewise.
28869 (datehook_mod_CFLAGS): Likewise.
28870 (datehook_mod_LDFLAGS): Likewise.
28871
28872 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28873
28874 * commands/date.c: New file.
28875
28876 * hook/datehook.c: Likewise.
28877
28878 * include/grub/lib/datetime.h: Likewise.
28879
28880 * include/grub/i386/cmos.h: Likewise.
28881
28882 * lib/datetime.c: Likewise.
28883
28884 * lib/i386/datetime.c: Likewise.
28885
28886 * lib/efi/datetime.c: Likewise.
28887
0e9242da 288882008-08-14 Robert Millan <rmh@aybabtu.com>
28889
28890 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28891 (grub_mkelfimage_SOURCES): New variable.
28892 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28893
28894 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28895 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28896 * conf/powerpc-ieee1275.rmk: Likewise.
28897 * conf/i386-ieee1275.rmk: Likewise.
28898
28899 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28900 * kern/i386/coreboot/init.c: Likewise.
28901
28902 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28903 with `<grub/cpu/kernel.h>'.
28904 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28905 to ...
28906 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28907 * kern/i386/coreboot/startup.S: Likewise.
28908
28909 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28910 (GRUB_MOD_GAP): Remove.
28911 * include/grub/powerpc/kernel.h: New file.
28912 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28913 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28914 * include/grub/i386/kernel.h: New file.
28915 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28916 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28917 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28918
28919 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28920 `grub-mkelfimage'.
28921 Use --directory when invoking grub_mkimage.
28922
28923 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28924 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28925 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28926 and GRUB_KERNEL_CPU_PREFIX.
28927
b86408f8 289282008-08-14 Felix Zielcke <fzielcke@z-51.de>
28929
d5e619ca 28930 * include/grub/err.h (grub_err_printf): New function prototype.
28931 * util/misc.c (grub_err_printf): New function.
28932 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28933 grub_printf.
28934 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 28935
7161f0e0 289362008-08-13 Robert Millan <rmh@aybabtu.com>
28937
28938 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28939
a1967522 289402008-08-13 Robert Millan <rmh@aybabtu.com>
28941
28942 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28943 boot entry.
28944
371458b5 289452008-08-12 Robert Millan <rmh@aybabtu.com>
28946
28947 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28948 of the relocation code from here ...
28949 (grub_multiboot): ... to here.
28950 (forward_relocator, backward_relocator): Move from here ...
28951 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28952 (grub_multiboot_backward_relocator): ... to here.
28953 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28954 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28955 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28956 (grub_multiboot_forward_relocator_end)
28957 (grub_multiboot_backward_relocator)
28958 (grub_multiboot_backward_relocator_end): New variables.
28959
05f9452b 289602008-08-12 Bean <bean123ch@gmail.com>
28961
28962 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28963
20024ab0 289642008-08-11 Robert Millan <rmh@aybabtu.com>
28965
28966 * kern/i386/linuxbios/startup.S: Move from here ...
28967 * kern/i386/coreboot/startup.S: ... to here.
28968
28969 * kern/i386/linuxbios/init.c: Move from here ...
28970 * kern/i386/coreboot/init.c: ... to here.
28971
28972 * kern/i386/linuxbios/table.c: Move from here ...
28973 * kern/i386/coreboot/mmap.c: ... to here.
28974
28975 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28976
e352e9cd 289772008-08-11 Robert Millan <rmh@aybabtu.com>
28978
28979 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28980 errors. Leave it to the upper layer to handle them.
28981
2d05bc6a 289822008-08-09 Christian Franke <franke@computer.org>
28983
28984 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28985 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28986 Install `grub.d/10_windows' only on Cygwin.
28987 * configure.ac: Add subst of `target_os'.
28988 Check `target_os' also before setting TARGET_OBJ2ELF.
28989 Add `--enable-grub-pe2elf'.
28990
042bd419 289912008-08-08 Robert Millan <rmh@aybabtu.com>
28992
28993 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28994 (grub_last_time): Change type to grub_uint64_t.
28995 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28996 (grub_disk_close): Likewise.
28997
28998 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28999 (run_menu): Migrate code from to using grub_get_time_ms().
29000
29001 * util/misc.c (grub_get_time_ms): New function.
29002
7f280db5 290032008-08-08 Marco Gerards <marco@gnu.org>
29004
29005 * disk/ata.c (grub_ata_regget): Change return type to
29006 `grub_uint8_t'.
29007 (grub_ata_regget2): Likewise.
29008 (grub_ata_wait_status): New function.
29009 (grub_ata_wait_busy): Removed function, updated all users to use
29010 `grub_ata_wait_status'.
29011 (grub_ata_wait_drq): Likewise.
29012 (grub_ata_cmd): New function.
29013 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
29014 error handling.
29015 (grub_ata_pio_write): Add error handling.
29016 (grub_atapi_identify): Likewise.
29017 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
29018 handling.
29019 (grub_ata_identify): Use `grub_ata_cmd' and improve error
29020 handling. Actually use the detected registers. Reorder the
29021 detection logic such that it is easier to read.
29022 (grub_ata_pciinit): Do not assign the same ID to each controller.
29023 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
29024 handling.
29025 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
29026
29027 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
29028
1fbc5e66 290292008-08-08 Marco Gerards <marco@gnu.org>
29030
29031 * NEWS: Update.
29032
819ce6c0 290332008-08-07 Bean <bean123ch@gmail.com>
29034
29035 * include/grub/x86_64/pci.h: New file.
29036
5c41d44d 290372008-08-07 Christian Franke <franke@computer.org>
29038
29039 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
29040 (TIMER2_GATE): Likewise.
29041 (grub_pit_wait): Add enable/disable of the timer2 gate
29042 bit of port 0x61. This fixes a possible infinite loop.
29043
5ebc275d 290442008-08-07 Bean <bean123ch@gmail.com>
29045
29046 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
29047 kern/i386/tsc.c and kern/i386/pit.c.
29048
29049 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
29050 x86_64 platform.
29051
29052 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
29053 <grub/i386/tsc.h>.
29054
29055 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
29056
e383b3d0 290572008-08-07 Bean <bean123ch@gmail.com>
29058
29059 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
29060
29061 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
29062
29063 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
29064 multiple inclusion. Add #include <grub/types.h>.
29065
1cbb58ac 290662008-08-06 Christian Franke <franke@computer.org>
29067
29068 * conf/common.rmk: Build and install `10_windows'.
29069 * util/grub.d/10_windows.in: New script.
29070
337f5a1e 290712008-08-06 Pavel Roskin <proski@gnu.org>
29072
29073 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
29074
057bc4ac 290752008-08-06 Robert Millan <rmh@aybabtu.com>
29076
29077 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
29078 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
29079
2b99f123 290802008-08-06 Bean <bean123ch@gmail.com>
29081
29082 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
29083 (grub_pxefs_fs_int): Remove dummy definition.
29084 (grub_pxefs_open): Use data->block_size to store the current block
29085 size setting.
29086 (grub_pxefs_read): Use block size stored in data->block_size. As the
29087 value of grub_pxe_blksize can be changed after the file is opened.
29088
9f0234cb 290892008-08-06 Bean <bean123ch@gmail.com>
29090
29091 * fs/i386/pc/pxe.c (curr_file): new variable.
29092 (grub_pxefs_open): Simply the handling of pxe file system. Don't
29093 require the dummy internal file system anymore.
29094 (grub_pxefs_read): Removed.
29095 (grub_pxefs_close): Likewise.
29096 (grub_pxefs_fs_int): Likewise.
29097 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
29098 connection when we switch file.
29099 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
29100
a55d42e0 291012008-08-06 Robert Millan <rmh@aybabtu.com>
29102
29103 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
29104 `halt.mod'.
29105 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
29106 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
29107
29108 * kern/i386/halt.c: New file.
29109 * kern/i386/reboot.c: Likewise.
29110 * include/grub/i386/reboot.h: Likewise.
29111 * include/grub/i386/halt.h: Likewise.
29112
29113 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
29114 Include `<grub/cpu/halt.h>'.
29115 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
29116 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
29117
29118 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
29119 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
29120 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
29121 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
29122 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
29123 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
29124 from here ...
29125 * include/grub/i386/at_keyboard.h: ... to here.
29126
24371d26 291272008-08-05 Robert Millan <rmh@aybabtu.com>
29128
29129 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
29130 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
29131 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
29132 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
29133 `kern/generic/millisleep.c'.
29134
29135 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
29136 instead of grub_get_rtc().
29137 (grub_tsc_init): Initialize `tsc_boot_time'.
29138
29139 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
29140 (grub_machine_init): Use grub_tsc_init() rather than
29141 installing an RTC-based handler via grub_install_get_time_ms().
29142
29143 * kern/i386/pit.c: New file.
29144 * include/grub/i386/pit.h: Likewise.
29145
9e7007b3 291462008-08-05 Bean <bean123ch@gmail.com>
29147
29148 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
29149
29150 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
29151 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
29152 (pxe_mod_SOURCES): New macro.
29153 (pxe_mod_CFLAGS): Likewise.
29154 (pxe_mod_LDFLAGS): Likewise.
29155 (pxecmd_mod_SOURCES): Likewise.
29156 (pxecmd_mod_CFLAGS): Likewise.
29157 (pxecmd_mod_LDFLAGS): Likewise.
29158
29159 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
29160 (grub_pxe_call): Likewise.
29161
29162 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
29163
29164 * commands/i386/pc/pxecmd.c: New file.
29165
9f0234cb 29166 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 29167
29168 * include/grub/i386/pc/pxe.h: Likewise.
29169
6977d49f 291702008-08-05 Bean <bean123ch@gmail.com>
29171
29172 * util/console.c (grub_console_cur_color): New variable.
29173 (grub_console_standard_color): Likewise.
29174 (grub_console_normal_color): Likewise.
29175 (grub_console_highlight_color): Likewise.
29176 (color_map): Likewise.
29177 (use_color): Likewise.
29178 (NUM_COLORS): New macro.
29179 (grub_ncurses_setcolorstate): Handle color properly.
29180 (grub_ncurses_setcolor): Don't change color here, just remember the
29181 settings, color will be set in grub_ncurses_setcolorstate.
29182 (grub_ncurses_getcolor): New function.
29183 (grub_ncurses_init): Initialize color pairs.
29184 (grub_ncurses_term): New member grub_ncurses_getcolor.
29185
9c2ff3ee 291862008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 29187
9c2ff3ee 29188 High resolution timer support. Implemented for x86 CPUs using TSC.
29189 Extracted generic grub_millisleep() so it's linked in only as needed.
29190 This requires a Pentium compatible CPU; if the RDTSC instruction is
29191 not supported, then it falls back on the generic grub_get_time_ms()
29192 implementation that uses the machine's RTC.
29193
29194 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
29195 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
29196 `kern/generic/millisleep.c'.
29197
29198 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
29199 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
29200
29201 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
29202 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
29203
29204 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29205
29206 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29207 `kern/generic/millisleep.c'.
29208
29209 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29210
29211 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
29212
29213 * kern/generic/rtc_get_time_ms.c: New file.
29214
29215 * kern/generic/millisleep.c: New file.
337f5a1e 29216
9c2ff3ee 29217 * kern/misc.c: Don't include
29218 <kern/time.h> anymore.
29219 (grub_millisleep_generic): Removed.
29220
29221 * commands/sleep.c (grub_interruptible_millisleep): Uses
29222 grub_get_time_ms() instead of grub_get_rtc().
29223
29224 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
29225 function.
29226 (grub_cpu_is_cpuid_supported): New inline function.
29227 (grub_cpu_is_tsc_supported): New inline function.
29228 (grub_tsc_init): New function prototype.
29229 (grub_tsc_get_time_ms): New function prototype.
29230
29231 * kern/i386/tsc.c (grub_get_time_ms): New file.
29232
29233 * include/grub/time.h: Include <grub/types.h.
29234 (grub_millisleep_generic): Removed.
29235 (grub_get_time_ms): New prototype.
29236 (grub_install_get_time_ms): New prototype.
29237 (grub_rtc_get_time_ms): New prototype.
29238
29239 * kern/time.c (grub_get_time_ms): New function.
29240 (grub_install_get_time_ms): New function.
29241
29242 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
29243 <grub/time.h> anymore.
29244 (grub_millisleep): Removed.
29245 (grub_machine_init): Call grub_tsc_init.
29246
29247 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
29248 get_time_ms() implementation.
29249
29250 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
29251 (ieee1275_get_time_ms): New function.
29252 (grub_machine_init): Install get_time_ms() implementation.
29253
29254 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
29255 (grub_machine_init): Call grub_tsc_init().
29256 (grub_millisleep): Removed.
bf06a93f 29257
9c2ff3ee 29258 * kern/ieee1275/init.c (grub_millisleep): Removed.
29259 (grub_machine_init): Install ieee1275_get_time_ms()
29260 implementation.
29261 (ieee1275_get_time_ms): New function.
29262 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
29263 real work.
29264
9ec92aaf 292652008-08-05 Marco Gerards <marco@gnu.org>
29266
29267 * disk/ata.c: Include <grub/pci.h>.
29268 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
29269 (grub_ata_initialize): Rewritten.
29270 (grub_ata_device_initialize): New function.
29271
8d23f507 292722008-08-04 Pavel Roskin <proski@gnu.org>
29273
29274 * kern/main.c: Include grub/mm.h.
29275
5e15ee3d 292762008-08-04 Robert Millan <rmh@aybabtu.com>
29277
29278 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
29279 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
29280 corruption problem).
29281
a9053f8f 292822008-08-04 Robert Millan <rmh@aybabtu.com>
29283
29284 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
29285 warnings introduced in my last commit.
29286
dd19c7d7 292872008-08-03 Robert Millan <rmh@aybabtu.com>
29288
29289 Make PCI available on all i386 architectures.
29290
29291 * include/grub/i386/pc/pci.h: Move from here ...
29292 * include/grub/i386/pci.h: ... to here.
29293
29294 * include/grub/i386/pc/pci.h: Remove.
29295 * include/grub/i386/efi/pci.h: Remove.
29296 * include/grub/x86_64/efi/pci.h: Remove.
29297
29298 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
29299 `<grub/cpu/pci.h>'.
29300
29301 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
29302 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
29303 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
29304
29305 * conf/i386-ieee1275.rmk: Likewise.
29306
e14a6184 293072008-08-03 Robert Millan <rmh@aybabtu.com>
29308
29309 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
29310 (grub_console_setcursor): Make it possible to set cursor off.
29311
52768e37 293122008-08-03 Robert Millan <rmh@aybabtu.com>
29313
29314 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
29315 of modules instead of assuming which platform provides what.
29316 * util/update-grub.in: Likewise.
29317
2d52f57f 293182008-08-03 Robert Millan <rmh@aybabtu.com>
29319
29320 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
29321 instead of `grub_install_dos_part' to determine whether a drive needs
29322 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 29323 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 29324
2a5cd121 293252008-08-02 Robert Millan <rmh@aybabtu.com>
29326
29327 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
29328
93808428 293292008-08-02 Robert Millan <rmh@aybabtu.com>
29330
29331 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
29332 of informational grub_dprintf() calls.
29333
3bd0a12a 293342008-08-02 Robert Millan <rmh@aybabtu.com>
29335
29336 * disk/memdisk.c (memdisk_size): Don't initialize.
29337 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
29338
29339 * include/grub/i386/pc/kernel.h
29340 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
29341 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
29342 (grub_memdisk_image_size, grub_arch_memdisk_addr)
29343 (grub_arch_memdisk_size): Remove.
29344
29345 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
29346 field (was only used to transfer a constant). Add `type' field to
29347 support multiple module types.
29348 (grub_module_iterate): New function.
29349
29350 * kern/device.c (grub_device_open): Do not hide error messages
29351 when grub_disk_open() fails. Use grub_print_error() instead.
29352
29353 * kern/i386/pc/init.c (grub_arch_modules_addr)
29354 (grub_arch_memdisk_size): Remove functions.
29355 (grub_arch_modules_addr): Return the module address in high memory
29356 (now that it isn't copied anymore).
29357
29358 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
29359 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
29360 decompression routine (grub_total_module_size already includes that
29361 now). Don't copy modules back to low memory.
29362
29363 * kern/main.c: Include `<grub/mm.h>'.
29364 (grub_load_modules): Split out (and use) ...
29365 (grub_module_iterate): ... this function, which iterates through
29366 module objects and runs a hook.
29367 Comment out grub_mm_init_region() call, as it would cause non-ELF
29368 modules to be overwritten.
29369
29370 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
29371 the memdisk image in its own region, make it part of the module list.
29372 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
29373 (main): Parse --memdisk|-m option, and pass user-provided path as
29374 parameter to generate_image().
29375 (add_segments): Pass `memdisk_path' down to load_modules().
29376 (load_modules): Embed memdisk image in module section when requested.
29377 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
29378 `header.type' instead of `header.offset'.
29379
29380 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
29381 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
29382 (memdisk_mod_LDFLAGS): New variables.
29383 * conf/i386-coreboot.rmk: Likewise.
29384 * conf/i386-ieee1275.rmk: Likewise.
29385
a927cc73 293862008-08-02 Robert Millan <rmh@aybabtu.com>
29387
29388 * loader/i386/pc/multiboot.c (playground, forward_relocator)
29389 (backward_relocator): New variables. Used to allocate and relocate
29390 the payload, respectively.
29391 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 29392 address, install the appropriate relocator code in each bound of
a927cc73 29393 the payload, and set the entry point such that
29394 grub_multiboot_real_boot() will jump to one of them.
29395
29396 * kern/i386/loader.S (grub_multiboot_payload_size)
29397 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29398 (grub_multiboot_payload_entry_offset): New variables.
29399 (grub_multiboot_real_boot): Set cpu context to what the relocator
29400 expects, and jump to the relocator instead of the payload.
29401
29402 * include/grub/i386/loader.h (grub_multiboot_payload_size)
29403 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29404 (grub_multiboot_payload_entry_offset): Export.
29405
b15d8a0c 294062008-08-01 Bean <bean123ch@gmail.com>
29407
29408 * normal/menu_entry.c (editor_getline): Don't return the original
29409 string as result, as it will be released by lexer once it has done
29410 using it.
29411
cdfb3d22 294122008-08-01 Robert Millan <rmh@aybabtu.com>
29413
29414 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
29415 within menuentries, not before them.
29416 util/grub.d/10_hurd.in: Likewise.
29417
9175e93d 294182008-08-01 Bean <bean123ch@gmail.com>
29419
29420 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
29421 (bufio_mod_SOURCES): New macro.
29422 (bufio_mod_CFLAGS): Likewise.
29423 (bufio_mod_LDFLAGS): Likewise.
29424
29425 * include/grub/bufio.h: New file.
29426
29427 * io/bufio.c: Likewise.
29428
29429 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
29430 (grub_video_reader_png): Use grub_buffile_open to open file.
29431
29432 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
29433 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
29434
29435 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
29436 (grub_video_reader_tga): Use grub_buffile_open to open file.
29437
29438 * font/manager.c: Include <grub/bufio.h>.
29439 (add_font): Use grub_buffile_open to open file.
29440
3d8383e7 294412008-07-31 Robert Millan <rmh@aybabtu.com>
29442
29443 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
29444 ELF segments, use a macro for arbitrarily accessing any of them instead
29445 of preparing a pointer that allows access to one at a time.
29446 (grub_multiboot_load_elf64): Likewise.
29447
16e641b6 294482008-07-31 Bean <bean123ch@gmail.com>
29449
29450 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
29451 GRUB_KERNEL_MACHINE_DATA_END.
29452
59198b72 294532008-07-30 Robert Millan <rmh@aybabtu.com>
29454
29455 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
29456 Increase from 0x50 to 0x60.
29457 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
29458 use UUIDs to identify the root drive for them. If that's not
29459 possible, abort.
29460 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
29461 check, for cross-disk installs.
29462
ae88bca3 294632008-07-30 Robert Millan <rmh@aybabtu.com>
29464
29465 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
29466 is non-empty, use it to set the `prefix' environment variable instead
29467 of the usual approach.
29468 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
29469 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
29470 environment variable instead of dummy make_install_device().
29471
29472 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
29473 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 29474 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 29475
29476 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
29477 New variable reference.
29478 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
29479 New macro. Defines offset of `grub_prefix' within startup.S (relative
29480 to `start').
29481 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
29482 section within startup.S (relative to `start').
29483 * include/grub/i386/coreboot/kernel.h: Likewise.
29484
29485 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
29486 Overwrite grub_prefix with its contents, at the beginning of the
29487 first segment.
29488 (main): Understand -p|--prefix.
29489
14f41dd1 294902008-07-30 Robert Millan <rmh@aybabtu.com>
29491
29492 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
29493
4ca049a3 294942008-07-30 Robert Millan <rmh@aybabtu.com>
29495
29496 * term/i386/pc/vga_text.c (grub_console_cls): Use
29497 grub_console_gotoxy() to go back to beginning of the screen.
29498 Found by Patrick Georgi <patrick.georgi@coresystems.de>
29499
2921d337 295002008-07-29 Christian Franke <franke@computer.org>
29501
29502 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29503 Add conversion of emulated mount points on Cygwin.
29504
b609876d 295052008-07-29 Christian Franke <franke@computer.org>
29506
29507 * util/update-grub.in: Add a check for admin
29508 group on Cygwin.
29509 Remove old `grub.cfg.new' before creation.
29510 Add `-f' to `mv' to handle the different filesystem
29511 semantics of Windows.
29512
e93e4679 295132008-07-29 Bean <bean123ch@gmail.com>
29514
29515 * normal/main.c (get_line): Fix buffer overflow bug.
29516
41694fd0 295172008-07-28 Robert Millan <rmh@aybabtu.com>
29518
29519 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
29520 (struct grub_apple_header): New struct. Describes the layout of
29521 the partmap header.
29522 (apple_partition_map_iterate): Check the header magic as well as the
29523 partition magic (which was already being checked).
29524
cfd0b4e6 295252008-07-28 Pavel Roskin <proski@gnu.org>
29526
29527 * genmk.rb: Add a warning to the beginning of the output that
29528 it's a generated file and should not be edited.
29529
93cce016 295302008-07-28 Robert Millan <rmh@aybabtu.com>
29531
29532 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29533 with the same number are found, just use issue a warning with
29534 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 29535
cd1df915 295362008-07-27 Robert Millan <rmh@aybabtu.com>
29537
29538 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
29539 information.
29540
b70a8427 295412008-07-27 Bean <bean123ch@gmail.com>
29542
29543 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
29544 (grub_fat_find_dir): Ignore case when comparing filename.
29545
8f5e379f 295462008-07-27 Bean <bean123ch@gmail.com>
29547
29548 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
29549 smallino, as it's more descriptive, and i8count can be confused with
29550 the other field count.
29551 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
29552 inode type.
29553
a85cd5a0 295542008-07-27 Bean <bean123ch@gmail.com>
29555
29556 * commands/crc.c: New file.
29557
29558 * lib/crc.c: Likewise.
29559
29560 * include/grub/lib/crc.h: Likewise.
29561
29562 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
29563
29564 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
29565 (hexdump): Move this function to ...
29566
29567 * lib/hexdump.c: ... here.
29568
29569 * include/grub/hexdump.h: Renamed to ...
29570
29571 * include/grub/lib/hexdump.h: ... this.
29572
29573 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
29574
29575 * util/grub-editenv.c: Likewise.
29576
29577 * include/envblk.h: Renamed to ...
29578
29579 * include/lib/envblk.h: ... this.
29580
29581 * util/envblk.c: Renamed to ...
29582
29583 * lib/envblk.c: ... this.
29584
29585 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
29586 lib/hexdump.c.
29587 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
29588 (pkglib_MODULES): Add crc.mod.
29589 (hexdump_mod_SOURCES): Add lib/hexdump.c.
29590 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
29591 (crc_mod_SOURCES): New macro.
29592 (crc_mod_CFLAGS): Likewise.
29593 (crc_mod_LDFLAGS): Likewise.
29594
29595 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
29596
29597 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29598
29599 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29600
29601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29602
29603 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29604
c298def0 296052008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 29606
29607 * commands/help.c: Include <grub/term.h>.
29608 (TERM_WIDTH): Removed. Updated all users.
29609
cc349fb3 296102008-07-27 Pavel Roskin <proski@gnu.org>
29611
29612 * util/getroot.c (find_root_device): Rephrase a comment to avoid
29613 spurious warnings about a comment within a comment.
29614
9051607e 296152008-07-25 Robert Millan <rmh@aybabtu.com>
29616
29617 * util/getroot.c (find_root_device): Skip devices that match
29618 /dev/dm-[0-9]. This lets the real device be found for any type of
29619 abstraction (LVM, EVMS, RAID..).
29620 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
29621 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
29622 device is found first, find_root_device() will now skip it.
29623
01453bfc 296242008-07-24 Pavel Roskin <proski@gnu.org>
29625
29626 * include/grub/types.h: Use __builtin_bswap32() and
29627 __builtin_bswap64() with gcc 4.3 and newer.
29628
6af9849f 296292008-07-24 Christian Franke <franke@computer.org>
29630
3a0fa256 29631 * util/i386/pc/grub-install.in: If `--debug' is specified,
29632 pass `--verbose' to grub-setup.
29633 Abort script if make_system_path_relative_to_its_root() fails.
29634
7810e747 296352008-07-24 Bean <bean123ch@gmail.com>
29636
29637 * configure.ac: Fixed a bug caused by the previous cygwin patch,
29638 variable `target_platform' should be `platform'.
29639
42290e17 296402008-07-24 Bean <bean123ch@gmail.com>
29641
51cc5193 29642 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 29643 (grub_png_init_fixed_block): New function.
29644 (grub_png_decode_image_data): Handle fixed huffman code compression.
29645
2a8a80e4 296462008-07-24 Bean <bean123ch@gmail.com>
29647
29648 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
29649 (grub_pe2elf_SOURCES): New macro.
29650 (CLEANFILES): Add grub-pe2elf.
29651
29652 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
29653 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
29654 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
29655 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
29656 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
29657 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
29658 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
29659 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
29660 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
29661 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
29662 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
29663 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
29664 (GRUB_PE32_DT_FUNCTION): Likewise.
29665 (GRUB_PE32_REL_I386_DIR32): Likewise.
29666 (GRUB_PE32_REL_I386_REL32): Likewise.
29667 (grub_pe32_symbol): New structure.
29668 (grub_pe32_reloc): Likewise.
29669
29670 * util/grub-pe2elf.c: New file.
29671
29672 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
29673 start symbol in non pc platform.
29674
29675 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
29676
29677 The following patches are from Christian Franke.
29678
29679 * include/grub/dl.h: Remove .previous, gas supports this only
29680 for ELF format.
29681
29682 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
29683 Remove .type, gas supports this only for ELF format.
29684
29685 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
29686 nullbytes in symbol table. This fixes an infinite loop if table is
29687 zero filled.
29688
29689 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
29690 TARGET_IMG_LDFLAGS and EXEEXT.
29691
29692 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
29693 TARGET_IMG_LDFLAGS_AC.
29694 (grub_CHECK_STACK_ARG_PROBE): New function.
29695
29696 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
29697
29698 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
29699
29700 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
29701 to set TARGET_IMG_LD* accordingly.
29702 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
29703 Add call to grub_CHECK_STACK_ARG_PROBE.
29704 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
29705
29706 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
29707
29708 * genmk.rb: Add EXEEXT to CLEANFILES.
29709
12ccdb75 297102008-07-23 Robert Millan <rmh@aybabtu.com>
29711
29712 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
29713 define the codes for arrows and lines used for the menu).
29714 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
29715 as well.
29716
29717 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29718 fonts, because the latter are too slow.
29719
18eeaf04 297202008-07-21 Bean <bean123ch@gmail.com>
29721
29722 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29723 a20. Run keyboard test last, as it will cause macbook to halt.
29724
b095e2ad 297252008-07-18 Pavel Roskin <proski@gnu.org>
29726
29727 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29728 load foreign architecture modules correctly anyway. Keep
29729 support for loading host architecture modules, whether we
29730 compile them or not.
29731
737feb35 297322008-07-17 Pavel Roskin <proski@gnu.org>
29733
3f4ce737 29734 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29735 change target_cpu. The compiler default can mismatch target_cpu
29736 in any case.
29737
4ad2d049 29738 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29739 * kern/efi/efi.c: Likewise.
29740
f6130a12 29741 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29742 target compiler is functional.
29743 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29744 are set up.
29745
58393a2d 29746 * configure.ac: Default to efi platform for x86_64-apple. Allow
29747 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29748 adjustments from the rest, only do them if target is not
29749 explicitly given. Merge other adjustments with the final sanity
29750 check. Remove an extraneous check for supported CPU. Be
29751 specific which CPU and which platform is not supported.
29752
737feb35 29753 * configure.ac: Default to pc platform for x86_64.
29754
546f966a 297552008-07-17 Robert Millan <rmh@aybabtu.com>
29756
29757 Partial LinuxBIOS -> Coreboot rename.
29758
29759 * conf/i386-linuxbios.rmk: Renamed to ...
29760 * conf/i386-coreboot.rmk: ... this.
29761 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29762 * configure.ac: Accept "coreboot" as input platform (but maintain
29763 compatibility with "linuxbios").
29764 * include/grub/i386/linuxbios: Renamed to ...
29765 * include/grub/i386/coreboot: ... this.
29766
20011694 297672008-07-17 Bean <bean123ch@gmail.com>
29768
29769 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 29770 (appleldr_mod_SOURCE): New variable.
20011694 29771 (appleldr_mod_CFLAGS): Likewise.
29772 (appleldr_mod_LDFLAGS): Likewise.
29773 (pci_mod_SOURCES): Likewise.
29774 (pci_mod_CFLAGS): Likewise.
29775 (pci_mod_LDFLAGS): Likewise.
29776 (lspci_mod_SOURCES): Likewise.
29777 (lspci_mod_CFLAGS): Likewise.
29778 (lspci_mod_LDFLAGS): Likewise.
29779
29780 * conf/x86_64-efi.rmk: New file.
29781
29782 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29783 macro.
29784 (grub_efidisk_write): Likewise.
29785
29786 * include/efi/api.h (efi_call_0): New macro.
29787 (efi_call_1): Likewise.
29788 (efi_call_2): Likewise.
29789 (efi_call_3): Likewise.
29790 (efi_call_4): Likewise.
29791 (efi_call_5): Likewise.
29792 (efi_call_6): Likewise.
29793
29794 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29795 grub_rescue_cmd_chainloader.
29796
29797 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29798 (grub_pe32_optional_header): Change some fields based on i386 or
29799 x86_64 platform.
29800 (GRUB_PE32_PE32_MAGIC): Likewise.
29801
29802 * include/grub/efi/uga_draw.h: New file.
29803
29804 * include/grub/elf.h (STN_ABS): New constant.
29805 (R_X86_64_NONE): Relocation constant for x86_64.
29806 (R_X86_64_64): Likewise.
29807 (R_X86_64_PC32): Likewise.
29808 (R_X86_64_GOT32): Likewise.
29809 (R_X86_64_PLT32): Likewise.
29810 (R_X86_64_COPY): Likewise.
29811 (R_X86_64_GLOB_DAT): Likewise.
29812 (R_X86_64_JUMP_SLOT): Likewise.
29813 (R_X86_64_RELATIVE): Likewise.
29814 (R_X86_64_GOTPCREL): Likewise.
29815 (R_X86_64_32): Likewise.
29816 (R_X86_64_32S): Likewise.
29817 (R_X86_64_16): Likewise.
29818 (R_X86_64_PC16): Likewise.
29819 (R_X86_64_8): Likewise.
29820 (R_X86_64_PC8): Likewise.
29821
29822 * include/grub/i386/efi/pci.h: New file.
29823
29824 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29825 Change it value based on platform.
29826 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29827 (GRUB_E820_RAM): Likewise.
29828 (GRUB_E820_RESERVED): Likewise.
29829 (GRUB_E820_ACPI): Likewise.
29830 (GRUB_E820_NVS): Likewise.
29831 (GRUB_E820_EXEC_CODE): Likewise.
29832 (GRUB_E820_MAX_ENTRY): Likewise.
29833 (grub_e820_mmap): New structure.
29834 (linux_kernel_header): Change the efi field according to different
29835 kernel version, also field from linux_kernel_header.
29836
29837 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29838
29839 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29840 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29841 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29842 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29843 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29844 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29845 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29846 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29847 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29848 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29849
29850 * include/grub/x86_64/efi/kernel.h: New file.
29851
29852 * include/grub/x86_64/efi/loader.h: Likewise.
29853
29854 * include/grub/x86_64/efi/machine.h: Likewise.
29855
29856 * include/grub/x86_64/efi/pci.h: Likewise.
29857
29858 * include/grub/x86_64/efi/time.h: Likewise.
29859
29860 * include/grub/x86_64/linux.h: Likewise.
29861
29862 * include/grub/x86_64/setjmp.h: Likewise.
29863
29864 * include/grub/x86_64/time.h: Likewise.
29865
29866 * include/grub/x86_64/types.h: Likewise.
29867
29868 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29869 GRUB_TARGET_SIZEOF_VOID_P.
29870
29871 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29872 (grub_efi_locate_handle): Likewise.
29873 (grub_efi_open_protocol): Likewise.
29874 (grub_efi_set_text_mode): Likewise.
29875 (grub_efi_stall): Likewise.
29876 (grub_exit): Likewise.
29877 (grub_reboot): Likewise.
29878 (grub_halt): Likewise.
29879 (grub_efi_exit_boot_services): Likewise.
29880 (grub_get_rtc): Likewise.
29881
29882 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29883 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29884 (grub_efi_allocate_pages): Wrap efi calls.
29885 (grub_efi_free_pages): Wrap efi calls.
29886 (grub_efi_get_memory_map): Wrap efi calls.
29887
29888 * kern/x86_64/dl.c: New file.
29889
29890 * kern/x86_64/efi/callwrap.S: Likewise.
29891
29892 * kern/x86_64/efi/startup.S: Likewise.
29893
29894 * loader/efi/appleloader.c: Likewise.
29895
29896 * loader/efi/chainloader.c (cmdline): New variable.
29897 (grub_chainloader_unload): Wrap efi calls.
29898 (grub_chainloader_boot): Likewise.
29899 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29900 command line.
29901
29902 * loader/efi/chainloader_normal.c (chainloader_command):
29903 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29904 command line.
29905
29906 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29907 method.
29908 (grub_e820_add_region): New function.
29909 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29910 booting.
29911 (grub_find_video_card): New function.
29912 (grub_linux_setup_video): New function.
29913 (grub_rescue_cmd_linux): Probe for video information.
29914
29915 * normal/x86_64/setjmp.S: New file.
29916
29917 * term/efi/console.c (map_char): New function.
29918 (grub_console_putchar): Map unicode char.
29919 (grub_console_checkkey): Wrap efi calls.
29920 (grub_console_getkey): Likewise.
29921 (grub_console_getwh): Likewise.
29922 (grub_console_gotoxy): Likewise.
29923 (grub_console_cls): Likewise.
29924 (grub_console_setcolorstate): Likewise.
29925 (grub_console_setcursor): Likewise.
29926
29927 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29928
59652a20 299292008-07-16 Pavel Roskin <proski@gnu.org>
29930
ef294055 29931 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29932 format strings.
29933
59652a20 29934 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29935 pointer, not an integer. This fixes a warning and prevents
29936 precision loss on 64-bit systems.
29937 (relocate_addresses): Remove unneeded cast.
29938
afc3b5d7 299392008-07-15 Pavel Roskin <proski@gnu.org>
29940
506b2b3e 29941 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29942
62ead89c 29943 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29944
c4cd51d7 29945 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29946 Fix comparison between signed and unsigned.
29947
0d3d8f28 29948 * include/grub/i386/ieee1275/console.h: Declare
29949 grub_console_init() and grub_console_fini().
29950
8804b286 29951 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29952 It's empty and unused.
29953
ee01cf35 29954 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29955 beginning to avoid warnings with some compilers.
29956
afc3b5d7 29957 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29958 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29959
e4e8eaa5 299602008-07-14 Pavel Roskin <proski@gnu.org>
29961
407aceb4 29962 * kern/env.c (grub_register_variable_hook): Don't copy empty
29963 string, it leaks memory. Pass "" to grub_env_set(), it should
29964 handle constant strings.
29965
e4e8eaa5 29966 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29967 * commands/cmp.c (grub_cmd_cmp): Likewise.
29968 * kern/dl.c (grub_dl_flush_cache): Likewise.
29969 (grub_dl_load_core): Likewise.
29970 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29971 (grub_elf64_load_phdrs): Likewise.
29972
d4e2dad3 299732008-07-13 Pavel Roskin <proski@gnu.org>
29974
29975 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29976 between signed and unsigned.
29977 (LzmaEnc_Finish): Fix warning about an unused parameter.
29978
aa24b516 299792008-07-13 Bean <bean123ch@gmail.com>
29980
29981 * Makefile.in (enable_lzo): New rule.
29982
29983 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29984
29985 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29986
29987 * boot/i386/pc/lnxboot.S: #include <config.h>.
29988
29989 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 29990 its value according to the compression algorithm used, lzo or lzma.
aa24b516 29991
29992 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29993 compression algorithm according to configure macro.
29994
29995 * kern/i386/pc/startup.S (codestart): Likewise.
29996
29997 * kern/i386/pc/lzma_decode.S: New file.
29998
29999 * include/grub/lib/LzFind.h: Likewise.
30000
30001 * include/grub/lib/LzHash.h: Likewise.
30002
30003 * include/grub/lib/LzmaDec.h: Likewise.
30004
30005 * include/grub/lib/LzmaEnc.h: Likewise.
30006
30007 * include/grub/lib/LzmaTypes.h: Likewise.
30008
30009 * lib/LzFind.c: Likewise.
30010
30011 * lib/LzmaDec.c: Likewise.
30012
30013 * lib/LzmaEnc.c: Likewise.
30014
4ae821ac 300152008-07-13 Bean <bean123ch@gmail.com>
30016
30017 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
30018 (grub_ext4_extent_header): New structure.
30019 (grub_ext4_extent): Likewise.
30020 (grub_ext4_extent_idx): Likewise.
30021 (grub_ext4_find_leaf): New function.
30022 (grub_ext2_read_block): Handle extents.
30023
9a745147 300242008-07-12 Robert Millan <rmh@aybabtu.com>
30025
30026 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
30027
d49a4cf6 300282008-07-11 Robert Millan <rmh@aybabtu.com>
30029
30030 * util/grub.d/40_custom.in: New file. Example on how to add custom
30031 entries to /etc/grub.d.
30032 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
30033 40_custom (implicitly, by merging all the grub.d rules).
30034
947414b4 300352008-07-11 Pavel Roskin <proski@gnu.org>
30036
0059cf6f 30037 * commands/read.c (grub_getline): Fix invalid memory access.
30038 Don't add newline to the variable value.
30039
947414b4 30040 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
30041 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
30042 (serial_hw_get_port): Check validity of the port number.
30043 (grub_cmd_serial): Check return value of serial_hw_get_port().
30044
62a02d00 300452008-07-07 Pavel Roskin <proski@gnu.org>
30046
30047 * boot/i386/pc/diskboot.S (notification_string): Replace
30048 "Loading kernel" with just "loading". This is shorter, less
30049 confusing and saves a few bytes for possible future changes.
30050
3e5581b0 300512008-07-05 Pavel Roskin <proski@gnu.org>
30052
ea387a48 30053 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
30054 size for ATAPI devices, they are undefined. Output sector
30055 number in decimal form.
30056
3e5581b0 30057 * disk/ata.c: Use named constants for status bits.
30058
fdecb8fd 300592008-07-04 Pavel Roskin <proski@gnu.org>
30060
bcd35b90 30061 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
30062 grub_addr_t before casting it to the void pointer to fix a
30063 warning. Non-addressable regions are discarded earlier.
30064 (grub_arch_modules_addr): Cast _end to grub_addr_t.
30065 * kern/i386/linuxbios/table.c: Include grub/misc.h.
30066 (check_signature): Don't shadow table_header.
30067 (grub_linuxbios_table_iterate): Cast numeric constants to
30068 grub_linuxbios_table_header_t.
30069 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
30070 grub_stop().
30071
af58ab3d 30072 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
30073 prevent warnings.
30074
1759aa57 30075 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
30076 pointer, which can cause warnings. Support 64-bit addresses.
30077
fdecb8fd 30078 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
30079 of sizeof(long). This fixes PowerPC image generation on x86_64.
30080
8516d2a8 300812008-07-04 Robert Millan <rmh@aybabtu.com>
30082
30083 This fixes a performance issue when pc & gpt partmap iterators
30084 didn't abort iteration even after our hook found what it was
fe987087 30085 looking for (often causing expensive probes of non-existent drives).
8516d2a8 30086
30087 Some callers relied on previous buggy behaviour, since they would
34c44600 30088 raise an error when their own hooks caused early abortion of its
8516d2a8 30089 iteration.
30090
30091 * kern/device.c (grub_device_open): Improve error message.
30092 * disk/lvm.c (grub_lvm_open): Likewise.
30093 * disk/raid.c (grub_raid_open): Likewise.
30094
30095 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
30096 when hook requests it, independently of grub_errno.
30097 (pc_partition_map_probe): Do not fail when find_func() caused
30098 early abortion of pc_partition_map_iterate().
30099
30100 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
30101 when hook requests it, independently of grub_errno.
30102 (gpt_partition_map_probe): Do not fail when find_func() caused
30103 early abortion of gpt_partition_map_iterate().
30104
30105 * kern/partition.c (grub_partition_iterate): Abort parent iteration
30106 when hook requests it, independently of grub_errno. Do not fail when
30107 part_map_iterate_hook() caused early abortion of p->iterate().
30108
30109 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
30110 when grub_partition_iterate() returned with non-zero.
30111
277d0de9 301122008-07-03 Pavel Roskin <proski@gnu.org>
30113
30114 * disk/ata.c (grub_ata_pio_write): Check status before writing,
30115 like we do in grub_ata_pio_read().
30116 (grub_ata_readwrite): Always write individual sectors. Fix the
30117 sector count for the remainder.
30118 (grub_ata_write): Enable writing to ATA devices. Correctly
30119 report error for ATAPI devices.
30120
d4c9b428 301212008-07-02 Pavel Roskin <proski@gnu.org>
30122
e43fc690 30123 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
30124 warning.
30125
f707af42 30126 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
30127 for every read sector, we already increment it for the whole
30128 batch. This fixes reading more than 256 sectors at once.
30129
11e16b15 30130 * util/grub-editenv.c (cmd_info): Cast argument to long
30131 explicitly. ptrdiff_t reduces to int on i386.
30132
cbabfdd4 30133 * util/grub-editenv.c (main): Be specific which parameter is
30134 missing.
30135
b8fbce0a 30136 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
30137 (memdisk): Make memdisk_orig_addr a pointer.
30138
c9c8e606 30139 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
30140 for file offsets, use grub_off_t instead. Fix printf format
30141 warnings.
30142
ca62e598 30143 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
30144 there. Real unexpected warnings should not drown in the noise
30145 about known problems.
30146
ce8d1766 30147 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
30148 grub_disk_addr_t for memory addresses.
30149
00c7a56a 30150 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
30151 explicitly to fix a warning.
30152
08d3ef09 30153 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
30154
cb71ba20 30155 * Makefile.in (MODULE_LDFLAGS): New variable.
30156 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
30157 the linker accepts --build-id=none.
30158 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
30159 MODULE_LDFLAGS.
30160 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
30161
d4c9b428 30162 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
30163 those in Linux XFS code. Provide a way to access 64-bit parent
30164 inode.
30165 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
30166 the end of struct grub_xfs_dir_header.
30167
d4156eee 301682008-07-02 Bean <bean123ch@gmail.com>
30169
30170 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
30171 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
30172 and GRUB_IEEE1275_FLAG_NO_ANSI.
30173
30174 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
30175 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
30176 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
30177
30178 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
30179 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
30180
30181 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
30182 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
30183
30184 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
30185 esc sequence on non ANSI terminal.
30186 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
30187
30188 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
30189 beginning of file.
30190
2270f77b 301912008-07-02 Bean <bean123ch@gmail.com>
30192
30193 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
30194 (grub_editenv_SOURCES): New variable.
30195 (pkglib_MODULES): Add loadenv.mod.
30196 (loadenv_mod_SOURCES): New variable.
30197 (loadenv_mod_CFLAGS): Likewise.
30198 (loadenv_mod_LDFLAGS): Likewise.
30199
30200 * include/grub/envblk.h: New file.
30201
30202 * util/envblk.c: New file.
30203
30204 * util/grub-editenv.c: New file.
30205
30206 * commands/loadenv.c: New file.
30207
0e9e51ec 302082008-07-01 Pavel Roskin <proski@gnu.org>
30209
d89b7634 30210 * include/multiboot2.h (struct multiboot_tag_module): Use char,
30211 not unsigned char. This fixes warnings and is consistent with
30212 other tags.
30213
bf1835b1 30214 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
30215
8222a04b 30216 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
30217
6a42d99d 30218 * term/tparm.c (analyze): Always set *popcount.
30219
10b159d1 30220 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
30221 cast to fix a warning.
30222
b8789f6c 30223 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
30224 cast to suppress a warning.
30225
29d7e38a 30226 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
30227 grub_fshelp_read_file() expects.
30228
f341f669 30229 * fs/fat.c: Fix UUID calculation on big-endian systems. We
30230 write uuid as a 32-bit value in CPU byte order, so declare and
30231 use it as such.
30232
0e9e51ec 30233 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
30234 long if the format specifier expects it.
30235 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
30236 * partmap/pc.c (pc_partition_map_iterate): Likewise.
30237 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
30238 long to fix a warning.
30239 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
30240 grub_dprintf() arguments to fix warnings.
30241
3aefa857 302422008-06-30 Pavel Roskin <proski@gnu.org>
30243
56c7668b 30244 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
30245 install_bsd_part immediately before core.img is embedded or
30246 modified on disk. This fixes core.img verification if core.img
30247 cannot be embedded.
30248
3aefa857 30249 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
30250 core_path to calculate the blocklist.
30251 Patch from Javier Martín <lordhabbit@gmail.com>
30252
5444088d 302532008-06-29 Robert Millan <rmh@aybabtu.com>
30254
30255 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
30256 block to disk block.
30257 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
30258 Patch from Niels Böhm <bitbucket@arcor.de>
30259
674835c8 302602008-06-29 Robert Millan <rmh@aybabtu.com>
30261
30262 * util/update-grub_lib.in (font_path): Search for fonts in
30263 /boot/grub first, which is more likely to be readable (we aren't
30264 deciding where fonts live, just looking for them).
30265
f527dbc8 302662008-06-26 Pavel Roskin <proski@gnu.org>
30267
6c2d8df6 30268 * util/biosdisk.c (read_device_map): Don't leave dead map
30269 entries for devices failing stat() check.
30270
f527dbc8 30271 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
30272 core_path_dev for the core.img path on the target device.
30273
aebe3d13 302742008-06-26 Robert Millan <rmh@aybabtu.com>
30275
30276 * disk/fs_uuid.c: New file.
30277 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
30278 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
30279 (fs_uuid_mod_LDFLAGS): New variables.
30280 * include/grub/disk.h (grub_disk_dev_id): Add
30281 `GRUB_DISK_DEVICE_UUID_ID'.
30282 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
30283 implement iterate().
30284
37aaf354 302852008-06-26 Robert Millan <rmh@aybabtu.com>
30286
30287 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
30288 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
30289 Linux image includes no initrd.
30290
25ff262a 302912008-06-21 Javier Martín <lordhabbit@gmail.com>
30292
30293 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
30294 call to resolve the core image location that effectively appended the
30295 name twice.
30296
76a2bd44 302972008-06-21 Robert Millan <rmh@aybabtu.com>
30298
30299 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
30300 call from here ...
30301
30302 * util/grub.d/10_hurd.in: ... to here ...
30303 * util/grub.d/10_linux.in: ... and here.
30304
650e1c79 303052008-06-19 Robert Millan <rmh@aybabtu.com>
30306
fe987087 30307 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 30308 after it has been set by grub_machine_set_prefix().
30309
6ce63911 303102008-06-19 Robert Millan <rmh@aybabtu.com>
30311
30312 * commands/search.c (search_label, search_fs_uuid, search_file): Print
30313 search result when not saving to variable, not the other way around.
30314 When saving to variable, abort iteration as soon as a match is found.
30315
73940cec 303162008-06-19 Robert Millan <rmh@aybabtu.com>
30317
30318 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
30319 check for partition that provides /boot/grub. Its logic is flawed,
30320 as it prevents prepare_grub_to_access_device() from being called
30321 multiple times.
30322
3c62a39d 303232008-06-19 Robert Millan <rmh@aybabtu.com>
30324
30325 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
30326 "insmod" command directly when abstraction modules are needed,
fe987087 30327 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 30328 since it had already been processed).
30329
47395a42 303302008-06-19 Pavel Roskin <proski@gnu.org>
30331
30332 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
30333 changed. This is needed in case GRUB_LIBDIR changes.
30334 * conf/i386-ieee1275.rmk: Likewise.
30335 * conf/i386-linuxbios.rmk: Likewise.
30336 * conf/i386-pc.rmk: Likewise.
30337 * conf/powerpc-ieee1275.rmk: Likewise.
30338
a145ac2d 303392008-06-18 Pavel Roskin <proski@gnu.org>
30340
30341 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
30342 kernel_elf_symlist.c to symlist.c for consistency with other
30343 architectures. Update all users.
30344 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30345
7847c51e 303462008-06-18 Robert Millan <rmh@aybabtu.com>
30347
30348 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
30349 it in prefix.
30350
30351 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
30352 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
30353 a RAID device, run setup() for all members independently on whether
30354 LVM abstraction is being used.
30355 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
30356 If grub-mkimage has set `*install_dos_part == -2', don't override this
30357 value.
30358 Perform *install_dos_part adjustments independently on whether
30359 we're embedding or not.
30360 Clarify error message when image is too big for embedding.
30361 Remove duplicate *install_dos_part stanza.
30362
b23e5644 303632008-06-17 Robert Millan <rmh@aybabtu.com>
30364
30365 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
30366 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
30367 variables.
30368 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
30369 values in grub_ofconsole_normal_color and
30370 grub_ofconsole_highlight_color (they're not directly related to
30371 background and foreground).
30372 (grub_ofconsole_setcolorstate): Extract background and foreground
30373 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
30374
0aac2f79 303752008-06-17 Robert Millan <rmh@aybabtu.com>
30376
30377 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
30378 /boot/grub for the check in last commit, not /boot (they could be
30379 different partitions).
30380
3cca7ef3 303812008-06-16 Robert Millan <rmh@aybabtu.com>
30382
30383 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
30384 asked to setup access for the same partition that provides /boot,
30385 don't bother using UUIDs since our root already has the value we
30386 want.
30387
347396d8 303882008-06-16 Robert Millan <rmh@aybabtu.com>
30389
30390 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
30391 I2O devices.
30392 Patch from Sven Mueller <sven@debian.org>.
30393
991477f8 303942008-06-16 Robert Millan <rmh@aybabtu.com>
30395
30396 * util/update-grub.in: Check for $EUID instead of $UID.
30397 Reported by Vincent Zweije.
30398
d31a32a1 303992008-06-16 Bean <bean123ch@gmail.com>
30400
fe987087 30401 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 30402 (grub_ext2_read_block): Likewise.
30403 (grub_ext2_read_inode): Likewise.
30404 (grub_ext2_mount): Likewise.
30405 (grub_ext2_close): Likewise.
30406 (grub_ext3_get_journal): Removed.
30407
fe987087 30408 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 30409 (grub_reiserfs_read_symlink): Likewise.
30410 (grub_reiserfs_mount): Likewise.
30411 (grub_reiserfs_open): Likewise.
30412 (grub_reiserfs_read): Likewise.
30413 (grub_reiserfs_close): Likewise.
30414 (grub_reiserfs_get_journal): Removed.
30415
30416 * fs/fshelp.c (grub_fshelp_read): Removed.
30417 (grub_fshelp_map_block): Likewise.
30418
30419 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
30420 (grub_fshelp_journal): Likewise.
30421 (grub_fshelp_read): Likewise.
30422 (grub_fshelp_map_block): Likewise.
30423
3540a760 304242008-06-16 Pavel Roskin <proski@gnu.org>
30425
30426 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
30427 floating point anymore.
30428 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
30429
95614c84 304302008-06-15 Pavel Roskin <proski@gnu.org>
30431
30432 * commands/ls.c (grub_ls_list_files): Use integer calculations
30433 for human readable format, avoid floating point use.
30434 * kern/misc.c (grub_ftoa): Remove.
30435 (grub_vsprintf): Remove floating point support.
30436
50465dd6 304372008-06-15 Robert Millan <rmh@aybabtu.com>
30438
fe6b695a 30439 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 30440 devices.
30441 Reported by Max Vozeler.
30442
a9207284 304432008-06-15 Robert Millan <rmh@aybabtu.com>
30444
30445 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
30446 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
30447 skipped later.
30448 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
30449 the beginning of the prefix.
30450
30451 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
30452 It is assumed that if we have a memdisk, grub-mkimage has set
30453 grub_prefix to include the "(memdisk)" drive in it.
30454
a7cbd45a 304552008-06-15 Robert Millan <rmh@aybabtu.com>
30456
30457 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
30458 Initialize keyboard controller after registering the terminal, so that
30459 grub_printf() can be called from grub_keyboard_controller_init().
30460
21cf716a 304612008-06-15 Robert Millan <rmh@aybabtu.com>
30462
30463 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
30464 extent-btree which is written as big endian on disk.
30465 Reported by Alain Greppin <al@chilibi.org>.
30466
23a64d8e 304672008-06-14 Robert Millan <rmh@aybabtu.com>
30468
30469 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
30470 * util/i386/pc/grub-install.in (modules): Likewise.
30471
d687651c 304722008-06-13 Pavel Roskin <proski@gnu.org>
30473
30474 * commands/ls.c (grub_ls_list_files): Fix format warnings.
30475
dfe9ddd4 304762008-06-13 Bean <bean123ch@gmail.com>
30477
30478 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
30479
30480 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
30481
30482 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
30483 to indicate sparse block.
30484
16ae7781 304852008-06-12 Pavel Roskin <proski@gnu.org>
30486
e6d1a308 30487 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
30488 number, grub_fshelp_read() does it for us.
30489
16ae7781 30490 * fs/fshelp.c (grub_fshelp_read): New function. Implement
30491 linear disk read with journal translation.
30492 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
30493 * include/grub/fshelp.h: Declare grub_fshelp_read().
30494
40fd3a2b 304952008-06-09 Pavel Roskin <proski@gnu.org>
30496
30497 * fs/minix.c (grub_minix_mount): Handle error reading
30498 superblock.
30499
f5679726 305002008-06-08 Robert Millan <rmh@aybabtu.com>
30501
30502 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
30503 don't append the RAID prefix afterwards.
30504 Reported by Clint Adams.
30505
ce525529 305062008-06-08 Robert Millan <rmh@aybabtu.com>
30507
30508 Based on description from Pavel:
30509 * kern/disk.c (grub_disk_check_range): Rename to ...
30510 (grub_disk_adjust_range): ... this. Add a comment explaining the
30511 tasks performed by this function.
30512
ad4936a0 305132008-06-08 Robert Millan <rmh@aybabtu.com>
30514
30515 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
30516 `num_serial' (for consistency with other variables).
30517 (struct grub_ntfs_data): Add `uuid' member.
30518 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
30519 (grub_ntfs_uuid): New function.
30520 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
30521
dc20b0f9 305222008-06-07 Pavel Roskin <proski@gnu.org>
30523
30524 * util/biosdisk.c (open_device): Revert last change to the
30525 function, it broke installation. The sector needs to be
30526 different dependent on which device is opened.
30527
c5e3cfba 305282008-06-06 Robert Millan <rmh@aybabtu.com>
30529
30530 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
30531 rest of GRUB, and breakage doesn't happen if its value were modified.
30532
30533 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30534 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
30535 a constant (same value).
30536 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
30537 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
30538
26a1f8c4 305392008-06-06 Robert Millan <rmh@aybabtu.com>
30540
30541 * util/biosdisk.c (open_device): Do not modify sector offset when
30542 accessing a partition. kern/disk.c already handles this for us.
30543
25d6b327 305442008-06-06 Robert Millan <rmh@aybabtu.com>
30545
30546 * util/grub-emu.c (grub_machine_init): Move code in this function from
30547 here ...
30548 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
30549 segfault in case grub_printf() is called).
30550
30551 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
30552 grub_probe. Update all users not to explicitly add it again.
30553 (grub_device): New variable; contains corresponding device for grubdir.
30554 (fs_module, partmap_module, devabstraction_module): Pass
30555 `--device ${grub_device}' to grub_probe to avoid traversing /dev
30556 every time.
30557
9ece62fb 305582008-06-05 Robert Millan <rmh@aybabtu.com>
30559
30560 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
30561 is found, print it (same layout as with labels).
30562
1ad36d37 305632008-06-04 Robert Millan <rmh@aybabtu.com>
30564
30565 * util/biosdisk.c (get_drive): Rename to ...
30566 (find_grub_drive): ... this. Update all users.
30567
30568 (get_os_disk): Rename to ...
30569 (convert_system_partition_to_system_disk): ... this. Update all users.
30570
30571 (find_drive): Rename to ...
30572 (find_system_device): ... this. Update all users.
30573
e6a30859 305742008-06-04 Robert Millan <rmh@aybabtu.com>
30575
30576 * util/biosdisk.c (get_os_disk): Handle IDA devices.
30577 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30578 (make_device_map): Likewise.
30579
00c108a4 305802008-06-01 Robert Millan <rmh@aybabtu.com>
30581
30582 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
30583 before dereferencing it.
30584
30585 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
30586 union with fat12/fat16-specific ones. Add some new fields, including
30587 `num_serial' for both versions.
30588 (struct grub_fat_data): Add `uuid' member.
30589 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
30590 names. Initialize `data->uuid' using `num_serial'.
30591 (grub_fat_uuid): New function.
30592 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
30593
30594 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
30595 (grub_reiserfs_uuid): New function.
30596 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
30597 member.
30598
30599 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
30600 (grub_xfs_uuid): New function.
30601 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
30602
1385c5bb 306032008-06-01 Robert Millan <rmh@aybabtu.com>
30604
30605 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
30606 code that is backward compatible with pre-uuid search command.
30607
c682dfd7 306082008-05-31 Robert Millan <rmh@aybabtu.com>
30609
30610 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
30611 floppies after everything else, to ensure floppy drive isn't accessed
30612 unnecessarily (patch from Bean).
30613
b7db5d47 306142008-05-31 Robert Millan <rmh@aybabtu.com>
30615
30616 * commands/search.c (search_label, search_fs_uuid, search_file): Do
30617 not print device names when we were asked to set a variable.
30618
6e037aa9 306192008-05-31 Robert Millan <rmh@aybabtu.com>
30620
30621 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
30622 using "cursor-on" and "cursor-off" commands (understood at least by
30623 the Open Firmware flavour on OLPC).
30624
41305bc8 306252008-05-31 Michael Gorven <michael@gorven.za.net>
30626
30627 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
30628 on and off sequences.
30629
69ba137e 306302008-05-31 Robert Millan <rmh@aybabtu.com>
30631
30632 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
30633 * util/update-grub.in: Likewise.
30634
520ae21b 306352008-05-30 Pavel Roskin <proski@gnu.org>
30636
30637 * util/biosdisk.c (linux_find_partition): Simplify logic and
30638 make the code more universal. Keep special processing for
30639 devfs, but use a simple rule for all other devices. If the
30640 device ends with a number, append 'p' and the partition number.
30641 Otherwise, append only the partition number.
30642
5786569b 306432008-05-30 Robert Millan <rmh@aybabtu.com>
30644
30645 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
30646 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
30647 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
30648 the `root' parameter to Linux.
30649
51500452 306502008-05-30 Robert Millan <rmh@aybabtu.com>
30651
30652 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
30653 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
30654 --fs_uuid with --fs-uuid.
30655 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
30656 all filesystems support them).
30657
811d3878 306582008-05-30 Robert Millan <rmh@aybabtu.com>
30659
30660 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 30661 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 30662
cab63c95 306632008-05-30 Robert Millan <rmh@aybabtu.com>
30664
30665 * util/grub.d/00_header.in: Remove obsolete comment referencing
30666 convert_system_path_to_grub_path().
30667 * util/update-grub.in: Likewise.
30668 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
30669 (convert_system_path_to_grub_path): Add a warning message explaining
30670 that this function is deprecated. Rely on is_path_readable_by_grub()
30671 for the readability checks.
30672 (font_path): Use is_path_readable_by_grub() for the readability
30673 check rather than convert_system_path_to_grub_path().
30674
972e2f7a 306752008-05-30 Robert Millan <rmh@aybabtu.com>
30676
30677 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
30678 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
30679 converting it first.
30680 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
30681 grub.cfg for access to font file, and afterwards call it again to set
30682 the root device.
30683
62191274 306842008-05-30 Robert Millan <rmh@aybabtu.com>
30685
30686 * commands/search.c (options): Add --fs_uuid option.
30687 (search_fs_uuid): New function.
30688 (grub_cmd_search): Fix --set argument passing.
30689 Use search_fs_uuid() when requested via --fs_uuid.
30690 (grub_search_init): Update help message.
30691 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
30692 and redeclare it as an array of 16-bit words.
30693 (grub_ext2_uuid): New function.
30694 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
30695 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
30696 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
30697 (GRUB_DEVICE_BOOT_UUID): New variables.
30698 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
30699 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
30700 whenever possible.
30701 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
30702 just assume `root' variable has the right value.
30703 * util/grub.d/10_linux.in: Likewise.
30704 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
30705 via PRINT_FS_UUID.
30706 (main): Recognise `-t fs_uuid' argument.
30707
01b73ec8 307082008-05-30 Robert Millan <rmh@aybabtu.com>
30709
30710 * util/biosdisk.c (map): Redefine structure to hold information
30711 about GRUB drive name.
fe6b695a 30712 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 30713 drive names.
30714 (call_hook): Remove.
30715 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
30716 member. Assume drive has partitions.
30717 (grub_util_biosdisk_open): Access device names via `.device' struct
30718 member.
30719 (open_device): Likewise.
30720 (find_drive): Likewise.
30721 (read_device_map): Adjust map[] usage to match the new struct
30722 definition. Don't check for duplicates (still possible, but not cheap
30723 anymore).
30724 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30725 (make_device_name): Remove assumption of BIOS-like drive names.
30726
22f16596 307272008-05-30 Pavel Roskin <proski@gnu.org>
30728
30729 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30730 compiling execute.c doesn't need grub_script.tab.h anymore.
30731 (normal/command.c_DEPENDENCIES): Likewise.
30732 (normal/function.c_DEPENDENCIES): Likewise.
30733 * conf/i386-ieee1275.rmk: Likewise.
30734 * conf/i386-linuxbios.rmk: Likewise.
30735 * conf/i386-pc.rmk: Likewise.
30736 * conf/powerpc-ieee1275.rmk: Likewise.
30737 * conf/sparc64-ieee1275.rmk: Likewise.
30738
528ad8f2 307392008-05-29 Pavel Roskin <proski@gnu.org>
30740
d1dff95d 30741 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30742 when scanning metadata for volume group name.
30743
528ad8f2 30744 * include/grub/script.h: Don't include grub_script.tab.h. It's
30745 a generated file, which may only be included from the files with
30746 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30747 use union YYSTYPE, as the later allows forward declaration.
30748 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30749
47248e08 307502008-05-29 Robert Millan <rmh@aybabtu.com>
30751
30752 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30753 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30754 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30755 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30756 scan codes.
30757
ee632529 307582008-05-29 Robert Millan <rmh@aybabtu.com>
30759
30760 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30761 control key combinations.
30762
eee96e08 307632008-05-29 Robert Millan <rmh@aybabtu.com>
30764
30765 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30766 * util/ieee1275/grub-install.in: ... to here.
30767 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30768 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30769 (grub_install_SOURCES): Likewise.
30770
da9a6a94 307712008-05-29 Robert Millan <rmh@aybabtu.com>
30772
30773 * fs/affs.c: Update copyright year.
30774 * fs/ext2.c: Likewise.
30775 * fs/fshelp.c: Likewise.
30776 * fs/hfsplus.c: Likewise.
30777 * fs/ntfs.c: Likewise.
30778 * fs/xfs.c: Likewise.
30779 * include/grub/fshelp.h: Likewise.
30780 * util/grub-mkdevicemap.c: Likewise.
30781
12e65f3a 307822008-05-28 Robert Millan <rmh@aybabtu.com>
30783
30784 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30785 might need to be fatfs to support some firmware implementations
30786 (e.g. OFW or EFI).
30787
23023641 307882008-05-28 Robert Millan <rmh@aybabtu.com>
30789
30790 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30791 devices.
30792 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30793 (make_device_map): Likewise.
30794
887d2619 307952008-05-20 Bean <bean123ch@gmail.com>
30796
30797 * fs/fshelp.c (grub_fshelp_map_block): New function.
30798 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30799 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30800
30801 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30802 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30803 (grub_fshelp_journal): New structure.
30804 (grub_fshelp_map_block): New function prototype.
30805 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30806 (grub_fshelp_map_block): Likewise.
30807
30808 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30809 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30810 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30811 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30812 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30813 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30814 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30815 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30816 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30817 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30818 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30819 (grub_ext2_sblock): New members for journal support.
30820 (grub_ext3_journal_header): New structure.
30821 (grub_ext3_journal_revoke_header): Likewise.
30822 (grub_ext3_journal_block_tag): Likewise.
30823 (grub_ext3_journal_sblock): Likewise.
30824 (grub_fshelp_node): New members logfile and journal.
30825 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30826 grub_fshelp_map_block to get real block number.
30827 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30828 number.
30829 (grub_ext2_read_inode): Likewise.
30830 (grub_ext3_get_journal): New function.
30831 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30832 (grub_ext2_close): Release memory used by journal.
30833
30834 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30835 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30836 (grub_reiserfs_transaction_header): Renamed to
30837 grub_reiserfs_description_block, replace field data with real_blocks.
30838 (grub_reiserfs_commit_block): New structure.
30839 (grub_reiserfs_data): New member journal.
30840 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30841 number.
30842 (grub_reiserfs_read_symlink): Likewise.
30843 (grub_reiserfs_iterate_dir): Likewise.
30844 (grub_reiserfs_open): Likewise.
30845 (grub_reiserfs_read): Likewise.
30846 (grub_reiserfs_get_journal): New function.
30847 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30848 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30849 using grub_reiserfs_get_journal.
30850 (grub_reiserfs_close): Release memory used by journal.
30851
30852 * fs/affs.c (grub_affs_read_block): Change block type to
30853 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30854
30855 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30856
30857 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30858
30859 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30860
30861 * fs/udf.c (grub_udf_read_block): Change block type to
30862 grub_disk_addr_t. Use type cast to avoid warning.
30863
30864 * fs/xfs.c (grub_xfs_read_block): Likewise.
30865
b7c6bed5 308662008-05-16 Christian Franke <franke@computer.org>
30867
30868 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30869 to ensure that break with ESC will always work.
30870 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30871 Remove ESC from keyboard queue.
30872
eedf167f 308732008-05-16 Christian Franke <franke@computer.org>
30874
30875 * util/biosdisk.c: [__CYGWIN__] Add includes.
30876 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30877 (get_os_disk): Move variable declarations to OS specific
30878 parts to avoid warning.
30879 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30880 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30881 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30882 Cygwin.
30883 * util/getroot.c: [__CYGWIN__] Add includes.
30884 (strip_extra_slashes): Fix "/" case.
30885 [__CYGWIN__] (get_win32_path): New function.
30886 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30887 [__CYGWIN__] (find_root_device): Disable.
30888 [__CYGWIN__] (get_bootsec_serial): New function.
30889 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30890 [__linux__] (grub_guess_root_device): Add early returns to simplify
30891 structure.
30892 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30893 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30894 check for Linux only.
30895
a079699e 308962008-05-15 Bean <bean123ch@gmail.com>
30897
30898 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30899 keyboard hang problem in apple's intel mac.
30900
1cf4059a 309012008-05-09 Robert Millan <rmh@aybabtu.com>
30902
30903 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30904 devices.
30905 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30906 (make_device_map): Likewise.
30907 Reported by Aurelien Jarno <aurel32@debian.org>
30908
ed759390 309092008-05-07 Ian Campbell <ijc@hellion.org.uk>
30910
30911 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30912 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30913 (make_device_map): Output entries for xvd type disks.
30914
b56c4eaa 309152008-05-07 Robert Millan <rmh@aybabtu.com>
30916
30917 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30918 devices.
30919 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30920 (make_device_map): Likewise.
30921 Reported by Roland Dreier <rdreier@cisco.com>
30922
7f8866ed 309232008-05-07 Robert Millan <rmh@aybabtu.com>
30924
30925 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30926 grub_strstr() call. Correct a few mistakes in failure path handling.
30927
b0346e0f 309282008-05-06 Robert Millan <rmh@aybabtu.com>
30929
30930 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30931 Do not print a trailing slash (therefore, the root directory is an
30932 empty string).
30933 (convert_system_path_to_grub_path): Do not remove trailing slash
30934 from make_system_path_relative_to_its_root() output.
30935
30936 * util/i386/pc/grub-install.in: Add trailing slash to output from
30937 make_system_path_relative_to_its_root().
30938
6cf12cbd 309392008-05-06 Robert Millan <rmh@aybabtu.com>
30940
30941 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30942 ensures that output lines aren't intermangled with those sent to
30943 stderr (via grub_util_info()).
30944 * util/grub-probe.c (grub_refresh): Likewise.
30945 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30946
0fbb3117 309472008-05-05 Christian Franke <franke@computer.org>
30948
30949 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30950 Add Cygwin device names.
30951 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30952 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30953 (check_device): Return error instead of success on empty name.
30954 (make_device_map): Move label inside linux specific code to
30955 prevent compiler warning.
30956
8124cdb7 309572008-04-30 Robert Millan <rmh@aybabtu.com>
30958
30959 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30960 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30961 first boot option.
30962 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30963
094c01d0 309642008-04-29 Robert Millan <rmh@aybabtu.com>
30965
30966 * docs/grub.cfg: New file (example GRUB configuration).
30967
f4b1fc02 309682008-04-26 Robert Millan <rmh@aybabtu.com>
30969
329ce2a5 30970 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30971 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30972 and `disk/ieee1275/nand.c'.
f4b1fc02 30973
25f16ec1 309742008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 30975
25f16ec1 30976 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30977 i386-linuxbios.
30978
30979 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30980 change the buffer size to 4096 for cdrom device.
30981
30982 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30983 and nand.mod.
30984 (_linux_mod_SOURCES): New variable.
30985 (_linux_mod_CFLAGS): Likewise.
30986 (_linux_mod_LDFLAGS): Likewise.
30987 (linux_mod_SOURCES): Likewise.
30988 (linux_mod_CFLAGS): Likewise.
30989 (linux_mod_LDFLAGS): Likewise.
30990 (nand_mod_SOURCES): Likewise.
30991 (nand_mod_CFLAGS): Likewise.
30992 (nand_mod_LDFLAGS): Likewise.
30993
30994 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30995 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30996 type property. (nand device in olpc don't have this property)
30997
30998 * include/grub/disk.h (grub_disk_dev_id): New macro
30999 GRUB_DISK_DEVICE_NAND_ID.
31000
31001 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
31002 function prototype.
31003 (grub_rescue_cmd_initrd): Likewise.
31004
31005 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
31006 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
31007 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 31008
25f16ec1 31009 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
31010 GRUB_MACHINE_IEEE1275 is defined.
31011
31012 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
31013 Use NESTED_FUNC_ATTR attribute on the hook parameter.
31014
31015 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
31016 on nested function heap_init.
31017 (grub_upper_mem): New variable for i386-ieee1275.
31018 (grub_get_extended_memory): New function for i386-ieee1275.
31019 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
31020
31021 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
31022 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
31023 property.
f19dbdb7 31024
25f16ec1 31025 * loader/i386/ieee1275/linux.c: New file.
31026
31027 * loader/i386/ieee1275/linux_normal.c: New file.
31028
31029 * disk/ieee1275/nand.c: New file.
31030
e89d61e9 310312008-04-18 Thomas Schwinge <tschwinge@gnu.org>
31032
31033 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
31034 value.
31035 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
31036
602566f6 310372008-04-18 Robert Millan <rmh@aybabtu.com>
31038
31039 Restructures early code path on ieee1275 to unify grub_main() as
31040 the first C function that is executed in every platform.
31041
31042 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
31043 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
31044 cmain().
31045 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
31046 * kern/ieee1275/cmain.c (cmain): Rename to ...
31047 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
31048 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
31049 at the beginning.
31050
57490c2b 310512008-04-18 Robert Millan <rmh@aybabtu.com>
31052
31053 * util/update-grub.in: Fix syntax error when setting
31054 `GRUB_PRELOAD_MODULES'.
31055 Reported by Stephane Chazelas <stephane@artesyncp.com>
31056
1977517d 310572008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
31058
31059 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
31060 section into account, newer toolchains generate unique build ids
31061 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 31062 we want build ids to be preserved
1977517d 31063 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
31064 far from other sections don't cause the raw binary images grow
31065 size
31066
bfb1f1a2 310672008-04-15 Robert Millan <rmh@aybabtu.com>
31068
31069 * disk/lvm.c: Update copyright year.
31070 * kern/misc.c: Likewise.
31071
01979850 310722008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
31073
31074 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 31075 there is no memory left for physical volume name.
01979850 31076
0a1150e2 310772008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
31078
31079 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
31080 volume name mapping to support bigger than 9 character names properly.
31081
82ead3fe 310822008-04-13 Robert Millan <rmh@aybabtu.com>
31083
31084 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
31085 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
31086
e54a72f5 310872008-04-13 Christian Franke <franke@computer.org>
31088
31089 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
31090 to create a floppy emulation boot CD when non emulation mode
31091 does not work.
31092 Enable Joliet CD filesystem extension.
31093
9fe86034 310942008-04-13 Robert Millan <rmh@aybabtu.com>
31095
31096 * kern/misc.c (grub_strncat): Fix off-by-one error.
31097 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
31098
31099 * kern/env.c (grub_env_context_close): Clear current context, not
31100 previous one.
31101 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
31102
31103 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
31104
7ceeee39 311052008-04-13 Robert Millan <rmh@aybabtu.com>
31106
31107 Improve robustness when handling LVM.
31108
31109 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 31110 (and leave `*p' unmodified).
7ceeee39 31111 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
31112 through it.
31113 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
31114 iterating through it.
31115 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
31116 through it.
fe6b695a 31117 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 31118 when due) on each grub_lvm_getvalue() or grub_strstr() call.
31119 Don't assume `vg->pvs != NULL' when iterating through it.
31120
58cd3d85 311212008-04-13 Robert Millan <rmh@aybabtu.com>
31122
31123 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
31124 * genmk.rb (partmap): New variable.
31125 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
31126 (#{partmap}): New target rule.
31127 * genpartmaplist.sh: New file.
31128 * Makefile.in (pkglib_DATA): Add partmap.lst.
31129 (partmap.lst): New target rule.
31130 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
31131 modules (including all partition maps), instead of preloading them.
31132
78b51059 311332007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
31134
31135 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
31136 `linux-boot-prober' (if installed) to detect other operating
31137 systems which are installed on the computer and add them to
31138 the boot menu.
31139 * conf/common.rmk: Build and install 30_os-prober.
31140
a91627b4 311412008-04-12 Robert Millan <rmh@aybabtu.com>
31142
31143 * kern/powerpc/ieee1275/init.c: Move from here ...
31144 * kern/ieee1275/init.c: ... to here. Update all users.
31145
31146 * kern/powerpc/ieee1275/cmain.c: Move from here ...
31147 * kern/ieee1275/cmain.c: ... to here. Update all users.
31148
31149 * kern/powerpc/ieee1275/openfw.c: Move from here ...
31150 * kern/ieee1275/openfw.c: ... to here. Update all users.
31151
31152 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
31153 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
31154
322562ea 311552008-04-10 Pavel Roskin <proski@gnu.org>
31156
31157 * configure.ac: Always use "_cv_" in cache variables for
31158 compatibility with Autoconf 2.62.
31159
a02a73c5 311602008-04-07 Robert Millan <rmh@aybabtu.com>
31161
31162 Revert grub/machine/init.h addition by Pavel (since it breaks on
31163 i386-ieee1275 and others):
31164 * util/i386/pc/misc.c: Remove grub/machine/init.h.
31165 * util/powerpc/ieee1275/misc.c: Likewise.
31166
25c024b1 311672008-04-07 Robert Millan <rmh@aybabtu.com>
31168
31169 * util/grub-probe.c (probe): Improve error message.
31170
3cbd2f98 311712008-04-07 Robert Millan <rmh@aybabtu.com>
31172
31173 * util/biosdisk.c (read_device_map): Skip devices that don't exist
31174 (this prevents the presence of a bogus entry from ruining the whole
31175 thing).
31176
87a297bf 311772008-04-06 Pavel Roskin <proski@gnu.org>
31178
36747a62 31179 * util/biosdisk.c: Include grub/util/biosdisk.h.
31180 * util/grub-fstest.c (execute_command): Make static.
31181 * util/grub-mkdevicemap.c (check_device): Likewise.
31182 * util/i386/pc/misc.c: Include grub/machine/init.h.
31183 * util/powerpc/ieee1275/misc.c: Likewise.
31184 * util/lvm.c: Include grub/util/lvm.h.
31185 * util/misc.c: Include grub/kernel.h, grub/misc.h and
31186 grub/cache.h.
31187 * util/raid.c: Include grub/util/raid.h.
31188 (grub_util_getdiskname): Make static.
31189
87a297bf 31190 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
31191 grub_hostfs_fini(), as they are called from grub_init_all() and
31192 grub_fini_all() respectively. This fixes an infinite loop in
31193 grub-fstest due to double registration of hostfs.
31194 Reported by Christian Franke <Christian.Franke@t-online.de>
31195
f6ce7629 311962008-04-05 Pavel Roskin <proski@gnu.org>
31197
31198 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
31199 all 8 functions. Otherwise, probe function 0 only.
31200
070e49e4 312012008-04-04 Pavel Roskin <proski@gnu.org>
31202
8b088a4c 31203 * commands/lspci.c (grub_lspci_iter): Print the bus number
31204 correctly.
31205
4f657021 31206 * commands/lspci.c (grub_pci_classes): Fix typos.
31207 (grub_lspci_iter): Don't print func twice. Print vendor ID
31208 before device ID, as it's normally done.
31209
070e49e4 31210 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
31211 Fix signedness warnings.
31212 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
31213 Likewise.
31214 * util/ieee1275/get_disk_name.c: Include config.h so that
31215 _GNU_SOURCE is defined and getline() is declared. Mark an
31216 unused argument as such. Fix a signedness warning.
31217
ba7328dc 312182008-04-02 Pavel Roskin <proski@gnu.org>
31219
26887f22 31220 * genkernsyms.sh.in: Use more robust assignments for CC and
31221 srcdir. Quote srcdir.
31222 * gensymlist.sh.in: Likewise. Assert at the compile time that
31223 the symbol table is not empty.
31224
ba7328dc 31225 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
31226 * fs/cpio.c (grub_cpio_read): Likewise.
31227
0f582c6b 312282008-04-01 Pavel Roskin <proski@gnu.org>
31229
4b6e1995 31230 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
31231 * disk/host.c (grub_host_open): Likewise.
31232 * disk/loopback.c (grub_loopback_open): Likewise.
31233 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
31234 disk->id as in disk/host.c, not a multi-character constant.
31235
828a2768 31236 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
31237 later is obsolete, potentially dangerous and sets a bad example.
31238 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
31239 * util/misc.c (grub_util_get_image_size): Likewise.
31240
2bb4fb47 31241 * disk/loopback.c (options): Improve help for "--partitions".
31242
0f582c6b 31243 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
31244 options to align them with the short options, e.g. "echo -e".
31245
a33224e0 312462008-03-31 Bean <bean123ch@gmail.com>
31247
31248 * video/reader/png.c (grub_png_data): New member is_16bit and
31249 image_data.
31250 (grub_png_decode_image_header): Detect 16 bit png image.
31251 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
31252 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
31253 (grub_video_reader_png): Release memory occupied by image_data.
31254
31255 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
31256 4096 bytes.
31257 (grub_nfs_mount): Skip the test for sector per cluster.
31258
31259 * include/grub/ntfs.h (MAX_SPC): Removed.
31260
86cb4f54 312612008-03-31 Bean <bean123ch@gmail.com>
31262
31263 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
31264 (grub_probe_SOURCES): Add fs/afs.c.
31265 (grub_fstest_SOURCES): Likewise.
31266 (afs_mod_SOURCES): New variable.
31267 (afs_mod_CFLAGS): Likewise.
31268 (afs_mod_LDFLAGS): Likewise.
31269
31270 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
31271 (grub_emu_SOURCES): Likewise.
31272
31273 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31274
31275 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31276
31277 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31278
31279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31280
31281 * fs/afs.c: New file.
31282
17c74c21 312832008-03-30 Pavel Roskin <proski@gnu.org>
31284
4cb68e89 31285 * disk/host.c: Include grub/misc.h to fix a warning.
31286 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
31287 warnings about implicit declarations.
31288
8790bb04 31289 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
31290 variable.
31291 * include/grub/i386/loader.h: Change declaration of
31292 grub_linux_boot() to match what grub_loader_set() expects.
31293 * util/getroot.c (grub_guess_root_device): Return const char* to
31294 fix a warning.
31295 * util/grub-probe.c (probe): Fix a warning about uninitialized
31296 abstraction_name variable.
31297 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
31298 second argument as unused to fix a warning.
31299
9a3f3296 31300 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
31301 missing grub_error() call.
31302
0ecef90d 31303 * util/update-grub_lib.in: Define datarootdir, since Autoconf
31304 2.60 and newer uses it to define datadir.
31305
0bf6d401 31306 * commands/sleep.c: Fix warning about implicit declaration.
31307 * disk/memdisk.c: Likewise.
31308 * loader/aout.c: Likewise.
31309 * loader/i386/bsd_normal.c: Likewise.
31310 * util/grub-probe.c: Likewise.
31311
7cdacf97 31312 * commands/i386/cpuid.c (has_longmode): Make static.
31313 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
31314 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
31315
17c74c21 31316 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
31317 GDT. This is more robust, as %ds can change.
31318 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
31319 calling real_to_prot().
31320 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
31321
80a3e68b 313222008-03-28 Pavel Roskin <proski@gnu.org>
31323
31324 * kern/i386/pc/startup.S: Assert that uncompressed functions
31325 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
31326 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
31327 code, as they push parts of the code (error handlers) beyond
31328 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
31329 code as correctness and size.
31330
77bcd272 313312008-03-28 Pavel Roskin <proski@gnu.org>
31332
31333 * kern/i386/pc/startup.S
31334 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
31335 data block address to the real mode, keep offset minimal. This
31336 works around a bug in AWARD BIOS on old Athlon systems, which
31337 makes CD detection hang.
31338
c5dfd43b 313392008-03-26 Pavel Roskin <proski@gnu.org>
31340
31341 * normal/color.c (grub_parse_color_name_pair): Make `name' a
31342 const.
31343 * include/grub/normal.h: Add grub_parse_color_name_pair()
31344 declaration.
31345
bf962df2 313462008-03-24 Bean <bean123ch@gmail.com>
31347
31348 * disk/i386/pc/biosdisk.c (cd_start): Removed.
31349 (cd_count): Removed.
31350 (cd_drive): New variable.
31351 (grub_biosdisk_get_drive): Don't check for (cdN) device.
31352 (grub_biosdisk_call_hook): Likewise.
31353 (grub_biosdisk_iterate): Change cdrom detection method.
31354 (grub_biosdisk_open): Replace cd_start with cd_drive.
31355 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
31356 detect cdrom device.
31357
31358 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
31359 Removed.
31360 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
31361 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
31362 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
31363 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
31364 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
31365 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
31366 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
31367 (grub_biosdisk_cdrp): New structure.
31368 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
31369
31370 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
31371
31372 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
31373 device.
31374
31375 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
31376 New function.
31377
68e7fc7a 313782008-03-20 Robert Millan <rmh@aybabtu.com>
31379
31380 Remove 2 TiB limit in ata.mod.
31381 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
31382 (grub_ata_dumpinfo): Print sector count with 0x%llx.
31383 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
31384 grub_uint64_t instead of grub_uint32_t.
31385
38ad2cf5 313862008-03-05 Bean <bean123ch@gmail.com>
31387
31388 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
31389 (grub_multiboot): Set boot device.
31390
31391 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
31392
2b89344e 313932008-03-02 Bean <bean123ch@gmail.com>
31394
31395 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
31396 symlink_buffer.
31397
87a95d1f 313982008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
31399
31400 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
31401 texinfo.tex.
31402
31403 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
31404 modified.
31405
31406 * docs/fdl.texi: New file.
f19dbdb7 31407
87a95d1f 31408 * docs/mdate-sh: New file. Copied from gnulib.
31409 * docs/texinfo.tex: Likewise.
31410
31411 * config.guess: Updated from gnulib.
31412 * install-sh: Likewise.
31413
7dc15d8e 314142008-02-28 Robert Millan <rmh@aybabtu.com>
31415
31416 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
31417 (aout_mod_SOURCES): New variable.
31418 (aout_mod_CFLAGS): Likewise.
31419 (aout_mod_LDFLAGS): Likewise.
31420
31421 * conf/i386-ieee1275.rmk: Likewise.
31422
b00ab696 314232008-02-28 Robert Millan <rmh@aybabtu.com>
31424
31425 * util/update-grub.in: Reorganise terminal validity check. Accept
31426 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
31427 Based on suggestion by Franklin PIAT.
31428
79ca2d78 314292008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
31430
31431 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
31432 function.
31433 * util/getroot.c (grub_util_check_block_device): New function that
31434 returns the given argument if it is a block device and returns NULL else.
31435 * util/grub-probe.c (argument_is_device): New variable.
31436 (probe): Promote device_name from a variable to an argument. Receive
31437 device_name from grub_util_check_block_device() if path is NULL and from
31438 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 31439 (options): Introduce new parameter '-d, --device'.
79ca2d78 31440 (main): Add description of the new parameter to the help screen.
31441 Rename path variable to argument. Set argument_is_device if the '-d'
31442 option is given. Pass argument to probe() depending on
31443 argument_is_device.
31444
0d16e571 314452008-02-24 Bean <bean123ch@gmail.com>
31446
31447 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
31448 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
31449 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
31450 (GRUB_ISO9660_VOLDESC_PART): Likewise.
31451 (GRUB_ISO9660_VOLDESC_END): Likewise.
31452 (grub_iso9660_primary_voldesc): New member escape.
31453 (grub_iso9660_data): New member joliet.
31454 (grub_iso9660_convert_string): New function.
31455 (grub_iso9660_mount): Detect joliet extension.
31456 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
31457 (grub_iso9660_iso9660_label): Likewise.
31458
31459 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
31460 (grub_setup_SOURCES): Add fs/udf.c.
31461 (grub_fstest_SOURCES): Likewise.
31462 (udf_mod_SOURCES): New variable.
31463 (udf_mod_CFLAGS): Likewise.
31464 (udf_mod_LDFLAGS): Likewise.
31465
31466 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
31467 (grub_emu_SOURCES): Likewise.
31468
31469 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31470
31471 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31472
31473 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31474
31475 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31476
31477 * fs/udf.c: New file.
31478
8a594a17 314792008-02-24 Robert Millan <rmh@aybabtu.com>
31480
31481 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
31482 (normal/lexer.c_DEPENDENCIES): New variables.
31483 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31484 (normal/lexer.c_DEPENDENCIES): Likewise.
31485 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
31486 (normal/lexer.c_DEPENDENCIES): Likewise.
31487 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
31488 (normal/lexer.c_DEPENDENCIES): Likewise.
31489 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31490 (normal/lexer.c_DEPENDENCIES): Likewise.
31491 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31492 (normal/lexer.c_DEPENDENCIES): Likewise.
31493
2dc33c03 314942008-02-23 Robert Millan <rmh@aybabtu.com>
31495
31496 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
31497 since they were intended to be in hex. This didn't break previously
31498 because of a bug in gpt_partition_map_iterate() (see below).
31499
31500 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
31501 when checking the validity of GPT header.
31502 Remove `partno', since it always provides the same information as `i'.
31503
f6f4cfb0 315042008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
31505
31506 * include/grub/efi/time.h: Fix a wrong comment.
31507
79ff665f 315082008-02-19 Pavel Roskin <proski@gnu.org>
31509
31510 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
31511 message.
31512
d38e24c2 315132008-02-19 Bean <bean123ch@gmail.com>
31514
31515 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
31516 (aout_mod_SOURCES): New variable.
31517 (aout_mod_CFLAGS): Likewise.
31518 (aout_mod_LDFLAGS): Likewise.
31519 (_bsd_mod_SOURCES): New variable.
31520 (_bsd_mod_CFLAGS): Likewise.
31521 (_bsd_mod_LDFLAGS): Likewise.
31522 (bsd_mod_SOURCES): New variable.
31523 (bsd_mod_CFLAGS): Likewise.
31524 (bsd_mod_LDFLAGS): Likewise.
31525
31526 * include/grub/aout.h: New file.
31527
31528 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
31529
31530 * include/grub/i386/bsd.h: New file.
31531
31532 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
31533 to make it public.
31534
31535 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
31536 function is called, so that it's possible to change it inside the hook.
31537 (grub_elf64_load): Likewise.
31538 (grub_elf_file): Don't close the file if elf header is not found.
31539 (grub_elf_close): Close the file if grub_elf_file fails (The new
31540 grub_elf_file won't close it).
31541 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
31542 (grub_elf64_size): Likewise.
31543
31544 * kern/i386/loader.S (grub_unix_real_boot): New function.
31545
31546 * loader/aout.c: New file.
31547
31548 * loader/i386/bsd.c: New file.
31549
31550 * loader/i386/bsd_normal.c: New file.
31551
31552 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
31553
31554 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 31555 can test other formats.
d38e24c2 31556
b93bdb0f 315572008-02-19 Robert Millan <rmh@aybabtu.com>
31558
31559 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
31560 (grub_gpt_partition_type_empty): Redefine with macro from
31561 `<grub/gpt_partition.h>'.
31562 (gpt_partition_map_iterate): Adjust partition type comparison.
31563
31564 Export `entry' as partmap-specific `part.data' struct.
31565 (grub_gpt_header, grub_gpt_partentry): Move from here ...
31566
31567 * include/grub/gpt_partition.h (grub_gpt_header)
31568 (grub_gpt_partentry): ... to here (new file).
31569
31570 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
31571
31572 (grub_gpt_partition_type_bios_boot): New const variable, defined
31573 with macro from `<grub/gpt_partition.h>'.
31574
31575 (setup): Replace `first_start' with `embed_region', which keeps
31576 track of the embed region (and is partmap-agnostic).
31577
31578 Replace find_first_partition_start() with find_usable_region(),
31579 which finds a usable region for embedding using partmap-specific
31580 knowledge (supports PC/MSDOS and GPT).
31581
31582 Fix all assumptions that the embed region start at sector 1, using
31583 `embed_region.start' from now on. Similarly, use `embed_region.end'
31584 rather than `first_start' to calculate available size.
31585
31586 In grub_util_info() message, replace "into after the MBR" with an
31587 indication of the specific sector our embed region starts at.
31588
66cb40f6 315892008-02-19 Robert Millan <rmh@aybabtu.com>
31590
31591 * DISTLIST: Replace `commands/ieee1275/halt.c' and
31592 `commands/ieee1275/reboot.c' with `commands/halt.c' and
31593 `commands/reboot.c'.
31594 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31595 (halt_mod_SOURCES): Likewise.
31596 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31597 (halt_mod_SOURCES): Likewise.
31598
b7202015 315992008-02-17 Christian Franke <franke@computer.org>
31600
31601 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
31602
32b0fc49 316032008-02-17 Robert Millan <rmh@aybabtu.com>
31604
31605 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31606 set `first_start' to 0 for non-PC/MSDOS partition maps.
31607
aca63502 316082008-02-16 Robert Millan <rmh@aybabtu.com>
31609
31610 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31611 do not assume partition map is PC/MSDOS before performing checks that
31612 are specific to that layout.
31613
0de8be86 316142008-02-13 Robert Millan <rmh@aybabtu.com>
31615
31616 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
31617 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
31618 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
31619
c3db8364 316202008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
31621
31622 * configure.ac: Only a cosmetic change on the handling of
31623 -fno-stack-protector.
31624
f714229e 316252008-02-12 Alexandre Boeglin <alex@boeglin.org>
31626
c3db8364 31627 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
31628 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
31629 reboot.c.
f714229e 31630 (grub_install_SOURCES): Add halt.mod and reboot.mod.
31631 (halt_mod_SOURCES): New variable.
31632 (halt_mod_CFLAGS): Likewise.
31633 (halt_mod_LDFLAGS): Likewise.
31634 (reboot_mod_SOURCES): Likewise.
31635 (reboot_mod_CFLAGS): Likewise.
31636 (reboot_mod_LDFLAGS): Likewise.
31637
c3db8364 31638 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
31639 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
31640 reboot.c.
f714229e 31641 (halt_mod_SOURCES): Likewise.
31642 (reboot_mod_SOURCES): Likewise.
31643
c3db8364 31644 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
31645 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 31646 (reboot_mod_SOURCES): Likewise.
31647
31648 * commands/i386/pc/reboot.c: merge this file ...
31649
31650 * commands/ieee1275/reboot.c: ... and this file ...
31651
31652 * commands/reboot.c: ... to this file.
c3db8364 31653 Add some precompiler directive to include the correct header for
31654 each machine.
f714229e 31655
31656 * commands/ieee1275/halt.c: move this file ...
31657
31658 * commands/halt.c: ... to here.
c3db8364 31659 Add some precompiler directive to include the correct header for
31660 each machine.
f714229e 31661
31662 * include/grub/efi/efi.h (grub_reboot): New function declaration.
31663 (grub_halt): Likewise.
31664
31665 * kern/efi/efi.c (grub_reboot): New function.
31666 (grub_halt): Likewise.
31667
c74493e0 316682008-02-12 Robert Millan <rmh@aybabtu.com>
31669
31670 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
31671 /dev (like it is done for /dev/mapper). This doesn't provide support
31672 for EVMS, but at least it is now easy to identify the problem when it
31673 arises.
31674
d0db4b04 316752008-02-11 Robert Millan <rmh@aybabtu.com>
31676
31677 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
31678 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
31679 comparing it with -1, not 0.
31680
bf748642 316812008-02-10 Robert Millan <rmh@aybabtu.com>
31682
31683 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
31684 `disk/lvm.c'.
31685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31686 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31687
31688 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
31689 `disk/lvm.c' to the end of the list.
31690 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31691 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31692
b5db202a 316932008-02-10 Robert Millan <rmh@aybabtu.com>
31694
31695 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
31696 grub_print_error() instead. This will let user know why we're entering
31697 rescue mode.
31698 Based on suggestions from Sam Morris.
31699
83abee31 317002008-02-10 Alexandre Boeglin <alex@boeglin.org>
31701
31702 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
31703 on remaining N args, instead of "--" arg N times.
31704
78d5a08b 317052008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
31706
31707 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
31708 (fill_with_default_glyph): Changed to use unknown_glyph for fill
31709 pattern for unknown glyphs.
31710
68807e5f 317112008-02-09 Robert Millan <rmh@aybabtu.com>
31712
31713 * configure.ac: Probe for `help2man'.
31714 * Makefile.in (builddir): New variable.
31715 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
31716 or otherwise add a few flags/options to it.
31717 (install-local): For every executable utility or script that is
31718 installed, invoke $(HELP2MAN) to install a manpage based on --help
31719 output.
31720
31721 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31722 that it doesn't prevent --help from working in build tree.
31723
31724 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31725 with `bug-grub@gnu.org'.
31726 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31727 * util/update-grub.in (usage): New function.
31728 Implement proper argument check, with support for --help and --version
31729 (as well as existing -y).
31730
317312008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 31732
31733 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31734 avoid overwriting previous output.
31735 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31736
c1962162 317372008-02-09 Robert Millan <rmh@aybabtu.com>
31738
31739 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31740 drawing the menu.
31741
3dac2e3f 317422008-02-09 Robert Millan <rmh@aybabtu.com>
31743
31744 * commands/sleep.c: New file.
31745 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31746 (sleep_mod_SOURCES): New variable.
31747 (sleep_mod_CFLAGS): Likewise.
31748 (sleep_mod_LDFLAGS): Likewise.
31749
7a634e08 317502008-02-09 Robert Millan <rmh@aybabtu.com>
31751
31752 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31753 situations in which we can deduce the RAID size and the superblock
31754 doesn't match it.
31755
b92f0c18 317562008-02-09 Robert Millan <rmh@aybabtu.com>
31757
31758 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31759 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31760 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31761
31762 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31763 and return a grub_diskmemberlist_t composed of physical array members.
31764 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31765
31766 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31767 prototype.
31768 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31769 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31770 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31771
31772 * util/grub-probe.c (probe): Move partmap probing code from here ...
31773 (probe_partmap): ... to here.
31774 (probe): Use probe_partmap() once for the disk we're probing, and
31775 additionally, when such disk contains a memberlist() struct member,
31776 once for each disk that is contained in the structure returned by
31777 memberlist().
31778
91a4bf68 317792008-02-09 Robert Millan <rmh@aybabtu.com>
31780
31781 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31782 environment variable to 'all' in order to obtain debug output from
31783 non-util/ code.
31784 * util/i386/pc/grub-setup.c (main): Likewise.
31785
a96f9caa 317862008-02-08 Robert Millan <rmh@aybabtu.com>
31787
31788 * disk/raid.c (grub_raid_scan_device): Check for
31789 `array->device[sb.this_disk.number]' rather than for
31790 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 31791 guaranteed to be accessible.
a96f9caa 31792
b37a9222 317932008-02-08 Robert Millan <rmh@aybabtu.com>
31794
31795 * disk/raid.c: Update copyright.
31796 * fs/cpio.c: Likewise.
31797 * include/grub/raid.h: Likewise.
31798 * loader/i386/pc/multiboot.c: Likewise.
31799 * util/hostfs.c: Likewise.
31800
5626aee1 318012008-02-08 Robert Millan <rmh@aybabtu.com>
31802
31803 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31804 to a grub_disk_t array.
31805 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31806 `device[x]'.
31807 (grub_raid_scan_device): Replace `device[x].name' accesses with
31808 `device[x]->name'. Simplify initialization of `array->device[x]'.
31809
554f0187 318102008-02-08 Robert Millan <rmh@aybabtu.com>
31811
31812 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31813 grub_dprintf() calls.
31814 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31815 error message.
31816
1ec8425d 318172008-02-07 Christian Franke <franke@computer.org>
31818
31819 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31820 instead of fseek and ftell to support large files.
31821 (grub_hostfs_read): Likewise.
31822
f2156fda 318232008-02-07 Robert Millan <rmh@aybabtu.com>
31824
31825 Patch from Jeroen Dekkers.
31826 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 31827 failure, since successfully reading all array members might not be
f2156fda 31828 required.
31829
9216e0e7 318302008-02-06 Robert Millan <rmh@aybabtu.com>
31831
31832 * util/grub-probe.c (probe): Simplify partmap probing (with the
31833 assumption that the first word up to the underscore equals to
31834 the module name).
31835
b0dfd29a 318362008-02-06 Christian Franke <franke@computer.org>
31837
31838 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31839 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31840 last block of a cpio or tar stream.
31841 Check for "TRAILER!!!" instead of any empty data
31842 block to detect last block of a cpio stream.
31843 (grub_cpio_dir): Fix constness of variable np.
31844 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31845 cpio or tar trailer is detected. This fixes a crash
31846 on open of a non existing file.
31847
c32865bf 318482008-02-05 Bean <bean123ch@gmail.com>
31849
31850 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31851 address of entry.
31852 (grub_multiboot_load_elf64): Likewise.
31853 (grub_multiboot): Initialize mbi structure.
31854
31855 * util/grub-fstest.c: Don't include unused header file script.h.
31856
fe6b695a 31857 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 31858 of file.
31859 (grub_fstest_SOURCES): Likewise.
31860
409480b7 318612008-02-05 Robert Millan <rmh@aybabtu.com>
31862
31863 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31864 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31865 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31866 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31867
31868 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31869 (translation_table): Replace hardcoded values with macros
31870 provided by `<grub/term.h>'.
31871
31872 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31873 (keyboard_map): Correct/add a few values, with macros provided
31874 by `<grub/term.h>'.
31875 (keyboard_map_shift): Zero values that don't differ from their
31876 `keyboard_map' equivalents.
31877 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31878 Discard the second scan code that is always sent by Caps lock.
31879 Only use `keyboard_map_shift' when it provides a non-zero value,
31880 otherwise fallback to `keyboard_map'.
31881
99fadbaa 318822008-02-04 Bean <bean123ch@gmail.com>
31883
31884 * Makefile.in (enable_grub_fstest): New variable.
31885
31886 * conf/common.rmk (grub_fstest_init.lst): New rule.
31887 (grub_fstest_init.h): Likewise.
31888 (grub_fstest_init.c): Likewise.
31889 (util/grub-fstest.c_DEPENDENCIES): New variable.
31890 (grub_fstest_SOURCES): Likewise.
31891
31892 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31893
31894 * util/grub-fstest.c: New file.
31895
bf567c50 318962008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31897
31898 Make grub-setup handle a separate root device.
f19dbdb7 31899
bf567c50 31900 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31901 so that the root device can be compared with the destination
31902 device.
31903 When embedding the core image, if the root and destination devices
31904 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31905 0xFF.
31906 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 31907
9be6b98b 319082008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31909
31910 Add support for having a grub directory in a different drive. This
31911 is still only the data handling part.
f19dbdb7 31912
9be6b98b 31913 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31914 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31915 (grub_root_drive): New variable.
31916
31917 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31918 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31919 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31920 as it was.
31921
31922 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31923
31924 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31925 macro.
31926 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31927
31928 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31929 is bogus, because PXE booting does not specify any drive
31930 correctly.
31931
31932 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31933 am not sure if this is really correct.
31934
31935 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31936 is always identical to the boot drive when booting from a CD.
31937
31938 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31939 longer.
31940 (root_drive): New variable.
31941 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31942 (setup_sectors): Push %dx right after popping it, because %dh will
31943 be modified later.
31944 (copy_buffer): Restore %dx.
31945
e0ca0677 319462008-02-03 Robert Millan <rmh@aybabtu.com>
31947
31948 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31949 use `cdboot.img' for cdrom images.
31950
3b3f6629 319512008-02-03 Robert Millan <rmh@aybabtu.com>
31952
31953 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31954 only setup gfxterm when `font' command has succeeded.
31955
d42b3672 319562008-02-03 Robert Millan <rmh@aybabtu.com>
31957
31958 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31959 (grub_rescue_cmd_multiboot_loader)
31960 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31961
fa370ea6 319622008-02-03 Pavel Roskin <proski@gnu.org>
31963
e0c5dacb 31964 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 31965 %edx and %esi from stack only after grub_gate_a20() is called.
31966 grub_gate_a20() clobbers %edx.
31967
f2a76e1d 319682008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31969
31970 * configure.ac (AC_INIT): Bumped to 1.96.
31971
31972 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31973 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31974 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31975 video/readers/png.c.
31976
90fd32d1 319772008-02-03 Bean <bean123ch@gmail.com>
9be665dd 31978
31979 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31980 (cdboot_img_SOURCES): New variable.
31981 (cdboot_img_ASFLAGS): New variable.
31982 (cdboot_img_LDFLAGS): New variable.
31983
31984 * boot/i386/pc/cdboot.S: New file.
31985
31986 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31987 (cd_count): Likewise.
31988 (grub_biosdisk_get_drive): Add support for cd device.
31989 (grub_biosdisk_call_hook): Likewise.
31990 (grub_biosdisk_iterate): Likewise.
31991 (grub_biosdisk_open): Likewise.
31992 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31993 (grub_biosdisk_rw): Support reading from cd device.
31994 (GRUB_MOD_INIT): Iterate cd devices.
31995
31996 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31997 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31998 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31999
32000 * kern/i386/pc/init.c (make_install_device): Check for cd device.
32001
4020aa53 320022008-02-02 Robert Millan <rmh@aybabtu.com>
32003
32004 * commands/read.c: New file.
32005 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
32006 (read_mod_SOURCES): New variable.
32007 (read_mod_CFLAGS): Likewise.
32008 (read_mod_LDFLAGS): Likewise.
32009
e03a1132 320102008-02-02 Robert Millan <rmh@aybabtu.com>
32011
32012 * normal/main.c (grub_normal_execute): Check for `menu->size' when
32013 determining whether menu has to be displayed.
32014
58c69220 320152008-02-02 Marco Gerards <marco@gnu.org>
32016
32017 * bus/pci.c: New file.
32018
32019 * include/grub/pci.h: Likewise.
32020
32021 * include/grub/i386/pc/pci.h: Likewise.
32022
32023 * commands/lspci.c: Likewise.
32024
32025 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
32026 `lspci.mod'.
32027 (pci_mod_SOURCES): New variable.
32028 (pci_mod_CFLAGS): Likewise.
32029 (pci_mod_LDFLAGS): Likewise.
32030 (lspci_mod_SOURCES): Likewise.
32031 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 32032 (lspci_mod_LDFLAGS): Likewise.
58c69220 32033
c004e1b4 320342008-02-02 Bean <bean123ch@gmail.com>
32035
32036 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
32037 (grub_ufs_get_file_block): Fix indirect block calculation problem.
32038
32039 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
32040 (grub_xfs_btree_node): New structure.
32041 (grub_xfs_btree_root): New structure.
32042 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
32043 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
32044 (GRUB_XFS_EXTENT_BLOCK): Likewise.
32045 (GRUB_XFS_EXTENT_SIZE): Likewise.
32046 (grub_xfs_read_block): Support btree format type.
32047 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
32048 Use directory block as basic unit.
32049
32050 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
32051
32052 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
32053 __attribute__ ((__regparm__ (1))).
32054
f95562bf 320552008-02-01 Robert Millan <rmh@aybabtu.com>
32056
32057 Correct a mistake in previous commit.
32058
32059 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
32060 top.
32061 (normal/command.c_DEPENDENCIES): New variable.
32062
7d31f41f 320632008-02-01 Robert Millan <rmh@aybabtu.com>
32064
32065 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
32066 top.
32067 (normal/command.c_DEPENDENCIES): New variable.
32068 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
32069 * conf/i386-ieee1275.rmk: Likewise.
32070 * conf/i386-linuxbios.rmk: Likewise.
32071 * conf/i386-pc.rmk: Likewise.
32072 * conf/sparc64-ieee1275.rmk: Likewise.
32073 * conf/powerpc-ieee1275.rmk: Likewise.
32074 (grub_emu_SOURCES): Add `fs/fshelp.c'.
32075
32076 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
32077
60b6be74 320782008-02-01 Robert Millan <rmh@aybabtu.com>
32079
32080 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
32081 call at beginning of function.
32082
078522ab 320832008-01-31 Pavel Roskin <proski@gnu.org>
32084
32085 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 32086 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
32087 (grub_mkrescue_SOURCES): Likewise.
078522ab 32088 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
32089
ccaa8a5f 320902008-01-30 Robert Millan <rmh@aybabtu.com>
32091
32092 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
32093 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
32094 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
32095 (grub_probe_SOURCES): ... to here.
32096
32097 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
32098 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
32099 * conf/i386-ieee1275.rmk: Likewise.
32100 * conf/i386-linuxbios.rmk: Likewise.
32101 * conf/powerpc-ieee1275.rmk: Likewise.
32102
ae5a9cd7 321032008-01-30 Tristan Gingold <gingold@free.fr>
32104
32105 * kern/rescue.c: Silently accept empty lines.
32106
70bc2ef2 321072008-01-29 Bean <bean123ch@gmail.com>
32108
32109 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
32110 (real_code_2): Code cleanup and change comment style.
32111 (move_memory): Avoid using 32-bit address mode.
32112
6a4d50ea 321132008-01-29 Bean <bean123ch@gmail.com>
32114
32115 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
32116 (png_mod_SOURCES): New variable.
32117 (png_mod_CFLAGS): Likewise.
32118 (png_mod_LDFLAGS): Likewise.
32119
32120 * video/readers/png.c: New file.
32121
11cc30ac 321222008-01-28 Robert Millan <rmh@aybabtu.com>
32123
32124 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
32125 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
32126 `ifndef GRUB_MOD_GAP' hack.
32127 * util/elf/grub-mkimage.c (add_segments): Likewise.
32128
3abc589f 321292008-01-27 Robert Millan <rmh@aybabtu.com>
32130
32131 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
32132 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 32133 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 32134
e1907778 321352008-01-27 Robert Millan <rmh@aybabtu.com>
32136
32137 Get grub-emu to build again (including parallel builds).
32138
32139 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
32140 Split into ...
32141 (util/grub-emu.c_DEPENDENCIES): ... this, ...
32142 (normal/execute.c_DEPENDENCIES): ... this, ...
32143 (grub-emu_DEPENDENCIES): ... and this.
32144
32145 * conf/i386-efi.rmk: Likewise.
32146 * conf/i386-linuxbios.rmk: Likewise.
32147 * conf/i386-ieee1275.rmk: Likewise.
32148 * conf/powerpc-ieee1275.rmk: Likewise.
32149 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
32150
2216b101 321512008-01-27 Robert Millan <rmh@aybabtu.com>
32152
32153 * NEWS: Add a few items.
32154
f75172d9 321552008-01-27 Robert Millan <rmh@aybabtu.com>
32156
32157 Fix parallel builds with grub-emu. Based on earlier commit for
32158 grub-probe and grub-setup.
32159
32160 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32161 (util/grub-emu.c_DEPENDENCIES): ... this.
32162 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32163 (util/grub-emu.c_DEPENDENCIES): ... this.
32164 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32165 (util/grub-emu.c_DEPENDENCIES): ... this.
32166 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32167 (util/grub-emu.c_DEPENDENCIES): ... this.
32168 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
32169 (util/grub-emu.c_DEPENDENCIES): ... this.
32170
3f51de77 321712008-01-27 Pavel Roskin <proski@gnu.org>
32172
32173 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
32174 to create a gap between _end and the modules added to the image
32175 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
32176 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
32177 * util/elf/grub-mkimage.c (add_segments): Likewise.
32178
2033f53e 321792008-01-26 Pavel Roskin <proski@gnu.org>
32180
32181 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
32182 just return an error.
32183
22da1f6f 321842008-01-26 Bean <bean123ch@gmail.com>
32185
32186 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
32187 (grub_reiserfs_get_item): Save offset of the next item.
32188 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
32189
2a9525e6 321902008-01-25 Robert Millan <rmh@aybabtu.com>
32191
32192 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
32193 make all filesystem sources appear together (possibly fixing omissions
32194 while at it).
32195 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32196 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32197 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32199
32200 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
32201 add `kern/file.c'.
32202 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
32203 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
32204 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
32205 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
32206
32207 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
32208 (probe): Add a sanity check to make sure of our ability to read
32209 requested files when probing for filesystem type.
32210
32211 * genmk.rb: Update copyright year (2007).
32212
32213 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
32214 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
32215 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
32216 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
32217 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
32218 : Remove function prototypes.
32219
b95f71b5 322202008-01-25 Robert Millan <rmh@aybabtu.com>
32221
32222 Revert my previous commits (based on wrong assumption of how grub_errno
32223 works).
32224
fe6b695a 32225 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 32226 * kern/file.c (grub_file_open): Likewise.
32227
d08bbb49 322282008-01-24 Pavel Roskin <proski@gnu.org>
32229
32230 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
32231 that hang if GRUB tries to setup colors.
32232 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
32233 colors for firmwares that don't support it.
32234 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
32235 Recognize Open Hack'Ware, set flags to work around its
32236 limitations.
32237
605e36ed 322382008-01-24 Robert Millan <rmh@aybabtu.com>
32239
32240 * kern/file.c (grub_file_open): Do not account previous failures of
32241 unrelated functions when grub_errno is checked for.
32242 Reported by Oleg Strikov.
32243
bac332a1 322442008-01-24 Bean <bean123ch@gmail.com>
32245
32246 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
32247 (grub_ufs_sblock): New member volume name.
32248 (grub_ufs_find_file): Fix string copy bug.
32249 (grub_ufs_label): Implement this function properly.
32250
32251 * fs/hfs.c (grub_hfs_cnid_type): New enum.
32252 (grub_hfs_iterate_records): Use the correct file number for extents
32253 and catalog file. Fix problem in next index calculation.
32254 (grub_hfs_find_node): Replace recursive function call with loop.
32255 (grub_hfs_iterate_dir): Replace recursive function call with loop.
32256
15c80c09 322572008-01-23 Robert Millan <rmh@aybabtu.com>
32258
32259 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
32260 `<grub/symbol.h>' and `<grub/multiboot.h>'.
32261 (grub_multiboot2_real_boot): New function prototype.
32262
32263 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
32264 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
32265
32266 * kern/i386/ieee1275/init.c (grub_os_area_addr)
32267 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
32268
305338fd 322692008-01-23 Robert Millan <rmh@aybabtu.com>
32270
32271 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
32272 #ifdef'ed out grub_printf().
32273
3ea52685 322742008-01-23 Robert Millan <rmh@aybabtu.com>
32275
32276 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
32277 grub_dprintf calls, since they make "debug=all" mode unusable.
32278 (grub_console_checkkey): Likewise.
32279
5882ae4b 322802008-01-23 Robert Millan <rmh@aybabtu.com>
32281
32282 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32283 `term/i386/pc/at_keyboard.c'.
32284 (pkglib_MODULES): Add `serial.mod'.
32285 (serial_mod_SOURCES): New variable.
32286 (serial_mod_CFLAGS): Likewise.
32287 (serial_mod_LDFLAGS): Likewise.
32288
32289 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
32290 `<grub/powerpc/ieee1275/console.h>'.
32291 (grub_keyboard_controller_init): New function prototype.
32292 (grub_console_checkkey): Likewise.
32293 (grub_console_getkey): Likewise.
32294
32295 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
32296 keyboard on i386.
32297
32298 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
32299 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
32300
06ab5303 323012008-01-23 Robert Millan <rmh@aybabtu.com>
32302
32303 * kern/i386/pc/init.c (make_install_device): When memdisk image is
32304 present, "(memdisk)/boot/grub" becomes the default prefix.
32305
32306 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
32307 a memdisk tarball with all the modules. Add --overlay=DIR option that
32308 allows users to overlay additional files into the image.
32309
dbb475a4 323102008-01-23 Robert Millan <rmh@aybabtu.com>
32311
32312 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
32313 and `machine/memory.h'.
32314 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
32315 (_multiboot_mod_SOURCES): New variable.
32316 (_multiboot_mod_CFLAGS): Likewise.
32317 (_multiboot_mod_LDFLAGS): Likewise.
32318 (multiboot_mod_SOURCES): Likewise.
32319 (multiboot_mod_CFLAGS): Likewise.
32320 (multiboot_mod_LDFLAGS): Likewise.
32321
32322 * include/grub/i386/ieee1275/loader.h: New file.
32323
32324 * include/grub/i386/ieee1275/machine.h: Likewise.
32325
32326 * include/grub/i386/ieee1275/memory.h: Likewise.
32327
32328 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
32329 variable declaration.
32330 (grub_os_area_size): Likewise.
32331
32332 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
32333 (grub_lower_mem, grub_upper_mem): New variables.
32334 (grub_stop_floppy): New function (just to make
32335 grub_multiboot2_real_boot() happy).
32336
32337 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
32338 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
32339 (grub_stop): New function.
32340 Include `"../realmode.S"' and `"../loader.S"'.
32341
32342 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
32343 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
32344
32345 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
32346 rely on grub_multiboot2_real_boot() for final boot.
32347
25638629 323482008-01-22 Robert Millan <rmh@aybabtu.com>
32349
32350 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
32351 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
32352 device that doesn't look like an SD card.
32353 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32354 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
32355 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
32356 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
32357 found.
32358
9dad816d 323592008-01-22 Robert Millan <rmh@aybabtu.com>
32360
32361 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
32362 avoid claiming over our own code.
32363
34842f2d 323642008-01-22 Bean <bean123ch@gmail.com>
32365
32366 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
32367 (jpeg_mod_SOURCES): New variable.
32368 (jpeg_mod_CFLAGS): Likewise.
32369 (jpeg_mod_LDFLAGS): Likewise.
32370
32371 * video/readers/jpeg.c : New file.
32372
44023a28 323732008-01-22 Bean <bean123ch@gmail.com>
32374
32375 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
32376 there are no more items.
32377
bc2d8ac6 323782008-01-21 Robert Millan <rmh@aybabtu.com>
32379
32380 * kern/mm.c (grub_mm_init_region): Improve debug message.
32381
261bd4bc 323822008-01-21 Robert Millan <rmh@aybabtu.com>
32383
32384 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
32385 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
32386 address.
32387 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
32388 a C macro.
32389 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
32390 Indicates start of upper memory.
32391 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
32392 (generate_image): Abort when image size is big enough to corrupt
32393 upper memory.
32394
32395 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
32396 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
32397 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32398 instead of hardcoding 0xA0000.
32399 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
32400 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32401 instead of hardcoding 0xA0000.
32402
f970b55e 324032008-01-21 Robert Millan <rmh@aybabtu.com>
32404
32405 * disk/memdisk.c (memdisk_size): New variable.
32406 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
32407 `memdisk_size'.
32408 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
32409 image to dynamic memory.
32410 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
32411 `memdisk_size'. Free memdisk block.
32412
1a8b0526 324132008-01-21 Robert Millan <rmh@aybabtu.com>
32414
32415 Fix detection of very small filesystems (like tar).
32416
32417 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
32418 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
32419 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
32420 a problem with this disk).
32421
6e9b4aab 324222008-01-21 Robert Millan <rmh@aybabtu.com>
32423
32424 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
32425 on grub_biosdisk_rw_standard() error.
32426
0d8837b2 324272008-01-21 Robert Millan <rmh@aybabtu.com>
32428
32429 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
32430 recent changes.
32431 * kern/elf.c: Likewise.
32432 * kern/ieee1275/ieee1275.c: Likewise.
32433 * kern/powerpc/ieee1275/openfw.c: Likewise.
32434 * term/ieee1275/ofconsole.c: Likewise.
32435
ffd36e34 324362008-01-21 Robert Millan <rmh@aybabtu.com>
32437
32438 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
32439
3f0093d0 32440 * include/grub/kernel.h (grub_arch_memdisk_addr)
32441 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 32442
3f0093d0 32443 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
32444 (grub_arch_memdisk_size): ... to here.
ffd36e34 32445
6c391b21 324462008-01-21 Robert Millan <rmh@aybabtu.com>
32447
32448 Mostly based on bugfix from Bean.
32449
32450 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
32451 attribute with hook() parameter.
32452 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
32453 declaration.
32454 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
32455 attribute with hook() parameter.
32456 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
32457 declaration.
32458
55a581dc 324592008-01-21 Robert Millan <rmh@aybabtu.com>
32460
32461 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
32462 (pkglib_MODULES): Add `memdisk.mod'.
32463 (memdisk_mod_SOURCES): New variable.
32464 (memdisk_mod_CFLAGS): Likewise.
32465 (memdisk_mod_LDFLAGS): Likewise.
32466
32467 * disk/memdisk.c: New file.
32468
32469 * include/grub/disk.h (grub_disk_dev_id): Add
32470 `GRUB_DISK_DEVICE_MEMDISK_ID'.
32471
32472 * include/grub/i386/pc/kernel.h
32473 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
32474 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
32475 (grub_kernel_image_size): New variable declaration.
32476 (grub_total_module_size): Likewise.
32477 (grub_memdisk_image_size): Likewise.
32478
32479 * include/grub/i386/pc/memory.h
32480 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
32481
32482 * include/grub/kernel.h: Include `<grub/symbol.h>'.
32483 (grub_arch_memdisk_addr): New variable declaration.
32484 (grub_arch_memdisk_size): Likewise.
32485
32486 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
32487 (grub_arch_memdisk_size): Likewise.
32488
32489 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
32490 (codestart): Replace hardcoded `0x100000' with
32491 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
32492
32493 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
32494 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
32495 not NULL, append the contents of the file it refers to, at the end of
32496 the compressed kernel image. Initialize `grub_memdisk_image_size'
32497 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
32498 (options): Add "memdisk"|'m' option.
32499 (main): Parse --memdisk|-m option, and pass user-provided path as
32500 parameter to generate_image().
32501
3d7f54c9 325022008-01-20 Robert Millan <rmh@aybabtu.com>
32503
32504 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
32505 grub_dprintf() calls from here ...
32506 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
32507
0bf74728 325082008-01-20 Robert Millan <rmh@aybabtu.com>
32509
32510 Fix detection of "real mode" when /options/real-mode? doesn't exist.
32511
32512 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
32513 declaration.
32514 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
32515 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
32516 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 32517 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 32518 property).
32519 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
32520 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
32521
33bf70a7 325222008-01-19 Robert Millan <rmh@aybabtu.com>
32523
fe6b695a 32524 Get rid of confusing function (superseded by
33bf70a7 32525 `grub_ieee1275_get_integer_property')
32526 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
32527 prototype.
32528 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
32529 function.
32530 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
32531 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 32532 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 32533
e2da7d26 325342008-01-19 Robert Millan <rmh@aybabtu.com>
32535
32536 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
32537 command after "shut-down", since implementations differ on which
32538 the command for halt is.
32539
59f1fd8d 325402008-01-19 Robert Millan <rmh@aybabtu.com>
32541
32542 * include/grub/i386/linuxbios/console.h: Add header protection.
32543 (grub_keyboard_controller_init): New function prototype.
32544 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
32545 (KEYBOARD_COMMAND_READ): Likewise.
32546 (KEYBOARD_COMMAND_WRITE): Likewise.
32547 (KEYBOARD_SCANCODE_SET1): Likewise.
32548 (grub_keyboard_controller_write): New function.
32549 (grub_keyboard_controller_read): Likewise.
32550 (grub_keyboard_controller_init): Likewise.
32551
32552 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
32553 (grub_console_init): On coreboot/LinuxBIOS, call
32554 grub_keyboard_controller_init().
32555
5f5a7c15 325562008-01-19 Robert Millan <rmh@aybabtu.com>
32557
32558 PowerPC changes provided by Pavel Roskin.
32559
32560 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
32561 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
32562 don't rely on cmain() doing it.
32563 * kern/i386/ieee1275/startup.S (_start): Store %eax in
32564 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
32565
1210e168 325662008-01-16 Robert Millan <rmh@aybabtu.com>
32567
32568 * include/grub/i386/linuxbios/memory.h
32569 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
32570 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
32571 receive `table_header' as argument. Instead, probe for it in the
32572 known memory ranges where it can be present.
32573 (grub_available_iterate): Do not pass a fixed `table_header' address
32574 to grub_linuxbios_table_iterate().
32575
3d04eab8 325762008-01-15 Robert Millan <rmh@aybabtu.com>
32577
32578 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
32579 * conf/i386-ieee1275.rmk: New file.
32580 * include/grub/i386/ieee1275/console.h: Likewise.
32581 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
32582 * include/grub/i386/ieee1275/kernel.h: Likewise.
32583 * include/grub/i386/ieee1275/time.h: Likewise.
32584 * kern/i386/ieee1275/init.c: Likewise.
32585 * kern/i386/ieee1275/startup.S: Likewise.
32586
d1bc1b73 325872008-01-15 Robert Millan <rmh@aybabtu.com>
32588
32589 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
32590 when pointers are 32-bit (but still do set it to one when they are
32591 64-bit).
32592
66a65807 325932008-01-15 Robert Millan <rmh@aybabtu.com>
32594
32595 * include/grub/ieee1275/ieee1275.h
32596 (grub_ieee1275_get_integer_property): New function prototype.
32597
32598 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
32599 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 32600 grub_ieee1275_get_property() to handle endianness.
66a65807 32601
32602 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
32603 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 32604 where appropriate.
66a65807 32605 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
32606 (grub_map): Likewise.
32607 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
32608
a83ccafd 326092008-01-15 Bean <bean123ch@gmail.com>
32610
32611 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
32612 (grub_script_execute_cmdline): Reset grub_errno.
32613
32614 * normal/main.c (read_config_file): Reset grub_errno.
32615
32616 * normal/parse.y (script_init): New.
32617 (script): Move function and menuentry here.
32618 (delimiter): New.
32619 (command): Add delimiter at the end of command.
32620 (commands): Adjust to match the new command.
32621 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 32622 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 32623 (if): Use the new commands.
32624
32625 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
32626
df6ecfc6 326272008-01-15 Robert Millan <rmh@aybabtu.com>
32628
32629 * normal/menu.c (run_menu): Move timeout message from here ...
32630 (print_timeout): ... to here.
32631 (run_menu): Use print_timeout() once during initial draw to print
32632 the whole message, and again in every clock tick to update only
32633 the number of seconds.
32634
87ae25eb 326352008-01-15 Robert Millan <rmh@aybabtu.com>
32636
32637 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
32638 actual size of `available' from grub_ieee1275_get_property(), and
32639 restrict parsing to that bound.
32640
47bf09a4 326412008-01-15 Christian Franke <franke@computer.org>
32642
32643 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
32644 (argp_program_version): Remove variable.
32645 (argp_program_bug_address): Likewise.
32646 (options): Convert from struct argp_option to struct option.
32647 (struct arguments): Remove.
32648 (parse_opt): Remove.
32649 (usage): New function.
32650 (main): Replace struct args members by simple variables.
32651 Replace argp_parse() by getopt_long().
32652 Add switch to evaluate options.
32653 Add missing "(...)" around root_dev in prefix string.
32654
c86f1469 326552008-01-14 Robert Millan <rmh@aybabtu.com>
32656
32657 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
32658 for grub_ieee1275_exit(), in order to improve portability.
32659
e622c559 326602008-01-14 Robert Millan <rmh@aybabtu.com>
32661
32662 * util/grub.d/10_linux.in (prefix): Define.
32663 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
32664
44cb1ec8 326652008-01-13 Pavel Roskin <proski@gnu.org>
32666
32667 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
32668 grub_errno if no errors have been detected.
32669
1eb8c802 326702008-01-12 Robert Millan <rmh@aybabtu.com>
32671
32672 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
32673 (grub_util_get_dev_abstraction): New function prototype.
32674
32675 * util/getroot.c: Include `<grub/util/getroot.h>'
32676 (grub_util_get_grub_dev): Move detection of abstraction type to ...
32677 (grub_util_get_dev_abstraction): ... here (new function).
32678
32679 * util/grub-probe.c: Convert PRINT_* to an enum. Add
32680 `PRINT_ABSTRACTION'.
32681 (probe): Probe for abstraction type when requested.
32682 (main): Understand `--target=abstraction'.
32683
32684 * util/i386/efi/grub-install.in: Add abstraction module to core
32685 image when it is found to be necessary.
32686 * util/i386/pc/grub-install.in: Likewise.
32687 * util/powerpc/ieee1275/grub-install.in: Likewise.
32688
32689 * util/update-grub_lib.in (font_path): Return system path without
32690 converting to GRUB path.
32691 * util/update-grub.in: Convert system path returned by font_path()
32692 to a GRUB path. Use `grub-probe -t abstraction' to determine what
32693 abstraction module is needed for loading fonts (if any). Export
32694 that as `GRUB_PRELOAD_MODULES'.
32695 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
32696 insmod commands).
32697
52bd3de9 326982008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
32699
32700 Remove some unused code from reiserfs.
f19dbdb7 32701
52bd3de9 32702 * fs/reiserfs.c (struct grub_reiserfs_key)
32703 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
32704 (struct grub_reiserfs_node_body): Removed.
32705 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32706 Likewise.
32707 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32708 Likewise.
32709 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32710 Likewise.
32711 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32712 Likewise.
32713 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32714 Likewise.
32715 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
32716 Likewise.
32717 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32718 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32719 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32720
2f80039d 327212008-01-10 Robert Millan <rmh@aybabtu.com>
32722
32723 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32724 Determines if a file is garbage left by packaging systems, etc.
32725 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32726 for processing /etc/grub.d scripts.
32727 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32728 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32729 as a condition for processing Linux images.
32730
87888032 327312008-01-10 Pavel Roskin <proski@gnu.org>
32732
32733 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32734 to compile reiserfs.c on PowerPC.
32735
7e54fced 327362008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 32737
32738 * kern/device.c (grub_device_iterate): Do not abort device iteration
32739 when one of the devices cannot be opened.
32740 * kern/disk.c (grub_disk_open): Do not account previous failures of
32741 unrelated functions when grub_errno is checked for.
32742
5aa541e6 327432008-01-08 Robert Millan <rmh@aybabtu.com>
32744
32745 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32746 `! grub_linux_is_bzimage', change order of address comparison to make
32747 it more intuitive, and improve "too big zImage" error message.
32748
7076340d 327492008-01-08 Robert Millan <rmh@aybabtu.com>
32750
32751 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32752 `$(update-grub_DATA)'.
32753 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32754 targets.
32755
9ca70333 327562008-01-07 Robert Millan <rmh@aybabtu.com>
32757
32758 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32759 which instruction is modified by grub-setup during installation
32760 (since it wasn't obvious by only looking at this file).
32761
38ccf575 327622008-01-07 Robert Millan <rmh@aybabtu.com>
32763
32764 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32765 listing actual TODO items.
32766
f5db4291 327672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32768
868967cf 32769 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32770 correctly.
32771 (grub_reiserfs_get_key_offset): Likewise.
32772 (grub_reiserfs_set_key_offset): Likewise.
32773 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 32774 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 32775
32776 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32777 better to remove the bitfield version completely.
f19dbdb7 32778
868967cf 327792008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32780
f5db4291 32781 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32782 allocated from the heap, due to the fshelp implementation.
32783 (grub_reiserfs_dir): Free NODE, due to the same reason.
32784
492e6d9d 327852008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32786
32787 Mostly from Vincent Pelletier:
f19dbdb7 32788
492e6d9d 32789 * fs/reiserfs.c: New file.
f19dbdb7 32790
492e6d9d 32791 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32792 (reiserfs_mod_SOURCES): New variable.
32793 (reiserfs_mod_CFLAGS): Likewise.
32794 (reiserfs_mod_LDFLAGS): Likewise.
32795
32796 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32797 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32798 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32799 normal/color.c.
32800
9ce3e7c1 328012008-01-06 Robert Millan <rmh@aybabtu.com>
32802
32803 * normal/color.c: Remove `<grub/env.h>'.
32804
f3b58148 328052008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32806
32807 * include/grub/normal.h: Include <grub/env.h>.
32808
7ac3bcfa 328092008-01-05 Robert Millan <rmh@aybabtu.com>
32810
32811 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32812 usage example with `(hd0,1)'.
fb358190 32813 Reported by Samuel Thibault.
7ac3bcfa 32814
c8ee99d7 328152008-01-05 Robert Millan <rmh@aybabtu.com>
32816
32817 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32818 (grub_linux_boot_zimage): Rename to ...
32819 (grub_linux_boot): ... this.
32820 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32821 (grub_linux_boot_zimage): Conditionalize zImage copy.
32822
32823 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32824 (grub_linux_boot_bzimage): Remove prototype.
32825 (grub_linux_boot_zimage): Rename to ...
32826 (grub_linux_boot): ... this.
32827
32828 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32829 (grub_linux_boot): Remove function.
32830
0ece25b1 328312008-01-05 Robert Millan <rmh@aybabtu.com>
32832
32833 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32834 (grub_env_write_color_highlight): Likewise.
32835 (grub_wait_after_message): Likewise.
32836
32837 * normal/color.c: New file.
32838
32839 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32840 (normal_mod_DEPENDENCIES): Likewise.
32841
32842 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32843 (normal_mod_DEPENDENCIES): Likewise.
32844
32845 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32846 (normal_mod_DEPENDENCIES): Likewise.
32847
32848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32849 (normal_mod_DEPENDENCIES): Likewise.
32850
32851 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32852 for waiting after a message is printed.
32853 * normal/main.c (read_config_file): Likewise.
32854 (grub_normal_init): Register grub_env_write_color_normal() and
32855 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32856 `color_highlight' variables as global.
32857
32858 * normal/menu.c (grub_wait_after_message): New function.
32859 (grub_color_menu_normal): New variable. Replaces ...
32860 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32861 (grub_color_menu_highlight): New variable. Replaces ...
32862 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32863 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32864 `GRUB_TERM_COLOR_STANDARD'.
32865 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32866 `normal_code' and `highlight_code' to `old_color_normal' and
32867 `old_color_highlight', respectively.
32868 (grub_menu_init_page): Update colors when drawing the menu, based on
32869 `menu_color_normal' and `menu_color_highlight' variables.
32870 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32871 a message is printed.
32872
182dd4e5 328732008-01-05 Robert Millan <rmh@aybabtu.com>
32874
32875 * kern/env.c (grub_env_context_open): Propagate hooks for global
32876 variables to new context.
32877
32878 * kern/main.c (grub_set_root_dev): Export `root' variable.
32879
ddf8f6ad 328802008-01-05 Robert Millan <rmh@aybabtu.com>
32881
32882 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 32883 discs unconditionally, since udev and others have options to provide
ddf8f6ad 32884 them.
32885
d8b43d9b 328862008-01-05 Robert Millan <rmh@aybabtu.com>
32887
32888 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32889
2bff2de3 328902008-01-04 Christian Franke <franke@computer.org>
32891
32892 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32893 of eisa_mmap.
32894
97eab917 328952008-01-03 Pavel Roskin <proski@gnu.org>
32896
32897 * kern/i386/linuxbios/init.c: Put "void" to all function
32898 declarations with no arguments.
32899 * kern/powerpc/ieee1275/init.c: Likewise.
32900 * term/i386/pc/at_keyboard.c: Likewise.
32901 * term/i386/pc/vga_text.c: Likewise.
32902 * util/grub-mkdevicemap.c: Likewise.
32903
b9416d00 329042008-01-02 Robert Millan <rmh@aybabtu.com>
32905
32906 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32907 message when loaded image is out of bounds.
32908 (grub_multiboot_load_elf64): Likewise.
32909
92695df9 329102008-01-02 Pavel Roskin <proski@gnu.org>
32911
32912 * util/grub.d/10_linux.in: Try version without ".old" when
32913 looking for initrd. It's better to use initrd from the newer
32914 kernel of the same version than no initrd at all.
32915
d98d9cad 329162008-01-01 Robert Millan <rmh@aybabtu.com>
32917
32918 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32919
dbfdce36 329202008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32921
f19dbdb7 32922 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 32923 grub_video_get_active_render_target.
32924 (grub_video_adapter): Added unmap_color and get_active_render_target.
32925
f19dbdb7 32926 * video/video.c: Added grub_video_unmap_color and
dbfdce36 32927 grub_video_get_active_render_target.
32928 (grub_video_get_info): Changed method to accept NULL pointer as an
32929 argument to allow detection of active video adapter.
32930
32931 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32932 grub_video_vbe_unmap_color_int.
32933 Added grub_video_vbe_unmap_color and
32934 grub_video_vbe_get_active_render_target.
32935 (grub_video_vbe_adapter): Added unmap_color and
32936 get_active_render_target.
32937
f19dbdb7 32938 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 32939 with grub_video_vbe_unmap_color_int.
32940
32941 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32942 (DEFAULT_NORMAL_COLOR): Likewise.
32943 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32944 (DEFAULT_FG_COLOR): Removed.
32945 (DEFAULT_BG_COLOR): Likewise.
32946 (DEFAULT_CURSOR_COLOR): Changed value.
32947 (grub_virtual_screen): Added standard_color_setting,
32948 normal_color_setting, highlight_color_setting and term_color.
32949 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32950 (bitmap_width): Added.
32951 (bitmap_height): Likewise.
32952 (bitmap): Likewise.
32953 (set_term_color): Likewise.
32954 (grub_virtual_screen_setup): Changed to use new terminal coloring
32955 settings.
32956 (grub_gfxterm_init): Added init for bitmap.
32957 (grub_gfxterm_fini): Added destroy for bitmap.
32958 (redraw_screen_rect): Updated to use background bitmap and new
32959 terminal coloring.
32960 (scroll_up): Added optimization for case when there is no bitmap.
32961 (grub_gfxterm_cls): Fixed to use correct background color.
32962 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32963 coloring.
32964 (grub_virtual_screen_setcolor): Likewise.
32965 (grub_virtual_screen_getcolor): Added.
32966 (grub_gfxterm_background_image_cmd): Likewise.
32967 (grub_video_term): Added setcolor and getcolor.
32968 (MOD_INIT): Added registration of background_image command.
32969 (MOD_TERM): Added unregistration for background_image command.
32970
c3c20931 329712007-12-30 Pavel Roskin <proski@gnu.org>
32972
32973 * loader/multiboot_loader.c: Fix multiboot command
32974 unregistration. Fix all typos in the word "multiboot".
32975
df266716 329762007-12-29 Pavel Roskin <proski@gnu.org>
94239199 32977
32978 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32979 support for initrd names used in Fedora.
32980
fc6e896c 329812007-12-26 Bean <bean123ch@gmail.com>
32982
32983 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32984 (cpio_mod_SOURCES): New variable.
32985 (cpio_mod_CFLAGS): Likewise.
32986 (cpio_mod_LDFLAGS): Likewise.
32987
32988 * fs/cpio.c: New file.
32989
32990 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32991
32992 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32993
32994 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32995
32996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32997
533110ad 329982007-12-25 Robert Millan <rmh@aybabtu.com>
32999
33000 * include/grub/term.h (struct grub_term): Add `getcolor' function.
33001 (grub_getcolor): New function.
33002
33003 * kern/term.c (grub_getcolor): New function.
33004 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
33005 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
33006 (print_entry): Set normal and highlight colors to
33007 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
33008 respectively, before printing and restore them to old
33009 values afterwards.
33010 (grub_menu_init_page): Likewise. Fill an additional colored space
33011 that would otherwise be left blank.
33012
33013 * term/efi/console.c (grub_console_getcolor): New function.
33014 (struct grub_console_term.getcolor): New variable.
33015 * term/i386/pc/console.c (grub_console_getcolor): New function.
33016 (struct grub_console_term.getcolor): New variable.
33017 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
33018 (struct grub_console_term.getcolor): New variable.
33019
33020 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
33021 (struct grub_console_term.setcolor): Remove variable.
33022 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
33023 (struct grub_console_term.setcolor): Remove variable.
33024 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
33025 (struct grub_console_term.setcolor): Remove variable.
33026 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
33027 (struct grub_console_term.setcolor): Remove variable.
33028
4931827f 330292007-12-25 Robert Millan <rmh@aybabtu.com>
33030
33031 * configure.ac: Search for possible unifont.hex locations, and
33032 define UNIFONT_HEX if found.
33033
33034 * Makefile.in (UNIFONT_HEX): Define variable.
33035 (DATA): Rename to ...
33036 (PKGLIB): ... this. Update all users.
33037 (PKGDATA): New variable.
33038 (pkgdata_IMAGES): Rename to ...
33039 (pkglib_IMAGES): ... this. Update all users.
33040 (pkgdata_MODULES): Rename to ...
33041 (pkglib_MODULES): ... this. Update all users.
33042 (pkgdata_PROGRAMS): Rename to ...
33043 (pkglib_PROGRAMS): ... this. Update all users.
33044 (pkgdata_DATA): Rename to ...
33045 (pkglib_DATA): ... this. Update all users.
33046 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
33047 (unicode.pff, ascii.pff): New rules.
33048 (all-local): Add `$(PKGDATA)' dependency.
33049 (install-local): Process `$(PKGDATA)'.
33050
33051 * util/update-grub_lib.in (font_path): Search for *.pff files in
33052 a few more locations, including `${pkgdata}'.
33053
57e57e31 330542007-12-23 Robert Millan <rmh@aybabtu.com>
33055
33056 Patch from Bean <bean123ch@gmail.com>:
33057 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
33058 `size'.
33059
4bc72aa9 330602007-12-21 Bean <bean123ch@gmail.com>
33061
33062 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
33063 (ntfscomp_mod_SOURCES): New variable.
33064 (ntfscomp_mod_CFLAGS): Likewise.
33065 (ntfscomp_mod_LDFLAGS): Likewise.
33066
33067 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
33068 (grub_probe_SOURCES): Likewise.
33069 (grub_emu_SOURCES): Likewise.
33070
33071 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
33072 (grub_emu_SOURCES): Likewise.
33073
33074 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
33075 (grub_emu_SOURCES): Likewise.
33076
33077 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
33078 (grub_emu_SOURCES): Likewise.
33079
33080 * fs/ntfs.c (grub_ntfscomp_func): New variable.
33081 (read_run_list): Renamed to grub_ntfs_read_run_list.
33082 (decomp_nextvcn): Moved to ntfscomp.c.
33083 (decomp_getch): Likewise.
33084 (decomp_get16): Likewise.
33085 (decomp_block): Likewise.
33086 (read_block): Likewise.
33087 (read_data): Partially moved to ntfscomp.c.
33088 (fixup): Change unsigned to grub_uint16_t.
33089 (read_mft): Change unsigned long to grub_uint32_t.
33090 (read_attr): Likewise.
33091 (read_data): Likewise.
33092 (read_run_data): Likewise.
33093 (read_run_list): Likewise.
33094 (read_mft): Likewise.
33095
33096 * fs/ntfscomp.c: New file.
33097
33098 * include/grub/ntfs.h: New file.
33099
af680a87 331002007-12-16 Robert Millan <rmh@aybabtu.com>
33101
33102 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
33103 IDE disk check, since Linux is known to support 20 IDE disks.
33104 Reported by Colin Watson.
33105
84be7599 331062007-12-15 Bean <bean123ch@gmail.com>
33107
33108 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
33109 (lnxboot_img_SOURCES): New variable.
33110 (lnxboot_img_ASFLAGS): Likewise.
33111 (lnxboot_img_LDFLAGS): Likewise.
33112
33113 * boot/i386/pc/lnxboot.S: New file.
33114
6af9db01 331152007-11-24 Pavel Roskin <proski@gnu.org>
33116
33117 * configure.ac: Test if '--build-id=none' is supported by the
33118 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
33119 objcopy to generate incorrect binary files (binutils
33120 2.17.50.0.18-1 as shipped by Fedora 8).
33121 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
33122 linking, so that build ID doesn't break the test.
33123
7361cfe6 331242007-11-24 Pavel Roskin <proski@gnu.org>
33125
33126 * include/grub/i386/time.h: use "void" in the argument list
33127 of grub_cpu_idle().
33128 * include/grub/powerpc/time.h: Likewise.
33129 * include/grub/sparc64/time.h: Likewise.
33130
1593e10c 331312007-11-18 Christian Franke <franke@computer.org>
33132
33133 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
33134 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
33135 This fixes the problem that function keys did not work in grub-emu.
33136
3b8db1a8 331372007-11-18 Christian Franke <franke@computer.org>
33138
33139 * disk/host.c (grub_host_open): Remove attribute unused from
33140 name parameter. Add check for "host". This fixes the problem
33141 that grub-emu does not find partitions.
33142
2e29408d 331432007-11-18 Christian Franke <franke@computer.org>
33144
33145 * util/hostfs.c (is_dir): New function.
33146 (grub_hostfs_dir): Handle missing dirent.d_type case.
33147 (grub_hostfs_read): Add missing fseek().
33148 (grub_hostfs_label): Clear label pointer. This fixes a crash
33149 of grub-emu on "ls (host)".
33150
398cd047 331512007-11-18 Christian Franke <franke@computer.org>
33152
33153 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
33154 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
33155 to 64 bit boundary by default.
33156
c405c391 331572007-11-18 Bean <bean123ch@gmail.com>
33158
33159 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
33160 (hexdump_mod_SOURCES): New variable.
33161 (hexdump_mod_CFLAGS): Likewise.
33162 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 33163
c405c391 33164 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33165
33166 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33167
33168 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33169
33170 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
33171
33172 * include/grub/hexdump.h: New file.
33173
33174 * commands/hexdump.c: New file.
33175
5cced7fd 331762007-11-10 Robert Millan <rmh@aybabtu.com>
33177
33178 * commands/i386/pc/play.c (beep_off): Switch order of arguments
33179 in grub_outb() calls.
33180 (beep_on): Likewise.
33181
8b714eb0 331822007-11-10 Christian Franke <franke@computer.org>
33183
33184 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
33185 (grub_menu_run): Likewise.
33186
ce0f1839 331872007-11-10 Robert Millan <rmh@aybabtu.com>
33188
33189 * include/grub/i386/efi/machine.h: New file.
33190 * include/grub/i386/linuxbios/machine.h: Likewise.
33191 * include/grub/i386/pc/machine.h: Likewise.
33192 * include/grub/powerpc/ieee1275/machine.h: Likewise.
33193 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33194
33195 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
33196 (serial_hw_io_addr): New variable.
33197 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
33198 instead of `(unsigned short *) 0x400'.
33199
270c237d 332002007-11-10 Bean <bean123ch@gmail.com>
33201
33202 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
33203
a87783bf 332042007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
33205
33206 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
33207 (vga_mod_SOURCES): Added.
33208 (vga_mod_CFLAGS): Likewise.
33209 (vga_mod_LDFLAGS): Likewise.
33210
33211 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
33212 grub_outb() calls.
33213 (set_map_mask): Likewise.
33214 (set_read_map): Likewise.
33215 (set_read_address): Likewise.
33216 (vga_font): Removed variable.
33217 (get_vga_glyph): Removed function.
33218 (invalidate_char): Likewise.
33219 (write_char): Changed to use grub_font_get_glyph() for font
33220 information.
33221 (grub_vga_putchar): Likewise.
33222 (grub_vga_getcharwidth): Likewise.
33223
6433b448 332242007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
33225
33226 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
33227 flags.
33228 (pxeboot_img_LDFLAGS): Likewise.
33229 (diskboot_img_LDFLAGS): Likewise.
33230 (kernel_img_LDFLAGS): Likewise.
33231
49178511 332322007-11-06 Robert Millan <rmh@aybabtu.com>
33233
33234 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
33235 in grub_outb() calls.
33236 (serial_hw_init): Likewise.
33237
53b052de 332382007-11-05 Robert Millan <rmh@aybabtu.com>
33239
33240 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
33241 spaces. Skip non-regular files.
33242
5ab33bba 332432007-11-05 Robert Millan <rmh@aybabtu.com>
33244
33245 * kern/disk.c (grub_disk_firmware_fini)
33246 (grub_disk_firmware_is_tainted): New variables.
33247
33248 * include/grub/disk.h (grub_disk_firmware_fini)
33249 (grub_disk_firmware_is_tainted): Likewise.
33250
33251 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
33252 (grub_disk_biosdisk_fini): ... to here.
33253 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
33254 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
33255 is set. Register grub_disk_biosdisk_fini() in
33256 `grub_disk_firmware_fini'.
33257
33258 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
33259 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
33260 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
33261 to finish existing firmware disk interface.
33262
33263 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
33264 (ata_mod_SOURCES): New variable.
33265 (ata_mod_CFLAGS): Likewise.
33266 (ata_mod_LDFLAGS): Likewise.
33267
0149ab7c 332682007-11-05 Robert Millan <rmh@aybabtu.com>
33269
33270 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
33271 (grub_ata_wait): Reimplement using grub_millisleep().
33272
33273 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
33274 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
33275
be7ac41e 332762007-11-03 Marco Gerards <marco@gnu.org>
33277
33278 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
33279 (CRTC_ADDR_PORT): New macro.
33280 (CRTC_DATA_PORT): Likewise.
33281 (CRTC_CURSOR): Likewise.
33282 (CRTC_CURSOR_ADDR_HIGH): Likewise.
33283 (CRTC_CURSOR_ADDR_LOW): Likewise.
33284 (update_cursor): New function.
33285 (grub_console_real_putchar): Call `update_cursor'.
33286 (grub_console_gotoxy): Likewise.
33287 (grub_console_cls): Set the default color when clearing the
33288 screen.
33289 (grub_console_setcursor): Implemented.
33290
bb06ab2e 332912007-11-03 Marco Gerards <marco@gnu.org>
33292
33293 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
33294 become activate.
33295 (grub_ata_pio_write): Likewise.
33296
33297 (grub_atapi_identify): Wait after issuing an ATA command.
33298 (grub_atapi_packet): Likewise.
33299 (grub_ata_identify): Likewise.
33300 (grub_ata_readwrite): Likewise.
33301
cf8f780b 333022007-11-03 Marco Gerards <marco@gnu.org>
33303
33304 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
33305 (grub_ata_pio_write): Likewise.
33306 (grub_ata_readwrite): Use `grub_error', instead of
33307 returning `grub_errno'.
33308
ed649e54 333092007-11-03 Marco Gerards <marco@gnu.org>
33310
33311 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
33312 grub_ata_pio_write once for every single sector, instead of for
33313 multiple sectors.
33314
ca25d8f0 333152007-10-31 Robert Millan <rmh@aybabtu.com>
33316
33317 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
33318
33319 * conf/i386-linuxbios.rmk: New file.
33320
33321 * kern/i386/pc/hardware.c: Likewise.
33322 * term/i386/pc/at_keyboard.c: Likewise.
33323 * term/i386/pc/vga_text.c: Likewise.
33324
33325 * include/grub/i386/linuxbios/boot.h: Likewise.
33326 * include/grub/i386/linuxbios/console.h: Likewise.
33327 * include/grub/i386/linuxbios/init.h: Likewise.
33328 * include/grub/i386/linuxbios/kernel.h: Likewise.
33329 * include/grub/i386/linuxbios/loader.h: Likewise.
33330 * include/grub/i386/linuxbios/memory.h: Likewise.
33331 * include/grub/i386/linuxbios/serial.h: Likewise.
33332 * include/grub/i386/linuxbios/time.h: Likewise.
33333
33334 * kern/i386/linuxbios/init.c: Likewise.
33335 * kern/i386/linuxbios/startup.S: Likewise.
33336 * kern/i386/linuxbios/table.c: Likewise.
33337
e911ecc1 333382007-10-31 Marco Gerards <marco@gnu.org>
33339
33340 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
33341 (ata_mod_SOURCES): New variable.
33342 (ata_mod_CFLAGS): Likewise.
33343 (ata_mod_LDFLAGS): Likewise.
33344
33345 * disk/ata.c: New file.
33346
33347 * include/grub/disk.h (grub_disk_dev_id): Add
33348 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 33349
7f66d0e0 333502007-10-31 Robert Millan <rmh@aybabtu.com>
33351
33352 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
33353 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
33354
33355 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
33356 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
33357
33358 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
33359 `<grub/types.h>'.
33360
33361 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
33362
5cd7dd46 333632007-10-27 Robert Millan <rmh@aybabtu.com>
33364
3236ca65 33365 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 33366
2ebfc90f 333672007-10-22 Robert Millan <rmh@aybabtu.com>
33368
33369 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
33370 `"../realmode.S"'.
33371 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
33372
73fcb0f3 333732007-10-22 Robert Millan <rmh@aybabtu.com>
33374
33375 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
33376 (pkgdata_MODULES): Add `biosdisk.mod'.
33377 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
33378 variables.
33379
33380 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
33381 (grub_biosdisk_init): Replace with ...
33382 (GRUB_MOD_INIT(biosdisk)): ... this.
33383 (grub_biosdisk_fini): Replace with ...
33384 (GRUB_MOD_FINI(biosdisk)): ... this.
33385
33386 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
33387 (grub_machine_init): Remove call to grub_biosdisk_init().
33388 (grub_machine_fini): Remove call to grub_machine_fini().
33389
33390 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
33391
3381d274 333922007-10-22 Robert Millan <rmh@aybabtu.com>
33393
33394 * include/grub/time.h: New file.
33395 * include/grub/i386/time.h: Likewise.
33396 * include/grub/powerpc/time.h: Likewise.
33397 * include/grub/sparc64/time.h: Likewise.
33398
33399 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
33400 instances to ...
33401 (KERNEL_MACHINE_TIME_HEADER): ... this.
33402 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33403 instances to ...
33404 (KERNEL_MACHINE_TIME_HEADER): ... this.
33405 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33406 instances to ...
33407 (KERNEL_MACHINE_TIME_HEADER): ... this.
33408
33409 * kern/i386/efi/init.c: Include `<grub/time.h>'.
33410 (grub_millisleep): New function.
33411 * kern/i386/pc/init.c: Include `<grub/time.h>'.
33412 (grub_millisleep): New function.
33413 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
33414 Remove `grub/machine/time.h' include.
33415 (grub_millisleep): New function.
33416 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
33417 Remove `grub/machine/time.h' include.
33418 (grub_millisleep): New function.
33419
33420 * include/grub/misc.h (grub_div_roundup): New function.
33421
33422 * kern/misc.c: Include `<grub/time.h>'.
33423 (grub_millisleep_generic): New function.
33424
33425 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
33426 Add `time.h'.
33427 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
33428 Add `time.h'.
33429 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
33430 `machine/time.h'. Add `time.h'.
33431 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33432
a39a0312 334332007-10-21 Robert Millan <rmh@aybabtu.com>
33434
33435 * include/grub/misc.h (grub_max): New function.
33436
2aad70e2 334372007-10-21 Robert Millan <rmh@aybabtu.com>
33438
33439 * util/misc.c (grub_util_info): Call fflush() before returning.
33440
54b71c4b 334412007-10-20 Robert Millan <rmh@aybabtu.com>
33442
33443 * genmk.rb (Image): Copy `extra_flags' from here ...
33444 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
33445
33446 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
33447 to `argc' and `args' arguments.
33448
a979f513 334492007-10-17 Robert Millan <rmh@aybabtu.com>
33450
33451 * kern/i386/loader.S: New file.
33452
33453 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
33454 * kern/i386/loader.S (grub_linux_prot_size)... to here.
33455 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
33456 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
33457 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
33458 * kern/i386/loader.S (grub_linux_real_addr)... to here.
33459 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
33460 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
33461 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
33462 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
33463 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
33464 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
33465 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
33466 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
33467
33468 * kern/i386/realmode.S: New file.
33469
33470 * kern/i386/pc/startup.S (protstack): Moved from here ...
33471 * kern/i386/realmode.S (protstack)... to here.
33472 * kern/i386/pc/startup.S (gdt): Moved from here ...
33473 * kern/i386/realmode.S (gdt)... to here.
33474 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
33475 * kern/i386/realmode.S (prot_to_real)... to here.
33476
33477 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
33478 `kern/i386/realmode.S'.
33479
825fc8fd 334802007-10-17 Robert Millan <rmh@aybabtu.com>
33481
33482 * include/grub/i386/loader.h: New file.
33483
33484 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
33485 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33486 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33487 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33488 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
33489 * include/grub/i386/loader.h (grub_linux_prot_size)
33490 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33491 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33492 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33493 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
33494
33495 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
33496
e179b2f4 334972007-10-15 Robert Millan <rmh@aybabtu.com>
33498
33499 * normal/misc.c (grub_normal_print_device_info): Do not probe for
33500 filesystem when dev->disk is unset.
33501 Do probe for filesystem even when dev->disk->has_partitions is set.
33502 In case a filesystem is found, always report it.
33503 In case it isn't, if dev->disk->has_partitions is set, report that
33504 a partition table was found instead of reporting that no filesystem
33505 could be identified.
33506
5db82af6 335072007-10-12 Robert Millan <rmh@aybabtu.com>
33508
33509 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
33510 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
33511
68f6ac74 33512 * include/grub/types.h (grub_host_to_target16): New macro.
33513 (grub_host_to_target32): Likewise.
33514 (grub_host_to_target64): Likewise.
33515 (grub_target_to_host16): Likewise.
33516 (grub_target_to_host32): Likewise.
33517 (grub_target_to_host64): Likewise.
5db82af6 33518
33519 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33520 Renamed from to ...
33521 (GRUB_MOD_ALIGN): ...this. Update all users.
33522
68f6ac74 33523 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
33524 grub_host_to_target32.
33525 Replace grub_be_to_cpu32 with grub_target_to_host32.
33526 (load_modules): Likewise.
33527 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
33528 Replace grub_be_to_cpu32 with grub_target_to_host32.
33529 Replace grub_cpu_to_be16 with grub_host_to_target16.
33530 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 33531
3cf497cc 335322007-10-12 Robert Millan <rmh@aybabtu.com>
33533
33534 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
33535 * util/elf/grub-mkimage.c: ... here.
33536
33537 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
33538 `util/powerpc/ieee1275/grub-mkimage.c'.
33539
c8cc3692 335402007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 33541
c8cc3692 33542 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
33543 and make it easier to figure out.
33544 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
33545 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
33546 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
33547 leave us with less than HEAP_MIN_SIZE total heap.
33548 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 33549
5c58b791 335502007-10-03 Robert Millan <rmh@aybabtu.com>
33551
33552 * include/grub/i386/io.h: New file.
33553 * commands/i386/pc/play.c (inb): Removed.
33554 (outb): Removed.
33555 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33556 with grub_outb().
afcd2ef8 33557 * term/i386/pc/serial.c (inb): Removed.
33558 (outb): Removed.
33559 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33560 with grub_outb().
33561 * term/i386/pc/vga.c (inb): Removed.
33562 (outb): Removed.
33563 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33564 with grub_outb().
5c58b791 33565
1a477ed6 335662007-10-02 Robert Millan <rmh@aybabtu.com>
33567
33568 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
33569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33570 Reported by Marcin Kurek.
33571
6b5d80fa 335722007-09-07 Robert Millan <rmh@aybabtu.com>
33573
33574 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
33575 SmartFirmware version updates (as released by Sven Luther), and avoid
33576 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
33577 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
33578 known broken.
33579
5618afbf 335802007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33581
33582 From Hitoshi Ozeki:
33583 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
33584 when merging two regions.
33585
6139dcd9 335862007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33587
508e39ee 33588 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
33589 * normal/completion.c (grub_normal_do_completion): Likewise.
33590 Reported by Hitoshi Ozeki.
33591
335922007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33593
6139dcd9 33594 Do not use devices at boot in chainloading.
f19dbdb7 33595
6139dcd9 33596 * loader/i386/pc/chainloader.c (boot_drive): New variable.
33597 (boot_part_addr): Likewise.
33598 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
33599 with BOOT_DRIVE and BOOT_PART_ADDR.
33600 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
33601 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
33602
38da6516 336032007-08-29 Robert Millan <rmh@aybabtu.com>
33604
33605 Patch from Simon Peter <dn.tlp@gmx.net>:
33606 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
33607 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
33608 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
33609 util/i386/pc/grub-setup.c_DEPENDENCIES.
33610 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
33611 util/grub-probe.c_DEPENDENCIES.
33612 * conf/powerpc-ieee1275.rmk: Likewise.
33613
29d0928c 336142007-08-28 Robert Millan <rmh@aybabtu.com>
33615
33616 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
33617 to tell grub-mkdevicemap how to name devices.
33618 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
33619 feature).
33620
33621 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
33622 util/i386/get_disk_name.c.
33623 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
33624 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
33625 util/ieee1275/get_disk_name.c.
33626
33627 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
33628
33629 * DISTLIST: Add util/i386/get_disk_name.c and
33630 util/ieee1275/get_disk_name.c.
33631
33632 * util/grub-mkdevicemap.c: Replace device naming logic with
33633 grub_util_get_disk_name() calls.
33634
5a0d3cca 336352007-08-20 Robert Millan <rmh@aybabtu.com>
33636
33637 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
33638 (so that it works for both plural and singular quantities).
33639
8b72db2f 336402007-08-05 Robert Millan <rmh@aybabtu.com>
33641
33642 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
33643 so that [xz] isn't taken into account when determining order.
33644
352466bf 336452007-08-02 Marco Gerards <marco@gnu.org>
33646
33647 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
33648 `include/multiboot2.h', `include/grub/elfload.h',
33649 `include/multiboot.h', `include/grub/multiboot.h',
33650 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
33651 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
33652 `kern/elf.c', `loader/multiboot_loader.c',
33653 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
33654 `loader/i386/pc/multiboot2.c',
33655 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
33656 `util/i386/pc/grub-mkrescue.in'. Remove
33657 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
33658 `include/grub/i386/pc/util/biosdisk.h' and
33659 `include/grub/powerpc/ieee1275/multiboot.h'.
33660
8f096014 336612007-08-02 Bean <bean123ch@gmail.com>
33662
33663 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
33664 (ntfs_mod_SOURCES): New variable.
33665 (ntfs_mod_CFLAGS): Likewise.
33666 (ntfs_mod_LDFLAGS): Likewise.
33667
33668 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
33669 (grub_probe_SOURCES): Likewise.
33670 (grub_emu_SOURCES): Likewise.
33671
33672 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33673 (grub_emu_SOURCES): Likewise.
33674
33675 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33676 (grub_emu_SOURCES): Likewise.
f19dbdb7 33677
8f096014 33678 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
33679
33680 * fs/ntfs.c: New file.
33681
9959f7db 336822007-08-02 Bean <bean123ch@gmail.com>
33683
33684 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
33685
33686 * file.h (grub_file): Likewise.
33687
33688 * fshelp.h (grub_fshelp_read_file): Likewise.
33689
33690 * util/i386/pc/grub-setup.c (setup): Likewise.
33691 (save_first_sector): Likewise.
33692 (save_blocklists): Likewise.
f19dbdb7 33693
9959f7db 33694 * fs/affs.c (grub_affs_read_file): Likewise.
33695
33696 * fs/ext2.c (grub_ext2_read_file): Likewise.
33697
33698 * fs/fat.c (grub_fat_read_data): Likewise.
33699
33700 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
33701
33702 * fs/hfs.c (grub_hfs_read_file): Likewise.
33703
33704 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33705
33706 * fs/jfs.c (grub_jfs_read_file): Likewise.
33707
33708 * fs/minix.c (grub_minix_read_file): Likewise.
33709
33710 * fs/sfs.c (grub_sfs_read_file): Likewise.
33711
33712 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 33713
9959f7db 33714 * fs/xfs.c (grub_xfs_read_file): Likewise.
33715
33716 * command/blocklist.c (read_blocklist): Likewise.
33717 (print_blocklist): Likewise.
33718
0a203f83 337192007-08-02 Marco Gerards <marco@gnu.org>
33720
33721 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33722 `util/hostfs.c'.
33723
33724 * disk/host.c: New file.
33725
33726 * util/hostfs.c: Likewise.
33727
33728 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33729 return `GRUB_ERR_BAD_FS'.
33730 * fs/sfs.c (grub_sfs_mount): Likewise.
33731 * fs/xfs.c (grub_xfs_mount): Likewise.
33732
33733 * include/grub/disk.h (enum grub_disk_dev_id): Add
33734 `GRUB_DISK_DEVICE_HOST_ID'.
33735
33736 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33737
e5dfe777 337382007-07-24 Jerone Young <jerone@gmail.com>
33739
f19dbdb7 33740 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 33741 modules for compilation.
33742 * conf/powerpc-ieee1275.rmk: Likewise.
33743
33744 * include/multiboot.h: Move multiboot definitions to one file. Rename
33745 many definitions to not get grub specific.
33746 * include/multiboot2.h: Create header with multiboot 2 definitions.
33747 * include/grub/multiboot.h: Header for grub specific function
33748 prototypes and definitions.
33749 * include/grub/multiboot2.h: Likewise.
33750 * include/grub/multiboot_loader.h: Likewise.
33751 * include/grub/i386/pc/multiboot.h: Removed.
33752 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33753
33754 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33755 and 2 to allow for one multiboot and module commands.
33756 * loader/multiboot2.c: Add multiboot2 functionality.
33757 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33758 and definition names.
33759 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33760 2 functions.
33761 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33762 ieee1275 specific multiboot2 code.
33763
33764 * kern/i386/pc/startup.S: Change headers and definition names for
33765 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33766
daf0f0ba 337672007-07-22 Robert Millan <rmh@aybabtu.com>
33768
33769 * geninitheader.sh: Process file specified in first parameter rather
33770 than hardcoding grub_modules_init.lst.
fe6b695a 33771 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 33772 than hardcoding grub_modules_init.h.
33773
33774 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33775 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33776 grub_probe_init.[ch] and grub_setup_init.[ch].
33777
33778 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33779 grub_modules_init.h with grub_emu_init.h.
33780 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33781 grub_probe_init.[ch] files.
33782 * conf/i386-efi.rmk: Likewise.
33783 * conf/i386-pc.rmk: Likewise.
33784 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33785 grub_setup_init.[ch] files.
33786
33787 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33788 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33789 to initialize modules rather than a list of hardcoded functions.
33790 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33791 grub_init_all() to initialize modules rather than a list of hardcoded
33792 functions.
33793
54cdc1cc 337942007-07-22 Robert Millan <rmh@aybabtu.com>
33795
33796 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33797 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33798
ad0686cc 337992007-07-22 Robert Millan <rmh@aybabtu.com>
33800
33801 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33802 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33803 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33804 flag when running on SmartFirmware.
33805 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33806 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33807 was set.
33808
33809 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33810 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33811 rather than decreasing it.
33812
33813 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33814 there's not enough space to do it, fail in the same way as when it
33815 can't be done because there are no partitions.
33816
33817 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33818 when nvsetenv failed.
33819
969c02ec 338202007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33821
33822 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33823 because this rule is automatically generated.
33824 (grub-mkrescue): Removed for the same reason as above.
33825
5a79f472 338262007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33827
33828 Migrate to GNU General Public License Version 3.
f19dbdb7 33829
5a79f472 33830 * COPYING: Replaced with the plain text version of GPLv3.
33831
33832 * config.guess: Updated from gnulib.
33833 * config.sub: Likewise.
33834
33835 * geninit.sh: Output a GPLv3 copyright notice.
33836 * geninitheader.sh: Likewise.
33837 * genmodsrc.sh: Likewise.
33838 * gensymlist.sh.in: Likewise.
33839
33840 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33841 * boot/i386/pc/diskboot.S: Likewise.
33842 * boot/i386/pc/pxeboot.S: Likewise.
33843 * commands/blocklist.c: Likewise.
33844 * commands/boot.c: Likewise.
33845 * commands/cat.c: Likewise.
33846 * commands/cmp.c: Likewise.
33847 * commands/configfile.c: Likewise.
33848 * commands/echo.c: Likewise.
33849 * commands/help.c: Likewise.
33850 * commands/ls.c: Likewise.
33851 * commands/search.c: Likewise.
33852 * commands/terminal.c: Likewise.
33853 * commands/test.c: Likewise.
33854 * commands/videotest.c: Likewise.
33855 * commands/i386/cpuid.c: Likewise.
33856 * commands/i386/pc/halt.c: Likewise.
33857 * commands/i386/pc/play.c: Likewise.
33858 * commands/i386/pc/reboot.c: Likewise.
33859 * commands/i386/pc/vbeinfo.c: Likewise.
33860 * commands/i386/pc/vbetest.c: Likewise.
33861 * commands/ieee1275/halt.c: Likewise.
33862 * commands/ieee1275/reboot.c: Likewise.
33863 * commands/ieee1275/suspend.c: Likewise.
33864 * disk/loopback.c: Likewise.
33865 * disk/lvm.c: Likewise.
33866 * disk/raid.c: Likewise.
33867 * disk/efi/efidisk.c: Likewise.
33868 * disk/i386/pc/biosdisk.c: Likewise.
33869 * disk/ieee1275/ofdisk.c: Likewise.
33870 * font/manager.c: Likewise.
33871 * fs/affs.c: Likewise.
33872 * fs/ext2.c: Likewise.
33873 * fs/fat.c: Likewise.
33874 * fs/fshelp.c: Likewise.
33875 * fs/hfs.c: Likewise.
33876 * fs/hfsplus.c: Likewise.
33877 * fs/iso9660.c: Likewise.
33878 * fs/jfs.c: Likewise.
33879 * fs/minix.c: Likewise.
33880 * fs/sfs.c: Likewise.
33881 * fs/ufs.c: Likewise.
33882 * fs/xfs.c: Likewise.
33883 * hello/hello.c: Likewise.
33884 * include/grub/acorn_filecore.h: Likewise.
33885 * include/grub/arg.h: Likewise.
33886 * include/grub/bitmap.h: Likewise.
33887 * include/grub/boot.h: Likewise.
33888 * include/grub/cache.h: Likewise.
33889 * include/grub/device.h: Likewise.
33890 * include/grub/disk.h: Likewise.
33891 * include/grub/dl.h: Likewise.
33892 * include/grub/elfload.h: Likewise.
33893 * include/grub/env.h: Likewise.
33894 * include/grub/err.h: Likewise.
33895 * include/grub/file.h: Likewise.
33896 * include/grub/font.h: Likewise.
33897 * include/grub/fs.h: Likewise.
33898 * include/grub/fshelp.h: Likewise.
33899 * include/grub/gzio.h: Likewise.
33900 * include/grub/hfs.h: Likewise.
33901 * include/grub/kernel.h: Likewise.
33902 * include/grub/loader.h: Likewise.
33903 * include/grub/lvm.h: Likewise.
33904 * include/grub/misc.h: Likewise.
33905 * include/grub/mm.h: Likewise.
33906 * include/grub/net.h: Likewise.
33907 * include/grub/normal.h: Likewise.
33908 * include/grub/parser.h: Likewise.
33909 * include/grub/partition.h: Likewise.
33910 * include/grub/pc_partition.h: Likewise.
33911 * include/grub/raid.h: Likewise.
33912 * include/grub/rescue.h: Likewise.
33913 * include/grub/script.h: Likewise.
33914 * include/grub/setjmp.h: Likewise.
33915 * include/grub/symbol.h: Likewise.
33916 * include/grub/term.h: Likewise.
33917 * include/grub/terminfo.h: Likewise.
33918 * include/grub/tparm.h: Likewise.
33919 * include/grub/types.h: Likewise.
33920 * include/grub/video.h: Likewise.
33921 * include/grub/efi/api.h: Likewise.
33922 * include/grub/efi/chainloader.h: Likewise.
33923 * include/grub/efi/console.h: Likewise.
33924 * include/grub/efi/console_control.h: Likewise.
33925 * include/grub/efi/disk.h: Likewise.
33926 * include/grub/efi/efi.h: Likewise.
33927 * include/grub/efi/pe32.h: Likewise.
33928 * include/grub/efi/time.h: Likewise.
33929 * include/grub/i386/linux.h: Likewise.
33930 * include/grub/i386/setjmp.h: Likewise.
33931 * include/grub/i386/types.h: Likewise.
33932 * include/grub/i386/efi/kernel.h: Likewise.
33933 * include/grub/i386/efi/loader.h: Likewise.
33934 * include/grub/i386/efi/time.h: Likewise.
33935 * include/grub/i386/pc/biosdisk.h: Likewise.
33936 * include/grub/i386/pc/boot.h: Likewise.
33937 * include/grub/i386/pc/chainloader.h: Likewise.
33938 * include/grub/i386/pc/console.h: Likewise.
33939 * include/grub/i386/pc/init.h: Likewise.
33940 * include/grub/i386/pc/kernel.h: Likewise.
33941 * include/grub/i386/pc/loader.h: Likewise.
33942 * include/grub/i386/pc/memory.h: Likewise.
33943 * include/grub/i386/pc/multiboot.h: Likewise.
33944 * include/grub/i386/pc/serial.h: Likewise.
33945 * include/grub/i386/pc/time.h: Likewise.
33946 * include/grub/i386/pc/vbe.h: Likewise.
33947 * include/grub/i386/pc/vbeblit.h: Likewise.
33948 * include/grub/i386/pc/vbefill.h: Likewise.
33949 * include/grub/i386/pc/vbeutil.h: Likewise.
33950 * include/grub/i386/pc/vga.h: Likewise.
33951 * include/grub/ieee1275/ieee1275.h: Likewise.
33952 * include/grub/ieee1275/ofdisk.h: Likewise.
33953 * include/grub/powerpc/libgcc.h: Likewise.
33954 * include/grub/powerpc/setjmp.h: Likewise.
33955 * include/grub/powerpc/types.h: Likewise.
33956 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33957 * include/grub/powerpc/ieee1275/console.h: Likewise.
33958 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33959 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33960 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33961 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33962 * include/grub/powerpc/ieee1275/time.h: Likewise.
33963 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33964 * include/grub/sparc64/libgcc.h: Likewise.
33965 * include/grub/sparc64/setjmp.h: Likewise.
33966 * include/grub/sparc64/types.h: Likewise.
33967 * include/grub/sparc64/ieee1275/console.h: Likewise.
33968 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33969 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33970 * include/grub/sparc64/ieee1275/time.h: Likewise.
33971 * include/grub/util/biosdisk.h: Likewise.
33972 * include/grub/util/getroot.h: Likewise.
33973 * include/grub/util/lvm.h: Likewise.
33974 * include/grub/util/misc.h: Likewise.
33975 * include/grub/util/raid.h: Likewise.
33976 * include/grub/util/resolve.h: Likewise.
33977 * io/gzio.c: Likewise.
33978 * kern/device.c: Likewise.
33979 * kern/disk.c: Likewise.
33980 * kern/dl.c: Likewise.
33981 * kern/elf.c: Likewise.
33982 * kern/env.c: Likewise.
33983 * kern/err.c: Likewise.
33984 * kern/file.c: Likewise.
33985 * kern/fs.c: Likewise.
33986 * kern/loader.c: Likewise.
33987 * kern/main.c: Likewise.
33988 * kern/misc.c: Likewise.
33989 * kern/mm.c: Likewise.
33990 * kern/parser.c: Likewise.
33991 * kern/partition.c: Likewise.
33992 * kern/rescue.c: Likewise.
33993 * kern/term.c: Likewise.
33994 * kern/efi/efi.c: Likewise.
33995 * kern/efi/init.c: Likewise.
33996 * kern/efi/mm.c: Likewise.
33997 * kern/i386/dl.c: Likewise.
33998 * kern/i386/efi/init.c: Likewise.
33999 * kern/i386/efi/startup.S: Likewise.
34000 * kern/i386/pc/init.c: Likewise.
34001 * kern/i386/pc/lzo1x.S: Likewise.
34002 * kern/i386/pc/startup.S: Likewise.
34003 * kern/ieee1275/ieee1275.c: Likewise.
34004 * kern/powerpc/cache.S: Likewise.
34005 * kern/powerpc/dl.c: Likewise.
34006 * kern/powerpc/ieee1275/cmain.c: Likewise.
34007 * kern/powerpc/ieee1275/crt0.S: Likewise.
34008 * kern/powerpc/ieee1275/init.c: Likewise.
34009 * kern/powerpc/ieee1275/openfw.c: Likewise.
34010 * kern/sparc64/cache.S: Likewise.
34011 * kern/sparc64/dl.c: Likewise.
34012 * kern/sparc64/ieee1275/init.c: Likewise.
34013 * kern/sparc64/ieee1275/openfw.c: Likewise.
34014 * loader/efi/chainloader.c: Likewise.
34015 * loader/efi/chainloader_normal.c: Likewise.
34016 * loader/i386/efi/linux.c: Likewise.
34017 * loader/i386/efi/linux_normal.c: Likewise.
34018 * loader/i386/pc/chainloader.c: Likewise.
34019 * loader/i386/pc/chainloader_normal.c: Likewise.
34020 * loader/i386/pc/linux.c: Likewise.
34021 * loader/i386/pc/linux_normal.c: Likewise.
34022 * loader/i386/pc/multiboot.c: Likewise.
34023 * loader/i386/pc/multiboot_normal.c: Likewise.
34024 * loader/powerpc/ieee1275/linux.c: Likewise.
34025 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34026 * normal/arg.c: Likewise.
34027 * normal/cmdline.c: Likewise.
34028 * normal/command.c: Likewise.
34029 * normal/completion.c: Likewise.
34030 * normal/execute.c: Likewise.
34031 * normal/function.c: Likewise.
34032 * normal/lexer.c: Likewise.
34033 * normal/main.c: Likewise.
34034 * normal/menu.c: Likewise.
34035 * normal/menu_entry.c: Likewise.
34036 * normal/misc.c: Likewise.
34037 * normal/parser.y: Likewise.
34038 * normal/script.c: Likewise.
34039 * normal/i386/setjmp.S: Likewise.
34040 * normal/powerpc/setjmp.S: Likewise.
34041 * normal/sparc64/setjmp.S: Likewise.
34042 * partmap/acorn.c: Likewise.
34043 * partmap/amiga.c: Likewise.
34044 * partmap/apple.c: Likewise.
34045 * partmap/gpt.c: Likewise.
34046 * partmap/pc.c: Likewise.
34047 * partmap/sun.c: Likewise.
34048 * term/gfxterm.c: Likewise.
34049 * term/terminfo.c: Likewise.
34050 * term/efi/console.c: Likewise.
34051 * term/i386/pc/console.c: Likewise.
34052 * term/i386/pc/serial.c: Likewise.
34053 * term/i386/pc/vesafb.c: Likewise.
34054 * term/i386/pc/vga.c: Likewise.
34055 * term/ieee1275/ofconsole.c: Likewise.
34056 * util/biosdisk.c: Likewise.
34057 * util/console.c: Likewise.
34058 * util/genmoddep.c: Likewise.
34059 * util/getroot.c: Likewise.
34060 * util/grub-emu.c: Likewise.
34061 * util/grub-mkdevicemap.c: Likewise.
34062 * util/grub-probe.c: Likewise.
34063 * util/lvm.c: Likewise.
34064 * util/misc.c: Likewise.
34065 * util/raid.c: Likewise.
34066 * util/resolve.c: Likewise.
34067 * util/update-grub.in: Likewise.
34068 * util/update-grub_lib.in: Likewise.
34069 * util/grub.d/00_header.in: Likewise.
34070 * util/grub.d/10_hurd.in: Likewise.
34071 * util/grub.d/10_linux.in: Likewise.
34072 * util/i386/efi/grub-install.in: Likewise.
34073 * util/i386/efi/grub-mkimage.c: Likewise.
34074 * util/i386/pc/grub-install.in: Likewise.
34075 * util/i386/pc/grub-mkimage.c: Likewise.
34076 * util/i386/pc/grub-mkrescue.in: Likewise.
34077 * util/i386/pc/grub-setup.c: Likewise.
34078 * util/i386/pc/misc.c: Likewise.
34079 * util/powerpc/ieee1275/grub-install.in: Likewise.
34080 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
34081 * util/powerpc/ieee1275/misc.c: Likewise.
34082 * video/bitmap.c: Likewise.
34083 * video/video.c: Likewise.
34084 * video/i386/pc/vbe.c: Likewise.
34085 * video/i386/pc/vbeblit.c: Likewise.
34086 * video/i386/pc/vbefill.c: Likewise.
34087 * video/i386/pc/vbeutil.c: Likewise.
34088 * video/readers/tga.c: Likewise.
34089
3572d015 340902007-07-02 Robert Millan <rmh@aybabtu.com>
34091
34092 * conf/i386-efi.rmk: Replace obsolete reference to
34093 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
34094 with util/getroot.c.
34095 * conf/powerpc-ieee1275.rmk: Likewise.
34096 * conf/sparc64-ieee1275.rmk: Likewise.
34097
34098 * util/grub-emu.c (main): Fix unchecked pointer handling.
34099
2c2a681b 341002007-07-02 Robert Millan <rmh@aybabtu.com>
34101
34102 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
34103 invocation to fail, in order to support partition-less media.
34104
34105 * util/i386/pc/grub-install.in: Likewise.
34106
34107 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
34108 which fs or partmap modules are needed (akin to its sister scripts).
34109
34110 Also use grub-probe to get rid of unportable /proc/mounts check.
34111
34112 Print the same informational message that the other scripts do, before
fe6b695a 34113 exiting.
2c2a681b 34114
6193defe 341152007-06-23 Robert Millan <rmh@aybabtu.com>
34116
fe6b695a 34117 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 34118 a font file can be found and, if so, echo the GRUB path to it.
34119
34120 * util/update-grub.in: Handle multiple terminals depending on user
34121 input, platform availability and font file presence. Propagate
34122 variables of our findings to /etc/grub.d/ children.
34123
34124 * util/grub.d/00_header.in: Handle multiple terminals, based on
34125 environment setup by update-grub.
34126
eface1dc 341272007-06-23 Robert Millan <rmh@aybabtu.com>
34128
ba50d28f 34129 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 34130
bf697e28 341312007-06-21 Robert Millan <rmh@aybabtu.com>
34132
34133 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
34134 indicate end of data section in kernel image.
34135 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
34136 GRUB_KERNEL_MACHINE_DATA_END.
34137
34138 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
34139 space for it.
34140 * kern/i386/efi/startup.S: Likewise.
34141
34142 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
34143 during image generation. Implement --prefix option to override this
34144 patch.
34145 * util/i386/efi/grub-mkimage.c: Likewise.
34146
34147 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
34148 code to make path relative to its root into a separate function.
34149
34150 * util/i386/pc/grub-install.in: Use newly provided
34151 make_system_path_relative_to_its_root() to convert ${grubdir}, then
34152 pass the result to grub-install --prefix.
34153
baa574b4 341542007-06-13 Robert Millan <rmh@aybabtu.com>
34155
34156 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
34157 DEFAULT_DEVICE_MAP.
34158 * util/grub-emu.c: Use above definitions from misc.h instead of
34159 defining them.
34160 * util/grub-mkdevicemap.c: Likewise.
34161 * util/i386/pc/grub-setup.c: Likewise.
34162 * util/grub-probe.c: Likewise.
34163 (probe): Abort with grub_util_error() when either
34164 grub_guess_root_device or grub_util_get_grub_dev fails.
34165
0215dcbf 341662007-06-12 Robert Millan <rmh@aybabtu.com>
34167
34168 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
34169 "pager" assignment.
34170 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
34171 "pcdata".
34172 * util/grub-probe.c (probe): Likewise for "drive_name".
34173
8af2ab7b 341742007-06-11 Robert Millan <rmh@aybabtu.com>
34175
34176 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
34177 not just the cdrom one.
34178
59d31694 341792007-06-11 Robert Millan <rmh@aybabtu.com>
34180
34181 * util/i386/pc/grub-mkrescue.in: Add "set -e".
34182 Add --pkglibdir=DIR option to override pkglibdir.
34183 Mention --image-type=TYPE in help output.
34184 Fix --grub-mkimage (it was a no-op).
fe6b695a 34185 Abort gracefully when no parameter is given.
59d31694 34186
7ee367e4 341872007-06-11 Robert Millan <rmh@aybabtu.com>
34188
34189 * util/i386/pc/grub-mkrescue.in: New file.
34190 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
34191 * Makefile.in: Handle bin_SCRIPTS.
34192
29b0ed46 341932007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
34194
34195 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
34196 list of video modes.
34197
c0f90770 341982007-06-06 Robert Millan <rmh@aybabtu.com>
34199
34200 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
34201 file doesn't exist, or if it is in a filesystem grub can't read.
34202
34203 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
34204 not abort if GRUB_DRIVE could not be defined. Rearrange generated
34205 header comment to fit in 80 columns when the variables are resolved.
34206
34207 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
34208 could be identified by update-grub. Remove redundant check for
fe6b695a 34209 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 34210 handles that).
34211
fb36dc26 342122007-06-04 Robert Millan <rmh@aybabtu.com>
34213
34214 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
34215
34216 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
34217
34218 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
34219
0c68c93e 342202007-06-04 Robert Millan <rmh@aybabtu.com>
34221
34222 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
34223
34224 * include/grub/partition.h: Declare grub_apple_partition_map_init and
34225 grub_apple_partition_map_fini.
34226
34227 * util/biosdisk.c
34228 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
34229 to access >2 TiB disks).
34230
34231 Print disk->total_sectors with %llu instead of %lu, since this
34232 variable is always 64-bit (prevents wrong disk size from being displayed
34233 on either >2 TiB disk or big-endian CPU).
34234
34235 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
34236 into a generic case that supports all (sane) partition maps.
34237
34238 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
34239 breaks big-endian.
34240
34241 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
34242 and grub_apple_partition_map_fini() after that.
34243
0f23eb74 342442007-06-01 Robert Millan <rmh@aybabtu.com>
34245
34246 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
34247
34248 * util/grub.d/00_header.in: Only enable gfxterm when
34249 convert_system_path_to_grub_path() succeeds.
34250
42c71976 342512007-05-20 Robert Millan <rmh@aybabtu.com>
34252
34253 * util/update-grub_lib.in: New file.
34254 * DISTLIST: Add update-grub_lib.in.
34255 * conf/common.rmk: Generate update-grub_lib and install it in
34256 $(lib_DATA).
34257 * Makefile.in: Add install routine for $(lib_DATA).
34258
34259 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
34260 function provided by update-grub_lib to support arbitrary paths of
34261 unifont.pff.
34262 * util/update-grub.in: Use convert_system_path_to_grub_path() to
34263 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
34264
5beb2291 342652007-05-19 Robert Millan <rmh@aybabtu.com>
34266
34267 * commands/i386/cpuid.c: New module.
34268 * DISTLIST: Add it.
34269 * conf/i386-efi.rmk: Enable cpuid.mod.
34270 * conf/i386-pc.rmk: Likewise.
34271
7262eca1 342722007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34273
34274 * kern/disk.c (grub_disk_read): Check return value of
34275 grub_realloc().
34276
260ba823 342772007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34278
34279 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
34280 arrays.
34281 * disk/raid.c (grub_raid_open): Likewise.
34282
1ecb6cf2 342832007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34284
34285 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
34286 stack instead of on the heap.
34287
34288 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
34289 before doing a read on it.
34290
34291 * configure.ac: Only use -fno-stack-protector for the target
34292 environment.
f19dbdb7 34293
21c8cbb1 342942007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34295
34296 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
34297 __attribute_ ((unused)) to mode_type argument.
34298
34299 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 34300
21c8cbb1 34301 * kern/misc.c (memcmp): Fix prototype.
34302
34303 * include/grub/partition.h [GRUB_UTIL]
34304 (grub_gpt_partition_map_init): Add prototype.
34305 (grub_gpt_partition_map_fini): Likewise.
34306
34307 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
34308 at the right place.
34309
34310 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
34311 (grub_fat_read_data): Likewise.
34312 (grub_fat_find_dir): Likewise.
34313
34314 * font/manager.c (find_glyph): Make table a const.
34315 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 34316
849d55d3 343172007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
34318
34319 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
34320 code, first search for device in /dev/mapper, then in /dev.
34321 (grub_util_get_grub_dev): New function.
34322 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
34323 prototype.
34324 * util/grub-probe.c (probe): Remove check for RAID, call
34325 grub_util_get_grub_dev() instead of
34326 grub_util_biosdisk_get_grub_dev().
34327 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
34328 grub_util_biosdisk_get_grub_dev().
34329 * util/i386/pc/grub-setup.c (main): Likewise.
34330
8fff7c2f 343312007-05-16 Robert Millan <rmh@aybabtu.com>
34332
34333 * DISTLIST: Update for the latest changes.
34334 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
34335 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
34336 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
34337 grub/util/biosdisk.h.
34338 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
34339 grub/util/biosdisk.h.
34340
48e12b52 343412007-05-16 Robert Millan <rmh@aybabtu.com>
34342
34343 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
34344
46b9d128 343452007-05-16 Robert Millan <rmh@aybabtu.com>
34346
34347 * util/i386/efi/grub-install.in: New.
34348 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
34349 newly added grub-install.
34350 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
34351 include.
34352 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
34353 grub/util/biosdisk.h.
34354 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
34355 grub/util/biosdisk.h.
34356
2d1a40a9 343572007-05-16 Robert Millan <rmh@aybabtu.com>
34358
34359 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
34360 * include/grub/util/biosdisk.h: ... here.
34361 * util/i386/pc/biosdisk.c: Moved to ...
34362 * util/biosdisk.c: ... here.
34363 * util/i386/pc/getroot.c: Moved to ...
34364 * util/getroot.c: ... here.
34365 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
34366 * util/grub-mkdevicemap.c: ... here.
34367 * util/i386/pc/grub-probe.c: Moved to ...
34368 * util/grub-probe.c: ... here.
34369
9e26e3bc 343702007-05-15 Robert Millan <rmh@aybabtu.com>
34371
34372 * util/update-grub.in: Remove duplicated line in grub.cfg header
34373 message.
34374
57f96397 343752007-05-13 Robert Millan <rmh@aybabtu.com>
34376
34377 * util/update-grub.in: Fix a few assumptions about the devices holding
34378 /, /boot and /boot/grub being the same.
34379 * util/grub.d/00_header.in: Likewise.
34380 * util/grub.d/10_hurd.in: Likewise.
34381 * util/grub.d/10_linux.in: Likewise.
34382
34383 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
34384 patterns. Use that to define the `.old' suffix as older than `'.
34385
34386 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
34387
34388 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
34389 the grub.cfg header message.
34390
2e610d62 343912007-05-11 Robert Millan <rmh@aybabtu.com>
34392
34393 * util/update-grub.in: Create device.map if it doesn't already exist,
34394 before attempting to run grub-probe.
34395 Check for grub-probe and grub-mkdevicemap with the same code
34396 grub-install is using.
34397 Remove test mode.
34398
3f6a10ef 343992007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
34400
34401 * Makefile.in: Add the datarootdir autoconf variable.
34402
02e7b75e 344032007-05-09 Robert Millan <rmh@aybabtu.com>
34404
34405 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 34406 fail gracefully if dev->disk->partition == NULL.
02e7b75e 34407
75f396cc 344082007-05-07 Robert Millan <rmh@aybabtu.com>
34409
34410 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
34411 determine partition map module.
34412 * util/i386/pc/grub-install.in: Use this feature to decide which
34413 partition module to load, instead of hardcoding pc and gpt.
34414
da65cb36 344152007-05-07 Robert Millan <rmh@aybabtu.com>
34416
34417 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
34418 source directory differs from build directory.
34419
b57d6a91 344202007-05-05 Robert Millan <rmh@aybabtu.com>
34421
34422 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
34423 initialisation.
34424
509d00f1 344252007-05-05 Robert Millan <rmh@aybabtu.com>
34426
34427 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
34428
c48f23ef 344292007-05-05 Robert Millan <rmh@aybabtu.com>
34430
34431 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
34432 command-line arguments via ${GRUB_CMDLINE_LINUX}.
34433
20b97658 344342007-05-05 Robert Millan <rmh@aybabtu.com>
34435
34436 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
34437 (grub_probe_SOURCES): Likewise.
34438 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
34439 GPT and initialize dos_part and bsd_part accordingly.
34440 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
34441 install_bsd_part.
34442 (main): Activate gpt module for use during partition identification,
34443 and deactivate it afterwards.
34444 * util/i386/pc/grub-install.in: Add gpt module to core.img.
34445 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
34446 partition identification, and deactivate it afterwards.
34447
99123174 344482007-05-05 Robert Millan <rmh@aybabtu.com>
34449
34450 * term/i386/pc/console.c (grub_console_fini): Call
34451 grub_term_set_current() before grub_term_unregister().
34452
ebd97f6e 344532007-05-04 Robert Millan <rmh@aybabtu.com>
34454
34455 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
34456 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
34457 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
34458 and update-grub_DATA.
34459 * conf/common.rmk: Build and install update-grub components.
34460 * conf/common.mk: Regenerate.
34461 * util/update-grub.in: New. Core of update-grub.
34462 * util/grub.d/00_header.in: New. Generates grub.cfg header.
34463 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
34464 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
34465 * util/grub.d/README: New. Document grub.d directory layout.
34466
b06a264d 344672007-05-01 Robert Millan <rmh@aybabtu.com>
34468
34469 * util/grub-emu.c: Move initialization functions
34470 grub_util_biosdisk_init() and grub_init_all() before
34471 grub_util_biosdisk_get_grub_dev(), which relies on them.
34472
41f0050e 344732007-04-19 Robert Millan <rmh@aybabtu.com>
34474
34475 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
34476 it is used later.
34477
04582bb3 344782007-04-18 Jerone Young <jerone@gmail.com>
34479
f19dbdb7 34480 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 34481 stanza.
34482
08db4632 344832007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 34484
08db4632 34485 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
34486 continue on and look for device node with real device name.
34487
801b76be 344882007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 34489
fe6b695a 34490 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 34491 ability.
34492 * Makefile.in: Add autoconf package transformation code.
34493 * util/i386/pc/grub-install.in: Likewise.
34494 * util/powerpc/ieee1275/grub-install.in: Likewise.
34495
6795c4e1 344962007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
34497
34498 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
34499 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
34500 (EXT2_REVISION): Likewise.
34501 (EXT2_INODE_SIZE): Likewise.
34502 (struct grub_ext2_block_group): Added a missing member
34503 "used_dirs".
34504 (grub_ext2_read_inode): Divide by the inode size in a superblock
34505 instead of 128 to obtain INODES_PER_BLOCK.
34506 Use the macro EXT2_INODE_SIZE instead of directly using
34507 SBLOCK->INODE_SIZE.
34508
d70af616 345092007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
34510
34511 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
34512 superblock instead of the structure size to compute an
34513 offset. This fixes the problem that GRUB could not read a
34514 filesystem when inode size is different from 128-byte.
34515
3b801603 345162007-03-05 Marco Gerards <marco@gnu.org>
34517
34518 * normal/main.c (read_config_file): When "menu" is not set, create
34519 an initial context.
34520
4785bfe4 345212007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34522
34523 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
34524 (HEAP_LIMIT): New macro.
34525 (grub_claim_heap): Claim memory up to `heaplimit'.
34526
a0cbb023 345272007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34528
34529 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
34530 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
34531 (_start): Likewise.
34532 (grub_arch_modules_addr): Return address after `_end'.
34533 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
34534 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
34535 (add_segments): Calculate `_end' from phdr size and location.
34536 (ALIGN_UP): Moved to ...
34537 * include/grub/misc.h: here.
34538 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34539 New macro.
34540 (GRUB_IEEE1275_MODULE_BASE): Removed.
34541
fd7d8eba 345422007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34543
34544 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
34545 loop boundary.
34546
9b09e6fc 345472007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34548
34549 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
34550 All users updated.
34551 (grub_elf64_load_hook_t): Likewise.
34552 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
34553 debug output.
34554
3ce27299 345552007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34556
34557 * kern/mm.c: Update copyright.
34558 (grub_mm_debug): Correct syntax error.
34559 (grub_mm_dump_free): New function.
34560 (grub_debug_free): Call `grub_free'.
34561 * include/grub/mm.h: Update copyright.
34562 (grub_mm_dump_free): Add declaration.
34563
077d5fee 345642007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34565
34566 * include/grub/ieee1275/ieee1275.h: Update copyright.
34567 * kern/powerpc/ieee1275/init.c: Likewise.
34568 * kern/powerpc/ieee1275/openfw.c: Likewise.
34569
34570 * loader/powerpc/ieee1275/linux.c: Likewise.
34571 * include/grub/elfload.h: Likewise.
34572 * kern/elf.c: Likewise.
34573 (grub_elf32_load): Pass `base' and `size' parameters. Update all
34574 callers.
34575 (grub_elf64_load): Likewise.
34576 (grub_elf32_load_segment): Move to a nested function.
34577 (grub_elf64_load_segment): Likewise.
34578
dc946850 345792007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34580
34581 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
34582 prototype.
34583 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
34584 (grub_heap_len): Likewise.
34585 (HEAP_SIZE): New macro.
34586 (grub_claim_heap): New function.
34587 (grub_machine_init): Don't claim heap directly. Call
34588 `grub_claim_heap'.
34589 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
34590 (grub_available_iterate): New function.
34591
baa2a121 345922007-02-03 Thomas Schwinge <tschwinge@gnu.org>
34593
34594 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
34595 * configure.ac: Use it for testing the HOST and TARGET compilers.
34596
4fe9862e 345972006-12-13 Thomas Schwinge <tschwinge@gnu.org>
34598
34599 * Makefile.in (enable_grub_emu): New variable.
34600 * configure.ac (--enable-grub-emu): New option.
34601 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
34602 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
34603 * conf/i386-pc.rmk: Likewise.
34604 * conf/powerpc-ieee1275.rmk: Likewise.
34605 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
34606
a8aa5762 346072006-12-12 Marco Gerards <marco@gnu.org>
34608
34609 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
34610
34611 * kern/env.c (grub_env_unset): Don't free the member `value' when
34612 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
34613 pointer.
34614
34615 * normal/main.c (current_menu): Removed.
34616 (free_menu): Unset the `menu' environment variable.
34617 (grub_normal_menu_addentry): Make use of the environment variable
34618 `menu', instead of using the global `current_menu'. Allocate
34619 memory for the sourcecode of this entry.
34620 (read_config_file): New argument `nested', changed all callers.
34621 Only in the case of a new context, initialize a new menu. Set the
34622 `menu' environment variable.
34623 (grub_normal_execute): Don't set and unset the environment
34624 variable `menu' here anymore. Only free the menu when leaving the
34625 context.
34626
34627 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
34628 leak.
34629
957b3a3e 346302006-12-11 Marco Gerards <marco@gnu.org>
34631
34632 * normal/menu_entry.c (run): Fix off by one bug so the last line
34633 is executed. Move the loader check to outside the loop.
34634
ef875714 346352006-12-08 Hollis Blanchard <hollis@penguinppc.org>
34636
34637 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
34638
4e739985 346392006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
34640
34641 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
34642 the number of sectors. Reported by Andrey Shuvikov
34643 <mr_hyro@yahoo.com>.
f19dbdb7 34644
790707f2 346452006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
34646
34647 * kern/disk.c (grub_disk_read): When there is a read error, always
34648 try to read only the necessary data.
f19dbdb7 34649
790707f2 34650 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
34651 disk/raid.c.
34652 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
34653 prototype.
34654 [GRUB_UTIL] (grub_raid_fini): Likewise.
34655 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 34656 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 34657 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
34658 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
34659 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
34660 and grub_raid_fini().
f19dbdb7 34661
03e58196 346622006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34663
34664 * include/grub/types.h (__unused): Rename to UNUSED.
34665 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
34666 (grub_elf64_size): Likewise.
f19dbdb7 34667
ae4f23bf 346682006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34669
34670 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
34671 grub_error_push and grub_error_pop in the error-handling path.
34672 (grub_elf32_load_segment): Only call grub_file_read with non-zero
34673 length.
34674
2166cc83 346752006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34676
34677 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
34678 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34680 (kernel_elf_SOURCES): Likewise.
34681 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
34682 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
34683 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34684 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34685 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
34686 (elf_mod_SOURCES): New variable.
34687 (elf_mod_CFLAGS): Likewise.
34688 (elf_mod_LDFLAGS): Likewise.
34689 * include/grub/types.h (__unused): New macro.
34690 * include/grub/elfload.h: New file.
34691 * kern/elf.c: Likewise.
34692 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
34693 (ELF32_LOADMASK): New macro.
34694 (ELF64_LOADMASK): Likewise.
34695 (vmlinux): Removed.
34696 (grub_linux_load32): New function.
34697 (grub_linux_load64): Likewise.
34698 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
34699 Use grub_elf_t instead of grub_file_t.
34700
a09d5aa5 347012006-11-02 Hollis Blanchard <hollis@penguinppc.org>
34702
34703 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
34704 `catch_result' to struct set_color_args.
34705
d976fc51 347062006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34707
34708 * normal/menu.c: Include grub/script.h.
34709 * normal/menu_entry.c: Likewise.
34710 * include/grub/normal.h: Do not include grub/script.h.
34711
67507549 347122006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34713
34714 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
34715
69203a99 347162006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34717
34718 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34719 disk.
34720 (grub_disk_close): Print debug messages when closing a disk.
34721 (grub_disk_read): Print debug messages when disk read fails.
34722 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34723 filesystem type.
34724 * kern/partition.c: Include misc.h.
34725 (grub_partition_iterate): Print debug messages when detecting
34726 partition type.
34727
e2b8278c 347282006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34729
34730 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34731 is negative.
34732 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34733
97b2f2ff 347342006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34735
34736 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34737 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34738
6555d655 347392006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34740
34741 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34742 instead of sizeof(lv). Patch by Michael Guntsche.
34743
4d42b77f 347442006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34745
34746 * disk/lvm.c: Rename VGS to VG_LIST.
34747 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34748 (grub_lvm_open): Likewise.
34749 Thanks to Michael Guntsche for finding this bug.
34750
5d74d927 347512006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34752
34753 * configure.ac (AC_INIT): Bumped to 1.95.
34754
a1bb27e4 347552006-10-14 Robert Millan <rmh@aybabtu.com>
34756
34757 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34758 with "/dev/.static/dev/md".
34759
e0994b8b 347602006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34761
34762 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34763 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34764 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34765 DRIVE_NAME are always freed.
34766
34767 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34768 DOS_PART, as a DOS partition is counted from one instead of zero
34769 now. Reported by Robert Millan.
34770
ddd5cee9 347712006-10-14 Robert Millan <rmh@aybabtu.com>
34772
34773 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34774 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34775 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34776 string returned by grub_guess_root_device.
34777 * util/i386/pc/grub-setup.c: Likewise.
34778 * util/i386/pc/grub-probefs.c: Likewise.
34779
34780 * util/i386/pc/grub-probefs.c: Rename to ...
34781 * util/i386/pc/grub-probe.c: ... this.
34782 * DISTLIST: Remove grub-probefs, add grub-probe.
34783 * conf/i386-efi.rmk: Likewise.
34784 * conf/i386-pc.rmk: Likewise.
34785 * util/i386/pc/grub-install.in: Likewise.
34786
34787 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34788 choose which information we want to print.
34789
2b002173 347902006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34791
34792 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34793 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34794 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34795 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34796 video/readers/tga.c and video/i386/pc/vbeutil.c.
34797
347982006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34799
34800 Added support for RAID and LVM.
f19dbdb7 34801
2b002173 34802 * disk/lvm.c: New file.
34803 * disk/raid.c: Likewise.
34804 * include/grub/lvm.h: Likewise.
f19dbdb7 34805 * include/grub/raid.h: Likewise.
2b002173 34806 * include/grub/util/lvm.h: Likewise.
34807 * include/grub/util/raid.h: Likewise.
34808 * util/lvm.c: Likewise.
34809 * util/raid.c: Likewise.
34810
34811 * include/grub/disk.h (grub_disk_dev_id): Add
34812 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34813 (grub_disk_get_size): New prototype.
34814 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34815 returns a partition.
34816 (grub_disk_get_size): New function.
f19dbdb7 34817
2b002173 34818 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34819 verbatim if grub_install_dos_part is -2.
34820
34821 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34822 and LVM devices.
34823
34824 * util/i386/pc/grub-setup.c (setup): New argument
34825 MUST_EMBED. Force embedding of GRUB when the argument is
34826 true. Close FILE before returning.
34827 (main): Add support for RAID and LVM.
f19dbdb7 34828
2b002173 34829 * conf/common.rmk: Add RAID and LVM modules.
34830 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34831 util/lvm.c.
34832 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34833
34834 * kern/misc.c (grub_strstr): New function.
34835 * include/grub/misc.h (grub_strstr): New prototype.
34836
050548d0 348372006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34838
34839 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34840
da849d2d 348412006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34842
34843 * kern/misc.c (grub_strtoull): Guess the base only if not
34844 specified.
34845
97b2f2ff 348462006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 34847
34848 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34849 PowerMac support.
34850
97b2f2ff 348512006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 34852
34853 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34854
34855 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34856 Remove `flags' argument. All callers changed.
34857 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34858 (IEEE1275_IHANDLE_INVALID): New variable.
34859 (IEEE1275_CELL_INVALID): New variable.
34860 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34861 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34862 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34863 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34864 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34865 codes from Open Firmware. All callers updated.
34866 (grub_ieee1275_next_property): Directly return Open Firmware return
34867 code.
34868 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34869 Standardize error checking from `grub_ieee1275_get_property'.
34870 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34871 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34872
97b2f2ff 348732006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 34874
34875 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34876 `instance_to_package_args' to `instance_to_path_args'.
34877
34878 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34879 `grub_ieee1275_chosen'.
34880
34881 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34882 `grub_ieee1275_interpret'.
34883
97b2f2ff 348842006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 34885
34886 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34887
97b2f2ff 348882006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 34889
34890 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34891 (__cmpdi): Likewise.
34892
34893 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34894 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34895 `grub_ssize_t'.
34896
02bb8acc 34897 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 34898
34899 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34900 to type `grub_ssize_t'.
34901 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34902
7f9a8531 349032006-09-22 Marco Gerards <marco@gnu.org>
34904
34905 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34906 newlines.
34907
b5ef1102 349082006-09-22 Marco Gerards <marco@gnu.org>
34909
34910 * commands/echo.c: New file.
34911
34912 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34913
34914 * conf/common.rmk (echo_mod_SOURCES): New variable.
34915 (echo_mod_CFLAGS): Likewise.
34916 (echo_mod_LDFLAGS): Likewise.
34917
2cff3677 349182006-09-22 Marco Gerards <marco@gnu.org>
34919
34920 * normal/main.c (get_line): Malloc memory instead of using
34921 preallocated memory. Removed the arguments `cmdline' and
34922 `max_len'. Updated all callers.
34923
6ba4688b 349242006-09-22 Marco Gerards <marco@gnu.org>
34925
34926 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34927 (normal_mod_DEPENDENCIES): Likewise.
34928
34929 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34930 (normal_mod_DEPENDENCIES): Likewise.
34931
34932 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34933
e02ac02c 349342006-09-22 Johan Rydberg <jrydberg@gnu.org>
34935
34936 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34937 programs.
34938 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34939 (normal_mod_DEPENDENCIES): Likewise.
34940 * conf/i386-pc.mk: Regenerate.
34941 * conf/i386-efi.mk: Likewise
34942 * conf/common.mk: Likewise.
34943 * conf/powerpc-ieee1275.mk: Likewise.
34944 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34945
8d252e44 349462006-09-22 Robert Millan <rmh@aybabtu.com>
34947
34948 Sync with i386 version.
34949 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34950 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34951
209bf7ac 349522006-09-21 Robert Millan <rmh@aybabtu.com>
34953
34954 Import from GRUB Legacy (lib/device.c):
34955 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34956 (init_device_map) [__linux__]: Add support for I2O devices.
34957
6b146090 349582006-09-14 Marco Gerards <marco@gnu.org>
34959
34960 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34961 `-melf_i386'.
34962
e38600a8 349632006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 34964
34965 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34966 /boot/grub/*.lst.
78fa1790 34967
2952da5d 34968 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 34969
2952da5d 34970 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34971 before adding it to device.map.
34972
01b82a64 349732006-08-15 Johan Rydberg <jrydberg@gnu.org>
34974
fe6b695a 34975 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 34976 compiles a file; using the -MD option.
34977 * conf/common.mk: Regenerate.
34978 * conf/i386-pc.mk: Likewise.
34979 * conf/i386-efi.mk: Likewise.
34980 * conf/powerpc-ieee1275.mk: Likewise.
34981 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34982
1064790d 349832006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34984
34985 Move the prototypes of grub_setjmp and grub_longjmp to
34986 cpu/setjmp.h, so that each architecture may specify different
34987 attributes.
f19dbdb7 34988
1064790d 34989 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34990 (grub_longjmp): Likewise.
34991 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34992 (grub_longjmp): Likewise.
34993 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34994 (grub_longjmp): Likewise.
34995
34996 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34997 [!GRUB_UTIL] (grub_longjmp): Removed.
34998
29dda3ed 349992006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
35000
35001 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
35002 "color!" method does not return any value.
35003
ad2a06ed 350042006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35005
35006 * include/grub/bitmap.h: New file.
35007
35008 * include/grub/i386/pc/vbeutil.h: Likewise.
35009
35010 * video/bitmap.c: Likewise.
35011
35012 * video/readers/tga.c: Likewise.
35013
35014 * video/i386/pc/vbeutil.c: Likewise.
35015
35016 * commands/videotest.c: Code cleanup and updated to reflect to new
35017 video API.
35018
35019 * term/gfxterm.c: Likewise.
35020
35021 * video/video.c: Likewise.
35022
35023 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
35024 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
35025 (bitmap_mod_SOURCES): New entry.
35026 (bitmap_mod_CFLAGS): Likewise.
35027 (bitmap_mod_LDFLAGS): Likewise.
35028 (tga_mod_SOURCES): Likewise.
35029 (tga_mod_CFLAGS): Likewise.
35030 (tga_mod_LDFLAGS): Likewise.
35031
35032 * include/grub/video.h (grub_video_blit_operators): New enum type.
35033 (grub_video_render_target): Changed as forward declaration and moved
35034 actual definition to be video driver specific.
35035 (grub_video_adapter.blit_bitmap): Added blitting operator.
35036 (grub_video_adapter.blit_render_target): Likewise.
35037 (grub_video_blit_bitmap): Likewise.
35038 (grub_video_blit_render_target): Likewise.
35039
35040 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
35041 driver specific render target definition.
35042 (grub_video_vbe_map_rgba): Added driver internal helper.
35043 (grub_video_vbe_unmap_color): Updated to use
35044 grub_video_i386_vbeblit_info.
35045 (grub_video_vbe_get_video_ptr): Likewise.
35046
35047 * include/grub/i386/pc/vbeblit.h
35048 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
35049 grub_video_i386_vbeblit_info.
35050 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35051 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35052 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35053 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35054 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35055 (grub_video_i386_vbeblit_index_index): Likewise.
35056 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
35057 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35058 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35059 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
35060 operator.
35061 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
35062 operator.
35063
35064 * video/i386/pc/vbeblit.c: Updated to reflect changes on
35065 include/grub/i386/pc/vbeblit.h.
35066
35067 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
35068 Updated to use grub_video_i386_vbeblit_info.
35069 (grub_video_i386_vbefill_R8G8B8): Likewise.
35070 (grub_video_i386_vbefill_index): Likewise.
35071 (grub_video_i386_vbefill): Added generic filler.
35072
35073 * video/i386/pc/vbefill.c: Updated to reflect changes on
35074 include/grub/i386/pc/vbefill.h.
35075
35076 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
35077 grub_video_i386_vbeblit_info.
35078 (grub_video_vbe_unmap_color): Likewise.
35079 (grub_video_vbe_blit_glyph): Likewise.
35080 (grub_video_vbe_scroll): Likewise.
35081 (grub_video_vbe_draw_pixel): Removed function.
35082 (grub_video_vbe_get_pixel): Likewise.
35083 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
35084 updated code to use it.
35085 (common_blitter): Added common blitter for render target and bitmap.
35086 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
35087 (grub_video_vbe_blit_render_target): Likewise.
35088
bc8c036d 350892006-07-30 Johan Rydberg <jrydberg@gnu.org>
35090
35091 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
35092 is in text mode if there is no console control protocol instance
35093 available.
35094
684a8eff 350952006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35096
35097 * include/grub/video.h: Code cleanup.
35098
35099 * include/grub/i386/pc/vbe.h: Likewise.
35100
35101 * video/i386/pc/vbe.c: Likewise.
35102
35103 * video/i386/pc/vbeblit.c: Likewise.
35104
35105 * video/i386/pc/vbefill.c: Likewise.
35106
35107 * video/video.c: Likewise. Also added more comments.
35108
5915059b 351092006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35110
35111 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
35112 (struct grub_biosdisk_dap): Likewise.
35113
35114 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
35115 linkage settings for all functions.
35116
90ce5d56 351172006-07-12 Marco Gerards <marco@gnu.org>
35118
35119 * configure.ac (--enable-mm-debug): Fix typo.
35120
35121 * genkernsyms.sh.in: Use proper quoting for `CC'.
35122
43e7f879 351232006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
35124
35125 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
35126 (normal_mod_ASFLAGS): Remove "-m32".
35127
4889bdec 351282006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
35129
35130 * util/misc.c: Include config.h.
35131 [!HAVE_MEMALIGN]: Do not include malloc.h.
35132 (grub_memalign): Use posix_memalign, if present. Then, use
35133 memalign, if present. Otherwise, emit an error.
35134
35135 * util/grub-emu.c: Do not include malloc.h.
35136
35137 * include/grub/util/misc.h: Include unistd.h. This is required for
35138 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
35139 D. Eades III <hde@foobar-qux.org>.
35140
35141 * configure.ac (AC_GNU_SOURCE): Added.
35142 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
35143 type.
35144
fd39d4da 351452006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
35146
35147 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
35148 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
35149
b786f3b5 351502006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
35151
35152 * include/grub/types.h (grub_host_addr_t): Rename to
35153 grub_target_addr_t.
35154 (grub_host_off_t): Rename to grub_target_off_t.
35155 (grub_host_size_t): Rename to grub_target_size_t.
35156 (grub_host_ssize_t): Rename to grub_target_ssize_t.
35157 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
35158
35159 * include/grub/kernel.h (struct grub_module_header): Change type
35160 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
35161 (grub_module_info): Likewise.
f19dbdb7 35162
051988bb 351632006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
35164
35165 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
35166 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
35167 Velazquez <jesus.velazquez@gmail.com>.
35168
deae281b 351692006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
35170
35171 Count partitions from 1 instead of 0 in the string representation
35172 of partitions. Still use 0-based internally.
f19dbdb7 35173
deae281b 35174 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
35175 (sun_partition_map_iterate): Use grub_partition_t instead of
35176 struct grub_partition *. Cast DESC->START_CYLINDER to
35177 grub_uint64_t after converting the endian.
35178 (sun_partition_map_probe): Subtract 1 for PARTNUM.
35179 (sun_partition_map_get_name): Add 1 to P->INDEX.
35180
35181 * partmap/pc.c (grub_partition_parse): Subtract 1 for
35182 PCDATA->DOS_PART.
35183 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
35184
35185 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
35186 zero instead of one.
35187 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
35188 (gpt_partition_map_get_name): Add 1 into P->INDEX.
35189
35190 * partmap/apple.c (apple_partition_map_iterate): Change the type
35191 of POS to unsigned.
35192 (apple_partition_map_probe): Subtract 1 for PARTNUM.
35193 (apple_partition_map_get_name): Add 1 into P->INDEX.
35194
35195 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
35196 of POS to unsigned.
35197 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
35198 calculate the offset of a partition.
35199 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
35200 (amiga_partition_map_get_name): Add 1 into P->INDEX.
35201
35202 * partmap/acorn.c (acorn_partition_map_find): Change the type of
35203 SECTOR to grub_disk_addr_t.
35204 (acorn_partition_map_iterate): Likewise.
35205 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
35206 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
35207 top.
35208 (acorn_partition_map_get_name): Add 1 into P->INDEX.
35209
35210 * kern/i386/pc/init.c (make_install_device): Add 1 into
35211 GRUB_INSTALL_DOS_PART.
35212
35213 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
35214 conditional.
35215
524a1e6a 352162006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
35217
35218 Clean up the code to support 64-bit addressing in disks and
35219 files. This change is not enough for filesystems yet.
f19dbdb7 35220
524a1e6a 35221 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
35222 type of "start" to grub_uint64_t.
35223 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
35224 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
35225 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
35226 convert addresses.
35227
35228 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
35229 to grub_disk_addr_t.
35230
35231 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
35232 string.
35233
35234 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35235
35236 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
35237 to char *.
35238
35239 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
35240
35241 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
35242
35243 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
35244
35245 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
35246 to grub_off_t, to detect an error from grub_file_seek.
35247 (grub_multiboot_load_elf32): Likewise.
35248
35249 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
35250 maximum unsigned long value when an overflow is detected.
35251 (grub_strtoull): New function.
35252 (grub_divmod64): Likewise.
35253 (grub_lltoa): use grub_divmod64.
35254
35255 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
35256 grub_disk_addr_t.
35257 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
35258 the pointer to next character. Use grub_strtoull instead of
35259 grub_strtoul.
35260 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
35261 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
35262 respectively.
35263
fe6b695a 35264 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 35265 return value is signed.
35266 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
35267 test if OFFSET is less than zero, as OFFSET is unsigned now.
35268
35269 * kern/disk.c (struct grub_disk_cache): Change the type of
35270 "sector" to grub_disk_addr_t.
35271 (grub_disk_cache_get_index): Change the type of SECTOR to
35272 grub_disk_addr_t. Calculate the hash with SECTOR casted to
35273 unsigned after shifting.
35274 (grub_disk_cache_invalidate): Change the type of SECTOR to
35275 grub_disk_addr_t.
35276 (grub_disk_cache_unlock): Likewise.
35277 (grub_disk_cache_store): Likewise.
35278 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
35279 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
35280 grub_disk_addr_t and grub_uint64_t, respectively.
35281 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
35282 body, as the value of OFFSET is tweaked by
35283 grub_disk_check_range. Change the types of START_SECTOR, LEN and
35284 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
35285 respectively.
35286 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
35287 body, as the value of OFFSET is tweaked by
35288 grub_disk_check_range. Change the types of LEN and N to
35289 grub_size_t.
35290
35291 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
35292 and "saved_offset" to grub_off_t.
35293 (test_header): Cast BUF to char *.
35294 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
35295 to char *.
35296 (grub_gzio_read): Change the types of OFFSET and SIZE to
35297 grub_off_t and grub_size_t, respectively.
35298
35299 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
35300 Removed.
35301 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
35302 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
35303 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
35304 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
35305 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
35306
35307 * include/grub/types.h (grub_off_t): Unconditionally set to
35308 grub_uint64_t.
35309 (grub_disk_addr_t): Changed to grub_uint64_t.
35310
35311 * include/grub/partition.h (struct grub_partition): Change the
35312 types of "start", "len" and "offset" to grub_disk_addr_t,
35313 grub_uint64_t and grub_disk_addr_t, respectively.
35314 (grub_partition_get_start): Return grub_disk_addr_t.
35315 (grub_partition_get_len): Return grub_uint64_t.
35316
35317 * include/grub/misc.h (grub_strtoull): New prototype.
35318 (grub_divmod64): Likewise.
35319
35320 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
35321 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
35322 grub_off_t, respectively.
35323 All callers and references changed.
35324
35325 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
35326 grub_size_t in "read".
35327 All callers and references changed.
35328
35329 * include/grub/file.h (struct grub_file): Change the types of
35330 "offset" and "size" to grub_off_t and grub_off_t,
35331 respectively. Change the type of SECTOR to grub_disk_addr_t in
35332 "read_hook".
35333 (grub_file_read): Change the type of LEN to grub_size_t.
35334 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
35335 grub_off_t.
35336 (grub_file_size): Return grub_off_t.
35337 (grub_file_tell): Likewise.
35338 All callers and references changed.
35339
35340 * include/grub/disk.h (struct grub_disk_dev): Change the types of
35341 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
35342 "write".
35343 (struct grub_disk): Change the type of "total_sectors" to
35344 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 35345 "read_hook".
524a1e6a 35346 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
35347 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
35348 (grub_disk_write): Likewise.
35349 All callers and references changed.
35350
35351 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
35352 char * for grub_strncmp to silence gcc.
35353 (grub_iso9660_mount): Likewise.
35354 (grub_iso9660_mount): Likewise.
35355 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
35356 return statement.
35357 (grub_iso9660_iterate_dir): Likewise.
35358 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
35359
35360 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
35361 LEN to grub_disk_addr_t and grub_size_t, respectively.
35362
35363 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35364
35365 * fs/jfs.c (grub_jfs_read_file): Likewise.
35366
35367 * fs/minix.c (grub_jfs_read_file): Likewise.
35368
35369 * fs/sfs.c (grub_jfs_read_file): Likewise.
35370
35371 * fs/ufs.c (grub_jfs_read_file): Likewise.
35372
35373 * fs/xfs.c (grub_jfs_read_file): Likewise.
35374
35375 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
35376 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
35377 respectively.
35378
35379 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
35380 BLKNR to -1 instead of returning GRUB_ERRNO.
35381 (grub_ext2_read_file): Change the types of SECTOR and
35382 LEN to grub_disk_addr_t and grub_size_t, respectively.
35383
35384 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
35385 LEN to grub_disk_addr_t and grub_size_t, respectively.
35386
35387 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
35388 grub_file_read.
35389
35390 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
35391 string. Do not cast SECTOR explicitly.
35392
35393 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
35394 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
35395 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
35396 grub_disk_addr_t and grub_size_t, respectively. If the sector is
35397 over 2TB and LBA mode is not supported, raise an error.
35398 (get_safe_sectors): New function.
35399 (grub_biosdisk_read): Use get_safe_sectors.
35400 (grub_biosdisk_write): Likewise.
35401
35402 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
35403 (grub_efidisk_write): Likewise.
35404
35405 * disk/loopback.c (delete_loopback): Cosmetic changes.
35406 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
35407 correctly.
35408 (grub_loopback_open): Likewise.
35409 (grub_loopback_read): Likewise. Also, change the type of POS to
35410 grub_off_t, and fix the usage of grub_memset.
35411
35412 * commands/i386/pc/play.c: Include grub/machine/time.h.
35413
35414 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
35415 print FILE->SIZE.
35416
35417 * commands/configfile.c: Include grub/env.h.
35418
35419 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
35420 GRUB_ERRNO directly instead. Change the type of POS to
35421 grub_off_t. Follow the coding standard.
35422
35423 * commands/blocklist.c: Include grub/partition.h.
35424 (grub_cmd_blocklist): Return an error if the underlying device is
35425 not a disk. Take the starting sector of a partition into account,
35426 if a partition is used.
35427
35428 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
35429 a length field.
35430 (lba_mode): Support 64-bit addresses.
35431 (chs_mode): Likewise.
35432 (copy_buffer): Adapted to the new offsets of a length field and a
35433 segment field.
35434 (blocklist_default_start): Allocate 64-bit space.
35435
35436 * boot/i386/pc/boot.S (force_lba): Removed.
35437 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 35438 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 35439 space.
35440 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
35441 is useless.
35442 (lba_mode): Refactored to support a 64-bit address. More size
35443 optimization.
35444 (setup_sectors): Likewise.
35445
53af98ad 354462006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
35447
35448 * DISTLIST: Added include/grub/i386/linux.h. Removed
35449 include/grub/i386/pc/linux.h
35450
35451 * configure.ac (AC_INIT): Bumped to 1.94.
35452
35453 * config.guess: Updated from gnulib.
35454 * config.sub: Likewise.
35455 * install-sh: Likewise.
35456 * mkinstalldirs: Likewise.
35457
b4c1940a 354582006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35459
35460 * conf/common.rmk (grub_modules_init.lst): Depended on
35461 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
35462 MODSRCFILES.
35463
35464 * genmk.rb (PModule::rule): Reverted the previous change.
35465
cfca1cfd 354662006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35467
35468 * conf/common.rmk (grub_modules_init.lst): Depends on
35469 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
35470 that the target does not exist before producing.
35471 (grub_modules_init.h): Remove the target before generating.
35472 (grub_emu_init.c): Likewise.
35473
35474 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
35475
aa6d7826 354762006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
35477
35478 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
35479 for the target-specific tests. Make sure that we also have the
35480 up-to-date target variables for those tests.
35481
26c607b9 354822006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35483
35484 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
35485 (PModule::rule): Likewise.
35486
0162321a 354872006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35488
35489 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
35490 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
35491 target-specific flags should be prefixed.
35492 (PModule::rule): Likewise.
35493
6c826348 354942006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
35495
35496 * configure.ac (CMP): Check if cmp is available explicitly.
35497
b977bf01 354982006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
35499
35500 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
35501 (target_cpu): New variable.
35502 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 35503
b977bf01 35504 * util/i386/pc/grub-install.in (host_cpu): Removed.
35505 (target_cpu): New variable.
35506 (pkglibdir): Use target_cpu instead of host_cpu.
35507
35508 * util/genmoddep.c: Removed.
f19dbdb7 35509
b977bf01 35510 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
35511 instead of GRUB_HOST_SIZEOF_VOID_P.
35512 * kern/dl.c: Likewise.
35513
35514 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
35515 ...
35516 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35517 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35518 (GRUB_TARGET_SIZEOF_LONG): ... this.
35519 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35520 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35521 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35522 to ...
35523 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35524 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35525 (GRUB_TARGET_SIZEOF_LONG): ... this.
35526 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35527 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35528 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35529 to ...
35530 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35531 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35532 (GRUB_TARGET_SIZEOF_LONG): ... this.
35533 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35534 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35535
35536 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
35537 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
35538 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
35539 instead of GRUB_HOST_SIZEOF_LONG.
35540 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
35541 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
35542 GRUB_CPU_WORDS_BIGENDIAN.
35543 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
35544 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
35545 grub_host_ssize_t.
35546
35547 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
35548 (genmoddep_SOURCES): Likewise.
35549 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
35550 (genmoddep_SOURCES): Likewise.
35551 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
35552 (genmoddep_SOURCES): Likewise.
35553 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
35554 Likewise.
35555 (genmoddep_SOURCES): Likewise.
35556
35557 * genmoddep.awk: New file.
35558
35559 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
35560 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
35561 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
35562 (PModule::rule): Likewise.
35563 (Program::rule): Likewise.
35564 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
35565 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
35566 respectively.
35567
35568 * configure.ac: Rewritten intensively to use host and target
35569 instead of build and host, respectively.
35570
35571 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
35572 (host_cpu): Removed.
35573 (target_cpu): New variable.
35574 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
35575 (BUILD_CC): Removed.
35576 (BUILD_CFLAGS): Likewise.
35577 (BUILD_CPPFLAGS): Likewise.
35578 (TARGET_CC): New variable.
35579 (TARGET_CFLAGS): Likewise.
35580 (TARGET_CPPFLAGS): Likewise.
35581 (TARGET_LDFLAGS): Likewise.
35582 (AWK): Likewise.
35583 (include): Use target_cpu instead of host_cpu.
35584 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 35585
b977bf01 35586 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
35587
f09771a1 355882006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
35589
35590 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
35591 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
35592 field 'false' to 'exec_on_false'.
35593 (grub_script_create_cmdif): Renamed argument names to reflect above
35594 changes.
35595
35596 * normal/execute.c (grub_script_execute_cmdif): Likewise.
35597
35598 * normal/script.c (grub_script_create_cmdif): Likewise.
35599
118f4fb3 356002006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
35601
35602 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
35603 top.
35604 (grub_hfsplus_btree_recptr): Likewise.
35605 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
35606 FILEBLOCK both to pass a block number and store next block
35607 number.
35608 (grub_hfsplus_read_block): Rewritten heavily to support an extent
35609 overflow file correctly. Specify errors appropriately, because
35610 fshelp expects that GRUB_ERRNO is set when fails. Reuse
35611 grub_hfsplus_btree_recptr to get the pointer to a found key.
35612 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
35613 is found.
35614
35615 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
35616 linux.mod.
35617 (_linux_mod_SOURCES): New variable.
35618 (_linux_mod_CFLAGS): Likewise.
35619 (_linux_mod_LDFLAGS): Likewise.
35620 (linux_mod_SOURCES): Likewise.
35621 (linux_mod_CFLAGS): Likewise.
35622 (linux_mod_LDFLAGS): Likewise.
35623
35624 * DISTLIST: Added loader/i386/efi/linux.c,
35625 loader/i386/efi/linux_normal.c and
35626 include/grub/i386/efi/loader.h.
35627
35628 * loader/i386/efi/linux.c: New file.
35629 * loader/i386/efi/linux_normal.c: Likewise.
35630 * include/grub/i386/efi/loader.h: Likewise.
35631
89a7d726 356322006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
35633
35634 * commands/blocklist.c: New file.
35635
35636 * DISTLIST: Added commands/blocklist.c.
35637
35638 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 35639 color for the background, and a darker color for the foreground.
89a7d726 35640 (grub_console_checkkey): Return READ_KEY.
35641 (grub_console_cls): Set the background to
35642 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
35643
35644 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
35645
35646 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
35647 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
35648
35649 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
35650 prototype.
35651
35652 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
35653 BG. The spec is wrong again.
35654
35655 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
35656 prototype.
35657 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
35658
35659 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35660 commands/blocklist.c.
35661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 35662
89a7d726 35663 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
35664 (blocklist_mod_SOURCES): New variable.
35665 (blocklist_mod_CFLAGS): Likewise.
35666 (blocklist_mod_LDFLAGS): Likewise.
35667
75c8f258 356682006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
35669
35670 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
35671 duplication.
35672 (lba_mode): Use %eax more intensively to reduce the code size.
35673
da2eb181 356742006-05-20 Marco Gerards <marco@gnu.org>
35675
35676 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
35677
35678 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
35679 for `menuentry'.
35680 (script): Accept leading newlines.
35681 (newlines): New rule to describe 0 or more newlines.
35682 (commands): Accept `command' with trailing newline. Fixed the
35683 order in which arguments were passed to `grub_script_add_cmd'.
35684 Accept commands separated by newlines.
35685 (function): Changed to accept newlines.
35686 (menuentry) Rewritten.
35687
35688 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
35689 front of the list, instead of to the end.
35690
577b4050 356912006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
35692
35693 * util/i386/pc/grub-install.in (bindir): New variable.
35694 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
35695 Shaver <lbgwjl@gmail.com>.
35696
0d6e1189 356972006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
35698
35699 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
35700 grub/machine/linux.h
35701 * loader/i386/pc/linux.c: Likewise.
35702
35703 * include/grub/i386/pc/linux.h: Moved to ...
35704 * include/grub/i386/linux.h: ... here.
35705
35706 * include/grub/i386/linux.h (struct linux_kernel_params): New
35707 struct.
f19dbdb7 35708
31b86e9f 357092006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
35710
35711 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
35712 checking.
35713 (grub_video_vbe_blit_glyph): Likewise.
35714 (grub_video_vbe_blit_bitmap): Likewise.
35715 (grub_video_vbe_blit_render_target): Likewise.
35716
83b984de 357172006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35718
35719 * configure.ac (--with-platform): Properly quote the square
35720 brackets.
35721
5f0413bd 357222006-05-08 Marco Gerards <marco@gnu.org>
35723
35724 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35725 this...
35726 (kernel_elf_HEADERS): ...to this. Updated all users.
35727 (grubof_symlist.c): Renamed from this...
35728 (kernel_elf_symlist.c): ...to this. Updated all users.
35729 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35730 (grubof_SOURCES): Renamed from this...
35731 (kernel_elf_SOURCES): ...to this.
35732 (grubof_HEADERS): Renamed from this...
35733 (kernel_elf_HEADERS): ...to this.
35734 (grubof_CFLAGS): Renamed from this...
35735 (kernel_elf_CFLAGS): ...to this.
35736 (grubof_ASFLAGS): Renamed from this...
35737 (kernel_elf_ASFLAGS): ...to this.
35738 (grubof_LDFLAGS): Renamed from this...
35739 (kernel_elf_LDFLAGS): ...to this.
35740
35741 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35742 this...
35743 (kernel_elf_HEADERS): ...to this. Updated all users.
35744 (grubof_symlist.c): Renamed from this...
35745 (kernel_elf_symlist.c): ...to this. Updated all users.
35746 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35747 (grubof_SOURCES): Renamed from this...
35748 (kernel_elf_SOURCES): ...to this.
35749 (grubof_HEADERS): Renamed from this...
35750 (kernel_elf_HEADERS): ...to this.
35751 (grubof_CFLAGS): Renamed from this...
35752 (kernel_elf_CFLAGS): ...to this.
35753 (grubof_ASFLAGS): Renamed from this...
35754 (kernel_elf_ASFLAGS): ...to this.
35755 (grubof_LDFLAGS): Renamed from this...
35756 (kernel_elf_LDFLAGS): ...to this.
35757
35758 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35759 `kernel.elf' instead of `grubof'.
35760
05568c2e 357612006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35762
35763 Add --with-platform to configure. Use pkglibdir instead of
35764 pkgdatadir. This is reported by Roger Leigh.
35765
35766 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35767 (host_vendor): Likewise.
35768 (host_os): Likewise.
35769 (pkgdatadir): Likewise.
35770 (platform): New variable.
35771 (pkglibdir): Likewise.
35772 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 35773
05568c2e 35774 * util/i386/pc/grub-install.in (datadir): Removed.
35775 (host_vendor): Likewise.
35776 (host_os): Likewise.
35777 (pkgdatadir): Likewise.
35778 (platform): New variable.
35779 (pkglibdir): Likewise.
35780 Use PKGLIBDIR instead of PKGDATADIR.
35781
35782 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35783 instead of GRUB_DATADIR.
35784 (main): Likewise.
35785 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35786 (main): Likewise.
35787 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35788 (main): Likewise.
35789
35790 * configure.ac (--with-platform): New option.
35791 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35792
35793 * Makefile.in: Include a makefile based on PLATFORM instead of
35794 HOST_VENDOR.
35795 (pkgdatadir): Not appended by the machine type.
35796 (pkglibdir): Appended by the machine type.
35797 (host_vendor): Removed.
35798 (platform): New variable.
35799 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35800 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35801 (uninstall): Likewise.
35802
4e93851c 358032006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35804
35805 Use the environment context in the menu. Remove the commands
35806 "default" and "timeout", and use variables instead.
f19dbdb7 35807
4e93851c 35808 * normal/menu.c: Include grub/env.h.
35809 (print_entry): Cast TITLE to silence gcc.
35810 (get_timeout): New function.
35811 (set_timeout): Likewise.
35812 (get_entry_number): Likewise.
35813 (run_menu): Use a default entry, a fallback entry and a timeout
35814 in the environment variables "default", "fallback" and
35815 "timeout". Also, tweak the default entry if it is not within the
35816 current menu entries.
35817 (grub_menu_run): Use a fallback entry in the environment variable
35818 "fallback".
35819
35820 * normal/main.c (read_config_file): Do not initialize
35821 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35822 NEWMENU->TIMEOUT.
35823 (grub_normal_execute): Use a data slot to store the menu.
35824
35825 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35826 fallback_entry and timeout.
35827 (struct grub_menu_list): Removed.
35828 (grub_menu_list_t): Likewise.
35829 (struct grub_context): Likewise.
35830 (grub_context_t): Likewise.
35831 (grub_context_get): Likewise.
35832 (grub_context_get_current_menu): Likewise.
35833 (grub_context_push_menu): Likewise.
35834 (grub_context_pop_menu): Likewise.
35835 (grub_default_init): Likewise.
35836 (grub_default_fini): Likewise.
35837 (grub_timeout_init): Likewise.
35838 (grub_timeout_fini): Likewise.
35839
35840 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35841 and timeout.mod.
35842 (normal_mod_SOURCES): Removed normal/context.c.
35843
35844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35845 commands/default.c, commands/timeout.c and normal/context.c.
35846 (normal_mod_SOURCES): Removed normal/context.c.
35847
35848 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35849 commands/timeout.c and normal/context.c.
35850 (normal_mod_SOURCES): Removed normal/context.c.
35851
35852 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35853 commands/default.c, commands/timeout.c and normal/context.c.
35854 (normal_mod_SOURCES): Removed normal/context.c.
35855
35856 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35857 timeout.mod.
35858 (default_mod_SOURCES): Removed.
35859 (default_mod_CFLAGS): Likewise.
35860 (default_mod_LDFLAGS): Likewise.
35861 (timeout_mod_SOURCES): Removed.
35862 (timeout_mod_CFLAGS): Likewise.
35863 (timeout_mod_LDFLAGS): Likewise.
35864
35865 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35866 normal/context.c.
35867
35868 * commands/default.c: Removed.
35869 * commands/timeout.c: Likewise.
35870 * normal/context.c: Likewise.
35871
1eb9cc1d 358722006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35873
35874 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35875
385bd9c1 358762006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35877
35878 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35879 "next" to "prev" for readability.
35880 (struct grub_env_sorted_var): New struct.
35881 (grub_env_context): Renamed to ...
35882 (initial_context): ... this.
35883 (grub_env_var_context): Renamed to ...
35884 (current_context): ... this.
35885 (grub_env_find): Look only at CURRENT_CONTEXT.
35886 (grub_env_context_open): Rewritten to copy exported variables from
35887 previous context.
35888 (grub_env_context_close): Rewritten according to the new
35889 scheme. Also, add an assertion to prevent the initial context from
35890 removed.
35891 (grub_env_insert): Removed the code for the sorted list.
35892 (grub_env_remove): Likewise.
35893 (grub_env_export): Simply mark the variable with
35894 GRUB_ENV_VAR_GLOBAL.
35895 (grub_env_set): A cosmetic change for naming consistency.
35896 (grub_env_get): Likewise.
35897 (grub_env_unset): Likewise.
35898 (grub_env_iterate): Rewritten to sort variables within this
35899 function.
35900 (grub_register_variable_hook): Fixed for naming consistency. Call
35901 grub_env_find again, only if NAME is not found at the first time.
35902 (mangle_data_slot_name): New function.
35903 (grub_env_set_data_slot): Likewise.
35904 (grub_env_get_data_slot): Likewise.
35905 (grub_env_unset_data_slot): Likewise.
35906
35907 * include/grub/env.h (grub_env_var_type): New enum.
35908 (GRUB_ENV_VAR_LOCAL): New constant.
35909 (GRUB_ENV_VAR_GLOBAL): Likewise.
35910 (GRUB_ENV_VAR_DATA): Likewise.
35911 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35912 "type".
35913 (grub_env_set): Replace VAR with NAME for consistency.
35914 (grub_register_variable_hook): Likewise.
35915 (grub_env_export): Specify the name of the argument.
35916 (grub_env_set_data_slot): New prototype.
35917 (grub_env_get_data_slot): Likewise.
35918 (grub_env_unset_data_slot): Likewise.
35919
7f362539 359202006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35921
35922 Extend the loader so that GRUB can accept a loader which comes
35923 back to GRUB when a loaded image exits. Also, this change adds
35924 support for a chainloader on EFI.
f19dbdb7 35925
7f362539 35926 * term/efi/console.c: Include grub/misc.h.
35927 (grub_console_checkkey): Display a scan code on the top for
35928 debugging. This will be removed once the EFI port gets stable.
35929 Correct the scan code mapping.
35930
35931 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35932 allocate memory from larger regions, in order to reduce the number
35933 of allocated regions. Otherwise, the MacOSX loader panics.
35934 (filter_memory_map): Avoid less than 1MB for compatibility with
35935 other loaders.
35936 (add_memory_regions): Allocate from the tail of a region, if
35937 possible, to avoid allocating a region near to 1MB, for the MacOSX
35938 loader.
35939
35940 * kern/efi/init.c (grub_efi_set_prefix): Specify
35941 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35942
35943 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35944 argument IMAGE_HANDLE and specify it to get a loaded image.
35945 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35946 grub_efi_get_loaded_image.
fe6b695a 35947 (grub_efi_get_filename): Divide the length by the size of
7f362539 35948 grub_efi_char16_t.
35949 (grub_efi_get_device_path): New function.
35950 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35951 the length by the size of grub_efi_char16_t for a file path device
35952 path node.
35953
35954 * kern/loader.c (grub_loader_noreturn): New variable.
35955 (grub_loader_set): Accept a new argument NORETURN. Set
35956 GRUB_LOADER_NORETURN to NORETURN.
35957 All callers changed.
35958 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35959 grub_machine_fini.
35960
35961 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35962 prototype.
35963 (grub_efi_get_loaded_image): Take an argument to specify an image
35964 handle.
35965
35966 * include/grub/loader.h (grub_loader_set): Added one more argument
35967 NORETURN.
35968
35969 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35970 instead of grub_efi_open_protocol.
35971 (grub_efidisk_get_device_name): Likewise.
35972 (grub_efidisk_close): Print a newline.
35973 (grub_efidisk_get_device_handle): Fixed to use
35974 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35975 GRUB_EFI_DEVICE_PATH_TYPE.
35976
35977 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35978 * kern/efi/efi.c (device_path_guid): ... here.
35979
35980 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35981 chain.mod.
35982 (kernel_mod_HEADERS): Added efi/disk.h.
35983 (_chain_mod_SOURCES): New variable.
35984 (_chain_mod_CFLAGS): Likewise.
35985 (_chain_mod_LDFLAGS): Likewise.
35986 (chain_mod_SOURCES): Likewise.
35987 (chain_mod_CFLAGS): Likewise.
35988 (chain_mod_LDFLAGS): Likewise.
35989
35990 * DISTLIST: Added include/grub/efi/chainloader.h,
35991 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35992
35993 * include/grub/efi/chainloader.h: New file.
35994 * loader/efi/chainloader.c: Likewise.
35995 * loader/efi/chainloader_normal.c: Likewise.
35996
c0111d6e 359972006-04-30 Marco Gerards <marco@gnu.org>
35998
35999 * commands/configfile.c (grub_cmd_source): New function.
36000 (GRUB_MOD_INIT): Register the commands `source' and `.'.
36001 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
36002
df5341da 360032006-04-30 Marco Gerards <marco@gnu.org>
36004
36005 * normal/execute.c (grub_script_execute_cmd): Change the return
36006 type to `grub_err_t'. Correctly return the error.
36007 (grub_script_execute_cmdline): In case a command line is not a
36008 command or a function, try to interpret it as an assignment.
36009
f85934bd 360102006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36011
36012 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
36013 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
36014 skip a node whose name is obviously invalid as UTF-16,
36015 i.e. contains a NUL character. Stop the iteration when the last
36016 directory entry is found. Instead of using the return value of
36017 grub_hfsplus_btree_iterate_node, store the value in RET and use
36018 it, because the iterator can be stopped by the last directory
36019 entry.
36020
8f8a2cf8 360212006-04-30 Marco Gerards <marco@gnu.org>
36022
36023 * include/grub/env.h (grub_env_export): New prototype. Reported
36024 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
36025
a27e84ce 360262006-04-30 Marco Gerards <marco@gnu.org>
36027
36028 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
36029 size of the extents in a catalog file record.
36030
eaef0553 360312006-04-29 Marco Gerards <marco@gnu.org>
36032
36033 * commands/configfile.c (grub_cmd_configfile): Execute the
36034 configfile within its own context.
36035
36036 * include/grub/env.h (grub_env_context_open): New prototype.
36037 (grub_env_context_close): Likewise.
36038
36039 * kern/env.c (grub_env): Removed.
36040 (grub_env_sorted): Likewise.
36041 (grub_env_context): New variable.
36042 (grub_env_var_context): Likewise.
36043 (grub_env_find): Search both the active context and the global
36044 context.
36045 (grub_env_context_open): New function.
36046 (grub_env_context_close): Likewise.
36047 (grub_env_insert): Likewise.
36048 (grub_env_remove): Likewise.
36049 (grub_env_export): Likewise.
36050 (grub_env_set): Changed to use helper functions to avoid code
36051 duplication.
36052 (grub_env_iterate): Rewritten so both the current context and the
36053 global context are being used.
36054
36055 * normal/command.c (export_command): New function.
36056 (grub_command_init): Register the `export' function.
36057
7b455f4d 360582006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
36059
36060 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
36061 explicitly to suppress gcc's warnings.
36062 * fs/fat.c (grub_fat_find_dir): Likewise.
36063 (grub_fat_label): Likewise.
36064 * fs/xfs.c (grub_xfs_read_inode): Likewise.
36065 (grub_xfs_mount): Likewise.
36066 (grub_xfs_label): Likewise.
36067 * fs/affs.c (grub_affs_mount): Likewise.
36068 (grub_affs_label): Likewise.
36069 (grub_affs_iterate_dir): Likewise.
36070 * fs/sfs.c (grub_sfs_mount): Likewise.
36071 (grub_sfs_iterate_dir): Likewise.
36072 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
36073 * fs/hfs.c (grub_hfs_mount): Likewise.
36074 (grub_hfs_cmp_catkeys): Likewise.
36075 (grub_hfs_find_dir): Likewise.
36076 (grub_hfs_dir): Likewise.
36077 (grub_hfs_label): Likewise.
36078 * fs/jfs.c (grub_jfs_mount): Likewise.
36079 (grub_jfs_opendir): Likewise.
36080 (grub_jfs_getent): Likewise.
36081 (grub_jfs_lookup_symlink): Likewise.
36082 (grub_jfs_label): Likewise.
36083 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
36084 (grub_hfsplus_iterate_dir): Likewise.
36085 (grub_hfsplus_btree_iterate_node): Made static.
36086
36087 * util/grub-emu.c (prefix): New variable.
36088 (grub_machine_set_prefix): New function.
36089 (main): Do not set the environment variable "prefix" here. Only
36090 set PREFIX, which is used later by grub_machine_set_prefix.
36091
36092 * include/grub/video.h: Do not include grub/symbol.h.
36093 (grub_video_register): Not exported. This symbol is not defined in
36094 the kernel.
36095 (grub_video_unregister): Likewise.
36096 (grub_video_iterate): Likewise.
36097 (grub_video_setup): Likewise.
36098 (grub_video_restore): Likewise.
36099 (grub_video_get_info): Likewise.
36100 (grub_video_get_blit_format): Likewise.
36101 (grub_video_set_palette): Likewise.
36102 (grub_video_get_palette): Likewise.
36103 (grub_video_set_viewport): Likewise.
36104 (grub_video_get_viewport): Likewise.
36105 (grub_video_map_color): Likewise.
36106 (grub_video_map_rgb): Likewise.
36107 (grub_video_map_rgba): Likewise.
36108 (grub_video_fill_rect): Likewise.
36109 (grub_video_blit_glyph): Likewise.
36110 (grub_video_blit_bitmap): Likewise.
36111 (grub_video_blit_render_target): Likewise.
36112 (grub_video_scroll): Likewise.
36113 (grub_video_swap_buffers): Likewise.
36114 (grub_video_create_render_target): Likewise.
36115 (grub_video_delete_render_target): Likewise.
36116 (grub_video_set_active_render_target): Likewise.
36117
36118 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
36119 Undefined.
36120 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
36121
36122 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
36123 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36124 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36125 instead of $(srcdir)/genkernsyms.sh.
36126
36127 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
36128 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36129 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36130 instead of $(srcdir)/genkernsyms.sh.
36131
36132 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
36133 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36134 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36135 instead of $(srcdir)/genkernsyms.sh.
36136
36137 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
36138 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
36139 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
36140 instead of $(srcdir)/genkernsyms.sh.
36141
36142 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
36143 genkernsyms.sh.
36144
36145 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
36146 genkernsyms.sh.
36147 (gensymlist.sh): New target.
36148 (genkernsyms.sh): Likewise.
36149
36150 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
36151 genkernsyms.sh.in and gensymlist.sh.in.
36152
36153 * genkernsyms.sh: Removed.
36154 * gensymlist.sh: Likewise.
f19dbdb7 36155
7b455f4d 36156 * genkernsyms.sh.in: New file.
36157 * gensymlist.sh.in: Likewise.
36158
1885bb27 361592006-04-25 Hollis Blanchard <hollis@penguinppc.org>
36160
36161 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
36162 clobber "prefix", since we may have already set it manually.
36163
71538dff 361642006-04-25 Hollis Blanchard <hollis@penguinppc.org>
36165
36166 * kern/misc.c (abort): New alias for grub_abort.
36167
2965c7cc 361682006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
36169
36170 A new machine-specific function "grub_machine_set_prefix" is
36171 defined. This is called after loading modules, so that a prefix
36172 initialization can use modules. Also, this change adds an
36173 intensive debugging feature for the memory manager via the
36174 configure option "--enable-mm-debug".
f19dbdb7 36175
2965c7cc 36176 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
36177 PART.LEN.
36178
36179 * kern/sparc64/ieee1275/init.c (abort): Removed.
36180 (grub_stop): Likewise.
36181 (grub_exit): New function.
36182 (grub_set_prefix): Renamed to ...
36183 (grub_machine_set_prefix): ... this.
36184 (grub_machine_init): Do not call grub_set_prefix.
36185
36186 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
36187 (grub_machine_set_prefix): ... this.
36188 (grub_machine_init): Do not call grub_set_prefix.
36189
36190 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
36191 (grub_machine_init): Do not set the prefix here.
36192
36193 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
36194
36195 * kern/efi/init.c: Include grub/mm.h.
36196 (grub_efi_set_prefix): New function.
36197
36198 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
36199 (grub_efi_get_filename): New function.
36200 (grub_print_device_path): Renamed to ...
36201 (grub_efi_print_device_path): ... this.
36202
36203 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
36204 [MM_DEBUG] (grub_realloc): Likewise.
36205 [MM_DEBUG] (grub_free): Likewise.
36206 [MM_DEBUG] (grub_memalign): Likewise.
36207 [MM_DEBUG] (grub_mm_debug): New variable.
36208 [MM_DEBUG] (grub_debug_malloc): New function.
36209 [MM_DEBUG] (grub_debug_free): New function.
36210 [MM_DEBUG] (grub_debug_realloc): New function.
36211 [MM_DEBUG] (grub_debug_memalign): New function.
36212
36213 * kern/misc.c (grub_abort): Print a newline to distinguish
36214 the message.
36215
36216 * kern/main.c (grub_main): Call grub_machine_set_prefix and
36217 grub_set_root_dev after loading modules. This is necessary when
36218 setting a prefix depends on modules.
36219
36220 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
36221 (grub_efi_print_device_path): ... this.
36222 (grub_efi_get_filename): New prototype.
36223 (grub_efi_set_prefix): Likewise.
36224
36225 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
36226 and grub/disk.h.
36227 (grub_efidisk_get_device_handle): New prototype.
36228 (grub_efidisk_get_device_name): Likewise.
36229
36230 * include/grub/mm.h: Include config.h.
36231 (MM_DEBUG): Removed.
36232 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
36233 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
36234 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
36235 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
36236 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
36237 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
36238 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
36239 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
36240 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
36241
36242 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
36243
36244 * disk/efi/efidisk.c: Include grub/partition.h.
36245 (iterate_child_devices): New function.
36246 (add_device): First, compare only last device path nodes, so that
36247 devices are sorted by the types.
36248 (grub_efidisk_get_device_handle): New function.
36249 (grub_efidisk_get_device_name): Likewise.
36250
36251 * configure.ac (--enable-mm-debug): New option to enable the
36252 memory manager debugging feature. This makes the binary much
36253 bigger, so is disabled by default.
36254
9cacaa17 362552006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
36256
36257 Use grub_abort instead of grub_stop, and grub_exit must be
36258 define in each architecture now. Also, this change adds support
36259 for EFI disks.
f19dbdb7 36260
9cacaa17 36261 * util/i386/pc/grub-probefs.c: Include grub/term.h.
36262 (grub_getkey): New function.
36263 (grub_term_get_current): Likewise.
36264
36265 * util/i386/pc/grub-setup.c: Include grub/term.h.
36266 (grub_getkey): New function.
36267 (grub_term_get_current): Likewise.
36268
36269 * util/misc.c (grub_stop): Renamed to ...
36270 (grub_exit): ... this.
36271
36272 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
36273 (grub_exit): ... this.
36274 (grub_machine_init): Use grub_abort instead of abort.
36275 (grub_stop): Removed.
36276
36277 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
36278 abort.
36279
36280 * kern/i386/pc/startup.S (grub_exit): New function.
36281 (cold_reboot): New label.
36282
36283 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
36284 (grub_efi_init): Call grub_efidisk_init.
36285 (grub_efi_fini): Call grub_efidisk_fini.
36286
36287 * kern/efi/efi.c: Include grub/mm.h.
36288 (grub_efi_console_control_guid): Renamed to ...
36289 (console_control_guid): ... this.
36290 (grub_efi_loaded_image_guid): Renamed to ...
36291 (loaded_image_guid): ... this.
36292 (grub_efi_locate_handle): New function.
36293 (grub_efi_open_protocol): Likewise.
36294 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
36295 GRUB_EFI_CONSOLE_CONTROL_GUID.
36296 (grub_efi_exit): Removed.
36297 (grub_stop): Likewise.
36298 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
36299 (grub_exit): New function.
36300 (grub_print_device_path): Likewise.
36301
36302 * kern/rescue.c (grub_rescue_cmd_exit): New function.
36303 (grub_enter_rescue_mode): Register "exit".
36304
36305 * kern/misc.c (grub_real_dprintf): A cosmetic change.
36306 (grub_abort): New function.
36307
36308 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
36309
36310 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
36311
36312 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
36313
36314 * include/grub/efi/efi.h (grub_efi_exit): Removed.
36315 (grub_print_device_path): New prototype.
36316 (grub_efi_locate_handle): Likewise.
36317 (grub_efi_open_protocol): Likewise.
36318
36319 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
36320 * disk/efi/efidisk.c: Likewise.
36321
36322 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
36323
36324 * include/grub/efi/console_control.h
36325 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
36326
36327 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
36328 last 8 bytes as an array.
36329 (GRUB_EFI_DISK_IO_GUID): New macro.
36330 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
36331 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
36332 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
36333 grub_uint8_t.
36334 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
36335 (struct grub_efi_device_path): Rename the member "sub_type" to
36336 "subtype".
36337 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
36338 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
36339 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
36340 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
36341 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
36342 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
36343 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
36344 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
36345 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
36346 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
36347 (struct grub_efi_pci_device_path): New structure.
36348 (grub_efi_pci_device_path_t): New type.
36349 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
36350 (struct grub_efi_pccard_device_path): New structure.
36351 (grub_efi_pccard_device_path_t): New type.
36352 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
36353 (struct grub_efi_memory_mapped_device_path): New structure.
36354 (grub_efi_memory_mapped_device_path_t): New type.
36355 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
36356 (struct grub_efi_vendor_device_path): New structure.
36357 (grub_efi_vendor_device_path_t): New type.
36358 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
36359 (struct grub_efi_controller_device_path): New structure.
36360 (grub_efi_controller_device_path_t): New type.
36361 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
36362 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
36363 (struct grub_efi_acpi_device_path): New structure.
36364 (grub_efi_acpi_device_path_t): New type.
36365 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
36366 (struct grub_efi_expanded_acpi_device_path): New structure.
36367 (grub_efi_expanded_acpi_device_path_t): New type.
36368 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
36369 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
36370 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
36371 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
36372 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
36373 (struct grub_efi_atapi_device_path): New structure.
36374 (grub_efi_atapi_device_path_t): New type.
36375 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
36376 (struct grub_efi_fibre_channel_device_path): New structure.
36377 (grub_efi_fibre_channel_device_path_t): New type.
36378 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
36379 (struct grub_efi_1394_device_path): New structure.
36380 (grub_efi_1394_device_path_t): New type.
36381 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
36382 (struct grub_efi_usb_device_path): New structure.
36383 (grub_efi_usb_device_path_t): New type.
36384 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
36385 (struct grub_efi_usb_class_device_path): New structure.
36386 (grub_efi_usb_class_device_path_t): New type.
36387 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
36388 (struct grub_efi_i2o_device_path): New structure.
36389 (grub_efi_i2o_device_path_t): New type.
36390 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
36391 (struct grub_efi_mac_address_device_path): New structure.
36392 (grub_efi_mac_address_device_path_t): New type.
36393 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
36394 (struct grub_efi_ipv4_device_path): New structure.
36395 (grub_efi_ipv4_device_path_t): New type.
36396 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
36397 (struct grub_efi_ipv6_device_path): New structure.
36398 (grub_efi_ipv6_device_path_t): New type.
36399 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
36400 (struct grub_efi_infiniband_device_path): New structure.
36401 (grub_efi_infiniband_device_path_t): New type.
36402 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
36403 (struct grub_efi_uart_device_path): New structure.
36404 (grub_efi_uart_device_path_t): New type.
36405 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
36406 (struct grub_efi_vendor_messaging_device_path): New structure.
36407 (grub_efi_vendor_messaging_device_path_t): New type.
36408 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
36409 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
36410 (struct grub_efi_hard_drive_device_path): New structure.
36411 (grub_efi_hard_drive_device_path_t): New type.
36412 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
36413 (struct grub_efi_cdrom_device_path): New structure.
36414 (grub_efi_cdrom_device_path_t): New type.
36415 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
36416 (struct grub_efi_vendor_media_device_path): New structure.
36417 (grub_efi_vendor_media_device_path_t): New type.
36418 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
36419 (struct grub_efi_file_path_device_path): New structure.
36420 (grub_efi_file_path_device_path_t): New type.
36421 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
36422 (struct grub_efi_protocol_device_path): New structure.
36423 (grub_efi_protocol_device_path_t): New type.
36424 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
36425 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
36426 (struct grub_efi_bios_device_path): New structure.
36427 (grub_efi_bios_device_path_t): New type.
36428 (struct grub_efi_disk_io): New structure.
36429 (grub_efi_disk_io_t): New type.
36430 (struct grub_efi_block_io_media): New structure.
36431 (grub_efi_block_io_media_t): New type.
36432 (struct grub_efi_block_io): New structure.
36433 (grub_efi_block_io_t): New type.
36434
36435 * include/grub/misc.h (grub_stop): Removed.
36436 (grub_exit): New prototype.
36437 (grub_abort): Likewise.
36438
36439 * include/grub/disk.h (enum grub_disk_dev_id): Added
36440 GRUB_DISK_DEVICE_EFIDISK_ID.
36441
36442 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
36443 disk/efi/efidisk.c.
36444 (kernel_syms.lst): Remove the target if an error occurs.
36445
49986a9f 364462006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
36447
36448 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
36449 as it was simply too buggy.
36450
970d3b8a 364512006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
36452
36453 * kern/misc.c (grub_lltoa): New function.
36454 (grub_vsprintf): Added support for the long long suffix,
36455 i.e. "ll".
36456
ff04ec24 364572006-04-20 Hollis Blanchard <hollis@penguinppc.org>
36458
36459 * Makefile.in (LDFLAGS): Add variable.
36460 (LD): Remove variable.
36461 * configure.ac: Add -m32 to LDFLAGS.
36462 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
36463 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
36464 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
36465 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
36466 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
36467 variables.
36468 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
36469 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
36470 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
36471
37e5e1a4 364722006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
36473
36474 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
36475 length for unknown glyph.
36476
c352d8dd 364772006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
36478
2eab1c0d 36479 Add support for pre-loaded modules into the EFI port.
f19dbdb7 36480
2eab1c0d 36481 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
36482 completely. Accept one more argument DIR. The caller has changed.
36483
36484 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
36485
36486 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
36487 (grub_efi_loaded_image_guid): New variable.
36488 (grub_efi_get_loaded_image): New function.
36489 (grub_arch_modules_addr): Likewise.
36490
36491 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
36492 prototype.
36493
36494 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
36495 (struct grub_efi_loaded_image): New structure.
36496 (grub_efi_loaded_image_t): New type.
36497
364982006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36499
c352d8dd 36500 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
36501 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
36502 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
36503
6d01d6b4 365042006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
36505
36506 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
36507
976a4ea0 365082006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
36509
36510 * DISTLIST: Added include/grub/efi/console.h,
36511 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
36512 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36513
36514 * include/grub/efi/console.h: New file.
36515 * include/grub/efi/time.h: Likewise.
36516 * include/grub/i386/efi/kernel.h: Likewise.
36517 * kern/efi/init.c: Likewise.
36518 * kern/efi/mm.c: Likewise.
36519 * term/efi/console.c: Likewise.
f19dbdb7 36520
976a4ea0 36521 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
36522 (grub_stop): Removed.
36523 (grub_get_rtc): Likewise.
36524 (grub_machine_init): Simply call grub_efi_init.
36525 (grub_machine_fini): Call grub_efi_fini.
36526
36527 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
36528 (grub_efi_output_string): Removed.
36529 (grub_efi_stall): New function.
36530 (grub_stop): Likewise.
36531 (grub_get_rtc): Likewise.
36532
36533 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
36534 (grub_efi_stall): New prototype.
36535 (grub_efi_allocate_pages): Likewise.
36536 (grub_efi_free_pages): Likewise.
36537 (grub_efi_get_memory_map): Likewise.
36538 (grub_efi_mm_init): Likewise.
36539 (grub_efi_mm_fini): Likewise.
36540 (grub_efi_init): Likewise.
36541 (grub_efi_fini): Likewise.
36542
36543 * include/grub/i386/efi/time.h: Do not include
36544 grub/symbol.h. Include grub/efi/time.h.
36545 (GRUB_TICKS_PER_SECOND): Removed.
36546 (grub_get_rtc): Likewise.
36547
36548 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
36549 Added padding. The EFI spec is buggy.
36550 (GRUB_EFI_BLACK): New macro.
36551 (GRUB_EFI_BLUE): Likewise.
36552 (GRUB_EFI_GREEN): Likewise.
36553 (GRUB_EFI_CYAN): Likewise.
36554 (GRUB_EFI_RED): Likewise.
36555 (GRUB_EFI_MAGENTA): Likewise.
36556 (GRUB_EFI_BROWN): Likewise.
36557 (GRUB_EFI_LIGHTGRAY): Likewise.
36558 (GRUB_EFI_BRIGHT): Likewise.
36559 (GRUB_EFI_DARKGRAY): Likewise.
36560 (GRUB_EFI_LIGHTBLUE): Likewise.
36561 (GRUB_EFI_LIGHTGREEN): Likewise.
36562 (GRUB_EFI_LIGHTCYAN): Likewise.
36563 (GRUB_EFI_LIGHTRED): Likewise.
36564 (GRUB_EFI_LIGHTMAGENTA): Likewise.
36565 (GRUB_EFI_YELLOW): Likewise.
36566 (GRUB_EFI_WHITE): Likewise.
36567 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
36568 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
36569 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
36570 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
36571 (GRUB_EFI_BACKGROUND_RED): Likewise.
36572 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
36573 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
36574 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
36575 (GRUB_EFI_TEXT_ATTR): Likewise.
36576
36577 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
36578 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36579 (kernel_mod_HEADERS): Added efi/time.h.
36580
83709125 365812006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
36582
36583 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
36584 include/grub/efi/api.h, include/grub/efi/console_control.h,
36585 include/grub/efi/efi.h, include/grub/efi/pe32.h,
36586 include/grub/i386/efi/time.h, kern/efi/efi.c,
36587 kern/i386/efi/init.c, kern/i386/efi/startup.S,
36588 and util/i386/efi/grub-mkimage.c.
36589
36590 * Makefile.in (RMKFILES): Added i386-efi.rmk.
36591
36592 * genmk.rb (PModule#rule): Do not export symbols if
36593 #{prefix}_EXPORTS is set to "no".
36594
36595 * conf/i386-efi.mk: New file.
36596 * conf/i386-efi.rmk: Likewise.
36597 * include/grub/efi/api.h: Likewise.
36598 * include/grub/efi/console_control.h: Likewise.
36599 * include/grub/efi/efi.h: Likewise.
36600 * include/grub/efi/pe32.h: Likewise.
36601 * include/grub/i386/efi/time.h: Likewise.
36602 * kern/efi/efi.c: Likewise.
36603 * kern/i386/efi/init.c: Likewise.
36604 * kern/i386/efi/startup.S: Likewise.
36605 * util/i386/efi/grub-mkimage.c: Likewise.
36606
366072006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 36608
36609 * include/grub/script.h: Include <grub/parser.h> and
36610 "grub_script.tab.h".
36611 (struct grub_lexer_param): New struct.
36612 (struct grub_parser_param): Likewise.
36613 (grub_script_create_arglist): Pass the state in an argument.
36614 (grub_script_add_arglist): Likewise.
36615 (grub_script_create_cmdline): Likewise.
36616 (grub_script_create_cmdblock): Likewise.
36617 (grub_script_create_cmdif): Likewise.
36618 (grub_script_create_cmdmenu): Likewise.
36619 (grub_script_add_cmd): Likewise.
36620 (grub_script_arg_add): Likewise.
36621 (grub_script_lexer_ref): Likewise.
36622 (grub_script_lexer_deref): Likewise.
36623 (grub_script_lexer_record_start): Likewise.
36624 (grub_script_lexer_record_stop): Likewise.
36625 (grub_script_mem_record): Likewise.
36626 (grub_script_mem_record_stop): Likewise.
36627 (grub_script_malloc): Likewise.
36628 (grub_script_yylex): Likewise.
36629 (grub_script_yyparse): Likewise.
36630 (grub_script_yyerror): Likewise.
36631 (grub_script_yylex): Likewise.
36632 (grub_script_lexer_init): Return the state.
36633
36634 * normal/lexer.c (grub_script_lexer_state): Removed variable.
36635 (grub_script_lexer_done): Likewise.
36636 (grub_script_lexer_getline): Likewise.
36637 (grub_script_lexer_refs): Likewise.
36638 (script): Likewise.
36639 (newscript): Likewise.
36640 (record): Likewise.
36641 (recording): Likewise.
36642 (recordpos): Likewise.
36643 (recordlen): Likewise.
36644 (grub_script_lexer_init): Return the state instead of setting
36645 global variables.
36646 (grub_script_lexer_ref): Use the newly added argument for state
36647 instead of globals.
36648 (grub_script_lexer_deref): Likewise.
36649 (grub_script_lexer_record_start): Likewise.
36650 (grub_script_lexer_record_stop): Likewise.
36651 (recordchar): Likewise.
36652 (nextchar): Likewise.
36653 (grub_script_yylex2): Likewise.
36654 (grub_script_yylex): Likewise.
36655 (grub_script_yyerror): Likewise.
36656
36657 * normal/parser.y (func_mem): Removed variable.
36658 (menu_entry): Likewise.
36659 (err): Likewise.
36660 (%lex-param): New parser option.
36661 (%parse-param): Likewise.
36662 (script): Always return the AST.
36663 (argument): Pass the state around.
36664 (arguments): Likewise.
36665 (grubcmd): Likewise.
36666 (commands): Likewise.
36667 (function): Likewise.
36668 (menuentry): Likewise.
36669 (if_statement): Likewise.
36670 (if): Likewise.
36671
36672 * normal/script.c (grub_script_memused): Removed variable.
36673 (grub_script_parsed): Likewise.
36674 (grub_script_malloc): Added a state argument. Use that instead of
36675 global variables.
36676 (grub_script_mem_record): Likewise.
36677 (grub_script_mem_record_stop): Likewise.
36678 (grub_script_arg_add): Likewise.
36679 (grub_script_add_arglist): Likewise.
36680 (grub_script_create_cmdline): Likewise.
36681 (grub_script_create_cmdif): Likewise.
36682 (grub_script_create_cmdmenu): Likewise.
36683 (grub_script_add_cmd): Likewise.
36684 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 36685
e2a8c904 366862006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 36687
36688 * normal/command.c (grub_command_init): Remove the title command.
36689
36690 * normal/lexer.c (grub_script_yylex): Renamed from this...
36691 (grub_script_yylex2): ... to this.
36692 (grub_script_yylex): New function. Temporary
36693 introduced to filter some tokens.
36694 (grub_script_yyerror): Print a newline.
36695
36696 * normal/main.c (read_config_file): Output information about the
36697 lines that contain errors. Wait for a key after all lines have
36698 been processed. Don't return an empty menu.
36699
36700 * normal/parser.y (func_mem): Don't initialize.
36701 (menu_entry): Likewise.
36702 (err): New variable.
36703 (script): Don't return anything when an error was encountered.
36704 (ws, returns): Removed rules.
36705 (argument): Disabled concatenated variable support.
36706 (arguments): Remove explicit separators.
36707 (grubcmd): Likewise.
36708 (function): Likewise.
36709 (menuentry): Likewise.
36710 (if): Likewise.
36711 (commands): Likewise. Add error handling.
36712
36713 * normal/script.c (grub_script_create_cmdline): If
36714 `grub_script_parsed' is 0, assume the parser encountered an error.
36715
c9a86192 367162006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
36717
36718 * configure.ac: Add support for EFI. Fix the typo
36719 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36720
70f3b243 367212006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36722
36723 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36724 foreign multibyte characters should be shown correctly.
36725
65f201ad 367262006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36727
36728 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36729 calculation.
36730 (read_config_file): Made it to close file before returning.
36731
b4b93674 367322006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36733
36734 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36735 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36736 video/i386/pc/vbefill.c.
36737
36738 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36739 video/i386/pc/vbefill.c.
36740
36741 * include/grub/video.h (grub_video_blit_format): New enum.
36742 (grub_video_mode_info): Added new member blit_format.
36743 (grub_video_get_blit_format): New function prototype.
36744
36745 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36746 function prototype.
36747 (grub_video_vbe_map_rgb): Likewise.
36748 (grub_video_vbe_unmap_color): Likewise.
36749
36750 * include/grub/i386/pc/vbeblit.h: New file.
36751
36752 * include/grub/i386/pc/vbefill.h: New file.
36753
36754 * video/video.c (grub_video_get_blit_format): New function.
36755 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36756 (grub_video_vbe_map_rgb): Likewise.
36757 (grub_video_vbe_unmap_color): Likewise.
36758
36759 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36760 optimized fills.
36761 (grub_video_vbe_blit_render_target): Changed to use more optimized
36762 blits.
36763 (grub_video_vbe_setup): Added detection for optimized settings.
36764 (grub_video_vbe_create_render_target): Likewise.
36765
36766 * video/i386/pc/vbeblit.c: New file.
36767
36768 * video/i386/pc/vbefill.c: New file.
36769
c2379b9c 367702006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36771
36772 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36773 here...
36774
36775 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36776 parsing to support both hex and dec ranges. If filename was missing
36777 show usage information.
36778
bd0d7896 367792006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36780
36781 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36782 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36783
36784 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36785 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36786 (video_mod_SOURCES): Added.
36787 (video_mod_CFLAGS): Likewise.
36788 (video_mod_LDFLAGS): Likewise.
36789 (gfxterm_mod_SOURCES): Likewise.
36790 (gfxterm_mod_CFLAGS): Likewise.
36791 (gfxterm_mod_LDFLAGS): Likewise.
36792 (videotest_mod_SOURCES): Likewise.
36793 (videotest_mod_CFLAGS): Likewise.
36794 (videotest_mod_LDFLAGS): Likewise.
36795 (vesafb_mod_SOURCES): Removed.
36796 (vesafb_mod_CFLAGS): Likewise.
36797 (vesafb_mod_LDFLAGS): Likewise.
36798 (vga_mod_SOURCES): Likewise.
36799 (vga_mod_CFLAGS): Likewise.
36800 (vga_mod_LDFLAGS): Likewise.
36801
36802 * commands/videotest.c: New file.
36803
36804 * font/manager.c (fill_with_default_glyph): Modified to use
36805 grub_font_glyph.
36806 (grub_font_get_glyph): Likewise.
36807 (fontmanager): Renamed from this...
36808 (font_manager): ... to this.
36809
36810 * include/grub/font.h (grub_font_glyph): Added new structure.
36811 (grub_font_get_glyph): Modified to use grub_font_glyph.
36812
36813 * include/grub/misc.h (grub_abs): Added as inline function.
36814
36815 * include/grub/video.h: New file.
36816
36817 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36818 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36819 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36820 (grub_vbe_get_controller_info): Renamed from this...
36821 (grub_vbe_bios_get_controller_info): ... to this.
36822 (grub_vbe_get_mode_info): Renamed from this...
36823 (grub_vbe_bios_get_mode_info): ... to this.
36824 (grub_vbe_set_mode): Renamed from this...
36825 (grub_vbe_bios_set_mode): ... to this.
36826 (grub_vbe_get_mode): Renamed from this...
36827 (grub_vbe_bios_get_mode): ... to this.
36828 (grub_vbe_set_memory_window): Renamed from this...
36829 (grub_vbe_bios_set_memory_window): ... to this.
36830 (grub_vbe_get_memory_window): Renamed from this...
36831 (grub_vbe_bios_get_memory_window): ... to this.
36832 (grub_vbe_set_scanline_length): Renamed from this...
36833 (grub_vbe_set_scanline_length): ... to this.
36834 (grub_vbe_get_scanline_length): Renamed from this...
36835 (grub_vbe_bios_get_scanline_length): ... to this.
36836 (grub_vbe_set_display_start): Renamed from this...
36837 (grub_vbe_bios_set_display_start): ... to this.
36838 (grub_vbe_get_display_start): Renamed from this...
36839 (grub_vbe_bios_get_display_start): ... to this.
36840 (grub_vbe_set_palette_data): Renamed from this...
36841 (grub_vbe_bios_set_palette_data): ... to this.
36842 (grub_vbe_set_pixel_rgb): Removed.
36843 (grub_vbe_set_pixel_index): Likewise.
36844
36845 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36846 from this...
36847 (grub_vbe_bios_get_controller_info): ... to this.
36848 (grub_vbe_get_mode_info): Renamed from this...
36849 (grub_vbe_bios_get_mode_info): ... to this.
36850 (grub_vbe_set_mode): Renamed from this...
36851 (grub_vbe_bios_set_mode): ... to this.
36852 (grub_vbe_get_mode): Renamed from this...
36853 (grub_vbe_bios_get_mode): ... to this.
36854 (grub_vbe_set_memory_window): Renamed from this...
36855 (grub_vbe_bios_set_memory_window): ... to this.
36856 (grub_vbe_get_memory_window): Renamed from this...
36857 (grub_vbe_bios_get_memory_window): ... to this.
36858 (grub_vbe_set_scanline_length): Renamed from this...
36859 (grub_vbe_set_scanline_length): ... to this.
36860 (grub_vbe_get_scanline_length): Renamed from this...
36861 (grub_vbe_bios_get_scanline_length): ... to this.
36862 (grub_vbe_set_display_start): Renamed from this...
36863 (grub_vbe_bios_set_display_start): ... to this.
36864 (grub_vbe_get_display_start): Renamed from this...
36865 (grub_vbe_bios_get_display_start): ... to this.
36866 (grub_vbe_set_palette_data): Renamed from this...
36867 (grub_vbe_bios_set_palette_data): ... to this.
36868 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36869 getting corrupted after calling it. Added more pushes and pops.
36870 (grub_vbe_bios_set_mode): Likewise.
36871 (grub_vbe_bios_get_mode): Likewise.
36872 (grub_vbe_bios_get_memory_window): Likewise.
36873 (grub_vbe_bios_set_scanline_length): Likewise.
36874 (grub_vbe_bios_get_scanline_length): Likewise.
36875 (grub_vbe_bios_get_display_start): Likewise.
36876 (grub_vbe_bios_set_palette_data): Likewise.
36877
36878 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36879 (cl_insert): Likewise.
36880 (cl_delete): Likewise.
36881
36882 * term/gfxterm.c: New file.
36883
36884 * term/i386/pc/vesafb.c: Removed file.
36885
36886 * video/video.c: New file.
36887
36888 * video/i386/pc/vbe.c (real2pm): Added new function.
36889 (grub_video_vbe_draw_pixel): Likewise.
36890 (grub_video_vbe_get_video_ptr): Likewise.
36891 (grub_video_vbe_get_pixel): Likewise
36892 (grub_video_vbe_init): Likewise.
36893 (grub_video_vbe_fini): Likewise.
36894 (grub_video_vbe_setup): Likewise.
36895 (grub_video_vbe_get_info): Likewise.
36896 (grub_video_vbe_set_palette): Likewise.
36897 (grub_video_vbe_get_palette): Likewise.
36898 (grub_video_vbe_set_viewport): Likewise.
36899 (grub_video_vbe_get_viewport): Likewise.
36900 (grub_video_vbe_map_color): Likewise.
36901 (grub_video_vbe_map_rgb): Likewise.
36902 (grub_video_vbe_map_rgba): Likewise.
36903 (grub_video_vbe_unmap_color): Likewise.
36904 (grub_video_vbe_fill_rect): Likewise.
36905 (grub_video_vbe_blit_glyph): Likewise.
36906 (grub_video_vbe_blit_bitmap): Likewise.
36907 (grub_video_vbe_blit_render_target): Likewise.
36908 (grub_video_vbe_scroll): Likewise.
36909 (grub_video_vbe_swap_buffers): Likewise.
36910 (grub_video_vbe_create_render_target): Likewise.
36911 (grub_video_vbe_delete_render_target): Likewise.
36912 (grub_video_vbe_set_active_render_target): Likewise.
36913 (grub_vbe_set_pixel_rgb): Remove function.
36914 (grub_vbe_set_pixel_index): Likewise.
36915 (index_color_mode): Remove static variable.
36916 (active_mode): Likewise.
36917 (framebuffer): Likewise.
36918 (bytes_per_scan_line): Likewise.
36919 (grub_video_vbe_adapter): Added new static variable.
36920 (framebuffer): Likewise.
36921 (render_target): Likewise.
36922 (initial_mode): Likewise.
36923 (mode_in_use): Likewise.
36924 (mode_list): Likewise.
36925
5f97350b 369262006-03-10 Marco Gerards <marco@gnu.org>
36927
36928 * configure.ac (AC_INIT): Bumped to 1.93.
36929
36930 * DISTLIST: Added `include/grub/hfs.h'.
36931
a3c5c6f8 369322006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36933
36934 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36935 18H, which might help the BIOS falling back to next boot media.
36936
6de53d26 369372006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36938
36939 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36940 Poe Chen <poe.poechen@gmail.com>.
36941
77c4a393 369422006-01-17 Marco Gerards <marco@gnu.org>
36943
36944 * include/grub/normal.h: Include <grub/script.h>.
36945 (grub_command_list): Removed struct.
36946 (grub_command_list_t): Removed type.
36947 (grub_menu_entry): Remove members `num' and `command_list'. Add
36948 members `commands' and `sourcecode'.
36949 * include/grub/script.h: Add inclusion guards.
36950 (grub_script_cmd_menuentry): New struct.
36951 (grub_script_execute_menuentry): New prototype.
36952 (grub_script_lexer_record_start): Likewise.
36953 (grub_script_lexer_record_stop): Likewise.
36954 * normal/execute.c (grub_script_execute_menuentry): New function.
36955 * normal/lexer.c (record, recording, recordpos, recordlen): New
36956 variables.
36957 (grub_script_lexer_record_start): New function.
36958 (grub_script_lexer_record_stop): Likewise.
36959 (recordchar): Likewise.
36960 (nextchar): Likewise.
36961 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36962 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36963 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36964 (current_menu): New variable.
36965 (free_menu): Mainly rewritten.
36966 (grub_normal_menu_addentry): New function.
36967 (read_config_file): Rewritten.
36968 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 36969 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 36970 the menu entry.
36971 (run): Mainly rewritten.
36972 * normal/parser.y (menu_entry): New variable.
36973 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36974 (menuentry): New rule.
36975 (command): Add `menuentry'.
36976 (if_statement): Allow additional returns before `fi'.
36977 * normal/script.c (grub_script_create_cmdmenu): New function.
36978
144f1f98 369792006-01-03 Marco Gerards <marco@gnu.org>
36980
36981 * INSTALL: GNU Bison is required.
36982 * configure.ac: Rewritten the test to detect Bison.
36983 * Makefile.in (YACC): New variable. Reported by Xun Sun
36984 <xun.sun.cn@gmail.com>.
36985
af4b2d89 369862006-01-03 Marco Gerards <marco@gnu.org>
36987
36988 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36989 the HFS+ filesystem to filesystem blocks.
36990 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36991 GCC warning is silenced.
36992
15643b71 369932006-01-03 Marco Gerards <marco@gnu.org>
36994
36995 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36996 read from disk from big endian to host byte order.
36997
00905879 369982006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36999
37000 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
37001 documentation.
37002 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
37003 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
37004 embedded HFS+ filesystem.
37005 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
37006 (grub_hfs_sblock): Move from here...
37007 * include/grub/hfs.h: To here... New file.
37008 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
37009 documentation.
37010 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
37011 New macros.
37012 (grub_hfsplus_volheader): Change type of member `magic' to
37013 `grub_uint16_t'.
37014 (grub_hfsplus_data): Add new member `embedded_offset'.
37015 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
37016 returned block.
37017 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
37018 Calculate the offset.
37019
8899bc3e 370202005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37021
37022 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
37023 Removed.
37024 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
37025
ae8c0277 370262005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37027
37028 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
37029 ENV->NAME is NULL after allocating ENV->VALUE.
37030
07084456 370312005-12-25 Marco Gerards <marco@gnu.org>
37032
37033 * kern/env.c (grub_env_set): Rewritten the error handling code.
37034
4750f5f1 370352005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37036
37037 * geninit.sh: Made more robust, and more portable.
37038
50214199 370392005-12-25 Marco Gerards <marco@gnu.org>
37040
37041 Add support for Apple HFS+ filesystems.
f19dbdb7 37042
50214199 37043 * fs/hfsplus.c: New file.
37044
37045 * DISTLIST: Added `fs/hfsplus.c'.
37046
37047 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
37048 (hfsplus_mod_SOURCES): New variable.
37049 (hfsplus_mod_CFLAGS): Likewise.
37050 (hfsplus_mod_LDFLAGS): Likewise.
37051 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
37052 (grub_setup_SOURCES): Likewise.
37053 (grub_mkdevicemap_SOURCES): Likewise.
37054 (grub_emu_SOURCES): Likewise.
37055 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37056
37057 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
37058
37059 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
37060
befaed6c 370612005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37062
37063 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
37064 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
37065 include/grub/parser.h, include/grub/script.h, kern/parser.c,
37066 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
37067 normal/lexer.c, normal/parser.y, normal/script.c, and
37068 partmap/gpt.c.
37069 Removed kern/sparc64/cache.c.
37070
37071 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
37072 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
37073 grub_emu_init.c.
37074
37075 * configure.ac (AC_INIT): Bumped to 1.92.
37076
6a124103 370772005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
37078
37079 * kern/err.c (grub_error_push): Added new function to support error
37080 stacks.
37081 (grub_error_pop): Likewise.
37082 (grub_error_stack_items): New local variable to support error stacks.
37083 (grub_error_stack_pos): Likewise.
37084 (grub_error_stack_assert): Likewise.
37085 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
37086 stack depth.
37087 (grub_print_error): Added support to print errors from error stack.
37088
37089 * include/grub/err.h (grub_error_push): Added function prototype.
37090 (grub_error_pop): Likewise.
37091
be973c1b 370922005-12-09 Hollis Blanchard <hollis@penguinppc.org>
37093
37094 * configure.ac: Accept `powerpc64' as host_cpu.
37095 (amd64): Rename to `biarch32'.
37096
37097 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
37098 non-cacheline-aligned addresses.
37099
37100 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
37101 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
37102 if `size' is non-zero.
37103
b04216ab 371042005-12-03 Marco Gerards <mgerards@xs4all.nl>
37105
37106 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
37107 and `cd' to make sure the filename is not prefixed with a
37108 directory name.
37109 (pkgdata_MODULES): Add `gpt.mod'.
37110 (gpt_mod_SOURCES): New variable.
37111 (gpt_mod_CFLAGS): Likewise.
37112 (gpt_mod_LDFLAGS): Likewise.
37113
37114 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
37115
37116 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
37117 New macro.
37118
37119 * partmap/gpt.c: New file.
37120
37121 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
37122 GPT partition map is detected.
37123
41730ed9 371242005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
37125
37126 * commands/i386/pc/play.c: New file.
37127 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
37128 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
37129 macros.
f19dbdb7 37130
95dc3643 371312005-11-27 Marco Gerards <mgerards@xs4all.nl>
37132
37133 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
37134 ((unused))' to silence gcc warning.
37135
1569ec51 371362005-11-26 Hollis Blanchard <hollis@penguinppc.org>
37137
37138 * configure.ac: Correct `AC_PROG_YACC' test.
37139
9abde152 371402005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37141
37142 * util/powerpc/ieee1275/grub-install.in: Run the mount point
37143 check before installing files.
37144
44b83271 371452005-11-22 Mike Small <smallm@panix.com>
37146
37147 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
37148 number regex so multidigit numbers are recognized correctly.
37149
371502005-11-22 Mike Small <smallm@panix.com>
37151
37152 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
37153 debugging message before attempting to claim memory.
37154 (grub_rescue_cmd_initrd): Add a claim debugging message and try
37155 multiple addresses in case of failure.
37156
9c12956b 371572005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37158
37159 * term/tparm.c (get_space): Remove empty `if' statement.
37160
37161 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
37162
37163 * kern/parser.c (check_varstate): Rename `state' to 's'.
37164
aeaf81d9 371652005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37166
37167 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
37168 variable definitions to the beginning of each function. Sort stack
37169 variables by size.
37170 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
37171 `buf' argument to `char *'.
37172
79bbb63f 371732005-11-22 Hollis Blanchard <hollis@penguinppc.org>
37174
37175 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
37176 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 37177 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 37178 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
37179 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
37180 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
37181 configfile.mod, search.mod, gzio.mod and test.mod.
37182 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
37183 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
37184 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
37185 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
37186 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
37187 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
37188 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
37189 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
37190 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
37191 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
37192 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37193 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37194 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
37195 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
37196 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
37197 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
37198 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37199 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
37200 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
37201 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
37202 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
37203 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
37204 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
37205
37206 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
37207 `grep --include'.
37208 (pkgdata_MODULES): Add test.mod.
37209
233b1628 372102005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37211
37212 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
37213 appending to variables with "+=".
37214 (PModule): Use full pathname to generate *.lst filenames.
37215
37216 * Makefile.in: Fixed list rules moved from genmk.rb.
37217 (.DELETE_ON_ERROR): New special target.
37218 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
37219
37220 * conf/i386-pc.rmk: Include conf/common.mk.
37221 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 37222 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 37223 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
37224 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
37225 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
37226 configfile.mod, search.mod, gzio.mod and test.mod.
37227 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
37228 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
37229 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
37230 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
37231 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
37232 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
37233 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
37234 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
37235 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
37236 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
37237 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37238 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37239 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
37240 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
37241 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
37242 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
37243 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37244 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
37245 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
37246 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
37247 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
37248 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
37249 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
37250 here...
37251 * conf/common.rmk: ... to here. New file.
37252
37253 * conf/common.mk: New file.
37254
16f820c8 372552005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
37256
37257 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
37258 (grub_script.tab.c): ... here.
37259
37260 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
37261 (grub_script.tab.c): ... here.
37262
37263 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
37264 (grub_script.tab.c): ... here.
37265
37266 * normal/command.c (grub_command_find): Fixed a memory leak of
37267 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
37268
63ba1554 372692005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37270
37271 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
37272 "@" which marks the start of a comment on ARM.
37273 (VARIABLE): Likewise.
37274
7f67dc13 372752005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37276
79bbb63f 37277 Add support for Linux/ADFS partition tables.
7f67dc13 37278
37279 * partmap/acorn.c: New file.
37280
37281 * include/grub/acorn_filecore.h: Likewise.
37282
37283 * DISTLIST: Added `partmap/acorn.c' and
37284 `include/grub/acorn_filecore.h'.
f19dbdb7 37285
7f67dc13 37286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37287 `partmap/acorn.c'.
37288 (pkgdata_MODULES): Add `acorn.mod'.
37289 (acorn_mod_SOURCES): New variable.
37290 (acorn_mod_CFLAGS): Likewise.
37291
37292 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37293 `partmap/acorn.c'.
37294 (pkgdata_MODULES): Add `acorn.mod'.
37295 (acorn_mod_SOURCES): New variable.
37296 (acorn_mod_CFLAGS): Likewise.
37297
37298 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
37299 (pkgdata_MODULES): Add `acorn.mod'.
37300 (acorn_mod_SOURCES): New variable.
37301 (acorn_mod_CFLAGS): Likewise.
37302 (acorn_mod_LDFLAGS): Likewise.
37303
37304 * include/types.h (grub_disk_addr_t): New typedef.
37305
6d099807 373062005-11-13 Marco Gerards <mgerards@xs4all.nl>
37307
37308 * geninit.sh: New file.
37309
37310 * geninitheader.sh: Likewise.
37311
37312 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
37313 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
37314 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
37315 * commands/configfile.c (grub_configfile_init)
37316 (grub_configfile_fini): Likewise.
37317 * commands/default.c (grub_default_init, grub_default_fini):
37318 Likewise.
37319 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
37320 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
37321 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
37322 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
37323 Likewise.
37324 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
37325 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
37326 Likewise.
37327 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 37328 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 37329 Likewise.
37330 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
37331 Likewise.
fe6b695a 37332 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 37333 Likewise.
37334 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
37335 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
37336 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
37337 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
37338 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
37339 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
37340 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
37341 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
37342 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
37343 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
37344 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
37345 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
37346 * partmap/amiga.c (grub_amiga_partition_map_init)
37347 (grub_amiga_partition_map_fini): Likewise.
37348 * partmap/apple.c (grub_apple_partition_map_init)
37349 (grub_apple_partition_map_fini): Likewise.
37350 * partmap/pc.c (grub_pc_partition_map_init)
37351 (grub_pc_partition_map_fini): Likewise.
37352 * partmap/sun.c (grub_sun_partition_map_init,
37353 grub_sun_partition_map_fini): Likewise.
37354 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
37355 Likewise.
37356
37357 * util/grub-emu.c: Include <grub_modules_init.h>.
37358 (main): Don't initialize and de-initialize any modules directly,
37359 use `grub_init_all' and `grub_fini_all' instead.
37360
37361 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
37362 `grub_vesafb_mod_init'.
37363 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
37364 all users.
37365 * term/i386/pc/vga.c (grub_vga_init): Renamed to
37366 `grub_vga_mod_init'. Updated all users.
37367 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 37368
6d099807 37369 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
37370 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
37371 rules.
37372
37373 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
37374 Generate a function to initialize the module in utilities.
37375 Updated all callers.
37376 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
37377 initialize the module in utilities. Updated all callers.
37378
9046bcf0 373792005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37380
37381 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
37382 escape sequence and a literal ^L to clear the screen.
37383
37384 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
37385 when returning from Open Firmware.
37386
d13ea639 373872005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37388
37389 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
37390 (grub_ofconsole_height): Likewise.
37391 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
37392 manually insert a '\n'.
37393 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
37394 `grub_ofconsole_height'. Return early if these are already set.
37395
a8fcf206 373962005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
37397
37398 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37399 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
37400 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
37401 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
37402 and `normal/script.c'.
37403 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37404 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37405 (test_mod_SOURCES): New variable.
37406 (test_mod_CFLAGS): Likewise.
37407 (test_mod_LDFLAGS): Likewise.
37408 (pkgdata_MODULES): Add `test.mod'.
37409 (grub_script.tab.c): New rule.
37410 (grub_script.tab.h): Likewise.
37411
b6b32745 374122005-11-07 Marco Gerards <mgerards@xs4all.nl>
37413
37414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37415 `commands/test.c', `normal/execute.c', `normal/lexer.c',
37416 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37417 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37418 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37419 (test_mod_SOURCES): New variable.
37420 (test_mod_CFLAGS): Likewise.
37421 (pkgdata_MODULES): Add `test.mod'.
37422 (grub_script.tab.c): New rule.
37423 (grub_script.tab.h): Likewise.
37424
daac212a 374252005-11-06 Marco Gerards <mgerards@xs4all.nl>
37426
37427 Add initial scripting support.
37428
37429 * commands/test.c: New file.
37430 * include/grub/script.h: Likewise.
37431 * normal/execute.c: Likewise.
37432 * normal/function.c: Likewise.
37433 * normal/lexer.c: Likewise.
37434 * normal/parser.y: Likewise.
37435 * normal/script.c: Likewise.
37436
37437 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 37438
daac212a 37439 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
37440 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
37441 `normal/function.c' and `normal/script.c'.
37442 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37443 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 37444 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
37445 variables.
daac212a 37446 (pkgdata_MODULES): Add `test.mod'.
37447 (grub_script.tab.c): New rule.
37448 (grub_script.tab.h): Likewise.
37449
37450 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
37451
37452 * include/grub/normal.h (grub_test_init): New prototype.
37453 (grub_test_fini): Likewise.
f19dbdb7 37454
daac212a 37455 * normal/command.c: Include <grub/script.h>.
37456 (grub_command_execute): Rewritten.
f19dbdb7 37457
daac212a 37458 * util/grub-emu.c (main): Call `grub_test_init' and
37459 `grub_test_fini'.
37460
77500b2b 374612005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37462
37463 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
37464 to 0.
37465 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
37466 there are no pending characters.
37467
e45deb9e 374682005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37469
37470 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
37471 `grub_strndup' to drop device arguments. Replace unnecessary
37472 `grub_strndup' with `grub_strdup'.
37473
4ce32619 374742005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37475
37476 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
37477 `debug' environment variable has been set.
37478
374792005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37480
4ce32619 37481 * Makefile.in (install-local): Use $(DATA).
37482 (uninstall): Likewise.
37483 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
37484 (sbin_UTILITIES): ... to here.
37485 (sbin_SCRIPTS): New variable.
37486 (grub_install_SOURCES): New variable.
37487 * util/powerpc/ieee1275/grub-install.in: New file.
37488 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
37489 variable.
37490 (add_segments): Call `grub_util_get_path'.
37491
25fe6f03 374922005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37493
37494 From Timothy Baldwin:
37495 * commands/ls.c (grub_ls_list_files): Close FILE with
37496 grub_file_close.
37497 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
37498
04ccf3ec 374992005-10-24 Marco Gerards <mgerards@xs4all.nl>
37500
37501 * include/grub/parser.h: New file.
37502
37503 * kern/parser.c: Likewise.
37504
37505 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
37506 (grub_setup_SOURCES): Likewise.
37507 (grub_probefs_SOURCES): Likewise.
37508 (grub_emu_SOURCES): Likewise.
37509 (kernel_img_HEADERS): Add `parser.h'.
37510
37511 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37512 (grub_emu_SOURCES): Add `kern/parser.c'.
37513 (grubof_SOURCES): Likewise.
37514
37515 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37516 (grubof_SOURCES): Add `kern/parser.c'.
37517
37518 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
37519
37520 * kern/misc.c (grub_split_cmdline): Removed function.
37521
37522 * kern/rescue.c: Include <grub/parser.h>.
37523 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
37524 of `grub_split_cmdline'.
37525
37526 * normal/command.c: Include <grub/parser.h>.
37527 (grub_command_execute): Use `grub_parser_split_cmdline' instead
37528 of `grub_split_cmdline'.
37529
37530 * normal/completion.c: Include <grub/parser.h>.
37531 (cmdline_state): New variable.
37532 (iterate_dir): End the filename with a quote depending on the
37533 command line state.
37534 (get_state): new function.
37535 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
37536 split the arguments and determine the current argument. When the
37537 argument string is not quoted, escape all spaces.
37538
6d8f4b0e 375392005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37540
37541 * normal/sparc64/setjmp.S: New file.
37542
15cf03ed 375432005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37544
37545 * include/grub/sparc64/libgcc.h: New file.
37546 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
37547 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
37548 normal/sparc64/setjmp.c.
37549
03e8661a 375502005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37551
37552 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
37553 * kern/sparc64/cache.S: New file.
37554 * kern/sparc64/cache.c: Removed.
37555 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
37556 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
37557 -mtune=ultrasparc.
37558 (COMMON_LDFLAGS): Add -melf64_sparc.
37559 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
37560 (grubof_SOURCES): Use cache.S instead of cache.c.
37561 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
37562 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
37563 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
37564 commented though.
37565 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
37566 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
37567 (linux_mod_CFLAGS): Commented out.
37568 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
37569 out because module isn't built.
37570 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
37571 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
37572 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
37573 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
37574 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
37575 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37576 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37577 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
37578 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
37579 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
37580 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37581 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37582 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
37583 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
37584
34eeec8a 375852005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
37586
37587 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
37588 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
37589 longer, because HFS should not be used on PC.
37590
708367a3 375912005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37592
37593 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
37594 consistently within the loop.
37595
6fa1251a 375962005-10-15 Marco Gerards <mgerards@xs4all.nl>
37597
37598 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
37599 directory can not be read.
37600
4801580b 376012005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37602
37603 * configure.ac (AC_INIT): Increase the version number to 1.91.
37604
37605 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
37606 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
37607 term/i386/pc/serial.c.
37608
219ad426 376092005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37610
37611 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
37612 file size must be permitted.
37613
37614 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
37615 between %ah and %al.
37616
688e5699 376172005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37618
37619 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
37620 grub_uint64_t.
37621 Call the hook with a NUL-terminated filename.
37622 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
37623 grub_cpu_to_be32.
37624
37625 * kern/term.c (cursor_state): New variable.
37626 (grub_term_set_current): Reset the cursor state on a new
37627 terminal.
37628 (grub_setcursor): Rewritten to use CURSOR_STATE.
37629 (grub_getcursor): New function.
37630
37631 * include/grub/term.h (grub_getcursor): New prototype.
37632
37633 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
37634 integers on ARM. Reported by Timothy Baldwin
37635 <T.E.Baldwin99@members.leeds.ac.uk>.
37636
bb34586c 376372005-10-11 Marco Gerards <mgerards@xs4all.nl>
37638
37639 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
37640 allocated.
37641 (grub_sfs_dir): Likewise.
37642
9a909877 376432005-10-09 Marco Gerards <mgerards@xs4all.nl>
37644
37645 Add support for the SFS filesystem.
37646
37647 * fs/sfs.c: New file.
37648
37649 * DISTLIST: Added `fs/sfs.c'.
37650
37651 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
37652 (grub_probefs_SOURCES): Likewise.
37653 (grub_emu_SOURCES): Likewise.
37654 (pkgdata_MODULES): Add `sfs.mod'.
37655 (sfs_mod_SOURCES): New variable.
37656 (sfs_mod_CFLAGS): Likewise.
37657 (sfs_mod_LDFLAGS): Likewise.
37658
37659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
37660 (pkgdata_MODULES): Add `sfs.mod'.
37661 (sfs_mod_SOURCES): New variable.
37662 (sfs_mod_CFLAGS): Likewise.
37663
37664 * util/grub-emu.c (main): Call `grub_sfs_init' and
37665 `grub_sfs_fini'.
37666
37667 * include/grub/fs.h (grub_sfs_init): New prototype.
37668 (grub_sfs_fini): Likewise.
37669
57bdbde3 376702005-10-07 Marco Gerards <mgerards@xs4all.nl>
37671
37672 Add support for the AFFS filesystem.
37673
37674 * fs/affs.c: New file.
37675
37676 * DISTLIST: Added `fs/affs.c'.
37677
37678 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
37679 (grub_probefs_SOURCES): Likewise.
37680 (grub_emu_SOURCES): Likewise.
37681 (pkgdata_MODULES): Add `affs.mod'.
37682 (affs_mod_SOURCES): New variable.
37683 (affs_mod_CFLAGS): Likewise.
37684 (affs_mod_LDFLAGS): Likewise.
37685
37686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
37687 (pkgdata_MODULES): Add `affs.mod'.
37688 (affs_mod_SOURCES): New variable.
37689 (affs_mod_CFLAGS): Likewise.
37690
37691 * util/grub-emu.c (main): Call `grub_affs_init' and
37692 `grub_affs_fini'.
37693
37694 * include/grub/fs.h (grub_affs_init): New prototype.
37695 (grub_affs_fini): Likewise.
37696
047b67e0 376972005-10-01 Marco Gerards <mgerards@xs4all.nl>
37698
37699 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
37700
59b8208a 377012005-10-01 Marco Gerards <mgerards@xs4all.nl>
37702
37703 * configure.ac: Accept `x86_64' as host_cpu. In that case add
37704 `-m32' to CFLAGS.
37705
37706 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
37707 linking.
f19dbdb7 37708
59b8208a 37709 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
37710 (COMMON_LDFLAGS): New variable.
37711 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
37712 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
37713 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
37714 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
37715 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
37716 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
37717 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37718 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37719 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37720 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37721 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37722 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37723 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37724 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37725 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37726 variables.
37727 (normal_mod_ASFLAGS): Add `-m32'.
37728
37729 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37730 (grub_host_size_t, grub_host_ssize_t): New types.
37731 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 37732 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 37733 `GRUB_HOST_SIZEOF_VOID_P'.
37734
37735 * include/grub/kernel.h (struct grub_module_header): Type of
37736 member offset changed to `grub_host_off_t'. Type of member size
37737 changed to `grub_host_size_t'.
37738 (struct grub_module_info): Type of member offset changed to
37739 `grub_host_off_t'. Type of member size changed to
37740 `grub_host_size_t'.
37741
b4093103 377422005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37743
37744 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 37745
b4093103 37746 * kern/i386/pc/startup.S (multiboot_header): New label.
37747 (multiboot_entry): Likewise.
37748 (multiboot_trampoline): Likewise.
37749
37750 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37751 Increased to 0x4A0.
37752
37753 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37754 put parentheses after a question mark.
37755 [!GRUB_UTIL] (my_mod): New variable.
37756
37757 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37758
b2499b29 377592005-09-28 Marco Gerards <mgerards@xs4all.nl>
37760
37761 Adds support for the XFS filesystem. Btrees are not supported
37762 yet.
37763
37764 * fs/xfs.c: New file.
37765
37766 * DISTLIST: Added `fs/xfs.c'.
37767
37768 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37769 (grub_probefs_SOURCES): Likewise.
37770 (grub_emu_SOURCES): Likewise.
37771 (pkgdata_MODULES): Add `xfs.mod'.
37772 (xfs_mod_SOURCES): New variable.
37773 (xfs_mod_CFLAGS): Likewise.
37774
37775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37776 (pkgdata_MODULES): Add `xfs.mod'.
37777 (xfs_mod_SOURCES): New variable.
37778 (xfs_mod_CFLAGS): Likewise.
37779
37780 * util/grub-emu.c (main): Call `grub_xfs_init' and
37781 `grub_xfs_fini'.
37782
37783 * include/grub/fs.h (grub_xfs_init): New prototype.
37784 (grub_xfs_fini): Likewise.
37785
f19dbdb7 37786
83d37a62 377872005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37788
37789 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37790 color modes, allow greater than 16 colors to be configured as
37791 a default palette.
37792
47d2d65e 377932005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37794
37795 * normal/completion.c (complete_arguments): Add the qualifier
37796 const into OPTIONS.
37797
37798 From Omniflux <omniflux+lists@omniflux.com>:
37799 * include/grub/terminfo.h: New file.
37800 * include/grub/tparm.h: Likewise.
37801 * include/grub/i386/pc/serial.h: Likewise.
37802 * term/terminfo.c: Likewise.
37803 * term/tparm.c: Likewise.
37804 * term/i386/pc/serial.c: Likewise.
37805 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37806 serial.mod.
37807 (terminfo_mod_SOURCES): New variable.
37808 (terminfo_mod_CFLAGS): Likewise.
37809 (serial_mod_SOURCES): Likewise.
37810 (serial_mod_CFLAGS): Likewise.
37811
48b671ff 378122005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37813
37814 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37815 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37816 and kern/powerpc/ieee1275/cmain.c, respectively.
37817
37818 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37819 * kern/powerpc/ieee1275/crt0.S: ... here.
37820
37821 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37822 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 37823
48b671ff 37824 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37825 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37826 instead of boot/powerpc/ieee1275/crt0.S and
37827 boot/powerpc/ieee1275/cmain.c, respectively.
37828
37829 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37830 sectors. It was not used anyway.
37831
09fc77a7 378322005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37833
37834 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37835 `unused parameter' warning.
37836
003789c7 378372005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37838
37839 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37840 function.
37841 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37842 getcharwidth.
37843
67f44c86 378442005-08-28 Marco Gerards <metgerards@student.han.nl>
37845
37846 * include/grub/normal.h (enum grub_completion_type): Added
37847 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37848
37849 * normal/cmdline.c (print_completion): Handle
37850 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37851 * normal/menu_entry.c (store_completion): Likewise.
37852
37853 * normal/completion.c (complete_arguments): New function.
37854 (grub_normal_do_completion): Call `complete_arguments' when the
37855 current words start with a dash.
37856
0b5abe02 378572005-08-27 Marco Gerards <metgerards@student.han.nl>
37858
37859 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37860 `gzio.mod' instead of `io.mod').
37861
d9864ee1 378622005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37863
37864 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37865 (DISTDIRS): Added io and video.
37866 Rewrite the search routine to make an output consistently.
37867
37868 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37869 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37870 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37871 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37872 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37873 util/powerpc/ieee1275/misc.c.
f19dbdb7 37874
d9864ee1 37875 * include/grub/gzio.h: New file.
37876 * io/gzio.c: Likewise.
f19dbdb7 37877
d9864ee1 37878 * kern/file.c (grub_file_close): Call grub_device_close only if
37879 FILE->DEVICE is not NULL.
37880
37881 * include/grub/mm.h [!NULL] (NULL): New macro.
37882
37883 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37884
37885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37886 (pkgdata_MODULES): Added gzio.mod.
37887 (gzio_mod_SOURCES): New variable.
37888 (gzio_mod_CFLAGS): Likewise.
37889
37890 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37891 (pkgdata_MODULES): Added gzio.mod.
37892 (gzio_mod_SOURCES): New variable.
37893 (gzio_mod_CFLAGS): Likewise.
37894
37895 * commands/cat.c: Include grub/gzio.h.
37896 (grub_cmd_cat): Use grub_gzfile_open instead of
37897 grub_file_open.
f19dbdb7 37898
d9864ee1 37899 * commands/cmp.c: Include grub/gzio.h.
37900 (grub_cmd_cmp): Use grub_gzfile_open instead of
37901 grub_file_open.
37902
37903 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37904 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37905 grub_file_open.
37906 (grub_rescue_cmd_module): Likewise.
37907
fa46f4b5 379082005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37909
37910 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37911 kern/sparc64/ieee1275/init.c because it contains _start.
37912 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37913
e9211b5d 379142005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37915
37916 * configure.ac: Add support for sparc64 host with ieee1275
37917 firmware.
37918 * configure: Generated from configure.ac.
37919 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37920 instead of int.
37921 (grub_ofdisk_read): Likewise.
37922 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37923 pointers as (void *) to remove a warning.
37924 (grub_ofdisk_close): Likewise.
37925 (grub_ofdisk_read): Likewise.
37926 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37927 returns, so make it return void to remove a warning.
37928 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37929 Corresponding prototype change.
37930 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37931 values, and cast the pointers as (void *) to remove a warning.
37932 (grub_mm_dump): Likewise.
37933 * conf/sparc64-ieee1275.mk: New file.
37934 * conf/sparc64-ieee1275.rmk: Likewise.
37935 * include/grub/sparc64/setjmp.h: Likewise.
37936 * include/grub/sparc64/types.h: Likewise.
37937 * include/grub/sparc64/ieee1275/console.h: Likewise.
37938 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37939 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37940 * include/grub/sparc64/ieee1275/time.h: Likewise.
37941 * kern/sparc64/cache.c: Likewise.
37942 * kern/sparc64/dl.c: Likewise.
37943 * kern/sparc64/ieee1275/init.c: Likewise.
37944 * kern/sparc64/ieee1275/openfw.c: Likewise.
37945
385c6a92 379462005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37947
37948 * util/console.c (grub_ncurses_putchar): If C is greater than
37949 0x7f, set C to a question mark.
37950 (grub_ncurses_getcharwidth): New function.
37951 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37952 getcharwidth.
37953
37954 * normal/menu.c (print_entry): Made aware of Unicode. First,
37955 convert TITLE to UCS-4, and predict the cursor position by
37956 grub_getcharwidth.
37957
37958 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37959 const to SRC.
37960 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37961
16ccb8b1 379622005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37963
37964 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37965 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37966 grub_strcat.
37967
37968 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37969 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37970 grub_strcpy and grub_strlen. Take it into account that a space
37971 character is inserted as a delimiter.
37972
6a85ce79 379732005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37974
37975 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 37976 invalid magic in the error.
6a85ce79 37977
37978 * commands/search.c: New file.
f19dbdb7 37979
6a85ce79 37980 * util/grub-emu.c (main): Call grub_search_init and
37981 grub_search_fini.
37982
37983 * kern/rescue.c (grub_rescue_print_disks): Removed.
37984 (grub_rescue_print_devices): New function.
37985 (grub_rescue_cmd_ls): Use grub_device_iterate with
37986 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37987 grub_rescue_print_disks.
37988
37989 * kern/partition.c (grub_partition_iterate): Return the result of
37990 PARTMAP->ITERATE instead of GRUB_ERRNO.
37991
37992 * kern/device.c: Include grub/partition.h.
37993 (grub_device_iterate): New function.
37994
37995 * include/grub/partition.h (grub_partition_iterate): Return int
37996 instead of grub_err_t.
37997
37998 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37999 prototype.
38000 [GRUB_UTIL] (grub_search_fini): Likewise.
38001
38002 * include/grub/device.h (grub_device_iterate): New prototype.
38003
38004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38005 commands/search.c.
38006 (pkgdata_MODULES): Added search.mod.
38007 (search_mod_SOURCES): New variable.
38008 (search_mod_CFLAGS): Likewise.
38009
38010 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
38011 (pkgdata_MODULES): Added search.mod.
38012 (search_mod_SOURCES): New variable.
38013 (search_mod_CFLAGS): Likewise.
38014
38015 * commands/ls.c (grub_ls_list_disks): Renamed to ...
38016 (grub_ls_list_devices): ... this, and use grub_device_iterate.
38017 All callers changed.
38018
38019 * DISTLIST: Added commands/search.c.
38020
ef095434 380212005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38022
38023 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
38024 conversion.
38025 (grub_getcharwidth): New function.
38026
38027 * kern/misc.c (grub_utf8_to_ucs4): New function.
38028
38029 * include/grub/term.h (struct grub_term): Added a new member
38030 "getcharwidth".
38031 (grub_getcharwidth): New prototype.
38032
38033 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
38034
38035 * term/i386/pc/console.c (map_char): New function. Segregated from
38036 grub_console_putchar.
38037 (grub_console_putchar): Use map_char.
38038 (grub_console_getcharwidth): New function.
38039 (grub_console_term): Specified grub_console_getcharwidth as
38040 getcharwidth.
38041
38042 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
38043 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
38044
38045 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
38046 GRUB_ERRNO.
38047 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
38048 on grub_strtoul completely.
38049 (write_char): Declare local variables in the beginning of the
38050 function.
38051 (grub_vesafb_getcharwidth): New function.
38052 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
38053 getcharwidth.
38054
1f0a95e4 380552005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
38056
38057 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
38058 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
38059 commands/i386/pc/vbetest.c.
38060
38061 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
38062 call grub_vbe_get_controller_info again, because the returned
38063 information is volatile.
38064 (grub_vbe_set_video_mode): Mostly rewritten.
38065 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
38066 grub_vbe_status_t correctly.
38067 (grub_vbe_get_video_mode_info): Likewise.
38068 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
38069 several if statements.
38070
38071 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
38072 * commands/i386/pc/vbeinfo.c: ... this.
38073
38074 * commands/i386/pc/vbe_test.c: Renamed to ...
38075 * commands/i386/pc/vbetest.c: ... this.
38076
38077 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
38078 ...
38079 (grub_cmd_vbeinfo): ... this. Save video modes before
38080 iterating. Skip a video mode, if it is not available, not enough
38081 information is given or it is monochrome. Show the memory
38082 model. Leave the interpretation of MODEVAR to grub_strtoul
38083 completely.
38084 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
38085 (GRUB_MOD_FINI): Likewise.
38086
38087 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
38088 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
38089 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
38090 duplicated grub_env_get. Leave the interpretation of MODEVAR to
38091 grub_strtoul completely.
38092 (real2pm): Removed.
38093 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
38094 (GRUB_MOD_FINI): Likewise.
38095
38096 * normal/misc.c: Include grub/mm.h.
38097
38098 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
38099 vbe_list_modes with vbetest.mod and vbeinfo.mod.
38100 (vbe_list_modes_mod_SOURCES): Removed.
38101 (vbe_list_modes_mod_CFLAGS): Likewise.
38102 (vbe_test_mod_SOURCES): Likewise.
38103 (vbe_test_mod_CFLAGS): Likewise.
38104 (vbeinfo_mod_SOURCES): New variable.
38105 (vbeinfo_mod_CFLAGS): Likewise.
38106 (vbetest_mod_SOURCES): Likewise.
38107 (vbetest_mod_CFLAGS): Likewise.
38108
992ffbbe 381092005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
38110
38111 * normal/misc.c: New file.
38112
38113 * DISTLIST: Added normal/misc.c.
f19dbdb7 38114
992ffbbe 38115 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
38116 DISK to HOOK. Call HOOK with DISK.
38117 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38118 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38119 * partmap/sun.c (sun_partition_map_iterate): Likewise.
38120
38121 * normal/menu_entry.c (struct screen): Added a new member
38122 "completion_shown".
38123 (completion_buffer): New global variable.
38124 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
38125 (store_completion): New function.
38126 (complete): Likewise.
38127 (clear_completions): Likewise.
38128 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
38129 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
38130 a tab, call complete.
38131
38132 * normal/completion.c (disk_dev): Removed.
38133 (print_simple_completion): Likewise.
38134 (print_partition_completion): Likewise.
38135 (print_func): New global variable.
38136 (add_completion): Do not take the arguments WHAT or PRINT any
38137 longer. Added a new argument TYPE. Instead of printing directly,
38138 call PRINT_FUNC if not NULL.
38139 All callers changed.
38140 (complete_device): Use a local variable DEV instead of
38141 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
38142 (grub_normal_do_completion): Take a new argument HOOK. Do not
38143 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
38144 empty string, return NULL instead.
38145 All callers changed.
38146
38147 * normal/cmdline.c (print_completion): New function.
38148
38149 * kern/partition.c (grub_partition_iterate): Add an argument DISK
38150 to HOOK.
38151 All callers changed.
38152
38153 * kern/disk.c (grub_print_partinfo): Removed.
38154
38155 * include/grub/partition.h (struct grub_partition_map): Add a new
38156 argument DISK into HOOK of ITERATE.
38157 (grub_partition_iterate): Add a new argument DISK to HOOK.
38158
38159 * include/grub/normal.h (enum grub_completion_type): New enum.
38160 (grub_completion_type_t): New type.
38161 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
38162 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
38163 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
38164 (GRUB_COMPLETION_TYPE_FILE): Likewise.
38165 (grub_normal_do_completion): Added a new argument HOOK.
38166 (grub_normal_print_device_info): New prototype.
38167
38168 * include/grub/disk.h (grub_print_partinfo): Removed.
38169
38170 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
38171 (normal_mod_SOURCES): Likewise.
38172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38173 (normal_mod_SOURCES): Likewise.
38174
38175 * commands/ls.c (grub_ls_list_disks): Use
38176 grub_normal_print_device_info instead of grub_print_partinfo. Free
38177 PNAME.
38178 (grub_ls_list_files): Use grub_normal_print_device_info instead of
38179 duplicating the code.
38180
0bd41162 381812005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
38182
38183 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 38184 follow GCS more precisely.
38185 * commands/i386/pc/vbe_test.c: Likewise.
38186 * include/grub/i386/pc/vbe.h: Likewise.
38187 * term/i386/pc/vesafb.c: Likewise.
38188 * video/i386/pc/vbe.c: Likewise.
0bd41162 38189
6323696a 381902005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
38191
38192 * DISTLIST: Added term/i386/pc/vesafb.c
38193 DISTLIST: Added video/i386/pc/vbe.c
38194 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
38195 DISTLIST: Added commands/i386/pc/vbe_test.c.
38196 * commands/i386/pc/vbe_list_modes.c: New file.
38197 * commands/i386/pc/vbe_test.c: Likewise.
38198 * term/i386/pc/vesafb.c: Likewise.
38199 * video/i386/pc/vbe.c: Likewise.
38200 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
38201 (grub_vbe_probe) Added prototype.
38202 (grub_vbe_set_video_mode) Likewise.
38203 (grub_vbe_get_video_mode) Likewise.
38204 (grub_vbe_get_video_mode_info) Likewise.
38205 (grub_vbe_set_pixel_rgb) Likewise.
38206 (grub_vbe_set_pixel_index) Likewise.
38207 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
38208 (pkgdata_MODULES): Added vesafb.mod.
38209 (pkgdata_MODULES): Added vbe_list_modes.mod.
38210 (pkgdata_MODULES): Added vbe_test.mod.
38211 (vbe_mod_SOURCES): Added.
38212 (vbe_mod_CFLAGS): Likewise.
38213 (vesafb_mod_SOURCES): Likewise.
38214 (vesafb_mod_CFLAGS): Likewise.
38215 (vbe_list_modes_mod_SOURCES): Likewise.
38216 (vbe_list_modes_mod_CFLAGS): Likewise.
38217 (vbe_test_mod_SOURCES): Likewise.
38218 (vbe_test_mod_CFLAGS): Likewise.
38219
0a74e62f 382202005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
38221
0a74e62f 38222 * normal/command.c (grub_command_execute): If INTERACTIVE is
38223 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
38224 CMDLINE. Disable the pager if INTERACTIVE is true.
38225 All callers are changed.
38226
38227 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
38228 before reading a config file.
38229 * normal/main.c (read_config_file): Even if a command is not
38230 found, register it if it is within an entry.
38231
38232 * util/grub-emu.c: Include sys/types.h and unistd.h.
38233 (options): Added --hold.
38234 (struct arguments): Added a new member "hold".
38235 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
38236 missing.
38237 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
38238 cleared by a debugger, if it is not zero.
38239
38240 * include/grub/normal.h (grub_command_execute): Add an argument
38241 INTERACTIVE.
38242
e51f85ae 382432005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
38244
38245 * DISTLIST: Added include/grub/i386/pc/vbe.h.
38246
e9c6f39b 382472005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
38248
38249 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
38250 program with another one, because the old one didn't detect a bug
38251 in gcc-3.4. Always use regparm 2, because the new test is still
38252 not enough for gcc-4.0. Someone must investigate a simple test
38253 case which detects a bug in gcc-4.0.
38254
8de3495c 382552005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
38256
38257 * DISTLIST: Added normal/completion.c.
38258
38259 * normal/completion.c: New file.
f19dbdb7 38260
8de3495c 38261 * term/i386/pc/console.c (grub_console_getwh): New function.
38262 (grub_console_term): Assign grub_console_getwh to getwh.
38263
38264 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
38265 function is defined in normal/completion.c as
38266 grub_normal_do_completion.
38267 (grub_cmdline_get): Use grub_normal_do_completion instead of
38268 grub_tab_complete.
38269
38270 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
38271 returns non-zero, otherwise return 0.
38272 (grub_partition_iterate): First, probe the partition map. Then,
38273 call ITERATE only for this partition map.
38274
38275 * kern/misc.c (grub_strncmp): Rewritten.
38276
38277 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
38278 returns non-zero. Otherwise return 0.
38279
38280 * include/grub/partition.h (grub_partition_map_iterate): Return
38281 int instead of void.
38282
38283 * include/grub/normal.h (grub_normal_do_completion): New prototype.
38284
38285 * include/grub/misc.h (grub_strncmp): Change the type of N to
38286 grub_size_t.
38287
38288 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
38289 of void.
38290
38291 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 38292 unsigned explicitly before comparing it with I.
8de3495c 38293
38294 * kern/main.c (grub_env_write_root): Add the attribute unused into
38295 VAR.
38296
38297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38298 normal/completion.c.
38299 (normal_mod_SOURCES): Likewise.
38300 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38301 (normal_mod_SOURCES): Likewise.
38302
38303 * normal/command.c (grub_iterate_commands): If ITERATE returns
38304 non-zero, return one immediately.
38305
e85e144b 383062005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
38307
38308 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
38309 * kern/i386/pc/startup.S: Updated Global Descriptor table's
38310 descriptions.
38311 (grub_vbe_get_controller_info): New function.
38312 (grub_vbe_get_mode_info): Likewise.
38313 (grub_vbe_set_mode): Likewise.
38314 (grub_vbe_get_mode): Likewise.
38315 (grub_vbe_set_memory_window): Likewise.
38316 (grub_vbe_get_memory_window): Likewise.
38317 (grub_vbe_set_scanline_length): Likewise.
38318 (grub_vbe_get_scanline_length): Likewise.
38319 (grub_vbe_set_display_start): Likewise.
38320 (grub_vbe_get_display_start): Likewise.
38321 (grub_vbe_set_palette_data): Likewise.
38322 * include/grub/i386/pc/vbe.h: New file.
38323
c46153d2 383242005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38325
38326 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38327 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
38328 * DISTLIST: Likewise.
38329 * kern/ieee1275/of.c: Moved to ...
38330 * kern/ieee1275/ieee1275.c: ... here.
38331
0cb90c45 383322005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38333
38334 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
38335 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
38336 Pass 0 as `end' parameter to grub_strtoul().
38337
a19fb360 383382005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38339
38340 * include/grub/powerpc/ieee1275/console.h: Do not include
38341 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
38342 ifdef.
38343 (grub_console_cur_color): Remove i386-specific prototype.
38344 (grub_console_real_putchar): Likewise.
38345 (grub_console_checkkey): Likewise.
38346 (grub_console_getkey): Likewise.
38347 (grub_console_getxy): Likewise.
38348 (grub_console_gotoxy): Likewise.
38349 (grub_console_cls): Likewise.
38350 (grub_console_setcursor): Likewise.
38351 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
38352 Include <grub/machine/console.h>.
38353 * term/ieee1275/ofconsole.c: Likewise.
38354
4ac9bd04 383552005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
38356
38357 * Makefile.in (LIBLZO): New variable.
38358
38359 * configure.ac: Check for LZO version 2.
38360
38361 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
38362 lzo/lzo1x.h instead of lzo1x.h.
38363
38364 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
38365 of -llzo.
38366
38367 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
38368 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
38369
38370 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
38371 copying the data from PARTITION to P.
38372
f4917dfd 383732005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38374
38375 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
38376 negative, unload the module.
38377
38378 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
38379 map is "pc_partition_map" but not "pc".
38380 (usage): Fix the description. The options are --boot-image and
38381 --core-image but not --boot-file or --core-file.
38382 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
38383 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
38384 DEFAULT_DIRECTORY.
38385
38386 * util/i386/pc/grub-install.in: Do not specify --boot-file or
38387 --core-file. Specify INSTALL_DEVICE as an argument.
38388
38389 * util/console.c: Include config.h.
38390 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
38391 [HAVE_NCURSES_H]: Include ncurses.h.
38392 [HAVE_CURSES_H]: Include curses.h.
38393 [!A_NORMAL] (A_NORMAL): Defined as zero.
38394 [!A_STANDOUT] (A_STANDOUT): Likewise.
38395
38396 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
38397 -lncurses.
38398 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
38399
38400 * configure.ac: Check for curses libraries and headers.
38401
38402 * Makefile.in (LIBCURSES): New variable.
38403
38404 * genmk.rb (Script::rule): Set the executable bits.
38405
38406 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
38407 name of the PC partition map is "pc_partition_map" but not "pc".
38408
0e143073 384092005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38410
38411 * util/i386/pc/grub-install.in (grub_probefs): New variable.
38412 (modules): Likewise.
38413 (usage): Added descriptions for --modules and --grub-probefs.
38414 Handle --modules and --grub-probefs. Save the arguments in MODULES
38415 and GRUB_PROBEFS, respectively.
38416 Auto-detect a filesystem module against GRUBDIR. If the result is
38417 empty and modules are not specified explicitly, abort the
38418 installation. Add the result to MODULES.
38419
38420 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
38421 disk/powerpc/ieee1275/ofdisk.c,
38422 include/grub/powerpc/ieee1275/init.h and
38423 term/powerpc/ieee1275/ofconsole.c.
38424 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
38425 term/ieee1275/ofconsole.c.
38426
38427 * include/grub/powerpc/ieee1275/console.h: Resurrected.
38428
38429 * COPYING: Upgraded to the latest version. Only the address of the
38430 FSF office has changed.
f19dbdb7 38431
efd6e6d5 384322005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38433
38434 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38435 kern/ieee1275.c with kern/ieee1275/of.c.
38436
38437 * kern/ieee1275.c: Moved to ...
38438 * kern/ieee1275/of.c: ... here.
38439
8ceafda2 384402005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
38441
38442 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 38443 readability.
8ceafda2 38444
38445 * config.guess: Updated to the latest version from gnulib.
38446 * config.sub: Likewise.
38447 * install.sh: Likewise.
38448 * mkinstalldirs: Likewise.
38449
38450 * include/grub/console.h: Removed. This file is arch-specific. Do
38451 not put this in include/grub.
38452
38453 * include/grub/i386/pc/console.h: Resurrected.
38454
38455 * util/console.c: Include grub/machine/console.h instead of
38456 grub/console.h.
38457 * util/grub-emu.c: Likewise.
38458
267f6cd9 384592005-08-04 Marco Gerards <metgerards@student.han.nl>
38460
38461 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
38462 hardcoded value.
f19dbdb7 38463
267f6cd9 38464 From Vincent Pelletier <subdino2004@yahoo.fr>
38465 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
38466 Redefined to use grub_getwh.
38467 (grub_term): New member named getwh.
38468 (grub_getwh): New prototype.
38469 * kern/term.c (grub_getwh): New function.
38470 * term/i386/pc/console.c (grub_console_getwh): New function.
38471 (grub_console_term): New member `getwh'.
38472 * term/i386/pc/vga.c (grub_vga_getwh): New function.
38473 (grub_vga_term): New member `getwh'.
0b5abe02 38474 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 38475 grub_ssize_t.
38476 (grub_ofconsole_getw): New function.
38477 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
38478 (grub_ofconsole_term): New field named getwh and new initial
38479 value.
38480
3be7266d 384812005-08-03 Hollis Blanchard <hollis@penguinppc.org>
38482
38483 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
38484 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
38485 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
38486 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
38487 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
38488 of <grub/machine/ieee1275.h>.
38489 * commands/ieee1275/reboot.c: Likewise.
38490 * boot/powerpc/ieee1275/ieee1275.c: Move ...
38491 * kern/ieee1275.c: ... to here. All users updated. Change all
38492 parameter structs to use new type `grub_ieee1275_cell_t'.
38493 * term/powerpc/ieee1275/ofconsole.c: Move ...
38494 * term/ieee1275/ofconsole.c: ... to here. All users updated.
38495 * disk/powerpc/ieee1275/ofdisk.c: Move ...
38496 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
38497 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
38498 to return int.
38499 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
38500 Remove unused prototypes. All users updated.
38501 * include/grub/powerpc/ieee1275/console.h: Removed.
38502 * include/grub/powerpc/ieee1275/ieee1275.h: Define
38503 `grub_ieee1275_cell_t'.
38504 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
38505 Cast comparisons with -1 to the correct type.
38506 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
38507 type to match `grub_ieee1275_entry_fn'.
38508
8b5f3938 385092005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
38510
38511 * DISTLIST: Added util/i386/pc/grub-probefs.c.
38512
38513 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
38514 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
38515 partmap/sun.c.
38516 (grub_probefs_SOURCES): New variable.
38517
38518 * util/i386/pc/grub-probefs.c: New file.
38519
38520 * util/i386/pc/grub-setup.c (main): Call
38521 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
38522 grub_hfs_init and grub_jfs_init to initialize the system. Call
38523 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
38524 grub_pc_partition_map_fini to finish the system.
38525
ea409713 385262005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
38527
38528 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
38529 function.
38530 (grub_multiboot_load_elf32): Likewise.
38531 (grub_multiboot_is_elf64): Likewise.
38532 (grub_multiboot_load_elf64): Likewise.
38533 (grub_multiboot_load_elf): Likewise.
38534 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
38535 an ELF32 or ELF64 file.
38536 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
38537
38538 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
38539 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
38540 NULL before calling FS->LABEL.
38541 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
38542 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
38543 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
38544 before calling FS->LABEL.
38545
141a288b 385462005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
38547
38548 * util/i386/pc/grub-install.in (datadir): New variable.
38549 (libdir): Removed.
38550 (pkgdatadir): New variable.
38551 (pkglibdir): Removed.
38552
0d5f8a54 385532005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
38554
38555 * DISTLIST: Added util/i386/pc/grub-install.in.
38556
38557 * util/i386/pc/grub-install.in: New file.
38558
38559 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
38560 (grub_install_SOURCES): Likewise.
38561
38562 * genmk.rb: Added support for scripts.
38563 (Script): New class.
38564 (scripts): New variable.
38565
38566 * Makefile.in (install-local): Install sbin_SCRIPTS by
38567 INSTALL_SCRIPT.
38568 (uninstall): Remove sbin_SCRIPTS.
38569
38570 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
38571 device, try to get a GRUB device by
38572 grub_util_biosdisk_get_grub_dev.
38573 Free DEST_DEV.
38574
38575 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
38576 description for --device-map.
38577
5f968e1e 385782005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38579
38580 Change the semantics of variable hooks. They now return strings
38581 instead of error values.
f19dbdb7 38582
5f968e1e 38583 * util/i386/pc/grub-setup.c: Include grub/env.h.
38584 (setup): Use grub_device_set_root instead of grub_env_set.
38585
38586 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
38587 grub_env_get instead of grub_device_set_root and
38588 grub_device_get_root, respectively.
38589
38590 * kern/main.c (grub_env_write_root): New function.
38591 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
38592 grub_env_set instead of grub_device_set_root.
38593
38594 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
38595 many variables.
38596 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
38597 rather than calling ENV->WRITE_HOOK afterwards.
38598 (grub_env_get): Return the result of ENV->READ_HOOK rather than
38599 passing a pointer of a pointer.
38600 (grub_register_variable_hook): Change the types of "read_hook" and
38601 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
38602 respectively.
38603 Allocate the default empty string on the heap, because this string
38604 may be freed later.
38605
38606 * kern/device.c: Include grub/env.h.
38607 (grub_device_set_root): Removed.
38608 (grub_device_get_root): Likewise.
38609 (grub_device_open): Use grub_env_get instead of
38610 grub_device_get_root.
38611
38612 * include/grub/env.h (grub_env_read_hook_t): New type.
38613 (grub_env_write_hook_t): Likewise.
38614 (grub_env_var): Change the types of "read_hook" and "write_hook"
38615 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
38616 (grub_register_variable_hook): Likewise.
38617
38618 * include/grub/device.h (grub_device_set_root): Removed.
38619 (grub_device_set_root): Likewise.
38620
38621 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
38622 make sure that DIRNAME terminates with '/', so that
38623 grub_fat_find_dir will fail if PATH is not a directory.
38624
38625 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
38626 from DIRNAME.
38627 Use the qualifier auto for print_files and print_files_long.
38628 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
38629 as a regular file.
38630 Put a newline only if there is no error.
38631 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
38632 used.
38633
896f0afd 386342005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38635
38636 * kern/partition.c (grub_partition_probe): Initialize PART to
38637 NULL. Otherwise, when no partition map is registered, this returns
38638 a garbage.
38639
b28b81b2 386402005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
38641
38642 * partmap/apple.c (apple_partition_map_iterate): Check if POS
38643 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
38644 valid.
38645
5f3607e0 386462005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
38647
38648 * commands/ls.c (grub_ls_list_disks): Print the filesystem
38649 information on each device, if it does not have partitions. Print
38650 "Device" instead of "Disk", because this function is not specific
38651 to disk devices.
38652
38653 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
38654 static to ensure that it is put on the memory rather than a
38655 register.
38656
502c87e8 386572005-07-17 Yoshinori Okuji <okuji@enbug.org>
38658
38659 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
38660 (grub_cat_init): Likewise.
38661 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
38662 (options): Likewise.
38663 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
38664 (grub_configfile_init): Likewise.
38665 * font/manager.c (GRUB_MOD_INIT): Likewise.
38666 * commands/help.c (GRUB_MOD_INIT): Likewise.
38667 (grub_help_init): Likewise.
38668 * normal/command.c (grub_command_init): Likewise.
38669 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
38670 * disk/loopback.c (grub_loop_init): Likewise.
38671 (GRUB_MOD_INIT): Likewise.
38672 * commands/ls.c (grub_ls_init): Likewise.
38673 (GRUB_MOD_INIT): Likewise.
38674 (options): Likewise.
38675 * commands/boot.c (grub_boot_init): Likewise.
38676 (GRUB_MOD_INIT): Likewise.
38677 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
38678 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
38679 (GRUB_MOD_INIT): Likewise.
38680 * commands/cmp.c (grub_cmp_init): Likewise.
38681 (GRUB_MOD_INIT): Likewise.
38682
38683 * normal/arg.c: Use <> instead of "" to include header files.
38684 (SHORT_ARG_HELP): New macro.
38685 (SHORT_ARG_USAGE): Likewise.
38686 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
38687 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
38688 descriptions.
38689 (find_short): Check if C is 'h' or 'u' explicitly.
38690 (grub_arg_show_help): Use space characters instead of tabs. Treat
38691 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
38692 are shown with --help and --usage only if they are not used for
38693 the command itself.
38694 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
38695 'h' and 'u'.
38696
38697 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
38698 const into "longarg". Change the type of "shortarg" to int.
38699
f806d18e 387002005-07-17 Yoshinori Okuji <okuji@enbug.org>
38701
38702 * boot/i386/pc/boot.S (boot_drive_check): New label.
38703
38704 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
38705 macro.
38706
38707 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
38708 which do not pass a boot drive correctly. Copied from GRUB Legacy.
38709
e293232b 387102005-07-17 Yoshinori Okuji <okuji@enbug.org>
38711
38712 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
38713 When turning off Gate A20, skip the check and return immediately,
38714 because this is not fatal usually.
38715
ebedfd00 387162005-07-17 Yoshinori Okuji <okuji@enbug.org>
38717
38718 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38719 be 0x7C00 instead of 0x8000.
38720
38721 * boot/i386/pc/pxeboot.S: Rewritten.
38722
38723 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38724 EXT_C.
38725 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38726 result.
38727
654fc59f 387282005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38729
38730 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38731 robustness. This routine now supports a BIOS call and System
38732 Control Port A to modify the gate A20.
38733
38734 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38735 Increased to 0x440.
38736
09f9923f 387372005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38738
38739 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38740 device path and resulting ihandle.
38741 (grub_ofdisk_close): dprintf the ihandle being closed.
38742 (grub_ofdisk_read): dprintf function parameters.
38743 * kern/mm.c (grub_mm_init_region): Likewise.
38744 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38745 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38746 size, and boot arguments.
38747 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38748 before loading into memory.
38749 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38750 before loading into memory.
38751
7ef504d8 387522005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38753
38754 * kern/mm.c: Added much documentation.
38755 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38756 8, set to 5 instead of 8.
38757
e0f050c2 387582005-07-10 Yoshinori Okuji <okuji@enbug.org>
38759
38760 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38761
38762 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38763 (grub_mkdevicemap_SOURCES): New variable.
38764
38765 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38766 lib/device.c of GRUB Legacy.
38767
7224189a 387682005-07-10 Yoshinori Okuji <okuji@enbug.org>
38769
38770 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38771 instead of PATH is NULL.
38772
68c864eb 387732005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38774
38775 * commands/cmp.c (BUFFER_SIZE): New macro.
38776 (grub_cmd_cmp): Close the right file at the right time. Compare
38777 only data just read. Don't report files of different size as
38778 identical. Dynamically allocate buffers. Move variable
38779 declarations at the beginning of function.
38780
e6f3e614 387812005-07-09 Yoshinori Okuji <okuji@enbug.org>
38782
38783 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38784 reverse.
38785
f8f1559a 387862004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38787
38788 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38789 when backspace is pressed at beginning of line.
38790
39c9d41d 387912005-07-03 Yoshinori Okuji <okuji@enbug.org>
38792
38793 * DISTLIST: Added genfslist.sh.
38794
38795 * normal/main.c (fs_module_list): New variable.
38796 (autoload_fs_module): New function.
38797 (read_fs_list): Likewise.
38798 (grub_normal_execute): Call read_fs_list.
38799
38800 * kern/fs.c (grub_fs_autoload_hook): New variable.
38801 (grub_fs_probe): Added support for auto-loading.
38802
38803 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38804 (grub_fs_module_list_t): New type.
38805
38806 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38807 (grub_fs_autoload_hook): New prototype.
38808
38809 * genfslist.sh: New file.
f19dbdb7 38810
39c9d41d 38811 * genmk.rb: Added a rule to generate a filesystem list.
38812
121c1d83 388132005-06-30 Marco Gerards <metgerards@student.han.nl>
38814
38815 * configure.ac: Fix the test for cross-compiling.
38816
38817 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38818 define GRUB_UTIL anymore.
38819
38820 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38821 so this function works on other systems than just big endian.
38822 (load_modules): Likewise.
38823 (add_segments): Likewise.
38824
e75d76e1 388252005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38826
38827 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38828 contains `l' modifier, get a long from va_arg().
38829
50b5a0a7 388302005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38831
38832 * kern/mm.c (grub_free): If the next free block which is being
38833 merged is the first free block, set the first block to the block
38834 being freed.
38835 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38836
89371b20 388372005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38838
38839 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38840 `grub_ieee1275_chosen'.
38841
168d6e58 388422005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38843
38844 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38845 (grub_ieee1275_chosen): New variable.
38846 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38847 `chosen'.
38848 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38849 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38850 Rename first argument to `phandle' for consistency.
38851 (grub_ieee1275_get_property_length): Likewise.
38852 (grub_ieee1275_next_property): Likewise. Change type of first argument
38853 to grub_ieee1275_phandle_t.
38854 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38855 Move export next to declaration.
38856 (grub_ieee1275_chosen): New variable.
38857 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38858 Correct cosmetic typo.
38859 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38860 `grub_ieee1275_chosen'.
38861 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38862 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38863 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38864 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38865 `grub_ieee1275_chosen'.
38866
ca5baa3f 388672005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38868
38869 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38870 /chosen/bootargs.
38871 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38872 /chosen/bootargs as "variable=value" pairs.
38873
708b345f 388742005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38875
38876 * include/grub/misc.h (grub_dprintf): New macro.
38877 (grub_real_dprintf): New prototype.
38878 (grub_strword): Likewise.
38879 (grub_iswordseparator): Likewise.
38880 * kern/misc.c (grub_real_dprintf): New function.
38881 (grub_strword): Likewise.
38882 (grub_iswordseparator): Likewise.
38883
f4c5e67c 388842005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38885
38886 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38887 (roundup): Remove macro.
38888 (grub_ieee1275_flags): Make static.
38889 (grub_ieee1275_realmode): Remove.
38890 (grub_ieee1275_test_flag): New function.
38891 (grub_ieee1275_set_flag): Likewise.
38892 (find_options): Rename to `grub_ieee1275_find_options'; update
38893 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38894 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38895 (cmain): New prototype.
38896 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38897 `grub_ieee1275_flags' directly.
38898 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38899 machine/biosdisk.h.
38900 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38901 Don't include grub/machine/init.h.
38902 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38903 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38904 Remove prototype.
38905 (grub_ieee1275_realmode): Likewise.
38906 (grub_ieee1275_flag): New enum.
38907 (grub_ieee1275_test_flag): New prototype.
38908 (grub_ieee1275_set_flag): New prototype.
38909 * include/grub/powerpc/ieee1275/init.h: Remove file.
38910 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38911 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38912 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38913 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38914 comment.
38915 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38916 `grub_ieee1275_test_flag'.
38917 (grub_ieee1275_encode_devname): Likewise.
38918
ed16607e 389192005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38920
38921 * include/grub/powerpc/ieee1275/ieee1275.h
38922 (grub_ieee1275_encode_devname): New prototype.
38923 (grub_ieee1275_get_filename): Likewise.
38924 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38925 function.
38926 (grub_set_prefix): Likewise.
38927 (grub_machine_init): Call grub_set_prefix.
38928 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38929 (grub_parse_type): New enum.
38930 (grub_ieee1275_get_devargs): New function.
38931 (grub_ieee1275_get_devname): Likewise.
38932 (grub_ieee1275_parse_args): Likewise.
38933 (grub_ieee1275_get_filename): Likewise.
38934 (grub_ieee1275_encode_devname): Likewise.
38935
be369920 389362005-03-30 Marco Gerards <metgerards@student.han.nl>
38937
38938 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38939 `grub_loader_unset'.
38940
a5ce3a4a 389412005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38942
38943 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38944 instead of grub_ieee1275_interpret.
38945 (grub_halt_init): New function.
38946 (grub_halt_fini): Likewise.
38947 (GRUB_MOD_INIT): Correct message grammar.
38948 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38949 instead of grub_ieee1275_interpret.
38950 (grub_reboot_init): New function.
38951 (grub_reboot_fini): Likewise.
38952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38953 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38954 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38955 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38956 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38957 function.
38958 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38959 Add prototype.
38960 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38961 prototype.
38962 (grub_halt): Likewise.
38963 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38964 (cmain): Remove __attribute__((unused)).
38965 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38966 (grub_heap_len): Likewise.
38967 (grub_machine_fini): New function.
38968 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38969 (grub_halt): Likewise.
38970 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38971 function.
38972 * util/powerpc/ieee1275/misc.c: New file.
38973
0058f771 389742005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38975
38976 * DISTLIST: New file.
38977 * gendistlist.sh: Likewise.
f19dbdb7 38978
0058f771 38979 * Makefile.in (COMMON_DISTFILES): Removed.
38980 (BOOT_DISTFILES): Likewise.
38981 (CONF_DISTFILES): Likewise.
38982 (DISK_DISTFILES): Likewise.
38983 (FS_DISTFILES): Likewise.
38984 (INCLUDE_DISTFILES): Likewise.
38985 (KERN_DISTFILES): Likewise.
38986 (LOADER_DISTFILES): Likewise.
38987 (TERM_DISTFILES): Likewise.
38988 (UTIL_DISTFILES): Likewise.
38989 (DISTFILES): Likewise.
38990 (uninstall): Uninstall files in $(pkgdata_DATA).
38991 (DISTLIST): New target.
38992 (distdir): Use the contents of the file DISTLIST to get a list of
38993 distributed files.
38994
46b3b8a5 389952005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38996
38997 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38998 descriptor. This is ported from GRUB Legacy.
38999
39000 * gencmdlist.sh: Added an extra semicolon to make it work with
39001 old sed versions. Reported by Robert Bihlmeyer
39002 <robbe@orcus.priv.at>.
39003
5822ff87 390042005-03-08 Yoshinori Okuji <okuji@enbug.org>
39005
39006 Automatic loading of commands is supported.
f19dbdb7 39007
5822ff87 39008 * normal/main.c (read_command_list): New function.
39009 (grub_normal_execute): Call read_command_list.
39010
39011 * normal/command.c (grub_register_command): Return zero or CMD.
39012 Allocate CMD->NAME from the heap.
39013 Initialize CMD->MODULE_NAME to zero.
39014 Find the same name as well. If the same command is found and it is
39015 a dummy command, overwrite members. If it is not a dummy command,
39016 return zero.
39017 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
39018 (grub_command_find): If a dummy command is found, load a module
39019 and retry to find a command only once.
39020
39021 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
39022 make sure that each command is loaded.
39023
39024 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
39025 macro.
39026 (struct grub_command): Remove const from the member `name'.
39027 Add a new member `module_name'.
39028 (grub_register_command): Return grub_command_t.
39029
39030 * commands/help.c (grub_cmd_help): Call grub_command_find to make
39031 sure that each command is loaded.
39032
39033 * genmk.rb (PModule::rule): Specify a module name without the
39034 suffix ".mod" to gencmdlist.sh.
39035
7b1f4b57 390362005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39037
39038 * gencmdlist.sh: New file.
f19dbdb7 39039
7b1f4b57 39040 * genmk.rb (PModule::rule): Generate a rule for a command list.
39041 Clean command.lst.
39042 Generate command.lst from $(COMMANDFILES).
39043
39044 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
39045 (DATA): Added $(pkgdata_DATA).
39046 (install-local): Install files in $(pkgdata_DATA).
39047
062aaf39 390482005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39049
39050 * term/i386/pc/vga.c (debug_command): Removed.
39051 (GRUB_MOD_INIT): Do not register the command "debug".
39052
39053 From Hollis Blanchard:
39054 * commands/configfile.c: New file.
39055 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39056 commands/configfile.c.
39057 (pkgdata_MODULES): Added configfile.mod.
39058 (configfile_mod_SOURCES): New variable.
39059 (configfile_mod_CFLAGS): Likewise.
39060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39061 commands/configfile.c.
39062 (pkgdata_MODULES): Added configfile.mod.
39063 (configfile_mod_SOURCES): New variable.
39064 (configfile_mod_CFLAGS): Likewise.
39065 * util/grub-emu.c (main): Call grub_configfile_init and
39066 grub_configfile_fini.
39067 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
39068 prototype.
39069 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 39070
cee01aa6 390712005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
39072
39073 * normal/arg.c (grub_arg_show_help): Do not show the bug report
39074 address.
39075
39076 * commands/help.c (grub_cmd_help): Do not print newlines after
39077 the last command in print_command_help.
39078
93f3a1d8 390792005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
39080
39081 * commands/default.h: New file.
39082 * commands/timeout.h: Likewise.
39083 * normal/context.c: Likewise.
f19dbdb7 39084
93f3a1d8 39085 * util/misc.c: Do not include sys/times.h.
39086 Include sys/time.h and grub/machine/time.h.
39087 (grub_get_rtc): Rewritten with gettimeofday.
39088
39089 * util/grub-emu.c (main): Call grub_default_init and
39090 grub_timeout_init before grub_normal_init, and call
39091 grub_timeout_fini and grub_default_fini after grub_main.
39092
39093 * util/console.c (grub_ncurses_checkkey): Return the read
39094 character or -1.
39095
39096 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
39097 timeouts.
39098
39099 * normal/main.c (read_config_file): Push MENU. If this fails,
39100 print an error and wait for a user input.
39101 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
39102 If a menu is empty or an error occurs, pop MENU.
39103 (grub_normal_execute): Pop and free MENU after grub_menu_run
39104 returns.
39105
39106 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
39107
39108 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
39109 include time.h.
39110 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
39111 without GRUB_UTIL.
39112 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
39113 time.h.
39114 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
39115 without GRUB_UTIL.
39116
39117 * include/grub/normal.h (struct grub_menu_list): New struct.
39118 (grub_menu_list_t): New type.
39119 (struct grub_context): New struct.
39120 (grub_context_t): New type.
39121 (grub_register_command): Got rid of EXPORT_FUNC.
39122 (grub_unregister_command): Likewise.
39123 (grub_context_get): New prototype.
39124 (grub_context_get_current_menu): Likewise.
39125 (grub_context_push_menu): Likewise.
39126 (grub_context_pop_menu): Likewise.
39127 [GRUB_UTIL] (grub_default_init): Likewise.
39128 [GRUB_UTIL] (grub_default_fini): Likewise.
39129 [GRUB_UTIL] (grub_timeout_init): Likewise.
39130 [GRUB_UTIL] (grub_timeout_fini): Likewise.
39131
39132 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
39133 commands/timeout.c and normal/context.c.
39134 (pkgdata_MODULES): Added default.mod and timeout.mod.
39135 (normal_mod_SOURCES): Added normal/context.c.
39136 (default_mod_SOURCES): New variable.
39137 (default_mod_CFLAGS): Likewise.
39138 (timeout_mod_SOURCES): Likewise.
39139 (timeout_mod_CFLAGS): Likewise.
39140 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
39141 conf/i386-pc.rmk.
39142 (pkgdata_MODULES): Added default.mod and timeout.mod.
39143 (normal_mod_SOURCES): Added normal/context.c.
39144 (default_mod_SOURCES): New variable.
39145 (default_mod_CFLAGS): Likewise.
39146 (timeout_mod_SOURCES): Likewise.
39147 (timeout_mod_CFLAGS): Likewise.
39148
39149 * Makefile.in (all-local): Added $(MKFILES).
39150
4ed2e1dd 391512005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
39152
39153 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
39154 (grub_emu_SOURCES): Likewise.
39155 (pkgdata_MODULES): Add `sun.mod'.
39156 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
39157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39158 `partmap/sun.c'.
39159 (pkgdata_MODULES): Add `sun.mod'.
39160 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
39161 * include/grub/partition.h (grub_sun_partition_map_init): New
39162 prototype.
39163 (grub_sun_partition_map_fini): Likewise.
39164 * partmap/sun.c: New file.
39165 * util/grub-emu.c (main): Initialize and de-initialize the sun
39166 partitionmap support.
39167
4d4e372e 391682005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
39169
39170 This implements an Emacs-like menu entry editor.
f19dbdb7 39171
4d4e372e 39172 * normal/menu_entry.c: New file.
f19dbdb7 39173
4d4e372e 39174 * util/console.c (grub_ncurses_putchar): Translate some Unicode
39175 characters to ASCII.
39176 (saved_char): New variable.
39177 (grub_ncurses_checkkey): Rewritten completely.
39178 (grub_ncurses_getkey): Likewise.
39179 (grub_ncurses_init): Call raw instead of cbreak.
39180
39181 * normal/menu.c (print_entry): Do not put a space.
39182 (init_page): Renamed to ...
39183 (grub_menu_init_page): ... this. All callers changed.
39184 (edit_menu_entry): Removed.
39185 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
39186
39187 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
39188
39189 * kern/misc.c (grub_vprintf): Call grub_refresh.
39190
39191 * normal/menu.c (DISP_LEFT): Renamed to ...
39192 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
39193 * normal/menu.c (DISP_UP): Renamed to ...
39194 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
39195 * normal/menu.c (DISP_RIGHT): Renamed to ...
39196 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
39197 * normal/menu.c (DISP_DOWN): Renamed to ...
39198 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
39199 * normal/menu.c (DISP_HLINE): Renamed to ...
39200 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
39201 * normal/menu.c (DISP_VLINE): Renamed to ...
39202 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
39203 * normal/menu.c (DISP_UL): Renamed to ...
39204 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
39205 * normal/menu.c (DISP_UR): Renamed to ...
39206 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
39207 * normal/menu.c (DISP_LL): Renamed to ...
39208 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
39209 * normal/menu.c (DISP_LR): Renamed to ...
39210 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
39211 * normal/menu.c (TERM_WIDTH): Renamed to ...
39212 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
39213 * normal/menu.c (TERM_HEIGHT): Renamed to ...
39214 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
39215 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
39216 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
39217 * normal/menu.c (TERM_MARGIN): Renamed to ...
39218 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
39219 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
39220 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
39221 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
39222 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
39223 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
39224 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
39225 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
39226 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
39227 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
39228 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
39229 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
39230 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
39231 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
39232 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
39233 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
39234 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
39235 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
39236 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
39237 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
39238 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
39239 All callers changed.
39240
39241 * include/grub/normal.h: New prototype.
39242
39243 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39244 normal/menu_entry.c.
39245 (normal_mod_SOURCES): Likewise.
39246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39247 (normal_mod_SOURCES): Likewise.
39248
e6b92c8a 392492005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
39250
39251 * include/grub/normal.h (grub_halt_init): New prototype.
39252 (grub_halt_fini): Likewise.
39253 (grub_reboot_init): Likewise.
39254 (grub_reboot_fini): Likewise.
39255
39256 * util/grub-emu.c: Include signal.h.
39257 (main_env): New global variable.
39258 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
39259 catch C-c.
39260 (grub_machine_fini): New function.
39261 (main): Call grub_halt_init and grub_reboot_init before
39262 grub_main, and grub_reboot_fini and grub_halt_fini after it.
39263 Call setjmp with MAIN_ENV to go back afterwards.
39264 Call grub_machine_fini right before return.
39265
39266 * include/grub/util/misc.h: Include setjmp.h.
39267 (main_env): New prototype.
39268
39269 * include/grub/kernel.h (grub_machine_fini): New prototype.
39270 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
39271 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
39272
39273 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
39274 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
39275 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 39276
e6b92c8a 39277 * util/i386/pc/misc.c: New file.
f19dbdb7 39278
e6b92c8a 39279 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39280 util/i386/pc/misc.c, commands/i386/pc/halt.c and
39281 commands/i386/pc/reboot.c.
39282
c642636f 392832005-02-14 Guillem Jover <guillem@hadrons.org>
39284
39285 * include/grub/dl.h (grub_dl_check_header): New prototype.
39286 (grub_arch_dl_check_header): Change return type to grub_err_t,
39287 remove size parameter and export function. Update all callers.
39288 * kern/dl.c (grub_dl_check_header): New function.
39289 (grub_dl_load_core): Use `grub_dl_check_header' instead of
39290 `grub_arch_dl_check_header'. Check ELF type. Check if sections
39291 are inside the core.
39292 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
39293 independent ELF header checks.
39294 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39295 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
39296 `grub_dl_check_header' instead of explicit checks. Check for the
39297 ELF type.
39298 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
39299 `grub_dl_check_header' instead of explicit checks. Remove arch
39300 specific ELF header checks.
39301
e6b92c8a 39302 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
39303 argument SIZE.
39304
5eabe94b 393052005-02-13 Hollis Blanchard <hollis@penguinppc.org>
39306
39307 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
39308 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
39309
1b14a681 393102005-02-12 Hollis Blanchard <hollis@penguinppc.org>
39311
39312 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 39313 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 39314 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 39315 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 39316 * partmap/amiga.c (amiga_partition_map_iterate): Return
39317 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
39318 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39319
aca108aa 393202005-02-01 Guillem Jover <guillem@hadrons.org>
39321
39322 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
39323 help info.
39324
c9f9c556 393252005-01-31 Marco Gerards <metgerards@student.han.nl>
39326
39327 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
39328 Removed prototype.
39329 (grub_rescue_cmd_linux): New prototype.
39330 (grub_rescue_cmd_initrd): Likewise.
39331 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
39332 `bi_rec'.
39333 (grub_linux_release_mem): Release the memory for the initrd.
39334 (grub_load_linux): Renamed from this...
39335 (grub_rescue_cmd_linux): ...To this. Changed all callers.
39336 Changed `entry' not to be static. Loop over memory regions to
39337 find another one when the default fails.
39338 (grub_rescue_cmd_initrd): New function.
39339 (grub_linux_init): Remove function.
39340 (grub_linux_fini): Likewise.
39341 (GRUB_MOD_INIT): Register `initrd'.
39342 (GRUB_MOD_FINI): Unregister `initrd'.
39343 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
39344 Function removed.
39345 (grub_linux_normal_fini): Likewise.
39346 (GRUB_MOD_INIT): Register `initrd'.
39347 (GRUB_MOD_FINI): Unregister `initrd'.
39348
990cf3aa 393492005-01-31 Marco Gerards <metgerards@student.han.nl>
39350
39351 * commands/help.c: New file.
39352 * normal/arg.c (show_help): Renamed to...
39353 (grub_arg_show_help): ... this.
39354 * commands/i386/pc/halt.c: New file.
39355 * commands/i386/pc/reboot.c: Likewise.
39356 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
39357 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
39358 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
39359 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
39360 variables.
39361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39362 `commands/help.c'.
39363 (pkgdata_MODULES): Add `help.mod'.
39364 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
39365 * grub/i386/pc/init.h (grub_reboot): New prototype.
39366 (grub_halt): Likewise.
39367 * include/grub/normal.h (grub_arg_show_help): New prototype.
39368 (grub_help_init): Likewise.
39369 (grub_help_fini): Likewise.
39370 * util/grub-emu.c (main): Initialize and deinitialize the help
39371 command.
39372
39373 * normal/cmdline.c (grub_cmdline_get): Doc fix.
39374
39375 * normal/command.c (grub_command_init): Fixed the description of
39376 the `set' and `unset' commands.
39377
393782005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 39379
39380 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
39381 function.
39382 * commands/ieee1275/halt.c: New file.
39383 * commands/ieee1275/reboot.c: Likewise.
39384 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
39385 `__attribute__ ((unused))'. Some GCS related fixed.
39386 (grub_suspend_init) [GRUB_UTIL]: Function removed.
39387 (grub_suspend_fini): Likewise.
39388 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
39389 and `halt.mod'.
39390 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
39391 (halt_mod_CFLAGS): New variables.
39392 * include/grub/powerpc/ieee1275/ieee1275.h
39393 (grub_ieee1275_interpret): New prototype.
39394
1ab09cc7 393952005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
39396
39397 * include/grub/misc.h (memmove): New prototype.
39398 (memcpy): Likewise.
39399
8b8cbdb2 394002005-01-22 Hollis Blanchard <hollis@penguinppc.org>
39401
39402 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
39403 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
39404
e3741a27 394052005-01-22 Marco Gerards <metgerards@student.han.nl>
39406
39407 * kern/misc.c (grub_strndup): Function rewritten.
39408
776bd780 394092005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
39410
39411 * normal/menu.c (TERM_WIDTH): Macro redefined.
39412 (TERM_TOP_BORDER_Y): Likewise.
39413 (draw_border): Replaced while-loop by a for-loop. Make the number
39414 of lines consistent with the number of lines displayed in
39415 print_entries. Added a margin below the rectangle.
39416 (print_entry): Make the entry fit in the rectangle.
39417 (print_entries): Display the scroll arrows next to the right
39418 border.
39419
78026bce 394202005-01-21 Marco Gerards <metgerards@student.han.nl>
39421
39422 * fs/minix.c (grub_minix_find_file): Reserve more space for
39423 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
39424 `grub_strncpy' to copy `path' into it.
39425
67bbaf0f 394262005-01-21 Marco Gerards <metgerards@student.han.nl>
39427
39428 Add the loopback device, a device via which files can be accessed
39429 as devices.
f19dbdb7 39430
67bbaf0f 39431 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
39432 (pkgdata_MODULES): Add loopback.mod.
39433 (loopback_mod_SOURCES): New variable.
39434 (loopback_mod_CFLAGS): Likewise.
39435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39436 `disk/loopback.c'.
39437 (pkgdata_MODULES): Add loopback.mod.
39438 (loopback_mod_SOURCES): New variable.
39439 (loopback_mod_CFLAGS): Likewise.
39440 * disk/loopback.c: new file.
39441 * include/grub/normal.h (grub_loop_init): New prototype.
39442 (grub_loop_fini): New prototype.
39443 * util/grub-emu.c (main): Initialize and de-initialize loopback
39444 support.
39445 * include/grub/disk.h (grub_disk_dev_id): Add
39446 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
39447
6f1c18bd 394482005-01-20 Hollis Blanchard <hollis@penguinppc.org>
39449
39450 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
39451 function.
39452 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
39453 (suspend_mod_SOURCES): New variable.
39454 (suspend_mod_CFLAGS): Likewise.
39455 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
39456 New prototype.
39457 * commands/ieee1275/suspend.c: New file.
39458
b38551da 394592005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39460
39461 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 39462 ((unused))' to `__attribute__ ((used))'.
b38551da 39463 (GRUB_MOD_FINI): Likewise.
39464 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
39465 * genmk.rb (PModule): Assign space to common symbols when linking
39466 modules.
39467
777aff39 394682005-01-20 Marco Gerards <metgerards@student.han.nl>
39469
39470 * include/grub/mm.h (grub_mm_init_region): Change the type of the
39471 `unsigned' arguments to `grub_size_t'.
39472 (grub_malloc): Likewise.
39473 (grub_realloc): Likewise.
39474 (grub_memalign): Likewise.
39475 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
39476 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39477 * util/misc.c (grub_malloc): Likewise.
39478 (grub_realloc): Likewise.
39479 * kern/mm.c (get_header_from_pointer): Change the casts to
39480 `unsigned' into a cast to `grub_size_t'.
39481
39482 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
39483 point to `currnode' when `currnode' is changed.
39484
39485 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
39486 Schottelius <nico-linux@schottelius.org>.
39487
d0ff18e1 394882005-01-09 Hollis Blanchard <hollis@penguinppc.org>
39489
39490 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
39491 (note_path): Remove variable.
39492 (GRUB_IEEE1275_NOTE_NAME): New macro.
39493 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
39494 (grub_ieee1275_note_hdr): New structure.
39495 (grub_ieee1275_note_desc): Likewise.
39496 (grub_ieee1275_note): Likewise.
39497 (load_note): Remove `dir' argument. All callers updated. Remove
39498 `note_img' and `path'. Do not load a file from `note_path'.
39499 Initialize a struct grub_ieee1275_note and write that to `out'.
39500 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
39501
4ca7004c 395022005-01-05 Marco Gerards <metgerards@student.han.nl>
39503
39504 * util/misc.c (grub_util_read_image): Revert last change. It
39505 called `grub_util_read_at', which seeks from the beginning of the
39506 file.
39507
0b412211 395082005-01-04 Hollis Blanchard <hollis@penguinppc.org>
39509
39510 * TODO: Add note about endianness in grub-mkimage.
39511 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
39512 section.
39513 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
39514 (grub_mkimage_SOURCES): New target.
39515 * include/grub/kernel.h (grub_start_addr): Remove variable.
39516 (grub_end_addr): Likewise.
39517 (grub_total_module_size): Likewise.
39518 (grub_kernel_image_size): Likewise.
39519 (GRUB_MODULE_MAGIC): New constant.
39520 (grub_module_info): New structure.
39521 (grub_arch_modules_addr): New prototype.
39522 (grub_get_end_addr): Remove prototype.
39523 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
39524 * include/grub/powerpc/ieee1275/kernel.h: New file.
39525 * include/grub/util/misc.h (grub_util_get_fp_size): New
39526 prototype.
39527 (grub_util_read_at): Likewise.
39528 (grub_util_write_image_at): Likewise.
39529 * kern/main.c (grub_get_end_addr): Remove function.
39530 (grub_load_modules): Call grub_arch_modules_addr instead of using
39531 grub_end_addr. Look for a grub_module_info struct in memory. Use
39532 the grub_module_info fields instead of calling grub_get_end_addr
39533 as loop conditions. Move grub_add_unused_region code here.
39534 (grub_add_unused_region): Remove function.
39535 * kern/i386/pc/init.c: Include grub/cache.h.
39536 (grub_machine_init): Remove call to grub_get_end_addr. Remove
39537 one call to add_mem_region.
39538 (grub_arch_modules_addr): New function.
39539 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
39540 (grub_total_module_size): Likewise.
39541 Include grub/machine/kernel.h.
39542 (grub_arch_modules_addr): New function.
39543 * util/grub-emu.c (grub_end_addr): Remove variable.
39544 (grub_total_module_size): Likewise.
39545 (grub_arch_modules_addr): New function.
39546 * util/misc.c: Include unistd.h.
39547 (grub_util_get_fp_size): New function.
39548 (grub_util_read_at): Likewise.
39549 (grub_util_write_image_at): Likewise.
39550 (grub_util_read_image): Call grub_util_read_at.
39551 (grub_util_write_image): Call grub_util_write_image_at.
39552 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
39553 additional memory in kernel_img for a struct grub_module_info.
39554 Fill in that grub_module_info.
39555 * util/powerpc/ieee1275/grub-mkimage.c: New file.
39556
458786f8 395572005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39558
39559 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
39560 New function.
39561 * include/grub/powerpc/ieee1275/ieee1275.h
39562 (grub_ieee1275_milliseconds): New prototype.
39563 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
39564 Change to 1000.
39565 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
39566 grub_ieee1275_milliseconds.
39567
ac507d1b 395682005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39569
39570 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
39571 variable.
39572 (find_options): New function.
39573 (cmain): Call find_options.
39574 * include/grub/powerpc/ieee1275/ieee1275.h
39575 (grub_ieee1275_realmode): New extern variable.
39576 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
39577 grub_map if grub_ieee1275_realmode is false.
39578
6b8fd1c4 395792004-12-29 Marco Gerards <metgerards@student.han.nl>
39580
39581 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
39582 lines are inserted and make it work like readline. Reported by
39583 Vincent Pelletier <subdino2004@yahoo.fr>.
39584
8514a1e0 395852004-12-28 Marco Gerards <metgerards@student.han.nl>
39586
39587 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
39588
39589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
39590 `kern/powerpc/cache.S'.
39591
924b6140 395922004-12-27 Marco Gerards <metgerards@student.han.nl>
39593
39594 * genmk.rb: Handle the `Program' class in the main loop. Written
39595 by Johan Rydberg <jrydberg@gnu.org>.
39596 (Program): New class.
39597 (programs): New variable.
39598 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
39599 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
39600 instead of "grub/kernel.h". Include <grub/machine/init.h>.
39601 (help_arch): Function removed.
39602 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
39603 `powerpc/libgcc.h' and `loader.h'.
39604 (pkgdata_PROGRAMS): New variable.
39605 (sbin_UTILITIES): Variable removed.
39606 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
39607 (grubof_SOURCES): Variable re-defined so it only includes the
39608 core functionality.
39609 (grubof_CFLAGS): Remove `-DGRUBOF'.
39610 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
39611 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
39612 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
39613 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
39614 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
39615 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
39616 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
39617 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
39618 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
39619 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
39620 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39621 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
39622 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
39623 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
39624 (pc_mod_CFLAGS): New variables.
39625 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
39626 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
39627 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
39628 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
39629 Moved from here...
39630 * include/grub/i386/pc/init.h (grub_os_area_addr)
39631 (rub_os_area_size): ... to here.
39632 * include/grub/powerpc/ieee1275/ieee1275.h
39633 (grub_ieee1275_entry_fn): Export symbol.
39634 * include/grub/powerpc/ieee1275/init.h: New file.
39635 * include/grub/powerpc/libgcc.h: Likewise.
39636 * include/grub/cache.h: Likewise.
39637 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
39638 <hollis@penguinppc.org>.
39639 * kern/dl.c: Include <grub/cache.h>.
39640 (grub_dl_flush_cache): New function.
39641 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
39642 for this module.
39643 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
39644 (grub_console_init): Removed prototypes.
39645 (grub_machine_init): Don't initialize the modules anymore.
39646 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
39647 static.
39648 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
39649 Macro undef removed.
39650 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
39651 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
39652 relocation `R_PPC_REL32'. Return an error when the relocation is
39653 unknown.
39654 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
39655 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
39656 * util/misc.c (grub_arch_sync_caches): Likewise.
39657
e4b47e0c 396582004-12-19 Marco Gerards <metgerards@student.han.nl>
39659
39660 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
39661 `symlist.c', add `grubof_symlist.c'.
39662 (symlist.c): Variable removed.
39663 (grubof_HEADERS): Variable added.
39664 (grubof_symlist.c): New target.
39665 (kernel_syms.lst): Use `grubof_HEADERS' instead of
39666 `kernel_img_HEADERS'.
39667 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
39668 * kern/powerpc/dl.c: New file.
39669 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
39670 Function removed.
39671 (grub_arch_dl_relocate_symbols): Likewise.
39672 (grub_register_exported_symbols): Likewise.
39673
4ceb3636 396742004-12-13 Marco Gerards <metgerards@student.han.nl>
39675
39676 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
39677 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
39678 to fail instead. Reported by Vincent Pelletier
39679 <subdino2004@yahoo.fr>.
39680
39681 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
39682 it is not allocated. Reported by Vincent Pelletier
39683 <subdino2004@yahoo.fr>.
39684
39685 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
39686 output so the output looks better.
f19dbdb7 39687
3f1578fe 396882004-12-04 Marco Gerards <metgerards@student.han.nl>
39689
39690 Modulize the partition map support and add support for the amiga
39691 partition map.
f19dbdb7 39692
3f1578fe 39693 * commands/ls.c: Include <grub/partition.h> instead of
39694 <grub/machine/partition.h>.
39695 * kern/disk.c: Likewise.
39696 * kern/rescue.c: Likewise.
39697 * loader/i386/pc/chainloader.c: Likewise.
39698 * normal/cmdline.c: Likewise.
39699 * kern/powerpc/ieee1275/init.c: Likewise.
39700 (grub_machine_init): Call `grub_pc_partition_map_init',
39701 `grub_amiga_partition_map_init' and
39702 `grub_apple_partition_map_init'.
39703 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
39704 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
39705 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
39706 `partition.h' and `pc_partition.h'.
39707 (grub_setup_SOURCES): Remove
39708 `disk/i386/pc/partition.c'. Add `kern/partition.c',
39709 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39710 (grub_emu_SOURCES): Likewise.
39711 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
39712 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
39713 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
39714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39715 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
39716 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39717 (grubof_SOURCES): Likewise.
39718 * disk/i386/pc/partition.c: File removed.
39719 * disk/powerpc/ieee1275/partition.c: Likewise.
39720 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39721 * include/grub/i386/pc/partition.h: Likewise.
39722 * kern/partition.c: New file.
39723 * partmap/amiga.c: Likewise.
39724 * partmap/apple.c: Likewise.
39725 * partmap/pc.c: Likewise.
39726 * include/grub/partition.h: Likewise..
39727 * include/grub/pc_partition.h: Likewise.
39728 * util/grub-emu.c: Include <grub/partition.h> instead of
39729 <grub/machine/partition.h>.
39730 (main): Call `grub_pc_partition_map_init',
39731 `grub_amiga_partition_map_init' and
39732 `grub_apple_partition_map_init' and deinitialize afterwards.
39733 * util/i386/pc/biosdisk.c: Include `#include
39734 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39735 `<grub/machine/partition.h>'.
39736 * util/i386/pc/grub-setup.c: Likewise.
39737 * util/i386/pc/biosdisk.c: Likewise.
39738 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39739 partition information in case of a PC partition.
39740 * util/i386/pc/grub-setup.c: Include `#include
39741 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39742 `<grub/machine/partition.h>'.
39743 (setup): Only access the PC specific partition information in case
39744 of a PC partition.
39745
0ef4ced9 397462004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39747
0ef4ced9 39748 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39749 (grub_longjmp): Likewise.
39750 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39751 20.
39752 * normal/powerpc/setjmp.S: New file.
39753 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39754 `normal/powerpc/setjmp.S'.
39755 (grubof_CFLAGS): Add `-DGRUBOF'.
39756 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39757 [GRUB_UTIL && !GRUBOF].
f19dbdb7 39758
19950e29 397592004-11-16 Marco Gerards <metgerards@student.han.nl>
39760
39761 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39762 property named `name'. Correctly handle the error returned by
39763 `grub_ieee1275_finddevice' if a device can not be opened.
39764
a2fea427 397652004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39766
39767 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39768 `actual' for negativity.
39769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39770 kern/fshelp.c.
39771
41ea0ea3 397722004-11-01 Marco Gerards <metgerards@student.han.nl>
39773
39774 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39775 (PAGE_OFFSET): New macro.
39776 (CRTC_ADDR_PORT): Likewise.
39777 (CRTC_DATA_PORT): Likewise.
39778 (START_ADDR_HIGH_REGISTER): Likewise.
39779 (START_ADDR_LOW_REGISTER): Likewise.
39780 (GRAPHICS_ADDR_PORT): Likewise.
39781 (GRAPHICS_DATA_PORT): Likewise.
39782 (READ_MAP_REGISTER): Likewise.
39783 (INPUT_STATUS1_REGISTER): Likewise.
39784 (INPUT_STATUS1_VERTR_BIT): Likewise.
39785 (page): New variable.
39786 (wait_vretrace): New function.
39787 (set_read_map): Likewise.
39788 (set_start_address): Likewise.
39789 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39790 the right page.
39791 (check_vga_mem): Take the page into account.
39792 (write_char): Likewise.
39793 (write_cursor): Likewise.
39794 (scroll_up): Likewise. Copy the page to the page that is not
39795 shown and switch between both pages.
39796 (grub_vga_putchar): Fix off by one error.
39797 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39798 account.
39799
ad0bd20b 398002004-11-01 Marco Gerards <metgerards@student.han.nl>
39801
39802 Add support for iso9660 (including rockridge).
f19dbdb7 39803
ad0bd20b 39804 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39805 (iso9660_mod_SOURCES): New variable.
39806 (iso9660_mod_CFLAGS): Likewise.
39807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39808 * include/grub/fs.h (grub_iso9660_init): New prototype.
39809 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39810 * fs/iso9660.c: New file.
39811
39812 * include/grub/misc.h (grub_strncat): New prototype.
39813 * kern/misc.c (grub_strncat): New function.
f19dbdb7 39814
ad0bd20b 39815 * fs/hfs.c (grub_hfs_mount): Translate the error
39816 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39817 * fs/jfs.c (grub_jfs_mount): Likewise.
39818 * fs/ufs.c (grub_ufs_mount): Likewise.
39819
a5477a59 398202004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39821
39822 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39823 which initialized BAT registers.
39824 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39825 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39826 Move from here...
39827 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39828 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39829 ... to here.
39830 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39831 (grub_mapclaim): Likewise.
39832 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39833 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39834 hand.
39835
9304c1f8 398362004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39837
39838 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39839 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39840 -ffreestanding and -msoft-float.
39841
86f4ae25 398422004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39843
39844 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39845 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39846 set in grub_ieee1275_flags.
39847
38912228 398482004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39849
39850 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39851 prototype.
39852 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39853 grub_console_init first.
39854 Change the memory range used for grub_ieee1275_claim and
39855 grub_mm_init_region.
39856 Print an error message if the claim fails.
39857 Include <grub/misc.h>.
39858
d1923dc8 398592004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39860
39861 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39862 Call grub_children_iterate for device nodes of type `scsi',
39863 `ide', or `ata'.
39864 (grub_ofdisk_open): Remove manual device alias resolution.
39865 Fix memory leak when device cannot be opened.
f19dbdb7 39866 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 39867 (grub_children_iterate): New prototype.
39868 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39869 New function.
39870 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39871 Return -1 if args.size was -1.
39872
4512e4f3 398732004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39874
39875 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39876 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39877 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39878 Open Firmware's memory for it; claim memory from _start to _end.
39879 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39880 (_end): New extern.
39881 (_start): Zero BSS from __bss_start to _end.
39882 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39883 New extern.
39884 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39885
4d61feb0 398862004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39887
ad0bd20b 39888 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39889 -1 if args.base was -1.
4d61feb0 39890
026fa2f9 398912004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39892
39893 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39894 escape sequence instead of a literal ^L. Also call
39895 grub_ofconsole_gotoxy.
39896
9f2220ef 398972004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39898
39899 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39900 void * arguments to grub_addr_t. All callers updated. Also make
39901 the `result' argument optional.
39902 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39903 All callers updated.
39904
8a572cd7 399052004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39906
39907 * commands/ls.c (grub_ls_list_files): Use the string following the
39908 initial ')', if present, as the filesystem path.
39909 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39910
39911 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39912
18aa81f2 399132004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39914
39915 Make the source code of the menu interface more readable.
f19dbdb7 39916
18aa81f2 39917 * normal/menu.c: Include grub/mm.h.
39918 (TERM_WIDTH): New macro.
39919 (TERM_HEIGHT): Likewise.
39920 (TERM_INFO_HEIGHT): Likewise.
39921 (TERM_MARGIN): Likewise.
39922 (TERM_SCROLL_WIDTH): Likewise.
39923 (TERM_TOP_BORDER_Y): Likewise.
39924 (TERM_LEFT_BORDER_X): Likewise.
39925 (TERM_BORDER_WIDTH): Likewise.
39926 (TERM_MESSAGE_HEIGHT): Likewise.
39927 (TERM_BORDER_HEIGHT): Likewise.
39928 (TERM_NUM_ENTRIES): Likewise.
39929 (TERM_FIRST_ENTRY_Y): Likewise.
39930 (TERM_ENTRY_WIDTH): Likewise.
39931 (TERM_CURSOR_X): Likewise.
39932 (draw_border): Use macros instead of magic numbers.
39933 (print_entry): Likewise.
39934 (print_entries): Likewise.
39935 (run_menu): Likewise. Also, handle the key 'e'.
39936 (run_menu_entry): Ignore empty command lines.
39937 (print_message): Added a new argument EDIT. If EDIT is true,
39938 print a different message.
39939 (init_page): Likewise.
39940 (edit_menu_entry): New function. Not implemented yet.
39941
b47efe30 399422004-09-17 Marco Gerards <metgerards@student.han.nl>
39943
39944 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39945 can be loaded from normal mode.
f19dbdb7 39946
b47efe30 39947 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39948 `multiboot.mod'.
39949 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39950 (multiboot_mod_CFLAGS): New variables.
39951 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 39952 * loader/i386/pc/multiboot_normal.c: Likewise.
39953
b47efe30 39954 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39955 attribute `unused'.
f19dbdb7 39956
b47efe30 39957 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39958 `fdiro' to read the mode information from instead of `diro'.
39959
39960 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39961 looking up a symlink.
39962
39963 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39964 macro.
39965 * normal/command.c (grub_command_execute): Don't parse the
39966 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39967 flags of the command.
39968
39969 * normal/menu.c (grub_menu_run): Fix typo.
39970
da75ac71 399712004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39972
39973 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39974
39975 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39976 `y + 1' instead of `y - 1'.
39977
39978 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 39979
062b24c2 399802004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39981
39982 From Hollis Blanchard <hollis@penguinppc.org>:
39983 * kern/misc.c (memmove): New alias for grub_memmove.
39984 (memcmp): New alias for grub_memcmp.
39985 (memset): New alias for grub_memset.
f19dbdb7 39986 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 39987 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 39988 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 39989 (grub_ieee1275_get_property): Likewise.
f19dbdb7 39990
8ddad845 399912004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39992
39993 Added normal mode command `chainloader' as module chain.mod, which
39994 depends on normal.mod and _chain.mod.
f19dbdb7 39995
8ddad845 39996 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39997 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39998 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39999 Deleted prototype.
40000 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
40001 but arguments parsing moved to ...
40002 (grub_chainloader_cmd): ... here. New function.
40003 * include/grub/i386/pc/chainloader.h: New file.
40004 * loader/i386/pc/chainloader_normal.c: Likewise.
40005
2c1f4ce3 400062004-09-11 Marco Gerards <metgerards@student.han.nl>
40007
40008 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
40009 (grub_mkimage_LDFLAGS): Likewise.
40010 (grub_emu_SOURCES): Likewise.
40011 (kernel_img_HEADERS): Added fshelp.h.
40012 * fs/ext2.c: Include <grub/fshelp.h>.
40013 (FILETYPE_REG): New macro.
40014 (FILETYPE_INO_REG): Likewise.
40015 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
40016 Changed all users.
40017 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
40018 all users.
40019 (grub_fshelp_node): New struct.
40020 (grub_ext2_data): Added member `diropen'. Changed member `inode'
40021 to a pointer.
40022 (grub_ext2_get_file_block): Removed function.
40023 (grub_ext2_read_block): New function.
40024 (grub_ext2_read_file): Replaced parameter `data' by `node'.
40025 This function was written.
40026 (grub_ext2_mount): Read the root inode. Create a diropen struct.
40027 (grub_ext2_find_file): Removed function.
40028 (grub_ext2_read_symlink): New function.
40029 (grub_ext2_iterate_dir): Likewise.
40030 (grub_ext2_open): Rewritten.
40031 (grub_ext2_dir): Rewritten.
40032 * include/grub/fshelp.h: New file.
40033 * fs/fshelp.c: Likewise.
40034
3c52136a 400352004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
40036
40037 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
40038 (print_message): Add a missing newline.
40039 (run_menu): Added timeout support.
40040 (run_menu_entry): New local function.
40041 (grub_menu_run): Added support for booting.
40042
40043 * kern/loader.c (grub_loader_is_loaded): New function.
40044
40045 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
40046 (grub_get_rtc): Exported.
40047
40048 * include/grub/i386/pc/time.h: Include grub/symbol.h.
40049 (grub_get_rtc): Exported.
40050
40051 * include/grub/normal.h (struct grub_command_list): Remove
40052 constant from the member `command'.
40053
40054 * include/grub/loader.h (grub_loader_is_loaded): Declared.
40055
40056 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
40057
40058 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
40059
aa033560 400602004-08-28 Marco Gerards <metgerards@student.han.nl>
40061
40062 Add support for the JFS filesystem.
40063
40064 * fs/jfs.c: New file.
40065 * include/grub/fs.h (grub_jfs_init): New prototype.
40066 (grub_jfs_fini): New prototype.
40067 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
40068 (grub_emu_SOURCES): Likewise.
40069 (pkgdata_MODULES): Add jfs.mod.
40070 (jfs_mod_SOURCES): New variable.
40071 (jfs_mod_CFLAGS): Likewise.
40072 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
40073 (grubof_SOURCES): Likewise.
40074 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
40075
40076 * fs/fat.c (grub_fat_find_dir): Convert the filename little
40077 endian to the host endian.
40078 (grub_fat_utf16_to_utf8): Move function from there...
40079 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 40080 the endianness of the source string anymore.
aa033560 40081 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
40082
94bc45af 400832004-08-24 Marco Gerards <metgerards@student.han.nl>
40084
40085 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
40086 (grub_boot_fini) [GRUB_UTIL]: Likewise.
40087 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
40088 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 40089
94bc45af 40090 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
40091 (grub_hfs_iterate_dir): Make the function static. Add prototypes
40092 for `node_found' and `it_dir'.
40093 (grub_hfs_dir): Add prototype for `dir_hook'.
40094
40095 * fs/minix.c (grub_minix_get_file_block): Add prototype for
40096 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
40097 and `indir32' to silence a gcc warning.
40098
40099 * include/grub/fs.h (grub_hfs_init): New prototype.
40100 (grub_hfs_fini): Likewise.
f19dbdb7 40101
40102
97543f08 401032004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40104
40105 Each disk device has its own id now. This is useful to make use
40106 of multiple disk devices.
f19dbdb7 40107
97543f08 40108 * include/grub/disk.h (grub_disk_dev_id): New enum.
40109 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
40110 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
40111
40112 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
40113 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
40114
40115 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
40116 GRUB_DISK_DEVICE_OFDISK_ID as an id.
40117
40118 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
40119 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
40120
40121 * include/grub/disk.h (struct grub_disk_dev): Added a new member
40122 "id" which is used by the cache manager.
40123
40124 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
40125 of just "GRUB".
40126
64372eb4 401272004-08-18 Marco Gerards <metgerards@student.han.nl>
40128
40129 * fs/hfs.c: New file.
40130 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
40131 (grub_emu_SOURCES): Likewise.
40132 (pkgdata_MODULES): Add hfs.mod.
40133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
40134 (grubof_SOURCES): Likewise.
40135 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
40136
40137 * include/grub/misc.h (grub_strncasecmp): Add prototype.
40138 * kern/misc.c (grub_strncasecmp): Add function.
40139
cc61b58f 401402004-08-14 Marco Gerards <metgerards@student.han.nl>
40141
40142 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
40143 with parentheses.
40144
40145 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
40146 (grub_ext2_dir): In case the directory entry type is unknown, read
40147 it from the inode.
40148
0ef123f6 401492004-08-02 Peter Bruin <pjbruin@dds.nl>
40150
40151 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
40152 grub_load_linux instead of grub_rescue_cmd_linux as second
40153 argument of grub_rescue_register_command.
40154
40155 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
40156
a447c5df 401572004-07-27 Marco Gerards <metgerards@student.han.nl>
40158
40159 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
40160 function.
40161 * commands/boot.c: Remove the check for `GRUB_UTIL'.
40162 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
40163 `loader/powerpc/ieee1275/linux.c',
40164 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
40165 * include/grub/powerpc/ieee1275/ieee1275.h
40166 (grub_ieee1275_release): New prototype.
40167 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
40168 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
40169 normal, boot, linux and linux_normal.
40170 * loader/powerpc/ieee1275/linux.c: New file.
40171 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40172
5a9e3546 401732004-07-12 Marco Gerards <metgerards@student.han.nl>
40174
40175 * normal/arg.c (grub_arg_parse): Correct error handling after
40176 reallocating the argumentlist (check if `argl' is not null instead
40177 of checking if `args' is not null).
40178 * kern/mm.c (grub_realloc): Return the same pointer when using the
40179 same region, instead of returning the header address.
40180
e15199cb 401812004-07-11 Marco Gerards <metgerards@student.han.nl>
40182
40183 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
40184 one block instead of two when looking for the initial partition.
40185 (grub_partition_probe): Initialize the local variable `p' with 0.
40186 Use base 10 for the grub_strtoul call.
40187 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
40188 need for one local variable.
40189 (grub_strtoul): Don't add the new value to `num', instead of that
40190 just assign it.
40191
020616c2 401922004-07-11 Marco Gerards <metgerards@student.han.nl>
40193
40194 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
40195 (pxeboot_img_SOURCES): New variable.
40196 (pxeboot_img_ASFLAGS): Likewise.
40197 (pxeboot_img_LDFLAGS): Likewise.
40198 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
40199 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
40200 <lode_leroy@hotmail.com>.
40201
6c51eb64 402022004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
40203
40204 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
40205 there was no input.
40206
cfb12aff 402072004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
40208
40209 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
40210 the history buffer logic.
40211
6eabba74 402122004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
40213
40214 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
40215 (FILETYPE_INO_SYMLINK): New macros.
40216 (grub_ext2_find_file): Check if the node is a directory using the
40217 inode stat information instead of using the filetype in the
40218 dirent. Exclude the first character of an absolute symlink.
40219 (grub_ext2_dir): Mask out the filetype part of the mode member of
40220 the inode.
40221
66e19ef8 402222004-05-24 Marco Gerards <metgerards@student.han.nl>
40223
40224 Add support for UFS version 1 and 2. Add support for the minix
40225 filesystem version 1 and 2, both the variants with 14 and 30 long
40226 filenames.
f19dbdb7 40227
66e19ef8 40228 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
40229 fs/minix.c.
40230 (grub_emu_SOURCES): Likewise.
40231 (pkgdata_MODULES): Add ufs.mod and minix.mod.
40232 (ufs_mod_SOURCES): New variable.
40233 (ufs_mod_CFLAGS): Likewise.
40234 (minix_mod_SOURCES): Likewise.
40235 (minix_mod_CFLAGS): Likewise.
40236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
40237 fs/minix.c.
40238 (grubof_SOURCES): Likewise.
40239 * fs/ufs.c: New file.
40240 * fs/minix.c: New file.
40241 * include/grub/fs.h (grub_ufs_init): New prototype.
40242 (grub_ufs_fini): Likewise.
40243 (grub_minix_init): Likewise.
40244 (grub_minix_fini): Likewise.
40245 * util/grub-emu.c (main): Initialize and deinitialize UFS and
40246 minix fs.
40247
cc2e748a 402482004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
40249
40250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
40251 commands/ls.c, commands/terminal.c, commands/boot.c,
40252 commands/cmp.c and commands/cat.c.
40253 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
40254
40255 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
40256 "env.h"
40257
4b13b216 402582004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40259
40260 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
40261 and grub_, respectively. Because the conversion is trivial and
40262 mechanical, I omit the details here. Please refer to the CVS
40263 if you need more information.
40264
6a142551 402652004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40266
40267 * include/pupa: Renamed to ...
40268 * include/grub: ... this.
40269 * util/i386/pc/pupa-mkimage.c: Renamed to ...
40270 * util/i386/pc/grub-mkimage.c: ... this.
40271 * util/i386/pc/pupa-setup.c: Renamed to ...
40272 * util/i386/pc/grub-setup.c: ... this.
40273 * util/pupa-emu.c: Renamed to ...
40274 * util/grub-emu.c: ... this.
40275
e56cdf21 402762004-03-29 Marco Gerards <metgerards@student.han.nl>
40277
40278 Add support for the newworld apple macintosh (PPC). This has been
40279 tested on the powerbook 2000 only. It only adds support for
40280 generic ieee1275 functions, console and disk support. This should
40281 be easy to port to other architectures with support for Open
40282 Firmware.
f19dbdb7 40283
e56cdf21 40284 * configure.ac: Accept the powerpc as host_cpu. In the case of
40285 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
40286 specific tests are only executed while building for the i386.
40287 Inverse test for crosscompile.
40288 * genmk.rb (Utility): Allow assembler files.
40289 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
40290 * conf/powerpc-ieee1275.rmk: New file.
40291 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
40292 * disk/powerpc/ieee1275/partition.c: Likewise.
40293 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
40294 * include/pupa/powerpc/ieee1275/console.h: Likewise.
40295 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
40296 * include/pupa/powerpc/ieee1275/time.h: Likewise.
40297 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
40298 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
40299 * include/pupa/powerpc/ieee1275/loader.h
40300 * include/pupa/powerpc/setjmp.h: Likewise.
40301 * include/pupa/powerpc/types.h: Likewise.
40302 * kern/powerpc/ieee1275/init.c: Likewise.
40303 * kern/powerpc/ieee1275/openfw.c: Likewise.
40304 * term/powerpc/ieee1275/ofconsole.c: Likewise.
40305
40306 These files were written by Johan Rydberg
40307 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 40308
e56cdf21 40309 * boot/powerpc/ieee1275/cmain.c: New file.
40310 * boot/powerpc/ieee1275/crt0.S: Likewise.
40311 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
40312 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
40313
8c8cc205 403142004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
40315
40316 * Makefile.in: Update copyright.
40317 * genmodsrc.sh: Likewise.
40318 * gensymlist.sh: Likewise.
40319 * term/i386/pc/vga.c: Indent correctly.
40320
40321 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
40322 bugreporting address.
40323 * util/i386/pc/pupa-setup.c (usage): Likewise,
40324 (main): Call pupa_ext2_init and pupa_ext2_fini.
40325
f19dbdb7 40326 * fs/fat.c (log2): Renamed to ...
8c8cc205 40327 (fat_log2): ... this.
40328 All callers changed.
40329 * kern/misc.c (memcpy): Alias to pupa_memmove.
40330 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
40331 lvalue cast.
40332 * util/console.c (pupa_ncurses_fini): Return 0.
40333
40334 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
40335 Move fail label here.
40336 [__GNU__]: Don't warn when using stat.
40337 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
40338 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
40339 long int. Use strtol instead of strtoul.
f19dbdb7 40340
db1771cf 403412004-03-14 Marco Gerards <metgerards@student.han.nl>
40342
40343 * commands/boot.c: New file.
40344 * commands/cat.c: Likewise.
40345 * commands/cmp.c: Likewise.
40346 * commands/ls.c: Likewise.
40347 * commands/terminal.c: Likewise.
40348 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
40349 (pupa_register_command): Changed interface to match the new
40350 argument parser.
40351 (pupa_command_execute): Changed (almost rewritten) so it uses
40352 pupa_split_command. Added support for setting variables using the
40353 syntax `foo=bar'.
40354 (rescue_command): Changed to work with the new argument parser.
40355 (terminal_command): Moved from here to commands/terminal.c.
40356 (set_command): New function.
40357 (unset_command): New function.
40358 (insmod_command): New function.
40359 (rmmod_command): New function.
40360 (lsmod_command): New function.
40361 (pupa_command_init): Don't initialize the command terminal
40362 anymore. Initialize the commands set, unset, insmod, rmmod and
40363 lsmod.
40364 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
40365 (kernel_img_HEADERS): Add arg.h and env.h.
40366 (pupa_mkimage_LDFLAGS): Add kern/env.c.
40367 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
40368 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
40369 normal/arg.c.
40370 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
40371 terminal.mod.
40372 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
40373 (boot_mod_SOURCES): New variable.
40374 (terminal_mod_SOURCES): Likewise.
40375 (ls_mod_SOURCES): Likewise.
40376 (cmp_mod_SOURCES): Likewise.
40377 (cat_mod_SOURCES): Likewise.
40378
40379 * normal/arg.c: New file.
40380 * kern/env.c: Likewise.
40381 * include/pupa/arg.h: Likewise.
40382 * include/pupa/env.h: Likewise.
40383 * font/manager.c (font_command): Changed to match argument parsing
40384 interface changes.
40385 (PUPA_MOD_INIT): Likewise.
40386 * hello/hello.c (pupa_cmd_hello): Likewise.
40387 (PUPA_MOD_INIT): Likewise.
40388 * include/pupa/disk.h: Include <pupa/device.h>.
40389 (pupa_print_partinfo): New prototype.
40390 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
40391 (pupa_dl_get_prefix): Likewise.
40392 * include/pupa/misc.h: Include <pupa/err.h>.
40393 (pupa_isgraph): New prototype.
40394 (pupa_isdigit): Likewise.
40395 (pupa_split_cmdline): Likewise.
40396 * include/pupa/normal.h: Include <pupa/arg.h>.
40397 (pupa_command): Changed the prototype of the member `func' to
40398 match the argument parsing interface. Added member `options'.
40399 (pupa_register_command): Updated to match function.
40400 (pupa_arg_parse): New prototype.
40401 (pupa_hello_init) [PUPA_UTIL]: New prototype.
40402 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
40403 (pupa_ls_init) [PUPA_UTIL]: Likewise.
40404 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
40405 (pupa_cat_init) [PUPA_UTIL]: Likewise.
40406 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
40407 (pupa_boot_init) [PUPA_UTIL]: Likewise.
40408 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
40409 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
40410 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
40411 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
40412 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
40413 * kern/disk.c: Include <pupa/file.h>.
40414 (pupa_print_partinfo): New function.
40415 * kern/dl.c: Include <pupa/env.h>.
40416 (pupa_dl_dir): Variable removed.
40417 (pupa_dl_load): Use the environment variable `prefix' instead of
40418 the variable pupa_dl_dir.
40419 (pupa_dl_set_prefix): Function removed.
40420 (pupa_dl_get_prefix): Likewise.
40421 * kern/i386/pc/init.c: Include <pupa/env.h>.
40422 (pupa_machine_init): Use the environment variable `prefix' instead of
40423 using pupa_dl_set_prefix to set the prefix.
40424 * kern/main.c: Include <pupa/env.h>.
40425 (pupa_set_root_dev): Use the environment variable `prefix' instead of
40426 using pupa_dl_get_prefix to get the prefix.
40427 * kern/misc.c: Include <pupa/env.h>.
40428 (pupa_isdigit): New function.
40429 (pupa_isgraph): Likewise.
40430 (pupa_ftoa): Likewise.
40431 (pupa_vsprintf): Added support for printing values of the type
40432 `double'. Make it possible to format variable output when using
40433 formatting like `%1.2%f'.
40434 (pupa_split_cmdline): New function.
40435 * kern/rescue.c: Include <pupa/env.h>.
40436 (next_word): Removed function.
40437 (pupa_rescue_cmd_prefix): Likewise.
40438 (pupa_rescue_cmd_set): New function.
40439 (pupa_rescue_cmd_unset): New function.
40440 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
40441 split the command line instead of splitting it here. Added
40442 support for setting variables using the syntax `foo=bar'. Don't
40443 initialize the prefix command anymore. Initialized the set and
40444 unset commands.
40445 * normal/cmdline.c: Include <pupa/env.h>.
40446 (pupa_tab_complete): Added prototypes for print_simple_completion,
40447 print_partition_completion, add_completion, iterate_commands,
40448 iterate_dev, iterate_part and iterate_dir. Moved code to print
40449 partition information from here to kern/disk.c.
fe6b695a 40450 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 40451 * normal/main.c: Include <pupa/env.h>.
40452 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
40453 instead of using pupa_dl_get_prefix to get the prefix.
40454 * term/i386/pc/vga.c: Include <pupa/arg.h>.
40455 (check_vga_mem): Cast pointers to `void *' to silence a gcc
40456 warning.
40457 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
40458 (pupa_vga_setcolor): Declare unused variables with `__attribute__
40459 ((unused))' to silence a gcc warning.
40460 (pupa_vga_setcolor): Likewise.
40461 (debug_command): Changed to match argument parsing
40462 interface changes.
40463 * util/pupa-emu.c: Include <pupa/env.h>.
40464 (options): Added 0's for unused fields to silence a gcc warning.
40465 (argp): Likewise.
40466 (main): Use the environment variable `prefix' instead of using
40467 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
40468 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
40469 and terminal.
40470
40471 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
40472 * util/misc.c: Include <malloc.h>.
40473 (pupa_malloc): Rewritten so errors are correctly reported.
40474 (pupa_realloc): Likewise.
40475 (pupa_memalign): Likewise.
40476 (pupa_mm_init_region): Declare unused variables with
40477 `__attribute__ ((unused))' to silence a gcc warning.
40478 * normal/i386/setjmp.S: Remove tab at the end of the file to
40479 silence a gcc warning.
40480 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
40481 variables with `__attribute__ ((unused))' to silence a gcc
40482 warning.
40483 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
40484 local variable i unsigned to silence a gcc warning.
40485
40486 * kern/term.c: Include <pupa/misc.h>.
40487 (pupa_more_lines): New variable.
40488 (pupa_more): Likewise.
40489 (pupa_putcode): When the pager is active pause at the end of every
40490 screen.
40491 (pupa_set_more): New function.
40492 * include/pupa/term.h (pupa_set_more): New prototype.
40493
40494
3b1139cb 404952004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
40496
40497 Now this project is GRUB 2 rather than PUPA. The location of
40498 the CVS repository was moved to GRUB's.
f19dbdb7 40499
3b1139cb 40500 * configure.ac: Use bug-grub as the reporting address.
40501 Use GRUB instead of PUPA.
40502 Change the version number to 1.90.
40503
8367695c 405042004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
40505
40506 * genkernsyms.sh: Updated copyright information.
40507 * genmk.rb: Likewise.
40508 * genmodsrc.sh: Likewise.
40509 * gensymlist.sh: Likewise.
40510 * boot/i386/pc/boot.S: Likewise.
40511 * boot/i386/pc/diskboot.S: Likewise.
40512 * disk/i386/pc/biosdisk.c: Likewise.
40513 * disk/i386/pc/partition.c: Likewise.
40514 * font/manager.c: Likewise.
40515 * fs/ext2.c: Likewise.
40516 * fs/fat.c: Likewise.
40517 * include/pupa/boot.h: Likewise.
40518 * include/pupa/device.h: Likewise.
40519 * include/pupa/disk.h: Likewise.
40520 * include/pupa/dl.h: Likewise.
40521 * include/pupa/elf.h: Likewise.
40522 * include/pupa/err.h: Likewise.
40523 * include/pupa/file.h: Likewise.
40524 * include/pupa/font.h: Likewise.
40525 * include/pupa/fs.h: Likewise.
40526 * include/pupa/kernel.h: Likewise.
40527 * include/pupa/loader.h: Likewise.
40528 * include/pupa/misc.h: Likewise.
40529 * include/pupa/mm.h: Likewise.
40530 * include/pupa/net.h: Likewise.
40531 * include/pupa/normal.h: Likewise.
40532 * include/pupa/rescue.h: Likewise.
40533 * include/pupa/setjmp.h: Likewise.
40534 * include/pupa/symbol.h: Likewise.
40535 * include/pupa/term.h: Likewise.
40536 * include/pupa/types.h: Likewise.
40537 * include/pupa/i386/setjmp.h: Likewise.
40538 * include/pupa/i386/types.h: Likewise.
40539 * include/pupa/i386/pc/biosdisk.h: Likewise.
40540 * include/pupa/i386/pc/boot.h: Likewise.
40541 * include/pupa/i386/pc/console.h: Likewise.
40542 * include/pupa/i386/pc/init.h: Likewise.
40543 * include/pupa/i386/pc/kernel.h: Likewise.
40544 * include/pupa/i386/pc/linux.h: Likewise.
40545 * include/pupa/i386/pc/loader.h: Likewise.
40546 * include/pupa/i386/pc/memory.h: Likewise.
40547 * include/pupa/i386/pc/multiboot.h: Likewise.
40548 * include/pupa/i386/pc/partition.h: Likewise.
40549 * include/pupa/i386/pc/time.h: Likewise.
40550 * include/pupa/i386/pc/vga.h: Likewise.
40551 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
40552 * include/pupa/util/getroot.h: Likewise.
40553 * include/pupa/util/misc.h: Likewise.
40554 * include/pupa/util/resolve.h: Likewise.
40555 * kern/device.c: Likewise.
40556 * kern/disk.c: Likewise.
40557 * kern/dl.c: Likewise.
40558 * kern/err.c: Likewise.
40559 * kern/file.c: Likewise.
40560 * kern/fs.c: Likewise.
40561 * kern/loader.c: Likewise.
40562 * kern/main.c: Likewise.
40563 * kern/misc.c: Likewise.
40564 * kern/mm.c: Likewise.
40565 * kern/rescue.c: Likewise.
40566 * kern/term.c: Likewise.
40567 * kern/i386/dl.c: Likewise.
40568 * kern/i386/pc/init.c: Likewise.
40569 * kern/i386/pc/lzo1x.S: Likewise.
40570 * kern/i386/pc/startup.S: Likewise.
40571 * loader/i386/pc/chainloader.c: Likewise.
40572 * loader/i386/pc/linux.c: Likewise.
40573 * loader/i386/pc/multiboot.c: Likewise.
40574 * normal/cmdline.c: Likewise.
40575 * normal/command.c: Likewise.
40576 * normal/main.c: Likewise.
40577 * normal/menu.c: Likewise.
40578 * normal/i386/setjmp.S: Likewise.
40579 * term/i386/pc/console.c: Likewise.
40580 * term/i386/pc/vga.c: Likewise.
40581 * util/console.c: Likewise.
40582 * util/genmoddep.c: Likewise.
40583 * util/misc.c: Likewise.
40584 * util/pupa-emu.c: Likewise.
40585 * util/resolve.c: Likewise.
40586 * util/unifont2pff.rb: Likewise.
40587 * util/i386/pc/biosdisk.c: Likewise.
40588 * util/i386/pc/getroot.c: Likewise.
40589 * util/i386/pc/pupa-mkimage.c: Likewise.
40590 * util/i386/pc/pupa-setup.c: Likewise.
40591
e6eced71 405922004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
40593
40594 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
40595 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
40596 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
40597 reading and reset it after reading.
40598 (pupa_ext2_close): Return PUPA_ERR_NONE.
40599
40600 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
40601 Correct value.
40602 (struct linux_kernel_header): Add kernel_version and
40603 initrd_addr_max.
40604 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
40605 pupa_file_read succeeds.
40606 (pupa_rescue_cmd_initrd): Implement.
40607
5aded270 406082003-12-03 Marco Gerards <metgerards@student.han.nl>
40609
40610 * fs/ext2.c (pupa_ext2_label): New function.
40611 (pupa_ext2_fs): Added label.
40612 * fs/fat.c (pupa_fat_label): New function.
40613 (pupa_fat_fs): Added label.
40614 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
40615
40616 * kern/misc.c (pupa_strndup): New function.
40617 * include/pupa/misc.h (pupa_strndup): New prototype.
40618
40619 * include/pupa/normal.h: Include <pupa/err.h>.
40620 (pupa_set_history): New prototype.
40621 (pupa_iterate_commands): New prototype.
40622 * normal/cmdline.c: Include <pupa/machine/partition.h>,
40623 <pupa/disk.h>, <pupa/file.h>.
40624 (hist_size): New variable.
40625 (hist_lines): Likewise.
40626 (hist_end): Likewise.
40627 (hist_used): Likewise.
40628 (pupa_set_history): New function.
40629 (pupa_history_get): Likewise.
40630 (pupa_history_add): Likewise.
40631 (pupa_history_replace): Likewise.
40632 (pupa_tab_complete): Likewise.
40633 (pupa_cmdline_run): Added tab completion and history buffer. Tab
40634 completion shows partitionnames while completing partitions, this
40635 feature was suggested by Jeff Bailey.
40636 * normal/command.c (pupa_iterate_commands): New function.
40637 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
40638 (pupa_normal_init): Initialize history buffer.
40639 (PUPA_MOD_INIT): Likewise.
40640 (pupa_normal_fini): Free the history buffer.
40641 (PUPA_MOD_FINI): Likewise.
40642
40643 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
40644 key.
40645
40646 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
40647 * configure.ac [i386]: Check for regparam bug.
40648 (NESTED_FUNC_ATTR) [! i386]: Defined.
40649
1f7315a3 406502003-11-17 Marco Gerards <metgerards@student.han.nl>
40651
40652 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
40653 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
40654 (pupa_emu_SOURCES): New variable.
40655 (pupa_emu_LDFLAGS): Likewise.
40656 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
40657 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
40658 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
40659 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40660 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
40661 (pupa_jmp_buf): New typedef.
40662 (pupa_setjmp) [PUPA_UTIL]: New macro.
40663 (pupa_longjmp) [PUPA_UTIL]: Likewise.
40664 * include/pupa/term.h (struct pupa_term): New member `refresh'.
40665 (pupa_refresh): New prototype.
40666 * include/pupa/util/getroot.h: New file.
40667 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
40668 it.
40669 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
40670 (pupa_rescue_cmd_cat): Likewise.
40671 (pupa_rescue_cmd_ls): Likewise.
40672 (pupa_rescue_cmd_testload): Likewise.
40673 (pupa_rescue_cmd_lsmod): Likewise.
40674 * normal/cmdline.c (pupa_cmdline_get): Likewise.
40675 * normal/menu.c (run_menu): Likewise.
40676 * kern/term.c (pupa_cls): Likewise.
40677 (pupa_refresh): New function.
40678 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
40679 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40680 * util/console.c: New file.
f19dbdb7 40681
1f7315a3 40682 * util/i386/pc/getroot.c: New file.
40683 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
40684 (pupa_putchar): New function.
40685 (pupa_refresh): Likewise.
40686 (xgetcwd): Function moved to ...
40687 (strip_extra_slashes): Likewise.
40688 (get_prefix): Likewise.
f19dbdb7 40689 * util/i386/pc/getroot.c: ... here.
1f7315a3 40690 (find_root_device): Function moved and renamed to...
40691 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
40692 Changed all callers.
40693 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
40694 and renamed to...
40695 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
40696 Changed all callers.
40697 * util/misc.c (pupa_memalign): New function.
40698 (pupa_mm_init_region): Likewise.
40699 (pupa_register_exported_symbols): Likewise.
40700 (pupa_putchar): Function removed.
40701 * util/pupa-emu.c: New file.
40702
9a5c1ade 407032003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
40704
40705 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
40706 (_multiboot_mod_SOURCES): New variable.
40707 (_multiboot_mod_CFLAGS): Likewise.
40708 * loader/i386/pc/multiboot.c: New file.
40709 * include/pupa/i386/pc/multiboot.h: Likewise.
40710 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
40711 (pupa_multiboot_real_boot): New function.
40712 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
40713 (pupa_multiboot_real_boot): New prototype.
40714 (pupa_rescue_cmd_multiboot): Likewise
40715 (pupa_rescue_cmd_module): Likewise.
40716
40717 * kern/loader.c (pupa_loader_set): Continue when
40718 pupa_loader_unload_func() fails.
40719 (pupa_loader_unset): New function.
40720 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40721
40722 * kern/misc.c (pupa_stpcpy): New function.
40723 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40724
8e72a9c0 407252003-11-12 Marco Gerards <metgerards@student.han.nl>
40726
40727 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40728 for available extensions.
40729
40730 * include/pupa/i386/pc/time.h: New file.
40731 * kern/disk.c: Include <pupa/machine/time.h>.
40732 (PUPA_CACHE_TIMEOUT): New macro.
40733 (pupa_last_time): New variable.
40734 (pupa_disk_open): Flush the cache when there was a timeout.
40735 (pupa_disk_close): Reset the timer.
40736 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40737 pupa_currticks.
40738 * util/misc.c: Include <sys/times.h>
40739 (pupa_get_rtc): New function.
40740
c4adbd32 407412003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40742
40743 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40744 as blocks.
40745 (pupa_ext2_get_file_block): Use blocks member.
40746
40747 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40748 first block. Return -1 instead of pupa_errno on error.
40749
bfd30f06 407502003-10-27 Marco Gerards <metgerards@student.han.nl>
40751
40752 * README: In the pupa-mkimage example use _chain instead of chain
40753 and ext2 instead of fat.
40754 * TODO: Replace ext2fs with jfs as an example. Add an item for
40755 adding journal playback for ext2fs.
40756 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40757 (pkgdata_MODULES): Added ext2.mod.
40758 (ext2_mod_SOURCES): New variable.
40759 (ext2_mod_CFLAGS): Likewise.
40760 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40761 * include/pupa/misc.h (pupa_strncpy): New prototype.
40762 (pupa_strcat): Likewise.
40763 (pupa_strncmp): Likewise.
40764 * kern/misc.c (pupa_strcat): Enable function.
40765 (pupa_strncpy): New function.
40766 (pupa_strncmp): Likewise.
40767 * fs/ext2.c: New file.
f19dbdb7 40768
bfd30f06 40769 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40770 when the read failed before retrying.
40771 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40772 (_FILE_OFFSET_BITS): Likewise.
40773 * configure.ac: Added AC_SYS_LARGEFILE.
40774
98d15063 407752003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40776
40777 * genmk.rb (PModule#rule): Make sure to get only symbol names
40778 from the output of nm.
59cad637 40779 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 40780
18d9c7cd 407812003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40782
40783 I forgot to check in these changes for a long time. This adds
40784 incomplete support for VGA console, and this is still very
40785 buggy. Also, a lot of consideration is required for I18N,
40786 UNICODE, and VGA font issues. Therefore, assume that this is
40787 such that "better than nothing".
f19dbdb7 40788
18d9c7cd 40789 * font/manager.c: New file.
40790 * include/pupa/font.h: Likewise.
40791 * include/pupa/i386/pc/vga.h: Likewise.
40792 * term/i386/pc/vga.c: Likewise.
40793 * util/unifont2pff.rb: Likewise.
40794
40795 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40796 (pkgdata_MODULES): Added vga.mod and font.mod.
40797 (vga_mod_SOURCES): New variables.
40798 (vga_mod_CFLAGS): Likewise.
40799 (font_mod_SOURCES): Likewise.
40800 (font_mod_CFLAGS): Likewise.
40801
40802 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40803
40804 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 40805 (struct pupa_term): Added init and fini.
18d9c7cd 40806 Changed the argument of putchar to pupa_uint32_t.
40807
40808 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40809 (pupa_console_real_putchar): New prototype.
40810 (pupa_console_putchar): Removed.
40811 (pupa_console_checkkey): Exported.
40812 (pupa_console_getkey): Likewise.
40813
40814 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40815 characters.
40816
40817 * kern/term.c (pupa_term_set_current): Rewritten.
40818 (pupa_putchar): Likewise.
40819 (pupa_putcode): New function.
40820
40821 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40822 (pupa_console_real_putchar): ... this.
40823 (pupa_vga_set_mode): New function.
40824 (pupa_vga_get_font): Likewise.
40825
40826 * normal/command.c: Include pupa/term.h.
40827 (terminal_command): New function.
40828 (pupa_command_init): Register the command "terminal".
40829
40830 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40831 (DISP_UP): Likewise.
40832 (DISP_RIGHT): Likewise.
40833 (DISP_DOWN): Likewise.
40834 (DISP_HLINE): Likewise.
40835 (DISP_VLINE): Likewise.
40836 (DISP_UL): Likewise.
40837 (DISP_UR): Likewise.
40838 (DISP_LL): Likewise.
40839 (DISP_LR): Likewise.
40840
40841 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 40842
977329f5 408432003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40844
40845 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40846 FIX. Reverse the path_list.
40847
40848 * include/pupa/normal.h: Export pupa_register_command and
40849 pupa_unregister_command.
40850
40851 * hello/hello.c (pupa_cmd_hello): New module.
40852 * conf/i386-pc.rmk: Added hello.mod.
40853
1f5ab428 408542003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40855
40856 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 40857
1f5ab428 40858 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40859 (compress_kernel): New variable.
40860 (generate_image): Heavily modified to support compressing a
40861 large part of the core image.
40862
40863 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40864 leak.
40865 (pupa_util_load_image): New function.
40866
40867 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40868 (pupa_compressed_size): New variable.
40869 (codestart): Enable Gate A20 here.
40870 Decompress the compressed part of the core image.
40871 Rearrange the code to put functions and variables which are
40872 required for initialization in the non-compressed part.
40873 Include lzo1x.S.
40874
40875 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40876 here.
40877
40878 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40879
f19dbdb7 40880 * include/pupa/i386/pc/kernel.h
1f5ab428 40881 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40882 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40883 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40884 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40885 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40886
40887 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40888
40889 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40890 (Utility#rule): Likewise.
40891
40892 * configure.ac: Check if LZO is available.
40893
ce5bf700 408942003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40895
40896 * include/pupa/normal.h: New file.
40897 * include/pupa/setjmp.h: Likewise.
40898 * include/pupa/i386/setjmp.h: Likewise.
40899 * normal/cmdline.c: Likewise.
40900 * normal/command.c: Likewise.
40901 * normal/main.c: Likewise.
40902 * normal/menu.c: Likewise.
40903 * normal/i386/setjmp.S: Likewise.
f19dbdb7 40904
ce5bf700 40905 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40906 (pupa_rescue_cmd_initrd): Likewise.
40907
40908 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40909 Likewise.
40910
40911 * kern/i386/pc/startup.S (translation_table): New variable.
40912 (translate_keycode): New function.
40913 (pupa_console_getkey): Call translate_keycode.
40914
40915 * kern/rescue.c (attempt_normal_mode): New function.
40916 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40917 it failed, print a message.
40918
40919 * kern/mm.c (pupa_real_malloc): Print more information when a
40920 free magic is broken.
40921 (pupa_free): If the first free header is not free actually, set
40922 it to P.
40923
40924 * kern/main.c (pupa_load_normal_mode): Just load the module
40925 "normal".
40926 (pupa_main): Don't print the message
40927 "Entering into rescue mode..." here.
40928
40929 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40930 Declared.
40931 (pupa_rescue_cmd_initrd): Likewise.
40932 (pupa_rescue_cmd_initrd): Likewise.
40933
40934 * include/pupa/symbol.h (FUNCTION): Specify the type.
40935 (VARIABLE): Likewise.
40936
40937 * include/pupa/err.h (pupa_err_t): Added
40938 PUPA_ERR_UNKNOWN_COMMAND.
40939
40940 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40941 (pupa_dl_get_prefix): Likewise.
40942
40943 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40944 Added _chain.mod and _linux.mod instead of chain.mod and
40945 linux.mod.
40946 (chain_mod_SOURCES): Renamed to ...
40947 (_chain_mod_SOURCES): ... this.
40948 (chain_mod_CFLAGS): Renamed to ...
40949 (_chain_mod_CFLAGS): ... this.
40950 (linux_mod_SOURCES): Renamed to ...
40951 (_linux_mod_SOURCES): ... this.
40952 (linux_mod_CFLAGS): Renamed to ...
40953 (_linux_mod_CFLAGS): ... this.
40954 (normal_mod_SOURCES): New variable.
40955 (normal_mod_CFLAGS): Likewise.
40956 (normal_mod_ASFLAGS): Likewise.
40957
409582003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40959
40960 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40961 possible.
40962
fe6b695a 40963 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 40964 recursively.
40965 (pupa_dl_unref): Unrefer depending modules recursively.
40966 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40967 a module is unloaded before one depending on that module is
40968 unloaded.
40969 (pupa_dl_unload): Unload depending modules explicitly,
40970 if possible.
40971
c04da074 409722003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40973
40974 * include/pupa/i386/pc/linux.h: New file.
40975 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 40976
c04da074 40977 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40978 Removed.
40979 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40980 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40981 of PUPA_CHAINLOADER_BOOT_SECTOR.
40982
40983 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40984 (pupa_linux_prot_size): New variable.
40985 (pupa_linux_tmp_addr): Likewise.
40986 (pupa_linux_real_addr): Likewise.
40987 (pupa_linux_boot_zimage): New function.
40988 (pupa_linux_boot_bzimage): Likewise.
40989
40990 * kern/i386/pc/init.c (struct mem_region): New structure.
40991 (MAX_REGIONS): New macro.
40992 (mem_regions): New variable.
40993 (num_regions): Likewise.
40994 (pupa_os_area_addr): Likewise.
40995 (pupa_os_area_size): Likewise.
40996 (pupa_lower_mem): Likewise.
40997 (pupa_upper_mem): Likewise.
40998 (add_mem_region): New function.
40999 (compact_mem_regions): Likewise.
41000 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
41001 the size of the conventional memory and that of so-called upper
41002 memory (before the first memory hole).
41003 Instead of adding each found region to free memory, use
41004 add_mem_region and add them after removing overlaps.
41005 Also, add only 1/4 of the upper memory to free memory. The rest
41006 is used for loading OS images. Maybe this is ad hoc, but this
41007 makes it much easier to relocate OS images when booting.
41008
41009 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
41010 (pupa_enter_rescue_mode): Don't register initrd and module.
41011
41012 * kern/mm.c: Include pupa/dl.h.
41013
41014 * kern/main.c: Include pupa/file.h and pupa/device.h.
41015
41016 * kern/loader.c (pupa_loader_load_module_func): Removed.
41017 (pupa_loader_load_module): Likewise.
41018
41019 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
41020 ``.o''.
41021
41022 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
41023 (pupa_linux_tmp_addr): Likewise.
41024 (pupa_linux_real_addr): Likewise.
41025 (pupa_linux_boot_zimage): Likewise.
41026 (pupa_linux_boot_bzimage): Likewise.
41027
41028 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
41029 (pupa_upper_mem): Likewise.
41030 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
41031 module is too dangerous.
41032
41033 * include/pupa/loader.h (pupa_os_area_addr): Declared.
41034 (pupa_os_area_size): Likewise.
41035 (pupa_loader_set): Remove the first argument. Loader doesn't
41036 manage modules or initrd any longer.
41037 (pupa_loader_load_module): Removed.
41038
41039 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
41040 (linux_mod_SOURCES): New variable.
41041 (linux_mod_CFLAGS): Likewise.
41042
a13f9237 410432003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
41044
41045 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
41046 the length of a blocklist correctly.
41047
41048 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
41049 Use ioctl only if the OS file is a block device.
41050 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
41051 not very useful for normal files.
41052
41053 * kern/main.c (pupa_set_root_dev): New function.
41054 (pupa_load_normal_mode): Likewise.
41055 (pupa_main): Call those above.
41056
41057 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
41058 pupa_uint16_t.
41059
41060 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
41061
a5ffe966 410622003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41063
41064 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
41065 (setup): Configure the installed partition information and the
41066 dl prefix.
41067
41068 * loader/i386/pc/chainloader.c (my_mod): New variable.
41069 (pupa_chainloader_unload): New function.
41070 (pupa_rescue_cmd_chainloader): Refer itself.
41071 (PUPA_MOD_INIT): Save its own module in MY_MOD.
41072
41073 * kern/i386/pc/startup.S (install_partition): Removed.
41074 (version_string): Likewise.
41075 (config_file): Likewise.
41076 (pupa_install_dos_part): New variable.
41077 (pupa_install_bsd_part): Likewise.
41078 (pupa_prefix): Likewise.
41079 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
41080
41081 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
41082 and pupa/misc.h.
41083 (make_install_device): New function.
41084 (pupa_machine_init): Set the dl prefix.
41085
41086 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
41087 (buf): Renamed to ...
41088 (linebuf): ... this.
41089 (pupa_rescue_cmd_prefix): New function.
41090 (pupa_rescue_cmd_insmod): Likewise.
41091 (pupa_rescue_cmd_rmmod): Likewise.
41092 (pupa_rescue_cmd_lsmod): Likewise.
41093 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
41094 rmmod and lsmod.
41095
41096 * kern/mm.c (pupa_memalign): If failed even after invalidating
41097 disk caches, unload unneeded modules and retry.
41098
41099 * kern/misc.c (pupa_memmove): New function.
41100 (pupa_memcpy): Removed.
41101 (pupa_strcpy): New function.
41102 (pupa_itoa): Made static.
41103
41104 * kern/dl.c (pupa_dl_iterate): New function.
41105 (pupa_dl_ref): Likewise.
41106 (pupa_dl_unref): Likewise.
41107 (pupa_dl_unload): Return if succeeded or not.
41108 (pupa_dl_unload_unneeded): New function.
41109 (pupa_dl_unload_all): Likewise.
41110 (pupa_dl_init): Renamed to ...
41111 (pupa_dl_set_prefix): ... this.
41112 (pupa_dl_get_prefix): New function.
41113
41114 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
41115 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
41116 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
41117 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
41118 (pupa_install_dos_part): Declared.
41119 (pupa_install_bsd_part): Likewise.
41120 (pupa_prefix): Likewise.
41121 (pupa_boot_drive): Likewise.
41122
41123 * include/pupa/types.h: Fix a typo.
41124
41125 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
41126 pupa_memmove.
41127 (pupa_memmove): Declared.
41128 (pupa_strcpy): Likewise.
41129
41130 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
41131 pupa_mod_init takes one argument, its own module.
41132 (pupa_dl_unload_unneeded): Declared.
41133 (pupa_dl_unload_all): Likewise.
41134 (pupa_dl_ref): Likewise.
41135 (pupa_dl_unref): Likewise.
41136 (pupa_dl_iterate): Likewise.
41137 (pupa_dl_init): Renamed to ...
41138 (pupa_dl_set_prefix): ... this.
41139 (pupa_dl_get_prefix): Declared.
41140
41141 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 41142 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 41143 unloaded.
41144 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
41145 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
41146
41147 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
41148 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
41149
012d7999 411502003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
41151
41152 * util/i386/pc/pupa-setup.c (setup): Define the internal
41153 function find_first_partition_start at the top level, because GCC
41154 3.0.x cannot compile internal functions in deeper scopes
41155 correctly.
41156 (find_root_device): Use lstat instead of stat.
41157 Don't follow symbolic links.
41158 Fix the path-constructing code.
41159
41160 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
41161 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
41162 by a BLKGETSIZE ioctl first, because block devices don't fill
41163 the member st_mode of the structure stat on Linux.
41164 [__linux__] (linux_find_partition): Use a temporary buffer
41165 REAL_DEV for the working space. Copy it to DEV before returning.
41166 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
41167 buffer cache consistent.
41168 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
41169 strncmp. The previous value was merely wrong.
41170 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
41171
41172 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
41173 FAT size is 12. The previous value was merely wrong.
41174
41175 * kern/main.c (pupa_main): Don't split the starting message from
41176 newlines.
41177
41178 * kern/term.c (pupa_putchar): Put CR after LF instead of before
41179 LF, because BIOS goes crazy about character attributes in this
41180 case.
41181
1cc73a62 411822003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
41183
41184 * include/i386/pc/util/biosdisk.h: New file.
41185 * util/i386/pc/biosdisk.c: Likewise.
41186 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 41187
1cc73a62 41188 * Makefile.in (INCLUDE_DISTFILES): Added
41189 include/pupa/i386/pc/util/biosdisk.h.
41190 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
41191 directory util/i386/pc.
41192 (install-local): Added a rule for sbin_UTILITIES.
41193 (uninstall): Likewise.
41194
41195 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
41196
41197 * util/misc.c (xrealloc): New function.
41198 (pupa_malloc): Likewise.
41199 (pupa_free): Likewise.
41200 (pupa_realloc): Likewise.
41201 (pupa_stop): Likewise.
41202 (pupa_putchar): Likewise.
41203
41204 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
41205
41206 * include/pupa/util/misc.h (xrealloc): Declared.
41207
41208 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
41209 macro.
41210 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
41211 (PUPA_BOOT_MACHINE_BPB_END): ... this.
41212
41213 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
41214 [PUPA_UTIL] (pupa_fat_fini): Likewise.
41215
41216 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
41217 way should be implemented.
41218 [PUPA_UTIL] (pupa_fat_fini): Likewise.
41219
41220 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
41221 the size of NAME for safety.
41222 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
41223 0x88.
41224
41225 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
41226 (pupa_setup_SOURCES): Likewise.
41227
41228 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
41229
08b70fe8 412302002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
41231
41232 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
41233 bunch of pushl's from pusha, because this destroys the return
41234 value.
41235
62ddcc8f 412362002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
41237
41238 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
41239 This means that any missing prototypes could be fatal. Also, you
41240 must take care when writing assembly code. See the comments at
41241 the beginning of startup.S, for more details.
f19dbdb7 41242
62ddcc8f 41243 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
41244 compilation mechanism.
41245 (pupa_chainloader_real_boot): Likewise.
41246 (pupa_biosdisk_rw_int13_extensions): Likewise.
41247 (pupa_biosdisk_rw_standard): Likewise.
41248 (pupa_biosdisk_check_int13_extensions): Likewise.
41249 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
41250 (pupa_biosdisk_get_diskinfo_standard): Likewise.
41251 (pupa_get_memsize): Likewise.
41252 (pupa_get_mmap_entry): Likewise.
41253 (pupa_console_putchar): Likewise.
41254 (pupa_console_setcursor): Likewise.
41255 (pupa_getrtsecs): Use pushl instead of push.
41256
41257 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
41258 memory instead of the stack for a mmap entry, because some
41259 BIOSes may ignore the maximum size and overflow.
41260
41261 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
41262
41263 * genmk.rb (PModule#rule): Compile automatically generated
41264 sources with module-specific CFLAGS as well as other sources.
41265
9962ed99 412662002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41267
41268 * configure.ac: Check ld.
41269 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
41270 respectively, before checking endianness and sizes.
41271
41272 * Makefile.in (LD): New variable.
f19dbdb7 41273
abdfc3c5 412742002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41275
41276 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
41277
6a161fa9 412782002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41279
41280 * Changelog: New file.
41281