]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
[grub2.git] / ChangeLog
CommitLineData
67639fd7
VS
12012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
4 variable.
5
9079d3ed
VS
62012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9
c6a6f204
VS
102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * po/POTFILES.in: Regenerate.
13
ecbf8cd1
VS
142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
17 with grub_printf to avoid unnecessary fatal failure.
18
0b3b3b38
VS
192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
22 (INT_MAX): Likewise.
23 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
24 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
25 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
26 (strcpy): Likewise.
27 (strstr): Likewise.
28 (strchr): Likewise.
29 (strncpy): Likewise.
30 (strcat): Likewise.
31 (strncat): Likewise.
32 (strcoll): Likewise.
33 * include/grub/types.h (GRUB_SHRT_MAX): New define.
34 (GRUB_INT_MAX): Likewise.
35
db7337a3
VS
362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
39 unexpected error.
40 (optimize_utf8): Likewise.
41 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
42
f37c87e1
VS
432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/boot/i386/pc/lnxboot.S: Use
46 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
47 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
48 location.
49 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
50 definition.
51 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
52
63fe43f3
VS
532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
56 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
57 now to avoid double free.
58 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
59 hostdisk.
60 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
61 * util/grub-probe.c (escape_of_path): Always return a new copy.
62 (print_full_name): Escape path.
63 (probe): Don't call grub_util_devname_to_ofpath on NULL.
64 Fix hints on abstractions.
65
ebe2c961
VS
662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
69 Don't add "root" line if no compatibility hont is available.
70 Suggested by: Seth Goldberg.
71
2b5336a2
VS
722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
75 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
76 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
77 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
78
74310bd8
VS
792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
82
c30582ba
VS
832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * util/grub-pe2elf.c (ehdr): Make static.
86 (shdr): Likewise.
87 (num_sections): Likewise.
88 (offset): Likewise.
89
5f47782c
VS
902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
91
92 Eliminate ofpath limits and possible overflows.
93
94 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
95 (OF_PATH_MAX): Removed.
96 (MAX_DISK_CAT): New const.
97 (find_obppath): Use allocated rather than preallocated buffer.
98 Return result. Argument of_path removed. All users updated.
99 Add missing fdstat.
100 (xrealpath): New function.
101 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
102 Allocate rather than use preallocated buffer. All users updated.
103 (__of_path_common): Use allocated rather than preallocatecd buffer.
104 Return result. Argument of_path removed. All users updated.
105 (vendor_is_ATA): Read only needed part form the file.
106 (check_sas): Allocate depending on contents rather than fixed.
107 (main) [STANDALONE]: Handle NULL result.
108
f990cbf9
VS
1092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/normal/completion.c (iterate_dev): Close the disk.
112
9c6e84b8
VS
1132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
114
115 Cryptodisk write support.
116
117 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
118 (grub_cryptodisk_decrypt): Moved logic to ...
119 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
120 (grub_cryptodisk_write): Implement.
121 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
122 (grub_util_fd_write): ... this. Make global.
123 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
124
87cf9744
VS
1252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * include/grub/list.h (grub_list_remove): Don't crash if element is
128 removed twice.
129
ca8c0baf
VS
1302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
131
132 Rename ofconsole to console.
133
134 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
135 as sysnonym to console.
136 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
137 * grub-core/term/ieee1275/console.c: ... this. All users updated.
138 Rename grub_ofconsole_ to grub_console_. All users updated
139 (grub_console_term_output): Rename "ofconsole" to "console".
140 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
141 as "console".
142
64c8b8f6
VS
1432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
146 handling.
147 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
148 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
149 GRUB_DISK_DEVICE_FILE_ID.
150
f6c434d5
VS
1512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
154 and improve performance.
155
5858b42d
VS
1562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
159 missing ieee1275/ prefix on whole disk.
160
4ed3c26b
VS
1612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
164 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
165
df71143e
VS
1662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
169
076e7c0f
VS
1702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
171
172 Merge common RAID and LVM logic to an abstract diskfilter.
173 Add LDM support using the same framework.
174
175 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
176 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
177 (libgrubmods): Remove grub-core/disk/raid.c and
178 grub-core/partmap/gpt.c.
179 * grub-core/Makefile.core.def (ldm): New module.
180 (raid): Renamed to diskfilter. All users updated.
181 * grub-core/disk/raid.c: Moved to ...
182 * grub-core/disk/diskfilter.c: ... here.
183 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
184 (lv_num): New var.
185 (find_array): Renamed to ...
186 (find_lv): ... this. Support multi-LV. Skip nameless LVs
187 (grub_is_array_readable): Renamed to ...
188 (grub_is_lv_readable): ... this. Support multinode hierarchy.
189 (insert_array): New argument id.
190 (is_node_readable): New function.
191 (scan_device): Rename to ...
192 (scan_disk): .. this. Restrict to one disk.
193 (scan_devices): New function.
194 (grub_diskfilter_iterate): Support multi-LV.
195 Skip invisible and nameless LVs.
196 (grub_diskfilter_memberlist): Support multi-LV.
197 (grub_diskfilter_read_node): New function.
198 (grub_raid_read): Most of logic moved to ...
199 (read_segment): ... here
200 (read_lv): New function.
201 (grub_diskfilter_get_vg_by_uuid): New function.
202 (grub_diskfilter_make_raid): Likewise.
203 * grub-core/disk/ldm.c: New file.
204 * grub-core/disk/lvm.c (vg_list): Removed.
205 (lv_count): Likewise.
206 (scan_depth): Likewise.
207 (is_lv_readable): Likewise.
208 (grub_lvm_getvalue): Advance pointer past the number.
209 (find_lv): Removed.
210 (do_lvm_scan): Refactored into ...
211 (grub_lvm_detect): ... this. Support raid.
212 (grub_lvm_iterate): Removed.
213 (grub_lvm_memberlist): Likewise.
214 (grub_lvm_open): Likewise.
215 (grub_lvm_close): Likewise.
216 (read_lv): Likewise.
217 (read_node): Likewise.
218 (is_node_readable): Likewise.
219 (is_lv_readable): Likewise.
220 (grub_lvm_read): Likewise.
221 (grub_lvm_write): Likewise.
222 (grub_lvm_dev): Use diskfilter
223 (GRUB_MOD_INIT): Likewise.
224 (GRUB_MOD_FINI): Likewise.
225 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
226 new interface.
227 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
228 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
229 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
230 grub_diskfilter_read_node.
231 Fix a bug with xor.
232 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
233 grub_diskfilter_read_node.
234 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
235 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
236 (grub_disk_dev_iterate): Move from here...
237 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
238 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
239 Make global.
240 (grub_hostdisk_find_partition_start): Likewise.
241 (grub_hostdisk_os_dev_to_grub_drive): New function.
242 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
243 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
244 * util/getroot.c (make_device_name): ... here.
245 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
246 Move to ...
247 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
248 * grub-core/kern/emu/hostdisk.c
249 (convert_system_partition_to_system_disk): Move to ...
250 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
251 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
252 * util/getroot.c (device_is_wholedisk): ... here.
253 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
254 * util/getroot.c (find_system_device): ... here.
255 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
256 Move to ...
257 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
258 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
259 Move to ...
260 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
261 Handle LDM.
262 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
263 Move to ...
264 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
265 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
266 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
267 DISKFILTER.
268 * include/grub/raid.h: Renamed to ...
269 * include/grub/diskfilter.h: ... this.
270 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
271 (GRUB_RAID_LAYOUT_*): Make into array.
272 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
273 (grub_diskfilter_vg): New struct.
274 (grub_diskfilter_pv_id): Likewise.
275 (grub_raid_member): Removed.
276 (grub_raid_array): Likewise.
277 (grub_diskfilter_pv): New struct.
278 (grub_diskfilter_lv): Likewise.
279 (grub_diskfilter_segment): Likewise.
280 (grub_diskfilter_node): Likewise.
281 (grub_diskfilter_get_vg_by_uuid): New proto.
282 (grub_raid_register): Inline.
283 (grub_diskfilter_unregister): Likewise.
284 (grub_diskfilter_make_raid): New proto.
285 (grub_diskfilter_vg_register): Likewise.
286 (grub_diskfilter_read_node): Likewise.
287 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
288 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
289 (grub_util_is_ldm): Likewise.
290 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
291 (grub_hostdisk_find_partition_start): Likewise.
292 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
293 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
294 New definition.
295 (grub_gpt_partition_map_iterate): New proto.
296 * include/grub/lvm.h (grub_lvm_vg): Removed.
297 (grub_lvm_pv): Likewise.
298 (grub_lvm_lv): Likewise.
299 (grub_lvm_segment): Likewise.
300 (grub_lvm_node): Likewise.
301 * util/getroot.c [...]
302 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
303 (probe_abstraction): Likewise.
304 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
305 (main): Remove dead logic.
306
8a7f9b9c
VS
3072012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
308
309 Simplify root device discover and don't fail when trying to open
310 incorrect devices.
311
312 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
313 function.
314 (get_diskname_from_path): Likewise.
315 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
316 of iterating.
317
30545b85
VS
3182012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
321
28ea58cf
VS
3222012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
325 pastthe end.
326
692dabca
VS
3272012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * util/grub-install.in: Add missing \.
330 Reported by: gentoofan
331
f6e4ea70
VS
3322012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
335 (direct_read): Use correct compressed size.
336 (grub_squash_read_data): Likewise.
337
3382012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
339
340 * docs/grub.texi (Platform limitations): New section.
341 (Platform-specific operations): Likewise.
342 * docs/grub-dev.texi (Porting): Likewise.
343
76261110
VS
3442012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
345
346 IEEE1275 disk write support.
347
348 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
349 const void *.
350 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
351 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
352 and seek loginc to ...
353 (grub_ofdisk_prepare): ... here.
354 (grub_ofdisk_write): Implement.
355
fc36d603
VS
3562012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
357
358 ARC disk write support.
359
360 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
361 (reopen): New argument writable. All users updated.
362 Handle required access mode.
363 (grub_arcdisk_write): Implement.
364 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
365 (grub_arc_firmware_vector): Make buffer to write a const buffer.
366
e06c2e7a
VS
3672012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
370 (read_sblock): Don't attempt to read superblocks outside the disk size.
371
ff447958
VS
3722012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
375 first superblock to find the second one when possible.
376
9e88df39
VS
3772012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * util/grub-install.in: Fix an ARC bug.
380 Print a warning if no platform-specific setup is available.
381
bb26e4ff
VS
3822012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
383
384 Use static allocation rather than scratch pointer in reed_solomon.
385 It decreases its size significantly and avoids a variable in .text.
386
387 * grub-core/lib/reed_solomon.c (scratch): Removed.
388 (chosenstat): New const or static array.
389 (sigma): Likewise.
390 (errpot): Likewise.
391 (errpos): Likewise.
392 (sy): Likewise.
393 (mstat): Likewise.
394 (errvals): Likewise.
395 (eqstat): Likewise.
396 (pol_evaluate): Replace x with log_x argument. All users updated.
397 (syndroms): Removed.
398 (gauss_solve): Use statically allocated arrays.
399 (rs_recover): Likewise.
400 Calculate syndroms directly.
401 (decode_block): Use statically allocated arrays.
402 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
403 (main) [TEST]: Allow -DTEST -DSTANDALONE.
404
2e13ede5
VS
4052012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
406
407 Eliminate fixed limit on reed solomon decoder length.
408
409 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
410 rather than hardcoding the address.
411 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
412 no_reed_solomon_length.
413 Move gate_a20 to no-reed-solomon part.
414 Don't force a particular size of no reed-solomon part.
415 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
416 Removed.
417 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
418 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
419
f8a9ab12
VS
4202012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/commands/wildcard.c (match_files): Handle filenames
423 without explicit device.
424 (wildcard_expand): Don't add explicit device if not already present.
425 * tests/grub_script_echo1.in: Add a new expansion test.
426
87edb894
VS
4272012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
428
429 Replace single-linked with double-linked lists. It results in more
430 compact and more efficient code.
431
432 * grub-core/kern/list.c (grub_list_push): Moved from here ...
433 * include/grub/list.h (grub_list_push): ... to here. Set prev.
434 (grub_list_remove): Moved from here ...
435 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
436 (grub_prio_list_insert): Set prev.
437 * include/grub/list.h (grub_list): Add prev. All users updated.
438
48b391e9
VS
4392012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
440
441 Handle newer autotools. Add some missing quotes while on it.
442
443 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
444 (pkglib_DATA): Move grub-mkconfig_lib from here ...
445 (pkgdata_DATA): ... here.
446 * Makefile.util.def (update-grub_lib): Removed.
447 * conf/Makefile.common (pkglib_DATA): Removed.
448 (pkglib_SCRIPTS): Likewise.
449 (pkgdata_DATA): New variable.
450 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
451 needed.
452 Add missing quotes.
453 Remove unused variable while on it.
454 * tests/util/grub-shell.in: Likewise.
455 * util/grub-install.in: Likewise.
456 * util/grub-mkconfig.in: Likewise.
457 * util/grub-mknetdir.in: Likewise.
458 * util/grub-mkrescue.in: Likewise.
459 * util/grub-mkstandalone.in: Likewise.
460 * util/grub.d/00_header.in: Likewise.
461 * util/grub.d/10_hurd.in: Likewise.
462 * util/grub.d/10_illumos.in: Likewise.
463 * util/grub.d/10_kfreebsd.in: Likewise.
464 * util/grub.d/10_linux.in: Likewise.
465 * util/grub.d/10_netbsd.in: Likewise.
466 * util/grub.d/10_windows.in: Likewise.
467 * util/grub.d/20_linux_xen.in: Likewise.
468 * util/grub.d/30_os-prober.in: Likewise.
469 * util/update-grub_lib.in: Removed.
470
4712012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
472
473 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
474 a workaround for intel problem.
475
66832792
PRP
4762012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
4772012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4782012-01-23 pfsmorigo
479
480 * util/grub-install.in: Support dd'in into PreP partition.
481 * util/grub-probe.c (probe): Support discovering partition type.
482 (main): Support -t msdos_parttype.
483
7816a17e
VS
4842012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
487 infinite recursion using counter.
488 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
489 init to skip it if the magic check fails.
490 (dec_stream_header): Init s->crc32.
491
8f9d3a8c
ZB
4922012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4932012-01-22 Zachary Bedell <pendorbound@gmail.com>
4942012-01-22 Richard Laager <rlaager@wiktel.com>
495
496 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
497 All users updated.
498 (find_bestub): Determine correct size.
499 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
500 (scan_disk): Align the size down.
501 Call check pool before find_bestub to have ashift.
502
b055dd32
VS
5032012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
506 dprintf in no-malloc zone.
507
d779e9bd
ML
5082012-01-22 Mario Limonciello <mario_limonciello@dell.com>
509
510 * configure.ac: Add back in test for limits.h.
511
b508af69
VS
5122012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
513
514 Support 4K-sector NTFS.
515
516 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
517 (grub_ntfs_data): Remove blocksize.
518 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
519 Remove data argument. All users updated.
520
dad9c8b5
VS
5212012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
524 being in .text to avoid dprel references.
525 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
526 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
527 (grub_arch_highmemsize): Likewise.
528 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
529 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
530 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
531
d43a777e
VS
5322012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
533
534 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
535
536 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
537 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
538
34e4208f
VS
5392012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
542 GRUB_UTIL.
543 (grub_set_datetime_cmos): Likewise.
544
3ec0fc1c
VS
5452012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
546
547 Make XZ compression parameters dependent on target and not host CPU.
548
549 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
550 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
551
22489834
VS
5522012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
555 set but not used variable.
556
8502fbca
VS
5572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
560 created when no uuid support is compiled into mkfs.reiser.
561
76df2068
VS
5622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
565 (utf8_to_macroman): Do the opposite.
566 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
567
64e3f8f6
VS
5682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * configure.ac: Refise build qemu_mips w/o unifont.
571
9c271078
VS
5722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
573
574 Eliminate grub_min/grub_max prone to overflow usage.
575
576 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
577 (poll_nonroot_hub): Likewise.
578 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
579 (grub_affs_label): Likewise.
580 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
581 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
582 (grub_hfs_label): Likewise.
583 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
584 * grub-core/fs/zfs/zfs.c (MIN): Remove.
585 (zap_leaf_array_equal): Use grub_size. Remove MIN.
586 (zap_leaf_array_get): Likewise.
587 (dnode_get_path): Likewise.
588 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
589 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
590 * grub-core/script/execute.c (grub_script_break): Likewise.
591 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
592 grub_max.
593 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
594 * include/grub/misc.h (grub_min): Removed.
595 (grub_max): Likewise.
596
80662dbc
VS
5972012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
598
599 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
600 direct.inode = 0.
601
e6da1467
VS
6022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
605
b1ac4cb1
VS
6062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
609
b4bf7c3b
VS
6102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
613 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
614
8ee1101a
VS
6152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
618 rather than a hack for grub_strncasemap.
619
6202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
621
622 Support multiple initrds
623 Note: part of this was accidently committed in r3739.
624
625 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
626 initrd.
627 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
628 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
629 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
630 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
631 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
632
4d1e2bc9
VS
6332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
636 disks with unknown size.
637 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
638
75b49ebe
VS
6392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
640
641 Remove defines pertaining to arbitrary limits not affecting GRUB
642 anymore.
643
644 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
645 (EXT2_MAX_SYMLINKCNT): Likewise.
646 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
647 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
648 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
649 (GRUB_PXE_MAX_BLKSIZE): Likewise.
650 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
651 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
652 (DN_MAX_OBJECT_SHIFT): Likewise.
653 (DN_MAX_OFFSET_SHIFT): Likewise.
654 (DN_MAX_OBJECT): Likewise.
655 (DNODES_PER_LEVEL_SHIFT): Likewise.
656 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
657 (SPA_MAXBLOCKSIZE): Likewise.
658 (SPA_BLOCKSIZES): Likewise.
659 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
660 (MZAP_MAX_BLKSZ): Likewise.
661
74a1dce7
VS
6622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
665 handle NULL appropriately.
666 Remove MIN.
667
30c7d3ce
VS
6682012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
669
670 Fix efiemu.
671
672 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
673 cpu/types.h.
674 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
675 * configure.ac: Fix efiemu check.
676
3c76ea0c
VS
6772012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
680 grub_probe.
681 Reported by: adamwill
682
7e532280
SG
6832012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
684
685 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
686
30492374
VS
6872012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Fix handling of wide characters in gfxterm.
690
691 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
692 (clear_char): Likewise.
693 (paint_char): Skip code == NULL chars.
694 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
695
e70cb72f
VS
6962012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * grub-core/normal/charset.c: Move comment to right place.
699
5c827cf9
VS
7002012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
703 (GRUB_AFFS_FLAG_FFS): Put back where it was.
704 (grub_affs_mount): Revert the correct version checking.
705
53603892
VS
7062012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * docs/grub.texi (Unicode): Mention several other unsupported features.
709
ff094b9b
VS
7102011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
713 case statements as compile-time one.
714 (direct_read): Prevent spurious warnings.
715 (grub_squash_read_data): Likewise.
716
c029da8a
VS
7172011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
718
719 Various squash4 fixes and LZO and XZ support.
720
721 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
722 Add xzembed source files.
723 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
724 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
725 (grub_squash_inode): New subtype long_dir.
726 (SQUASH_TYPE_LONG_DIR): New inode type.
727 (COMPRESSION): New enum.
728 (XZBUFSIZ): New const.
729 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
730 (read_chunk): Use data->decompress.
731 (zlib_decompress): New function.
732 (lzo_decompress): Likewise.
733 (xz_decompress): Likewise.
734 (squash_mount): Set new data fields.
735 (grub_squash_iterate_dir): Handle long dir.
736 (squash_unmount): Free xzdec and xzbuf.
737 (grub_squash_open): Check ino type.
738 (direct_read): Stylistic fixes. Use data->decompress.
739 (grub_squash_read_data): Likewise.
740 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
741 (get_byte): Likewise.
742 (grub_zlib_disk_read): Removed.
743 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
744 (GRUB_POSIX_BOOL_DEFINED): New define.
745 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
746 * grub-core/lib/xzembed/xz.h: Addmissing includes.
747 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
748 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
749
7a45a539
VS
7502011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
751
752 Don't override more informative errors.
753
754 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
755 * grub-core/font/font.c (open_section): Likewise.
756 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
757 filename. Don't override errors.
758 (grub_cmd_openbsd_ramdisk): Don't override errors.
759 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
760 (grub_cmd_initrd): Likewise.
761 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
762 (grub_cmd_initrd): Likewise.
763 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
764 (grub_cmd_linux): Likewise.
765 (grub_cmd_initrd): Likewise.
766 (grub_cmd_payload): Likewise.
767 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
768 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
769 (grub_cmd_module): Likewise.
770 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
771 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
772 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
773 (grub_cmd_xnu_mkext): Likewise.
774 (grub_cmd_xnu_ramdisk): Likewise.
775 (grub_xnu_check_os_bundle_required): Likewise.
776 (grub_xnu_load_kext_from_dir): Likewise.
777 (grub_cmd_xnu_kextdir): Likewise.
778 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
779
b2d004db
VS
7802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
783 as 1024 in block size field. Found on one of my test images.
784 Small optimisation while on it.
785
ec000eac
VS
7862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
789 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
790 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
791 performance fixes while on it.
792 (grub_sfs_close): Fix memory leak while on it.
793 (grub_sfs_label): Convert Latin1 to UTF-8.
794
f50e1165
VS
7952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
798 space to avoid overflows.
799 (grub_hfs_label): Convert from macroman to UTF-8.
800
2ae254de
VS
8012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
804
0108f491
VS
8052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
808
f45f5f89
VS
8092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * unicode: Import Unicode 6.0 data.
812
4d8c4765
VS
8132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
814
63fa8ef9
VS
815 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
816 outside of range.
817
8182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
819
820 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
821
822 * include/grub/charset.h (grub_getend): New function.
823 * grub-core/script/function.c (grub_script_function_find): Use
824 grub_getend.
825 * grub-core/normal/completion.c (add_completion): Likewise.
826
f3cb4a4e
VS
8272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
830 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
831 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
832 (GRUB_UNICODE_TAG_END): Likewise.
833 (GRUB_UNICODE_LAST_VALID): Likewise.
834
5da8dbc5
VS
8352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
838 len and make it smaller. All users updated.
839 * util/import_unicode.py: Put length and not end character.
840 Check length.
841
8569f13d
VS
8422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
843
844 Make better Unicode-compliant and unify some UTF-8 code pathes.
845
846 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
847 valid character.
848 (grub_is_valid_utf8): Use grub_utf8_process.
849 Check resulting code range.
850 (grub_utf8_to_ucs4): Use grub_utf8_process.
851 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
852 valid character.
853
cc4fddf5
VS
8542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
857
bbc47747
VS
8582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * docs/grub.texi (Filesystems): Mention AFS.
861
f63d6bf4
VS
8622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * docs/grub.texi (Filesystems): Clarify restrictions.
865 (Regexp): Mention non-Unicode regexp behaviour.
866 (Other): Mention non-Unicode matching behaviour.
867
74bbf0db
VS
8682011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
869
f63d6bf4 870 Make HFS implementation use MacRoman.
74bbf0db
VS
871
872 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
873 (macroman): New const array.
874 (macroman_to_utf8): New function.
875 (utf8_to_macroman): Likewise.
876 (grub_hfs_find_dir): Use utf8_to_macroman.
877 (grub_hfs_dir): Use macroman_to_utf8.
878 Set case_insensitive.
879
4ea0316e
VS
8802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
883
d3c13cbd
VS
8842011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Integrate hints into autogeneration scripts.
887
888 * docs/grub.texi (Filesystems): Add a hostdisk example.
889 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
890 (grub-probe): Add ofpath.
891 * gentpl.py: Remove group nosparc64.
892 * grub-core/commands/search.c (cache_entry): New struct.
893 (cache): New var.
894 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
895 * grub-core/commands/search_wrap.c (options): Add platform-specific
896 hint options.
897 (grub_cmd_search): Handle platform-specific hints.
898 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
899 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
900 (grub_util_biosdisk_data): Likewise.
901 (grub_util_biosdisk_open): Set device_map.
902 (read_device_map): Handle "" as indication of no map.
903 Set device_map.
904 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
905 (grub_util_biosdisk_get_compatibility_hint): New function.
906 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
907 * include/grub/emu/hostdisk.h
908 (grub_util_biosdisk_get_compatibility_hint): New proto.
909 * util/grub-install.in: Don't call grub-mkdevicemap.
910 Add platform-specific hint to load.cfg.
911 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
912 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
913 hints. Set root preliminary to compatibility hint, not to OS name.
914 * util/grub-probe.c (PRINT_*): Add hints.
915 (print): Make static.
916 (escape_of_path): New function.
917 (guess_bios_drive): Likewise.
918 (guess_efi_drive): Likewise.
919 (guess_baremetal_drive): Likewise.
920 (print_full_name): Likewise.
921 (probe): Handle hints.
922 (main): Likewise.
923 * util/ieee1275/devicemap.c: Removed.
924 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
925 updated.
926 (grub_util_devname_to_ofpath): Return NULL on failure.
927
928 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
929 resource leak.
930 * util/getroot.c (grub_util_pull_device): Fix memory leak.
931
932 * po/POTFILES.in: Regenerated.
933
934 Allow purely long options
935
936 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
937 (SHORT_ARG_USAGE): Likewise.
938 (grub_arg_show_help): Compare opt with help_options.
939 (parse_option): Receive opt as argument. If makes big simplificatons.
940 All users updated
941
00ce2df3
VS
9422011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
945 Restructure to avoid warning.
946
e77e325f
VS
9472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * util/grub-install.in: Account for possible escaped comma in device
950 name.
951
165099ea
VS
9522011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
955 channel.
956
ce4a999d
VS
9572011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
960 allocation and zero-setting.
961 (grub_ieee1275_get_devname): Check that alias is complete.
962
379586ad
VS
9632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
966 unaligned segments.
967
9197b0ad
VS
9682011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
971 prefix.
972 (grub_ofdisk_open): Check and discard ieee1275 prefix.
973 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
974 Add ieee1275 prefix.
975
edddb7f9
VS
9762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * docs/grub.texi (Filesystems): Update.
979
a1a8b1b9
VS
9802011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
981
982 Support odc, newc and bigendian cpio formats.
983
984 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
985 * grub-core/Makefile.core.def (newc): New module.
986 (odc): Likewise.
987 (cpio_be): Likewise.
988 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
989 (MAGIC): Likewise.
990 (MAGIC2): Likewise.
991 (head) [MODE_ODC]: Adapt for the format.
992 (head) [MODE_NEWC]: Likewise.
993 (head) [!MODE_*]: Write fields of interest as arrays.
994 (MAGIC_USTAR): Removed.
995 (read_number) [MODE_NEWC]: Change to hex.
996 (read_number) [!MODE_*]: Parse binary arrays.
997 (grub_cpio_find_file): Factor out the code for better structure and
998 always use read_number.
999 (grub_cpio_mount): Use MAGIC and MAGIC2.
1000 (grub_cpio_dir): Exit on first hook non-0 return.
1001 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
1002 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
1003 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
1004 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
1005 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
1006 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
1007 * grub-core/fs/newc.c: New file.
1008 * grub-core/fs/odc.c: Likewise.
1009 * grub-core/fs/cpio_be.c: Likewise.
1010
58eba9ee
VS
10112011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 Fix handling of tar numbers occupying the whole field.
1014
1015 * grub-core/fs/cpio.c (read_number): New function.
1016 (grub_cpio_find_file): Use read_number instead of strtoull.
1017
a54a0e12
VS
10182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
1021 occupying the whole field size.
1022
a6120aca
LA
10232011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
1024
1025 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
1026
a93964ce
VS
10272011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
1030
3ea1ca46
SG
10312011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
1032
1033 * grub-core/Makefile.core.def (lzma_decompress): Add missing
1034 TARGET_IMG_LDFLAGS.
1035
b87f7ef2
VS
10362011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * util/getroot.c (ESCAPED_PATH_MAX): New define.
1039 (mountinfo_entry): Increase the field size to take escaping into
1040 account.
1041 (find_root_device_from_libzfs): Add one byte to size of strings for
1042 security.
1043
62092395
VS
10442011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
1047 an assert.
1048 * util/grub-setup.c (setup): Likewise.
1049
1f0b1a77
VS
10502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
1053 _LzmaDecodeA.
1054
8eba9997
VS
10552011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * docs/grub.texi (Internationalisation): New section.
1058
dd0c91e9
VS
10592011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * docs/grub.texi (Loopback booting): New section.
1062
10632011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
1064
1065 * util/grub-mkstandalone.in: Fix minor typo errors.
1066
198e150a
VS
10672011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
1070
1071 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
1072 net/icmp.c and net/icmp6.c.
1073 (http): New module.
1074 (priority_queue): Likewise.
1075 * grub-core/io/bufio.c: Rewritten.
1076 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
1077 TYPE_WITH_CONFIGFILE_OPTION.
1078 (legacy_commands): Add bootp and dhcp.
1079 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
1080 (grub_legacy_parse): Likewise.
1081 * grub-core/lib/priority_queue.c: New file.
1082 * grub-core/net/arp.c: Add missing license header.
1083 (arp_find_entry): Removed.
1084 (arp_find_entry): Likewise.
1085 (grub_net_arp_resolve): Rename to ...
1086 (grub_net_arp_send_request): ...this.
1087 (grub_net_arp_receive): New card argument.
1088 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
1089 Set router and DNS server.
1090 (grub_net_configure_by_dhcp_ack): Handle routing information.
1091 (grub_cmd_bootp): Set checksum.
1092 (grub_bootp_init): Remove net_dhcp.
1093 * grub-core/net/dns.c: New file.
1094 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
1095 completion.
1096 (get_card_packet): Handle allocation.
1097 (grub_efinet_findcards): Set mtu.
1098 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
1099 (get_card_packet): Handle allocation.
1100 (emucard): Set mtu.
1101 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
1102 (GRUB_MOD_INIT): Set mtu.
1103 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
1104 mtu.
1105 (get_card_packet): Handle allocation.
1106 (grub_ofnet_findcards): Set mtu.
1107 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
1108 assert.
1109 (grub_net_recv_ethernet_packet): Handle IPv6.
1110 * grub-core/net/http.c: New file.
1111 * grub-core/net/icmp.c: Likewise.
1112 * grub-core/net/icmp6.c: Likewise.
1113 * grub-core/net/ip.c (ip6addr): New type.
1114 (ip6hdr): Likewise.
1115 (reassemble): Likewise.
1116 (cmp): New function.
1117 (reassembles): New variable.
1118 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
1119 (id): New variable.
1120 (send_fragmented): New function.
1121 (grub_net_send_ip_packet): Rename to ...
1122 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
1123 Handle non-UDP.
1124 (grub_net_recv_ip_packets): Rename to ...
1125 (handle_dgram): ... this. Check checksum. Handle non-UDP.
1126 (free_rsm): New function.
1127 (free_old_fragments): Likewise.
1128 (grub_net_recv_ip4_packets): New function.
1129 (grub_net_send_ip6_packet): Likewise.
1130 (grub_net_send_ip_packet): Likewise.
1131 (grub_net_recv_ip6_packets): Likewise.
1132 (grub_net_recv_ip_packets): Likewise.
1133 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
1134 (LINK_LAYER_CACHE_SIZE): New const.
1135 (link_layer_find_entry): New function.
1136 (grub_net_link_layer_add_address): Likewise.
1137 (grub_net_link_layer_resolve_check): Likewise.
1138 (grub_net_link_layer_resolve): Likewise.
1139 (grub_net_ipv6_get_slaac): Likewise.
1140 (grub_net_ipv6_get_link_local): Likewise.
1141 (grub_cmd_ipv6_autoconf): Likewise.
1142 (parse_ip): Handle one number representation.
1143 (parse_ip6): New functoion.
1144 (match_net): Handle IPv6.
1145 (grub_net_resolve_address): Handle IPv6 and DNS.
1146 (grub_net_resolve_net_address): Handle IPv6.
1147 (route_cmp): New function.
1148 (grub_net_route_address): Find best route.
1149 (grub_net_addr_to_str): Handle IPv6.
1150 (grub_net_addr_cmp): New function.
1151 (grub_net_add_addr): Register local route.
1152 (print_net_address): Handle net address.
1153 (grub_net_poll_cards): Retransmit TCP.
1154 (grub_net_poll_cards_idle_real): Likewise.
1155 (have_ahead): New function.
1156 (grub_net_seek_real): Use underlying seek.
1157 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
1158 * grub-core/net/tcp.c: New file.
1159 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
1160 (cmp): New function.
1161 (ack): Likewise.
1162 (tftp_receive): Handle unordered input.
1163 (destroy_pq): New function.
1164 (tftp_close): Close pq.
1165 * grub-core/net/udp.c: Put missing license header.
1166 (grub_net_udp_socket): New function.
1167 (udp_socket_register): Likewise.
1168 (grub_net_udp_close): Likewise.
1169 (grub_net_recv_udp_packet): Check checksum.
1170 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
1171 * include/grub/misc.h (grub_memchr): New function.
1172 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
1173 (grub_net_card_driver): Return buf in recv.
1174 (grub_net_slaac_mac_list): New struct.
1175 (grub_network_level_protocol_id): Add ipv6.
1176 (grub_net_network_level_addr): Likewise.
1177 (grub_net_network_level_net_addr): Likewise.
1178 (grub_net_app_protocol): Add seek.
1179 (grub_net_socket): Removed.
1180 (grub_net_sockets): Likewise.
1181 (grub_net_socket_register): Likewise.
1182 (grub_net_socket_unregister): Likewise.
1183 (FOR_NET_SOCKETS): Likewise.
1184 (grub_net_add_addr): Add const.
1185 (GRUB_NET_BOOTP_*): New enum.
1186 (grub_net_addr_cmp): New proto.
1187 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
1188 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
1189 (grub_net_hwaddr_to_str): NEw proto.
1190 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
1191 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
1192 (grub_dns_init): New proto.
1193 (grub_dns_fini): Likewise.
1194 (grub_net_tcp_retransmit): Likewise.
1195 (grub_net_link_layer_add_address): Likewise.
1196 (grub_net_link_layer_resolve_check): Likewise.
1197 (grub_net_link_layer_resolve): Likewise.
1198 (grub_net_dns_lookup): Likewise.
1199 (grub_net_add_dns_server): Likewise.
1200 (grub_net_remove_dns_server): Likewise.
1201 (GRUB_NET_TRIES): New const.
1202 (GRUB_NET_INTERVAL): Likewise.
1203 * include/grub/net/arp.h: Mostly rewritten.
1204 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
1205 * include/grub/net/ip.h: Mostly rewritten.
1206 * include/grub/net/netbuff.h: Indent.
1207 * include/grub/net/tcp.h: New file.
1208 * include/grub/net/udp.h: Mostly rewritten.
1209 * include/grub/priority_queue.h: New file.
1210 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
1211 (grub_swap_bytes64_compile_time): Likewise.
1212 (grub_cpu_to_be16_compile_time): Likewise.
1213 (grub_cpu_to_be32_compile_time): Likewise.
1214 (grub_cpu_to_be64_compile_time): Likewise.
1215 (grub_be_to_cpu64_compile_time): Likewise.
1216
215c1800
VS
12172011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
1220 UINT_TO_PTR with cast.
1221
c17e546c
VS
12222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
1225 don't use them.
1226
ff6b18b6
VS
12272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
1230 already there.
1231
70ffcc93
VS
12322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
1235 confusing ipxe.
1236
e5f4d260
VS
12372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
1240 Add missing const attribute.
1241 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
1242 Likewise.
1243 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
1244 Likewise.
1245
8e54b4b7
VS
12462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
1249 misaligned access.
1250 (serpent_setkey): Likewise.
1251 (serpent_encrypt_internal): Likewise.
1252 (serpent_decrypt_internal): Likewise.
1253 (serpent_encrypt): Don't put an alignment-increasing cast.
1254 (serpent_decrypt): Likewise.
1255 (serpent_test): Likewise.
1256
813c0a2b
VS
12572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
1260
f2b60fbd
VS
12612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
1264
1265 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
1266 grub_addr_t casts.
1267 (PTR_TO_UINT64): Likewise.
1268 (PTR_TO_UINT32): Likewise.
1269
5ef5c511
VS
12702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * util/grub-mkimage.c (generate_image): Decrease the higher limit
1273 because of stack.
1274 * util/grub-setup.c (setup): Don't add redundancy past the higher load
1275 limit.
1276
c476e6df
VS
12772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
1280 text_width > available width a bit more gracefully.
1281
384ad7cc
VS
12822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
1285 current address calculation.
1286
96f8caf8
VS
12872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
1290 stack.
1291 (encode_block): Likewise.
1292
276b7a8b
VS
12932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
1296 certainety.
1297
e3fd394a
VS
12982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
1301 non-RS part to avoid RS messing with GDT.
1302 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1303 Increase to suit in realmode routines.
1304
13052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/kern/i386/realmode.S: Increase alignment.
1308 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
1309
ee9c2e7a
VS
13102011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
1313 be deterministic.
1314 (syndroms): Compute 0 syndrom.
1315 (rs_recover): Use 0 syndrom.
1316
7a7f7cc9
VS
13172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
1320
a14b16d1
VS
13212011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
1324 brackets.
1325
9f59e9fc
VS
13262011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1327
ca1b552c
VS
1328 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
1329 account.
1330 (get_top_pad): Likewise.
1331 (get_right_pad): Likewise.
1332 (get_bottom_pad): Likewise.
1333
13342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 1337
e739d698
VS
13382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
1341 attribute as the structure isn't guaranteed to be properly aligned.
1342 (grub_efi_pci_device_path): Likewise.
1343 (grub_efi_pccard_device_path): Likewise.
1344 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
1345 specify the size of `memory_type'.
1346 (grub_efi_vendor_device_path): Likewise.
1347 (grub_efi_controller_device_path): Likewise.
1348 (grub_efi_acpi_device_path): Likewise.
1349 (grub_efi_expanded_acpi_device_path): Likewise.
1350 (grub_efi_atapi_device_path): Likewise.
1351 (grub_efi_scsi_device_path): Likewise.
1352 (grub_efi_fibre_channel_device_path): Likewise.
1353 (grub_efi_1394_device_path): Likewise.
1354 (grub_efi_usb_device_path): Likewise.
1355 (grub_efi_usb_class_device_path): Likewise.
1356 (grub_efi_i2o_device_path): Likewise.
1357 (grub_efi_mac_address_device_path): Likewise.
1358 (grub_efi_ipv4_device_path): Likewise.
1359 (grub_efi_ipv6_device_path): Likewise.
1360 (grub_efi_infiniband_device_path): Likewise.
1361 (grub_efi_uart_device_path): Likewise.
1362 (grub_efi_vendor_messaging_device_path): Likewise.
1363 (grub_efi_hard_drive_device_path): Likewise.
1364 (grub_efi_cdrom_device_path): Likewise.
1365 (grub_efi_vendor_media_device_path): Likewise.
1366 (grub_efi_file_path_device_path): Likewise.
1367 (grub_efi_protocol_device_path): Likewise.
1368 (grub_efi_piwg_device_path): Likewise.
1369 (grub_efi_bios_device_path): Likewise.
1370
cb8f88ea
VS
13712011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
1374 (grub_ucs4_to_utf8_alloc): Likewise.
1375 (grub_ucs4_to_utf8): Likewise.
1376 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
1377 (grub_ucs4_to_utf8_alloc): Likewise.
1378
309e5352
VS
13792011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 AFFS never uses unicode.
1382
1383 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
1384 (grub_latin1_to_utf8): New inline function.
1385 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
1386
e7987e1b
VS
13872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
1390 overflow.
1391
efc2616e
VS
13922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
1395 (grub_squash_dirent_header): Likewise.
1396 (read_chunk): Don't double swap.
1397 (grub_squash_iterate_dir): Fix swap sizes.
1398
3c349f5a
VS
13992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
1402
b453412d
VS
14032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
1406 (grub_hfs_iterate_dir): Likewise.
1407
12e9d4d1
VS
14082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 Fix video on platforms where unaligned access is forbidden.
1411 Make several optimisations while on it.
1412
1413 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
1414 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1415 (grub_video_fbblit_replace_32bit_1bit): Likewise.
1416 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1417 Disable.
1418 (grub_video_fbblit_replace_16bit_1bit):
1419 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1420 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1421 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
1422 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
1423 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1424 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1425 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
1426 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
1427 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
1428 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
1429 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
1430 (grub_video_fbblit_replace_index_RGB888): Likewise.
1431 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
1432 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
1433 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
1434 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1435 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
1436 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1437 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1438 Disable.
1439 (grub_video_fbblit_blend_XXX565_1bit):
1440 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1441 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
1442 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
1443 void *.
1444 * grub-core/video/fb/video_fb.c (common_blitter)
1445 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
1446 (grub_video_fb_create_render_target_from_pointer)
1447 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1448 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
1449 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
1450 definition.
1451 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
1452
ace96609
VS
14532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
1456 HH22 and HM10 relocations.
1457
fd261d73
VS
14582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
1461
e59b7857
VS
14622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
1465 allocation succeeded.
1466
9b4baaa4
VS
14672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
1470 argument a u8 pointer. All users updated.
1471 Handle unaligned buffers.
1472
dc713193
VS
14732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
1476 add_part to workaround compiler bug.
1477
30dd48c2
VS
14782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
1481
0c6087a8
VS
14822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1485 Reserve alignment invariants.
1486 (grub_multiboot_load): Likewise.
1487 (retrieve_video_parameters): Likewise.
1488 (grub_multiboot_make_mbi): Likewise.
1489
c2e77777
VS
14902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1493 incorrect pointer.
1494
b70b6d11
VS
14952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1498 (grub_pata_pio_write): Likewise.
1499
02a2bf83
VS
15002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 Add noreturn attributes and remove unreachable code.
1503
1504 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1505 code.
1506 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1507 code. Mark as noreturn.
1508 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1509 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1510 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1511 unreachable code.
1512 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1513 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1514 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1515 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1516 * include/grub/kernel.h (grub_main): Mark as noreturn.
1517 * include/grub/reader.h (grub_rescue_run): Likewise.
1518
2019d09e
VS
15192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1522 redundant declaration.
1523
d1c501ee
VS
15242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1527 redundant declaration.
1528 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1529
61664420
VS
15302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1533 to ensure alignment.
1534 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1535 alignment. Ensure tmp alignment.
1536 (grub_cmd_hdparm): Ensure buf alignment.
1537 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1538 to ensure alignment.
1539 (grub_ata_dumpinfo): Ensure text alignment.
1540 (grub_atapi_identify): Preserve alignment invariant.
1541 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1542
0d51ee20
VS
15432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1546 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1547 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1548 * include/grub/misc.h (grub_reboot)
1549 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1550 (grub_halt) [__mips__]: Likewise.
1551
753ef8c1
VS
15522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1555 Remove redundant declaration.
1556 (grub_mmap_get_post64): Likewise.
1557 (grub_mmap_get_upper): Likewise.
1558 (grub_mmap_get_lower): Likewise.
1559
85c85365
VS
15602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1563 uint32_t * to ensure alignment.
1564 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1565
a23f2cc4
VS
15662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1567
93018f64
VS
1568 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1569 uint16_t * to ensure alignment.
1570 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1571 alignment.
1572
15732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
1576 to ensure alignment.
1577 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1578
58acccd6
VS
15792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1582 Handle unaligned pointers.
1583 (u32at): Likewise.
1584 (u64at): Likewise.
1585 (fixup): Use byte access instead of v16at.
1586 (find_attr): Fix imporper usage of v32at.
1587 (read_data): Likewise.
1588 (list_file): Handle byte-swapping and unaligned strings.
1589 (grub_ntfs_label): Likewise.
1590
9b05cad7
VS
15912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1594 as it's not necessarily aligned.
1595
b3950b84
VS
15962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1599 redundant declaration.
1600 (grub_serial_init): Likewise.
1601 (grub_terminfo_init): Likewise.
1602
fcd232b7
VS
16032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1606 function.
1607 (ZAP_HASH_IDX): Likewise.
1608 (ZAP_LEAF_HASH_SHIFT): Likewise.
1609 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1610 (LEAF_HASH): Likewise.
1611 (ZAP_LEAF_NUMCHUNKS): Likewise.
1612 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1613 alignment invariants. Return pointer. All users updated.
1614 (ZAP_LEAF_ENTRY): Make into inline function.
1615 (NBBY): Removed.
1616 (xor): LIkewise.
1617 (xor_out): Use grub_crypto_xor.
1618 (dnode_get_path): Use grub_get_unaligned.
1619 (nvlist_find_value): Likewise.
1620 (grub_zfs_nvlist_lookup_uint64): Likewise.
1621 (grub_zfs_nvlist_lookup_string): Likewise.
1622 (get_nvlist_size): Likewise.
1623 (grub_zfs_open): Likewise.
1624 (fill_fs_info): Likewise.
1625 (grub_zfs_dir): Likewise.
1626 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1627 alignment invariants.
1628 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1629 necessarily aligned.
1630
f138623a
VS
16312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1634
564840dc
VS
16352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1638 arithmetic to conserve alignment invariants.
1639
9b40df20
VS
16402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1643 redundant declaration.
1644 (grub_efiemu_mm_obtain_request): Likewise.
1645 (grub_efiemu_prepare): Likewise.
1646
d1c930f9
VS
16472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1650 to match types.
1651
4c5f3056
VS
16522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1655 case of aunaligned recptr.
1656 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1657 alignment.
1658 (grub_hfsplus_btree_search): Handle unaligned index.
1659
728cba91
VS
16602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1663 to get freetag and skip.
1664
eb561f31
VS
16652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1668 array.
1669 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1670 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1671
20993fbb
VS
16722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1675 name for checksum and fix allocation algorithm.
1676
1f313b94
VS
16772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * include/grub/types.h (grub_properly_aligned_t): New type.
1680 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1681 (grub_get_unaligned16): Add explicit casts.
1682 (grub_get_unaligned32): Likewise.
1683 (grub_get_unaligned64): Likewise.
1684 (grub_set_unaligned16): New function.
1685 (grub_set_unaligned32): Likewise.
1686
47ae27ec
VS
16872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1690
78c2cd1c
VS
16912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1694 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1695 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1696
53072f9b
VS
16972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1700 conditionals.
1701
055dc239
VS
17022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1705 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1706
496bd074
VS
17072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 Unify and improve RAID and crypto xor.
1710
1711 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1712 changed to grub_crypto_xor
1713 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1714 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1715 Use bigger types when possible.
1716
ef6e4335
VS
17172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * grub-core/disk/raid.c (scan_devices): Fix condition.
1720
5d048bf2
VS
17212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1724 Make name a const ptr.
1725
ee533335
VS
17262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1729 first argument a const pointer.
1730 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1731 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1732 proto.
1733 (grub_children_iterate): Likewise.
1734 (grub_machine_mmap_iterate): Remove redundant declaration.
1735
cc8f3668
VS
17362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1739 (grub_cmd_acpi) [!x86]: Disable EBDA.
1740
c5fc563a
VS
17412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 Enable UTF8 in gnulib regexp.
1744
1745 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1746 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1747 (isupper): Use grub_isupper.
1748 (isascii): New inline function.
1749 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1750 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1751 * grub-core/normal/charset.c (grub_utf8_process): New function.
1752 (grub_utf8_to_utf16): Use grub_utf8_process.
1753 (grub_encode_utf8_character): New function.
1754 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1755 * include/grub/charset.h (grub_utf8_process): New declaration.
1756 (grub_encode_utf8_character): Likewise.
1757 * include/grub/misc.h (grub_islower): New inline function.
1758 (grub_isupper): Likewise.
1759 (grub_strchrsub): Moved down to fix the definitions.
1760
0af2346f
VS
17612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1764 specification.
1765
74dbd244
VS
17662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * include/grub/loader.h (grub_loader_register_preboot_hook):
1769 Use struct preboot * and not void * for handle. All users updated.
1770 (grub_loader_unregister_preboot_hook): Likewise.
1771
1bc8f60d
VS
17722011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1775 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1776 UTF-16-BE. All users updated.
1777 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1778 (grub_hfsplus_iterate_dir): Likewise.
1779 (grub_hfsplus_label): Likewise.
1780
48d6e456
VS
17812011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1784
bf3a3857
VS
17852011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 Add missing const qualifiers.
1788
1789 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1790 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1791 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1792 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1793 (grub_lvm_check_flag): Likewise.
1794 * grub-core/efiemu/i386/coredetect.c
1795 (grub_efiemu_get_default_core_name): Likewise
1796 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1797 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1798 * grub-core/fs/ntfs.c (fixup): Likewise.
1799 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1800 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1801 (fzap_lookup): Likewise.
1802 (zap_lookup): Likewise.
1803 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1804 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1805 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1806 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1807 (grub_freebsd_add_meta_module): Likewise.
1808 (grub_cmd_freebsd_module): Likewise.
1809 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1810 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1811 (grub_xnu_writetree_get_size): Likewise.
1812 (grub_xnu_writetree_toheap_real): Likewise.
1813 (grub_xnu_find_key): Likewise.
1814 (grub_xnu_create_key): Likewise.
1815 (grub_xnu_create_value): Likewise.
1816 (grub_xnu_register_memory): Likewise.
1817 (grub_xnu_check_os_bundle_required): Likewise.
1818 (grub_xnu_scan_dir_for_kexts): Likewise.
1819 (grub_xnu_load_kext_from_dir): Likewise.
1820 * grub-core/normal/color.c (color_list): Likewise.
1821 * grub-core/normal/completion.c (current_word): Likewise.
1822 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1823 * grub-core/term/serial.c (grub_serial_find): Likewise.
1824 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1825 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1826 Likewise.
1827 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1828 (grub_freebsd_add_meta_module): Likewise.
1829 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1830 * include/grub/net.h (grub_net_card_driver): Likewise.
1831 (grub_net_card): Likewise.
1832 (grub_net_app_protocol): Likewise.
1833 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1834 * include/grub/serial.h (grub_serial_find): Likewise.
1835 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1836 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1837 (grub_xnu_create_value): Likewise.
1838 (grub_xnu_find_key): Likewise.
1839 (grub_xnu_scan_dir_for_kexts): Likewise.
1840 (grub_xnu_load_kext_from_dir): Likewise.
1841
1842 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1843 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1844 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1845 Moved from here ...
1846 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1847
112b4837
CW
18482011-11-28 Colin Watson <cjwatson@ubuntu.com>
1849
1850 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1851
49e891ac
VS
18522011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1855 (read_device): Fix size calculation.
1856
fd258e5c
RM
18572011-11-25 Robert Millan <rmh@gnu.org>
1858
1859 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1860 (find_root_device_from_libzfs): Add zpool output parser to be used
1861 as fallback when libzfs isn't available.
1862
78845dc2
SG
18632011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1864
1865 * po/Makefile.in.in: Add missing escape-continuation.
1866
adac5211
VS
18672011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1870
10b64f1c
VS
18712011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1874
bb416954
VS
18752011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1878
bdfe9eeb
VS
18792011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1882
581ffa8a
VS
18832011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/lib/adler32.c: Add missing license specification.
1886 * grub-core/lib/crc64.c: Likewise.
1887 * grub-core/loader/i386/pc/plan9.c: Likewise.
1888 * grub-core/partmap/plan.c: Likewise.
1889
2536cf64
LK
18902011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1891
1892 Add facility to debug GRUB with gdb under qemu.
1893
1894 * grub-core/gdb_grub.in: New file.
1895 * grub-core/gmodule.pl.in: Likewise.
1896 * grub-core/Makefile.core.def (gmodule.pl): New script.
1897 (gdb_grub): Likewise.
1898
bc108a4a
VS
18992011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * util/grub-mount.c (argp_parser): Accept relative pathes.
1902 * util/grub-fstest.c (argp_parser): Likewise.
1903
111c1778
VS
19042011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 Plan9 support.
1907
1908 * Makefile.util.def (libgrubmods): Add
1909 grub-core/partmap/plan.c.
1910 * docs/grub.texi: Notice Plan9 support.
1911 * grub-core/Makefile.core.def (plan9): New module.
1912 (part_plan): Likewise.
1913 * grub-core/loader/i386/pc/plan9.c: New file.
1914 * grub-core/partmap/plan.c: Likewise.
1915 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1916 define.
1917 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1918 * include/grub/mm.h (grub_extend_alloc): New inline function.
1919
c30be3b6
VS
19202011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 Make Reed-Solomon faster by using power of generator representation of
1923 GF(256)*.
1924
1925 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1926 (gf_double_t): Likewise.
1927 (gf_invert): Removed.
1928 (gf_powx): New array.
1929 (gf_powx_inv): Likewise.
1930 (scratch): Move higher.
1931 (gf_reduce): Removed.
1932 (gf_mul): Use powx.
1933 (gf_invert): Likewise.
1934 (init_inverts): Replaced with ...
1935 (init_powx): ...this. All users updated.
1936 (pol_evaluate): Replace multiplications with additions.
1937 (rs_encode): Likewise.
1938 (gauss_eliminate): Call gf_invert.
1939 (grub_reed_solomon_add_redundancy): Call init_powx.
1940 (grub_reed_solomon_recover): Call init_powx unconditionally.
1941
fa5aeffc
VS
19422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1945
a346b81c
VS
19462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1949 disk->partiton for safety.
1950
d89ee414
VS
19512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1954 Fix a memory leak.
1955 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1956
91ee7b6d
VS
19572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1960
91e5a33d
VS
19612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1964
9edd7be2
VS
19652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 Fix spaces handling in proc/self/mountinfo.
1968
1969 * util/getroot.c (unescape): New function.
1970 (grub_find_root_device_from_mountinfo): Use unescape.
1971
ba102053
VS
19722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 Support ZFS embedding.
1975
1976 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1977 (grub_zfs_fs): Register grub_zfs_embed.
1978
aa94b870
VS
19792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 Fix MIPS compilation.
1982
1983 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1984 * include/grub/offsets.h: Rename decompressor fields from
1985 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1986 * util/grub-mkimage.c (image_targets): Use new names.
1987
5fbdac14
VS
19882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 Defer multiboot device parsing until we're in compressed part.
1991
1992 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1993 bsd_part. setdevice has fallen into disuse.
1994 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1995 (bsd_part): Likewise.
1996 (boot_dev): New variable.
1997 (multiboot_trampoline): Don't parse multiboot device.
1998 Pass multiboot device in %edx.
1999 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
2000 grub_boot_device.
2001 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
2002 Likewise.
2003 * grub-core/kern/i386/pc/startup.S: Save edx.
2004 (grub_boot_drive): Removed.
2005 (grub_install_dos_part): Likewise.
2006 (grub_install_bsd_part): Likewise.
2007 (grub_boot_device): New variable.
2008 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
2009 (grub_install_bsd_part): Likewise.
2010 (grub_boot_drive): Likewise.
2011 (grub_boot_device): New variable.
2012 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
2013 Removed.
2014 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2015 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
2016 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
2017 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
2018 * util/grub-install.in: Remove redundant condition.
2019
691cbb58
VS
20202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 Fix bug introduced by previous commit.
2023
2024 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
2025
60240b8b
VS
20262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 Use decompressors framework on i386-pc. It increases core size
2029 by 46 bytes but improves compatibility and maintainability.
2030
2031 * grub-core/Makefile.core.def (lzma_decompress): New image.
2032 (kernel): Add i386_pc_ldflags.
2033 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
2034 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
2035 to real_to_prot, prot_to_real and device info.
2036 * include/grub/offsets.h: Renamed decompressor offsets.
2037 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
2038 (image_target_desc): Remove raw_size and rename decompressor fields.
2039 (compress_kernel): Handle lzma.
2040 (generate_image): Handle decompressors on i386-pc.
2041
e9d3421c
VS
20422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * configure.ac: Add -fno-asynchronous-unwind-tables.
2045
2b23074a
VS
20462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 Move assembly code to C by using intwrap. It increases core size
2049 by 88 bytes but improves compatibility and maintainability.
2050
2051 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
2052 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
2053 ... here. Translated to C.
2054 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
2055 * grub-core/term/i386/pc/console.c (grub_console_getkey):
2056 ... here. Translated to C.
2057 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
2058 * grub-core/term/i386/pc/console.c (grub_console_getxy):
2059 ... here. Translated to C.
2060 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
2061 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
2062 ... here. Translated to C.
2063 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
2064 * grub-core/term/i386/pc/console.c (grub_console_cls):
2065 ... here. Translated to C.
2066 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
2067 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
2068 ... here. Translated to C.
2069 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
2070 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
2071 Translated to C.
2072 * grub-core/term/i386/pc/console.c (int10_9): New function.
2073 (grub_console_putchar): Likewise.
2074 * include/grub/i386/pc/console.h: Removed the not anymore shared
2075 functions.
2076
678f4b67
VS
20772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 Move grub_chainloader_real_boot out of the kernel.
2080
2081 * grub-core/Makefile.am: Remove machine/loader.h.
2082 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2083 Removed.
2084 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
2085 variable.
2086 (grub_relocator16_keep_a20_enabled): Likewise.
2087 (grub_relocator16_boot): Fill new variables.
2088 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
2089 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
2090 relocator.
2091 (grub_chainloader_unload): Likewise.
2092 (grub_chainloader_cmd): Likewise.
2093 * include/grub/i386/pc/loader.h: Removed.
2094 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
2095 and esi. All initialisers updated.
2096
4626edf6
VS
20972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20982011-11-12 Colin Watson <cjwatson@ubuntu.com>
2099
2100 * Makefile.util.def (grub-mount): New util.
2101 * .bzrignore: Add grub-mount.
2102 * configure.ac: Check for fuse and enable grub-mount if available.
2103 * docs/man/grub-mount.h2m: New file.
2104 * util/grub-mount.c: Likewise.
2105
10f0117b
VS
21062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/commands/efi/fixvideo.c: Gettextize.
2109 * grub-core/commands/hashsum.c: Likewise.
2110 * grub-core/commands/i386/cmostest.c: Likewise.
2111 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2112 * grub-core/commands/i386/pc/lsapm.c: Likewise.
2113 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2114 * grub-core/commands/lsmmap.c: Likewise.
2115 * grub-core/commands/menuentry.c: Likewise.
2116 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2117 * grub-core/commands/setpci.c: Likewise.
2118 * grub-core/loader/i386/bsd.c: Likewise.
2119 * grub-core/loader/i386/linux.c: Likewise.
2120 * util/getroot.c: Likewise.
2121 * util/grub-editenv.c: Likewise.
2122 * util/grub-fstest.c: Likewise.
2123 * util/grub-mkfont.c: Likewise.
2124 * util/grub-mkimage.c: Likewise.
2125 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2126 * util/grub-pe2elf.c: Likewise.
2127 * util/grub-probe.c: Likewise.
2128 * util/grub-setup.c: Likewise.
2129 * util/ieee1275/ofpath.c: Likewise.
2130 * util/misc.c: Likewise.
2131 * util/raid.c: Likewise.
2132
566f779b
RM
21332011-11-11 Robert Millan <rmh@gnu.org>
2134
2135 * util/getroot.c (grub_util_get_geom_abstraction): Remove
2136 __attribute__((unused)) from `os_dev', which *is* being used.
2137
b50787de
VS
21382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
2141 forgotten define.
2142 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
2143 GRUB_IA64_DL_GOT_ALIGN.
2144 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
2145 GRUB_IA64_DL_TRAMP_ALIGN.
2146
119d11c8
VS
21472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 Replace grub_fatal with normal errors in i386 linux loader.
2150
2151 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
2152 (allocate_pages): Check find_efi_mmap_size return value.
2153 (grub_e820_add_region): Return error.
2154 (grub_linux_boot): Check mmap return value.
2155
6e0632e2
VS
21562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/commands/acpihalt.c: Gettextized.
2159 * grub-core/commands/cacheinfo.c: Likewise.
2160 * grub-core/commands/cmp.c: Likewise.
2161 * grub-core/commands/efi/loadbios.c: Likewise.
2162 * grub-core/commands/gptsync.c: Likewise.
2163 * grub-core/commands/ieee1275/suspend.c: Likewise.
2164 * grub-core/commands/legacycfg.c: Likewise.
2165 * grub-core/commands/memrw.c: Likewise.
2166 * grub-core/commands/minicmd.c: Likewise.
2167 * grub-core/commands/parttool.c: Likewise.
2168 * grub-core/commands/time.c: Likewise.
2169 * grub-core/commands/videoinfo.c: Likewise.
2170 * grub-core/disk/geli.c: Likewise.
2171 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
2172 * grub-core/disk/luks.c: Likewise.
2173 * grub-core/disk/lvm.c: Likewise.
2174 * grub-core/font/font_cmd.c: Likewise.
2175 * grub-core/fs/zfs/zfscrypt.c: Likewise.
2176 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2177 * grub-core/gfxmenu/view.c: Likewise.
2178 * grub-core/kern/emu/hostdisk.c: Likewise.
2179 * grub-core/kern/emu/main.c: Likewise.
2180 * grub-core/kern/emu/misc.c: Likewise.
2181 * grub-core/kern/emu/mm.c: Likewise.
2182 * grub-core/kern/mips/arc/init.c: Likewise.
2183 * grub-core/kern/mips/loongson/init.c: Likewise.
2184 * grub-core/kern/partition.c: Likewise.
2185 * grub-core/lib/i386/halt.c: Likewise.
2186 * grub-core/lib/mips/arc/reboot.c: Likewise.
2187 * grub-core/lib/mips/loongson/reboot.c: Likewise.
2188 * grub-core/loader/i386/pc/chainloader.c: Likewise.
2189 * grub-core/loader/i386/xnu.c: Likewise.
2190 * grub-core/loader/multiboot.c: Likewise.
2191 * grub-core/net/bootp.c: Likewise.
2192 * grub-core/net/net.c: Likewise.
2193 * grub-core/normal/term.c: Likewise.
2194 * grub-core/partmap/bsdlabel.c: Likewise.
2195 * grub-core/parttool/msdospart.c: Likewise.
2196 * grub-core/term/gfxterm.c: Likewise.
2197 * grub-core/term/terminfo.c: Likewise.
2198 * grub-core/video/i386/pc/vbe.c: Likewise.
2199 * util/grub-menulst2cfg.c: Likewise.
2200 * util/grub-mkdevicemap.c: Likewise.
2201 * util/grub-mklayout.c: Likewise.
2202 * util/grub-mkrelpath.c: Likewise.
2203 * util/grub-script-check.c: Likewise.
2204 * util/ieee1275/grub-ofpathname.c: Likewise.
2205 * util/resolve.c: Likewise.
2206
073aa7a9
VS
22072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 Support %1$d syntax.
2210
2211 * tests/printf_unit_test.c: New file.
2212 * Makefile.util.def (printf_test): New test.
2213 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
2214
c76b5417
VS
22152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
2218 fix.
2219
df067ad1
VS
22202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
2223 dprintf.
2224 * grub-core/font/font.c (grub_font_load): Likewise.
2225
5b289bc5
VS
22262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * util/grub-macho2img.c: Add comment concerning gettext.
2229 * grub-core/lib/legacy_parse.c: Likewise.
2230
c1860f87
VS
22312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
2234 (grub_xvasprintf): Likewise.
2235
d35d0d37
VS
22362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 Add const keyword to grub_env_get and gettextize week days.
2239
2240 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
2241 (grub_read_hook_datetime): Return const char *.
2242 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
2243 updated.
2244 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2245 Mark for gettext.
2246 (grub_get_weekday_name): Return const char *. Call gettext.
2247 * grub-core/script/argv.c (grub_script_argv_append): Receive const
2248 char * and len as the argument. All users updated.
2249 (grub_script_argv_split_append): Receive const char *.
2250 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
2251 * include/grub/env.h (grub_env_get): Likewise.
2252 (grub_env_read_hook_t): Return const char *.
2253 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
2254 (grub_script_argv_split_append): Likewise.
2255
9aed8a71
VS
22562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
2259
067fdf00
VS
22602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
2263 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
2264
a8bd9d39
VS
22652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
2268 Fix prototype.
2269
f7ce5baf
VS
22702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 Fix mips compilation.
2273
2274 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
2275 normal decoder.
2276 (hashes): Use in embed decoder as well (for sizes).
2277 (dec_stream_header): Fix embed decompressor logic.
2278 (dec_stream_footer): Likewise.
2279
9bb182f3
VS
22802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
2283 an error and not a fatal on unrecognised relocation types.
2284
63a9e6f6
VS
22852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2288 Issue error rather than printf on unknown arguments.
2289
4c458569
VS
22902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
2293 Make buf a const.
2294
e2d22baf
VS
22952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
2298 Fix module name.
2299
53dc8590
VS
23002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
2303 leftover debug printf.
2304
6c189294
VS
23052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
2308
f7688369
VS
23092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
2312 A stylistic fix.
2313
11a775a3
VS
23142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
2317
33f784e8
SL
23182011-11-10 Shea Levy <slevy@tieronedesign.com>
2319
2320 Allow all modules to perform serial IO
2321
2322 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
2323 * include/grub/serial.h (grub_serial_port_configure): New inline
2324 function.
2325 (grub_serial_port_fetch): Likewise.
2326 (grub_serial_port_put): Likewise.
2327 (grub_serial_port_fini): Likewise.
2328 (grub_serial_find): New proto.
2329
f6276525
VS
23302011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 Put symlink at the end of the node and fix a potential
2333 memory corruption.
2334
2335 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
2336 Make symlink into an array.
2337 (set_rockridge): Set have_symlink and alloc_dirents.
2338 (grub_iso9660_read_symlink): Use new layout.
2339 (grub_iso9660_iterate_dir): Fix memory corruption.
2340 Use new layout.
2341 (grub_iso9660_dir): Set have_symlink.
2342 (grub_iso9660_open): Likewise.
2343
c3591189
VS
23442011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 Remove local keyword.
2347
2348 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
2349 (version_test_gt): Likewise.
2350 (version_find_latest): Likewise.
2351 (gettext_printf): Likewise.
2352 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
2353
cb544caa
VS
23542011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2357
45bd824d
VS
23582011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 Fix ZFS memory and resource leaks.
2361
2362 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
2363 All users updated.
2364 Free type on exit.
2365 (fill_vdev_info): New parameter inserted. All users updated.
2366 (check_pool_label): Likewise.
2367 (scan_disk): Likewise.
2368 (scan_devices): Close non-inserted disks.
2369 (fzap_iterate): Free l.
2370 (unmount_device): Free children descripto memory.
2371
ad9a2f44
VS
23722011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
2375 argument (access out of bounds).
2376
6b68db81
VS
23772011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
2380 >= 6 drives.
2381
28840fda
VS
23822011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
2385 Fix declaration.
2386
8a5a3a5b
VS
23872011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 Fix several memory leaks.
2390
2391 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
2392 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
2393 (grub_cpio_dir): Likewise.
2394 * grub-core/fs/fat.c (grub_fat_label): Likewise.
2395 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
2396 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
2397 (grub_romfs_label): Likewise.
2398 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
2399 (squash_unmount): New function.
2400 (grub_squash_dir): Fix memory leak.
2401 (grub_squash_open): Likewise.
2402 (grub_squash_read): Likewise.
2403 (grub_squash_mtime): Likewise.
2404 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
2405 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
2406 * util/grub-fstest.c (fstest): Likewise.
2407
57b01250
VS
24082011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
2411 avoid accessing beyond the array.
2412
19e81ba7
VS
24132011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2416
52b656c0
VS
24172011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 Several AFFS fixes.
2420
2421 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
2422 (GRUB_AFFS_FLAG_FFS): Removed.
2423 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
2424 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
2425 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
2426 (grub_fshelp_node): Make block 32-bit.
2427 Add block_cache and last_block_cache.
2428 (grub_affs_read_block): Fill and use block cache.
2429 (grub_affs_read_file): Removed.
2430 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
2431 boot block.
2432 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
2433 safety.
2434 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
2435 space.
2436 (grub_affs_close): Free block cache.
2437 (grub_affs_read): Use grub_fshelp_read_file directly.
2438
438a746a
VS
24392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
2442 with no error set.
2443
49a45021
VS
24442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
2447 used variable.
2448 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2449 Likewise.
2450
3ae17eb8
VS
24512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
2454
2455 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
2456 byteswap when needed.
2457
27610c38
VS
24582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 Fix FreeBSD compilation.
2461
2462 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
2463 to avoid circular dependency.
2464 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
2465 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
2466 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
2467
4a19b601
VS
24682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 Fix ZFS crypto error types.
2471
2472 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
2473 (grub_gcm_decrypt): Likewise.
2474 (grub_zfs_load_key_real): Fix error code type. Handle possible error
2475 from PBKDF2.
2476
958ee221
VS
24772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 Illumos support.
2480
2481 * Makefile.util.def (10_illumos): New script.
2482 * configure.ac: Set COND_HOST_ILLUMOS.
2483 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2484 Support Illumos calls.
2485 (find_partition_start) [__sun__]: Likewise.
2486 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2487 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2488 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2489 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2490 device.
2491 * util/grub-probe.c (probe) [__sun__]: Do character check.
2492 * util/grub.d/10_illumos.in: New file.
2493
cac14fb6
VS
24942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 Support escaped commas in hostdisk.
2497
2498 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2499 (find_grub_drive): Use unescape_cmp.
2500 (make_device_name): Escape commas.
2501
78e08dc3
VS
25022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2505
9f421dd1
VS
25062011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2509 variable.
2510
ed64e9e2
VS
25112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 Support trampoline jumps on powerpc.
2514
2515 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2516 __ia64__ path.
2517 (grub_dl_load_segments): Set mod->sz.
2518 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2519 segments.
2520 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2521 (jump): Likewise.
2522 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2523 function.
2524 (trampoline): New struct.
2525 (trampoline_template): New const.
2526 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2527 * include/grub/dl.h (grub_dl): Add sz element.
2528 [__powerpc__]: Follow __ia64__.
2529 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2530 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2531 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2532 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2533
3084ede4
VS
25342011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 ZFS crypto support.
2537
2538 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2539 * grub-core/Makefile.core.def (zfscrypt): New module.
2540 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2541 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2542 it. All users updated.
2543 (grub_zfs_decrypt): New var.
2544 (grub_zfs_load_key): Likewise.
2545 (zio_checksum_functions): Add SHA256+MAC.
2546 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2547 (zio_read): Handle encrypted blocks.
2548 (zap_verify): Remove incorrect check.
2549 (fzap_iterate): Handle non-standard fzap.
2550 (zap_iterate): Likewise.
2551 (zap_iterate_u64): New function.
2552 (dnode_get_fullpath): Load keys.
2553 * grub-core/fs/zfs/zfscrypt.c: New file.
2554 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2555 (grub_crypto_ecb_encrypt): Make input const.
2556 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2557 (grub_crypto_ecb_encrypt): Make input const.
2558 (GRUB_CIPHER_AES): New macro.
2559 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2560 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2561 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2562 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2563 prefix. All users updated.
2564 (grub_zfs_add_key): New proto.
2565 (grub_zfs_decrypt): Likewise.
2566 (grub_zfs_load_key): Likewise.
2567 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2568 * util/grub-fstest.c (options): Add -K option.
2569 (argp_parser): Likewise.
2570
b632b404
VS
25712011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 Support zle compression on ZFS.
2574
2575 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2576 (decomp_table): Add zle.
2577 * include/grub/zfs/zio.h (zio_compress): Add zle.
2578
c7ba4f69
VS
25792011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 Support BtrFS embedding.
2582
2583 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2584 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2585 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2586 * util/grub-setup.c (setup): Use fs embedding if available.
2587 Add additional sanity check.
2588
455377d9
VS
25892011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * util/grub-install.in: Fix condition for config_opt.
2592
c2fd16ca
VS
25932011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 Support third redundancy strip on raidz3.
2596
2597 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2598 Return error on singularity. All users updated.
2599 (read_device): Don't stop on 3rd failure on raidz3.
2600
8622923b
VS
26012011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 Support case-insensitive ZFS subvolumes.
2604
2605 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2606 All users updated.
2607 (zap_hash): Likewise.
2608 (name_cmp): New function.
2609 (zap_leaf_array_equal): New parameter case_insensitive.
2610 All users updated.
2611 (zap_leaf_lookup): Likewise.
2612 (fzap_lookup): Likewise.
2613 (zap_lookup): Likewise.
2614 (dnode_get_path): New parameter case_insensitive. Retrieve case
2615 sensitiviness of a volume. All users updated.
2616 (dnode_get_fullpath): New parameter case_insensitive.
2617 All users updated.
2618 (grub_zfs_dir): Set info.case_insensitiveness.
2619
95f2e860
VS
26202011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 Support second redundancy strip on raidz(2,3).
2623
2624 * grub-core/fs/zfs/zfs.c (powx): New array.
2625 (powx_inv): Likewise.
2626 (poly): New const.
2627 (xor_out): New function.
2628 (gf_mul): Likewise.
2629 (recovery): Likewise.
2630 (read_device): Use second redundancy strip.
2631
11ee4389
VS
26322011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 Use a power of generator representation of GF(256) multiplication group
2635 to save space time and complexity.
2636
2637 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2638 (raid6_table2): Likewise.
2639 (powx): New array.
2640 (powx_inv): Likewise.
2641 (poly): New const.
2642 (grub_raid_block_mul): Replace with ...
2643 (grub_raid_block_mulx): ...this.
2644 (grub_raid6_init_table): Rewritten.
2645 (grub_raid6_recover): Use power of generator representation.
2646
09e2763f
VS
26472011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2650 for the right device.
2651
8bec9a28
VS
26522011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2655 expected by grub-mkimage and it's more clear since there is no implicit
2656 padding.
2657
dbd3a32e
VS
26582011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2661 disk.
2662 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2663
182c872a
PMH
26642011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2665
2666 * util/grub-mkrescue.in: Fix handling xorriso option.
2667
1e51cabd
VS
26682011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2671 NULL.
2672
9cc3581d 26732011-11-03 crocket <crockabiscuit@gmail.com>
2674
2675 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2676
158dc1ea
VS
26772011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 XZ CRC64 and SHA256 support.
2680
2681 * Makefile.util.def (libgrubmods): Add crc64.c.
2682 * grub-core/Makefile.core.def (crc64): New module.
2683 * grub-core/lib/crc64.c: New file.
2684 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2685 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2686 Fix the type.
2687 (MAX_HASH_SIZE): New define.
2688 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2689 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2690 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2691 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2692 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2693 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2694 Handle non-crc32 hashes.
2695 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2696 (dec_stream_header): Handle non-crc32 hashes.
2697 (dec_stream_footer): Likewise.
2698 (dec_block_header): Likewise.
2699 (dec_main): Likewise.
2700 (xz_dec_init): Likewise.
2701 (xz_dec_reset): Likewise.
2702 (xz_dec_end): Likewise.
2703 * util/import_gcry.py: Add CRC64 line.
2704
9d9b3d2f
VS
27052011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2708 as well.
2709
7d0ac931
VS
27102011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 Make reiserfs label retrieval similar to other *_label functions.
2713
2714 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2715 (REISERFS_MAX_LABEL_LENGTH): Removed.
2716 (REISERFS_LABEL_OFFSET): Likewise.
2717 (grub_reiserfs_label): Rewritten.
2718
27192011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2722 field.
2723
cf5ba824
VS
27242011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2727
17744004
VS
27282011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2731 drive failure on both raidz and raidz2.
2732
aca5aefc
VS
27332011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 Fix RAIDZ(2) for >= 5 devices.
2736
2737 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2738 asize argument. All users updated.
2739
ce8ca56e
VS
27402011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 Fix RAIDZ(2).
2743
2744 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2745 (fill_vdev_info_real): Set ashift.
2746 (read_device): Rewrite RAIDZ part based on reverse engineering.
2747
7c01e783
VS
27482011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2751 don't report potentially unavialiable fields in debug output.
2752 (find_path): Fix double-free and memory leak.
2753
ce109e84
VS
27542011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 Read label on UFS1.
2757
2758 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2759 (grub_ufs_fs): Always set .label.
2760
87661123
VS
27612011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 Use shifts in UFS.
2764
2765 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2766 (grub_ufs_data): New field log2_blksz.
2767 (grub_ufs_read_file): Use shifts.
2768 (grub_ufs_mount): Check block size and logarithm it.
2769
46bc1dc2
VS
27702011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2773 long symlinks.
2774
19ee2987
VS
27752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 Handle symlinks and long names on tar and cpio.
2778
2779 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2780 (ATTR_FILE): Likewise.
2781 (ATTR_DIR): Likewise.
2782 (ATTR_LNK): Likewise.
2783 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2784 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2785 L and K entries.
2786 (grub_cpio_mount): Zero-fill data.
2787 (handle_symlink): New function.
46bc1dc2
VS
2788 (grub_cpio_dir): Handle symlinks.
2789 (grub_cpio_open): Likewise.
2790 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 2791
c83a08d8
VS
27922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 Fix iso9660 filename limitations and fix memory leaks.
2795
2796 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2797 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2798
45cdd3ea
VS
27992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 Fix JFS file name length limitations.
2802
2803 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2804 (grub_jfs_diropen): Fix maximum filename length.
2805 (grub_jfs_getent): Fix filename length.
2806 (grub_jfs_lookup_symlink): Fix size checks.
2807
94ef05c2
VS
28082011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2811 string.
2812
785ab8c7
VS
28132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2814
eb0b6b45
VS
2815 Leverage BFS implementation to read AFS.
2816
2817 * Makefile.util.def (libgrubmods): Add afs.c.
2818 * grub-core/Makefile.core.def (afs): New module
2819 * grub-core/fs/afs.c: New file.
2820 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2821
28222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 2825
c4a1628f
VS
28262011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * grub-core/fs/bfs.c: Run indent.
2829
5825b379
VS
28302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 BFS implementation based on the specification.
2833
2834 * grub-core/fs/bfs.c: New file.
2835 * Makefile.util.def (libgrubmods): Add bfs.c.
2836 * grub-core/Makefile.core.def (bfs): New module.
2837
42b2a706
VS
28382011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * util/grub-fstest.c (cmd_cp): Clarify error message.
2841 (cmd_cmp): Likewise.
2842
61b99bfc
YB
28432011-10-30 Yves Blusseau <blusseau@zetam.org>
2844
2845 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2846 and befs_be.
2847
faba3d16
VS
28482011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 Remove afs and befs because of copyright problem.
2851
2852 * grub-core/fs/afs.c: Removed.
2853 * grub-core/fs/afs_be.c: Removed.
2854 * grub-core/fs/befs.c: Removed.
2855 * grub-core/fs/befs_be.c: Removed.
2856 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2857 * grub-core/Makefile.core.def (afs): Removed.
2858 (afs_be): Likewise.
2859 (befs): Likewise.
2860 (befs_be): Likewise.
2861
c39224b0
VS
28622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 Prefer rockridge over Joliet.
2865
2866 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2867 to ...
2868 (set_rockridge): ... here.
2869 (grub_iso9660_mount): Check rockridge on the primary label when
2870 discovering. Ignore Joliet if Rockridge is present.
2871
e551115a
VS
28722011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 Use shifts in nilfs2.
2875
2876 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2877 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2878 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2879 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2880 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2881 (grub_nilfs2_entries_per_block): Replaced with ...
2882 (grub_nilfs2_log_entries_per_block_log): ... this.
2883 (grub_nilfs2_blocks_per_group): Replaced with ...
2884 (grub_nilfs2_blocks_per_group_log): ... this.
2885 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2886 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2887 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2888 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2889 (grub_nilfs2_palloc_entry_offset): Replaced ...
2890 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2891 (grub_nilfs2_dat_translate): Use shifts.
2892 (grub_nilfs2_read_inode): Likewise.
2893 (GRUB_MOD_INIT): Ensure that logs are correct.
2894
564dd58c
VS
28952011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 Use shifts in minix filesystem.
2898
2899 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2900 (GRUB_MINIX_ZONE2SECT): Likewise.
2901 (grub_minix_data): Replace block_size with log_block_size.
2902 (grub_minix_read_file): Use shifts.
2903 (grub_minix_mount): Check block size and take a logarithm.
2904
ed9ba06d
VS
29052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 Use shifts in squash4.
2908
2909 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2910 (squash_mount): Check block size and take logarithm.
2911 (direct_read): Use shifts.
2912
ad03fe76
VS
29132011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 Correct befs block counting logic.
2916
2917 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2918 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2919 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2920 (grub_afs_read_inode): Use block_shift.
2921 (RANGE_SHIFT): New definition.
2922 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2923 unexpected conditions, use shifts and appropriate types.
2924 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2925
6563f63d
VS
29262011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/disk/raid.c (scan_devices): Check partition.
2929 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2930
5b1ae25f
VS
29312011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 Support BFS (befs) UUID.
2934
2935 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2936 (grub_afs_small_data_element_header): New struct.
2937 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2938 (grub_afs_read_attribute) [MODE_BFS]: New function.
2939 (grub_afs_iterate_dir): Allocate for complete inode.
2940 (grub_afs_mount): Likewise.
2941 (grub_afs_uuid) [MODE_BFS]: New function.
2942 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2943
f8d82408
VS
29442011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2947 (zfs_unmount): Fix memory leak.
2948
5773fb64
VS
29492011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 Support NTFS reparse points.
2952
2953 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2954 (symlink_descriptor): New struct.
2955 (grub_ntfs_read_symlink): New function.
2956 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2957 (grub_ntfs_open): Likewise.
2958
91c3fdde
VS
29592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2962
3be82e10
VS
29632011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 fstest xnu_uuid subcommand.
2966
2967 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2968 grub-core/commands/xnu_uuid.c.
2969 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2970 (fstest): Handle xnu_uuid.
2971 (options): Document xnu_uuid.
2972 (argp_parser): Parse xnu_uuid.
2973
8e32442e
VS
29742011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2977 -l argument. Add newline at the end if printing.
2978 (GRUB_MOD_INIT): Document -l.
2979
52a05075
VS
29802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2983
1869edb5
VS
29842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 ZFS multi-device and version 33 support.
2987
2988 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2989 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2990 (grub_zfs_data): Add multidev-ice-related fields.
2991 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2992 (dva_get_offset): Make dva const.
2993 (zfs_fetch_nvlist): New function.
2994 (fill_vdev_info_real): Likewise.
2995 (fill_vdev_info): Likewise.
2996 (check_pool_label): Likewise.
2997 (scan_disk): Likewise.
2998 (scan_devices): Likewise.
2999 (read_device): Likewise.
3000 (read_dva): Likewise.
3001 (zio_read_gang): Use read_dva.
3002 (zio_read_data): Likewise.
3003 (zap_leaf_lookup): Add missing endian conversion.
3004 (zap_verify): Add missing endian conversion. All users updated.
3005 (fzap_lookup): Likewise.
3006 (fzap_iterate): Likewise.
3007 (dnode_get_path): Handle SA bonus.
3008 (nvlist_find_value): Make input const. All users updated.
3009 (unmount_device): New function.
3010 (zfs_unmount): Use unmount_device.
3011 (zfs_mount): Use scan_disk.
3012 (zfs_mtime): New function.
3013 (grub_zfs_open): Handle system attributes.
3014 (fill_fs_info): Likewise.
3015 (grub_zfs_dir): Likewise.
3016 (grub_zfs_fs): Add mtime.
3017 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
3018 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
3019 (SA_MTIME_OFFSET): Likewise.
3020 (SA_SYMLINK_OFFSET): Likewise.
3021 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
3022 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
3023 (fstest): Support zfsinfo.
3024 (argp_parser): Likewise.
3025
186b4028
VS
30262011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
3029 error.
3030
30312011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
3032
3033 ZFS fixes.
3034
3035 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
3036 sharing the same block. Iterate over correct number of indices.
3037 (dnode_get_path): Handle symlinks correctly.
3038
c0584900
VS
30392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
3042
67e2bd71
VS
30432011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 Read label on HFS+.
3046
3047 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
3048 (grub_hfsplus_btree_search): Fix types.
3049 (grub_hfsplus_label): Implement.
3050
e9cc6b7b
VS
30512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
3054
19832ddb
VS
30552011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
3058
66b40850
VS
30592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 Fix symlink handling on iso9660.
3062
3063 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
3064 All users updated.
3065 (grub_iso9660_susp_iterate): Accept zero-size iterate.
3066 (grub_iso9660_read_symlink): Moved most of code ...
3067 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
3068
db821363
VS
30692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3072 Use union to avoid breaking strict-aliasing rules.
3073
e1211949
VS
30742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 Support multi-extent iso files.
3077
3078 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
3079 Add node.
3080 (grub_fshelp_node): Revamp. All users updated.
3081 (FLAG_*): New enum.
3082 (read_node): New function.
3083 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
3084 All users updated.
3085 (grub_iso9660_mount): Don't attempt to read sua when there is none.
3086 (get_node_size): New function.
3087 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
3088 entries.
3089 Fix memory leak on . and ..
3090 (grub_iso9660_read): Use read_node.
3091 (grub_iso9660_close): Free node.
3092
d4888031
VS
30932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 Fix tar 4G limit and handle paths containing dot.
3096
3097 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
3098 (canonicalize): New function.
3099 (grub_cpio_find_file): Use canonicalize. Store offs in
3100 grub_disk_addr_t.
3101 (grub_cpio_dir): Use grub_disk_addr_t.
3102 (grub_cpio_open): Likewise.
3103
9f12e664
VS
31042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 Fix handling of uncompressed blocks on squashfs and break 4G limit.
3107
3108 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
3109 unused flags.
3110 (grub_squash_inode): Add long_file and block_size.
3111 (grub_squash_cache_inode): New struct.
3112 (grub_squash_dirent): Make types into enum.
3113 (SQUASH_TYPE_LONG_REGULAR): New type.
3114 (grub_squash_frag_desc): Add field size.
3115 (SQUASH_BLOCK_FLAGS): New enum.
3116 (grub_squash_data): Use grub_squash_cache_inode.
3117 (grub_fshelp_node): Make ino_chunk 64-bit.
3118 (read_chunk): Minor argument change. All users updated.
3119 (squash_mount): Use correct le_to_cpu.
3120 (grub_squash_open): Handle LONG_REGULAR.
3121 (direct_read): New function.
3122 (grub_squash_read_data): Handle blocks correctly.
3123
9f326fba
VS
31242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
3127
f4d9b64b
VS
31282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
3131
5bbd28b8
VS
31322011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 Fix 2G limit on ZFS.
3135
3136 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
3137 types.
3138 (uberblock_verify): Likewise.
3139 (dmu_read): Likewise.
3140 (grub_zfs_read): Likewise. Remove invalid cast.
3141
68c72069
VS
31422011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
3145 (grub_jfs_blkno): Fix incorrect shift.
3146 (grub_jfs_read_file): Use more appropriate types.
3147
6e536dc8
VS
31482011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Support triple indirect on minix2 and minix3.
3151
3152 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
3153 Declare triple_indir_zone.
3154 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
3155 indirect.
3156
e0864e7a
VS
31572011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 Minix FS fixes.
3160
3161 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
3162 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
3163 Rename ctime to mtime. All users updated.
3164 (grub_minix_get_file_block): Fix types and double indirect computations.
3165
89481cab
VS
31662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
3169 if no label is found.
3170 (grub_fat_iterate_dir): Fix file size type.
3171 (grub_fat_iterate_dir): Likewise.
3172
f646e143
VS
31732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
3176 save some space.
3177 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3178 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3179
534d769e
VS
31802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
3183
e084ba18
VS
31842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * util/import_gcry.py: Accept space between # and include.
3187
3471ecdf
VS
31882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
3191
124df5f6
VS
31922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 Fine grainely disable warnings on lexer. Remove Wno-error on it.
3195
3196 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
3197 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
3198 yylex_strncpy.
3199 * grub-core/script/yylex.l: Add fine-grained #pragma.
3200
4defb8d5
VS
32012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
3204 New inline function.
3205 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
3206 Likewise.
3207 (memset) [GRUB_UTIL]: Likewise.
3208 (memcmp) [GRUB_UTIL]: Likewise.
3209
4e94ae65
VS
32102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
3213 inline function rather than a define.
3214
18c575e5
VS
32152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * util/grub-setup.c: Add missing include.
3218
f8bc22a8
VS
32192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * util/ieee1275/grub-ofpathname.c: Add missing include.
3222
3ce69fc9
VS
32232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
3226 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
3227 Likewise.
3228
d1e293bb
VS
32292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
3232 grub_memcmp usage.
3233
7a5c54a4
VS
32342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * util/grub-install.in: Add datarootdir as per automake manual
3237 suggestion.
3238 * util/grub-mknetdir.in: Likewise.
3239
32402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
3241
3242 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
3243 suggestion.
3244 * util/grub.d/10_kfreebsd.in: Likewise.
3245 * util/grub.d/10_linux.in: Likewise.
3246 * util/grub.d/10_netbsd.in: Likewise.
3247 * util/grub.d/10_windows.in: Likewise.
3248 * util/grub.d/20_linux_xen.in: Likewise.
3249
766f7d08
VS
32502011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 Remove redundant grub_kernel_image_size.
3253
3254 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
3255 _edata and _start.
3256 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
3257 the small code. It moves it only by few bytes but simplifies the code.
3258 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
3259 _start.
3260 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
3261 (grub_kernel_image_size): Removed.
3262 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
3263 (grub_kernel_image_size): Removed.
3264 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
3265 compiled with Apple toolchain.
3266 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
3267 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
3268 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
3269 (grub_total_module_size): Likewise.
3270 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
3271 Removed.
3272 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
3273 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
3274 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3275 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
3276 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
3277 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
3278 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
3279 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
3280 Removed.
3281 (grub_total_module_size): Removed.
3282 * util/grub-mkimage.c (image_target_desc): Remove image_size.
3283 (image_targets): Likewise.
3284 Set .compressed_size to no field on sparc.
3285 (generate_image): Remove kernel_image_size handling.
3286
fcf1d672
SJ
32872011-10-19 Szymon Janc <szymon@janc.net.pl>
3288
3289 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
3290 NULL pointer dereference.
3291
de9c615e
VS
32922011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
3295 done with a dedicated section.
3296
3297 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
3298 Ensure the correct position of boot_path.
3299 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
3300 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
3301 other fields.
3302 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
3303 * include/grub/boot.h: Removed. All references removed.
3304 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
3305 Removed.
3306 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
3307
e55599dc
VS
33082011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
3311 name.
3312
36dd20ad
VS
33132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
3316
f8f72eb8
VS
33172011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3320 Don't add the bogus brackets.
3321
a374751b
VS
33222011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 ExFAT support.
3325
3326 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
3327 * grub-core/Makefile.core.def (exfat): New module.
3328 * grub-core/fs/exfat.c: New file.
3329 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
3330 (GRUB_FAT_ATTR_*): Make into an enum.
3331 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
3332 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
3333 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
3334 (GRUB_FAT_MAXFILE): Removed.
3335 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
3336 (grub_current_fat_bpb_t): New type.
3337 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
3338 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
3339 (grub_fat_dir_node_t): New type.
3340 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
3341 (fat_log2) [MODE_EXFAT]: Removed.
3342 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
3343 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
3344 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
3345 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
3346 (grub_fat_label) [MODE_EXFAT]: New function.
3347 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
3348 reserved_first_sector to 0.
3349
544c2487
VS
33502011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 Move grub_reboot out of the kernel.
3353
3354 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
3355 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
3356 * grub-core/lib/efi/reboot.c: ... here.
3357 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
3358 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3359 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
3360 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
3361 * grub-core/lib/i386/reboot_trampoline.S: ... here.
3362 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
3363 * grub-core/lib/ieee1275/reboot.c: ... here.
3364 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
3365 * grub-core/lib/mips/arc/reboot.c: ... here.
3366 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
3367 * grub-core/lib/mips/loongson/reboot.c: ...here.
3368 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
3369 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
3370 * include/grub/emu/misc.h (grub_reboot): New function declaration.
3371 * include/grub/i386/reboot.h: New file.
3372 * include/grub/mips/loongson/ec.h: Fix includes.
3373 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
3374 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
3375 * grub-core/lib/i386/reboot.c: New file.
3376
a97501d2
VS
33772011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 Make grub_prefix into module to fix the arbitrary limit and save
3380 some space.
3381
3382 * grub-core/kern/emu/main.c (grub_prefix): Removed.
3383 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
3384 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
3385 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
3386 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
3387 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
3388 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
3389 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
3390 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3391 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
3392 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
3393 * include/grub/ia64/efi/kernel.h: Removed.
3394 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
3395 (grub_prefix): Removed.
3396 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
3397 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
3398 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
3399 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
3400 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
3401 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
3402 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
3403 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
3404 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
3405 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
3406 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3407 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3408 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3409 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3410 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
3411 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
3412 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
3413 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3414 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
3415 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
3416 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
3417 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
3418 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
3419 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
3420 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
3421 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
3422 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
3423 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
3424 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
3425 from module.
3426 * util/grub-mkimage.c (image_target_desc): Removed prefix and
3427 prefix_end.
3428 (image_targets): Likewise.
3429 (generate_image): Put prefix as a module.
3430
39705fad
VS
34312011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 Replace grub_module_iterate with FOR_MODULES.
3434
3435 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
3436 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
3437 (grub_efi_modules_addr): ...this.
3438 * grub-core/kern/efi/init.c (grub_modbase): New variable.
3439 (grub_efi_init): Set grub_modbase.
3440 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
3441 (grub_modbase): New variable.
3442 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
3443 (grub_modbase): New variable.
3444 (grub_machine_init): Set grub_modbase.
3445 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
3446 (grub_modbase): New variable.
3447 (grub_machine_init): Set grub_modbase.
3448 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
3449 (grub_modbase): New variable.
3450 (grub_machine_init): Set grub_modbase.
3451 * grub-core/kern/main.c (grub_module_iterate): Remove.
3452 (grub_modules_get_end): Use grub_modbase.
3453 (grub_load_modules): Use FOR_MODULES.
3454 (grub_load_config): Likewise.
3455 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
3456 (grub_modbase): New variable.
3457 (grub_machine_init): Set grub_modbase.
3458 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
3459 (grub_modbase): New variable.
3460 (grub_machine_init): Set grub_modbase.
3461 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
3462 Removed.
3463 (grub_modbase): New variable.
3464 (grub_machine_init): Set grub_modbase.
3465 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
3466 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
3467 (grub_module_iterate): Likewise.
3468 (grub_modbase): New variable declaration.
3469 (FOR_MODULES): New macro.
3470
2afb7f6c
VS
34712011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * configure.ac: Check for __ctzdi2 and __ctzsi2.
3474 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
3475
366e34fa
VS
34762011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 Fix few obvious type discrepancies.
3479
3480 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
3481 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
3482 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3483 variable.
3484 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3485 and connected types.
3486 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3487 offset.
3488 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3489 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3490 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3491 and connected types.
3492
177b960e
VS
34932011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 Fix python 3.x incompatibilities.
3496
3497 * gentpl.py: Put brackets around print strings.
3498 * util/import_gcry.py: Open explicitly as utf-8.
3499 Use in instead of has_key.
3500
3b619ae1
VS
35012011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3504 (GRUB_XFS_INO_AGBITS): Make into inline function.
3505 (GRUB_XFS_INO_INOINAG): Likewise.
3506 (GRUB_XFS_INO_AG): Likewise.
3507 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3508 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3509 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3510 (GRUB_XFS_EXTENT_SIZE): Likewise.
3511 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3512 (GRUB_XFS_NEXT_DIRENT): Likewise.
3513 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3514 (grub_xfs_read_file): Fix offset type.
3515
8bcebcb8
RM
35162011-10-15 Robert Millan <rmh@gnu.org>
3517
3518 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3519
0017e5ef
RM
35202011-10-15 Robert Millan <rmh@gnu.org>
3521
3522 Fix build problem on FreeBSD and GNU/kFreeBSD.
3523
3524 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3525
d8919552
VS
35262011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3529
3530 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3531 types.
3532 (grub_hfsplus_btree_recoffset): Likewise.
3533 (grub_hfsplus_btree_recptr): Likewise.
3534 (grub_hfsplus_find_block): Likewise.
3535 (grub_hfsplus_btree_search): Likewise.
3536 (grub_hfsplus_read_block): Likewise.
3537 (grub_hfsplus_read_file): Likewise.
3538 (grub_hfsplus_mount): Likewise.
3539 (grub_hfsplus_btree_iterate_node): Likewise.
3540 (grub_hfsplus_btree_search): Likewise.
3541 (grub_hfsplus_iterate_dir): Likewise.
3542 (grub_hfsplus_read): A small code simplification.
3543
c81296b6
VS
35442011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * grub-core/kern/emu/hostdisk.c
3547 (convert_system_partition_to_system_disk): Don't assume that children
3548 of mapper nodes are mapper nodes.
3549
0eb8ffb1
VS
35502011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3553 * include/grub/misc.h (grub_isxdigit): New function.
3554 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3555 switched to grub_isxdigit.
3556 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3557 number starting with a letter.
3558
a98f4a08
RM
35592011-10-09 Robert Millan <rmh@gnu.org>
3560
3561 LVM support for FreeBSD and GNU/kFreeBSD.
3562
3563 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3564 GNU/kFreeBSD.
3565 (LVM_DEV_MAPPER_STRING): Move from here ...
3566 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3567 * util/getroot.c: Include `<grub/util/lvm.h>'.
3568 (grub_util_get_dev_abstraction): Enable
3569 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3570 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3571 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3572 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3573 support it.
3574 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3575 GNU/kFreeBSD.
3576 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3577 when LVM abstraction is required for ${GRUB_DEVICE}.
3578
050e8e90
SJ
35792011-10-06 Szymon Janc <szymon@janc.net.pl>
3580
3581 Add support for LZO compression in GRUB:
3582 - import of minilzo library,
3583 - LZO decompression for btrfs,
3584 - lzop files decompression.
3585
3586 * grub-core/io/lzopio.c: New file.
3587 * grub-core/lib/adler32.c: Likewise.
3588 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3589 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3590 * grub-core/lib/minilzo/minilzo.c: Likewise.
3591 * grub-core/lib/minilzo/minilzo.h: Likewise.
3592 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3593 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3594 grub-core/lib/minilzo/minilzo.c to common.
3595 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3596 cflags in cppflags.
3597 * grub-core/Makefile.core.def (btrfs): Likewise.
3598 * grub-core/Makefile.core.def (lzopio): New module.
3599 (adler32): Likewise.
3600 * grub-core/fs/btrfs.c: Include minilzo.h.
3601 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3602 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3603 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3604 (grub_btrfs_lzo_decompress): New function.
3605 (grub_btrfs_extent_read): Add support for LZO compression type.
3606 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3607 (GRUB_USHRT_MAX): Likewise.
3608 (GRUB_UINT_MAX): Likewise.
3609 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3610 (UINT_MAX): Likewise.
3611 (CHAR_BIT): Likewise.
3612 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3613 grub-core/lib/posix_wrap/limits.h
3614 (UCHAR_MAX): Likewise.
3615 * include/grub/file.h (grub_file_filter_id): New compression filter
3616 GRUB_FILE_FILTER_LZOPIO.
3617 * include/grub/file.h (grub_file_filter_id): Set
3618 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3619 * include/grub/types.h (grub_get_unaligned16): New function.
3620 (grub_get_unaligned32): Likewise.
3621 (grub_get_unaligned64): Likewise.
3622 * util/import_gcry.py (cryptolist): Add adler32.
3623
0eb8ffb1
VS
36242011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3627 in perspective decreases the complexity of build system and fixes
3628 compilation right now.
3629
ce79cc99 36302011-10-01 Ales Nesrsta <starous@volny.cz>
3631
3632 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3633 (fixed problem related to using UHCI with coreboot).
3634
8667a314
BC
36352011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3636
3637 * gentpl.py: Use Autogen macros so that the output template file
3638 (Makefile.tpl) size is reduced.
3639
fc5efcc0
MK
36402011-09-29 Mads Kiilerich <mads@kiilerich.com>
3641
3642 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3643 extra_dist.
3644
d1ab689d
ML
36452011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3646
3647 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3648 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3649
c05de032
ML
36502011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3651
3652 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3653 _fullpath.
3654
cca7ccd8
ML
36552011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3656
3657 Remove extra declaration of sleep for mingw32.
3658
3659 * util/misc.c (sleep) [__MINGW32__]: Removed.
3660 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3661
e0b0dc83
GS
36622011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3663
3664 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3665 type and packname.
3666 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3667 Resurrected.
3668 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3669 (grub_netbsd_btinfo_bootwedge): New struct.
3670 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3671 New function.
3672 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3673
91a1a164
TH
36742011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3675
3676 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3677 loader.
3678
2ded951e
AB
36792011-09-28 Andreas Born <futur.andy@googlemail.com>
3680
3681 Fix incorrect identifiers in bash-completion.
3682
3683 * util/bash-completion.d/grub-completion.bash.in
3684 (_grub_mkpasswd-pbkdf2): Rename to ...
3685 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3686 (_grub_script-check): Rename to ...
3687 (_grub_script_check): ... this. All users updated.
3688
69915030
VS
36892011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3692 Return 0 if disk isn't biosdisk.
3693
20fd15f9
GS
36942011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3695
3696 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3697 on NetBSD.
3698 * Makefile.util.def (grub-fstest): Likewise.
3699
1a7d7db9
GS
37002011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3701
3702 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3703 Get sector size from disk label.
3704
2221ab6c
CW
37052011-09-05 Colin Watson <cjwatson@ubuntu.com>
3706
3707 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3708 */README* as well as README*.
3709 Reported by: Axel Beckert.
3710
ca51c4a0
VS
37112011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3714 case of less than 256 MiB of RAM.
3715
ab80f326
VS
37162011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/commands/wildcard.c (make_regex): Handle @.
3719
4155e697
VS
37202011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3723
ab178c08
SJ
37242011-08-21 Szymon Janc <szymon@janc.net.pl>
3725
3726 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3727 AC_LANG_CONFTEST macros.
3728
7dc3c686
SJ
37292011-08-20 Szymon Janc <szymon@janc.net.pl>
3730
3731 Add grub-fstest option to uncompress data for commands.
3732
3733 * util/grub-fstest.c (uncompress): New var.
3734 (options): New option -u.
3735
fe8d4a7b
SJ
37362011-08-20 Szymon Janc <szymon@janc.net.pl>
3737
3738 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3739 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3740
a5219af1
SJ
37412011-08-20 Szymon Janc <szymon@janc.net.pl>
3742
3743 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3744 file type was not recognized correctly (not gzip or corrupted).
3745
f87abff5
VS
37462011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3749 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3750
d94497ea
VS
37512011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3754 loongson.
3755 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3756 video_radeon_fuloong2e.
3757 * grub-core/video/radeon_fuloong2e.c: New file.
3758 * include/grub/video.h (grub_video_id_t): Add new ID
3759 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3760
0d1fd011
VS
37612011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3764 define.
3765 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3766 that PRID matches the detected subplatform and reset the subplatform
3767 if it doesn't.
3768
84beb0ee
VS
37692011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3772
1227c133
VS
37732011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Fix PCI iterating on functions >= 4.
3776
3777 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3778 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3779 Removed.
3780 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3781 (grub_pci_read): Fix bitmask.
3782 (grub_pci_read_word): Likewise.
3783 (grub_pci_read_byte): Likewise.
3784 (grub_pci_write): Likewise.
3785 (grub_pci_write_word): Likewise.
3786 (grub_pci_write_byte): Likewise.
3787
9594c689
VS
37882011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3791 can still be specified in TARGET_CFLAGS)
3792
14a2562c
VS
37932011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3796
3797 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3798 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3799 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3800 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3801 (FULOONG): Rename to ...
3802 (FULOONG2F): ... this. All users updated.
3803 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3804 (machtype_fuloong2f_str): ... this.
3805 (machtype_fuloong2e_str): New string.
3806 Check for machtype_fuloong2e_str.
3807 * grub-core/loader/mips/linux.c (loongson_machtypes)
3808 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3809 * grub-core/term/serial.c (loongson_defserial)
3810 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3811 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3812 loongson_defserial.
3813 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3814 Rename to ...
3815 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3816 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3817 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3818 to IMAGE_FULOONG2F_FLASH. All users updated.
3819 (image_targets): Rename images.
3820 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3821
b526cbb6
SJ
38222011-08-19 Szymon Janc <szymon@janc.net.pl>
3823
3824 Make enable of disk cache statistics code configurable.
3825
3826 * configure.ac: --enable-cache-stats added.
3827 * config.h.in (DISK_CACHE_STATS): New define.
3828 * grub-core/Makefile.core.def (cacheinfo): New command.
3829 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3830 * grub-core/commands/cacheinfo.c: New file.
3831 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3832 moved to cacheinfo.c.
3833 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3834 debug code.
3835 * include/grub/disk.h: Likewise.
3836
fb739ccd
SJ
38372011-08-19 Szymon Janc <szymon@janc.net.pl>
3838
3839 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3840 * grub-core/Makefile.am: Likewise.
3841
2bba8cfd
VS
38422011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3845 non-zero pull.
3846
43526629
VS
38472011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3850 All users updated.
3851 (grub_jfs_lookup_symlink): Use correct starting inode.
3852
5c144cc8
VS
38532011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * util/grub-setup.c (main): Add missing gcry initialisation.
3856
b1257f65
VS
38572011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 Don't accept text modes on EFI when booting Linux.
3860
3861 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3862 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3863
828bc390
ML
38642011-08-15 Mario Limonciello <mario_limonciello@dell.com>
38652011-08-15 Colin Watson <cjwatson@ubuntu.com>
3866
3867 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3868 use of "/path/.." as in grub-install for EFI as well as handling
3869 symlinks correctly.
3870 Fixes Debian bug #637768.
3871
5f60ccac
CW
38722011-08-15 Colin Watson <cjwatson@ubuntu.com>
3873
3874 * util/grub-probe.c: Remove duplicate #include.
3875
6dc212f9
RM
38762011-08-10 Robert Millan <rmh@gnu.org>
3877
3878 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3879
3880 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3881 function.
3882 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3883 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3884
66816d85
RM
38852011-08-03 Robert Millan <rmh@gnu.org>
3886
3887 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3888 la_array as packed.
3889 Reported by: Zachary Bedell
3890
20168fca
CW
38912011-07-26 Colin Watson <cjwatson@ubuntu.com>
3892
3893 * configure.ac: The Loongson port requires grub-mkfont due to its
3894 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3895 be built.
3896
303b6246
CW
38972011-07-26 Colin Watson <cjwatson@ubuntu.com>
3898
3899 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3900 processing arguments (otherwise help2man fails when GRUB has not yet
3901 been installed).
3902
6795300e
VS
39032011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3904
41aa28ea
VS
3905 New script grub-mkstandalone.
3906
3907 * Makefile.util.def (grub-mkstandalone): New script.
3908 * docs/man/grub-mkstandalone.h2m: New file.
3909 * util/grub-mkstandalone.in: Likewise.
3910
39112011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 Support ATA disks with 4K sectors.
6795300e
VS
3914
3915 * include/grub/ata.h (grub_ata): New member log_sector_size.
3916 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3917 (grub_ata_identify): Read sector size.
3918 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3919
92227597
VS
39202011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * util/grub-install.in: Don't use uhci outside of x86.
3923
c77069f5
VS
39242011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * util/grub-mkrescue.in: Add missing quotes.
3927
39282011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
3929
3930 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3931 dereference.
3932
583168a2
VS
39332011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3936
6be1c01f
VS
39372011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * include/grub/video.h: add missing EXPORT_FUND on
3940 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3941
a1167439
VS
39422011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 * include/grub/mips/kernel.h: Fix define conflict.
3945
bf66054f
VS
39462011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3949 all four ways.
3950
8fc4fa45
CW
39512011-07-21 Colin Watson <cjwatson@ubuntu.com>
3952
3953 Preferred resolution detection for VBE.
3954
3955 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3956 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3957 the Flat Panel extension, in line with the X.org VESA driver.
3958 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3959 New function.
3960 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3961 (grub_vbe_bios_read_edid): Likewise.
3962 (grub_vbe_get_preferred_mode): Likewise.
3963 (grub_video_vbe_setup): When the mode is "auto", try to get the
3964 preferred mode from VBE, and use the largest mode that is no larger
3965 than the preferred mode (some BIOSes expose a preferred mode that is
3966 not in their mode list!). If this fails, fall back to 640x480 as a
3967 safe conservative choice.
3968 (grub_video_vbe_get_edid): New function.
3969 (grub_video_vbe_adapter): Add get_edid.
3970 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3971 (struct grub_video_adapter): Add get_edid.
3972 (grub_video_edid_checksum): Add prototype.
3973 (grub_video_edid_preferred_mode): Likewise.
3974 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3975 structure.
3976
3977 * grub-core/commands/videoinfo.c (print_edid): New function.
3978 (grub_cmd_videoinfo): Print EDID if available.
3979
3980 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3981 is more appropriate on a wider range of platforms than 640x480.
3982 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3983 documentation.
3984
ca5572a9
VS
39852011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3988
e4bcf625
VS
39892011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * po/POTFILES.in: Regenerate.
3992
c4edd548
VS
39932011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3996 incorrect memory usage.
3997
16a2bab0
VS
39982011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * util/grub-install.in: Source grub-mkconfig_lib.
4001
2e418de6
VS
40022011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 Remove getroot.c from core on emu platform.
4005
4006 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
4007 kern/emu/raid.c.
4008 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
4009 useless.
4010 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
4011 * util/getroot.c (get_win32_path): ... here.
4012 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
4013 * util/getroot.c (fini_libzfs): ... here.
4014 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
4015 * util/getroot.c (grub_get_libzfs_handle): ... here.
4016 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
4017 Moved from here...
4018 * util/getroot.c (grub_find_zpool_from_dir): ... here.
4019 * grub-core/kern/emu/misc.c
4020 (grub_make_system_path_relative_to_its_root): Moved from here...
4021 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
4022 * grub-core/kern/emu/getroot.c: Moved from here ...
4023 * util/getroot.c: ... here. All users updated.
4024 * grub-core/kern/emu/raid.c: Moved from here ...
4025 * util/raid.c: ... here. All users updated.
4026
def9832a
VS
40272011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * po/POTFILES.in: Regenerate.
4030
cd8fe79a
VS
40312011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 Fix compilation on GNU/Linux.
4034
4035 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
4036 Disable geli.
4037 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
4038 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
4039 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
4040
a251b719
VS
40412011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
40422011-07-07 Michael Gorven <michael@gorven.za.net>
40432011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
4044
4045 LUKS and GELI support.
4046
4047 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
4048 grub-core/disk/luks.c, grub-core/disk/geli.c,
4049 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
4050 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
4051 grub-core/lib/arg.c.
4052 (libgrubmods.a): Remove gcrypts cflags and cppflags.
4053 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
4054 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
4055 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
4056 (grub-bin2h): Add libgcry.a.
4057 (grub-mkimage): Likewise.
4058 (grub-mkrelpath): Likewise.
4059 (grub-script-check): Likewise.
4060 (grub-editenv): Likewise.
4061 (grub-mkpasswd-pbkdf2): Likewise.
4062 (grub-pe2elf): Likewise.
4063 (grub-fstest): Likewise.
4064 (grub-mkfont): Likewise.
4065 (grub-mkdevicemap): Likewise.
4066 (grub-probe): Likewise.
4067 (grub-ofpath): Likewise.
4068 (grub-mklayout): Likewise.
4069 (example_unit_test): Likewise.
4070 (grub-menulst2cfg): Likewise.
4071 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
4072 * grub-core/Makefile.core.def (cryptodisk): New module.
4073 (luks): Likewise.
4074 (geli): Likewise.
4075 * grub-core/disk/AFSplitter.c: New file.
4076 * grub-core/disk/cryptodisk.c: Likewise.
4077 * grub-core/disk/geli.c: Likewise.
4078 * grub-core/disk/luks.c: Likewise.
4079 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
4080 grub_util_is_lvm.
4081 (grub_util_get_dm_abstraction): New function.
4082 (grub_util_follow_gpart_up): Likewise.
4083 (grub_util_get_geom_abstraction): Likewise.
4084 (grub_util_get_dev_abstraction): Use new functions.
4085 (grub_util_pull_device): Pull GELI and LUKS.
4086 (grub_util_get_grub_dev): Handle LUKS and GELI.
4087 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
4088 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
4089 (follow_geom_up): Removed.
4090 (grub_util_fd_seek): New function.
4091 (open_device): Use grub_util_fd_seek.
4092 (nread): Rename to ..
4093 (grub_util_fd_read): ... this. All users updated.
4094 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
4095 (grub_crypto_cbc_decrypt): Likewise.
4096 (grub_crypto_hmac_write): Likewise.
4097 (grub_crypto_hmac_buffer): Likewise.
4098 (grub_password_get): Extend to util.
4099 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
4100 New member modname.
4101 (gcry_md_spec) [GRUB_UTIL]: Likewise.
4102 * include/grub/cryptodisk.h: New file.
4103 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
4104 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
4105 LUKS and GELI.
4106 (grub_util_follow_gpart_up): New proto.
4107 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
4108 (grub_util_fd_read): Likewise.
4109 (grub_cryptodisk_cheat_mount): Likewise.
4110 (grub_util_cryptodisk_print_uuid): Likewise.
4111 (grub_util_get_fd_sectors): Likewise.
4112 * util/grub-fstest.c (mount_crypt): New var.
4113 (fstest): Mount crypto if requested.
4114 (options): New option -C.
4115 (argp_parser): Parse -C.
4116 (main): Init and fini gcry.
4117 * util/grub-install.in: Support cryptodisk install.
4118 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
4119 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
4120 cryptodisk.
4121 (prepare_grub_to_access_device): Likewise.
4122 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
4123 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
4124 (probe_cryptodisk_uuid): New function.
4125 (probe_abstraction): Likewise.
4126 (probe): Use new functions.
4127 * util/import_gcry.py: Create Makefile.utilgcry.def.
4128 Add modname member.
4129
9bfdcbbc
VS
41302011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 Lazy device scanning.
4133
4134 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
4135 (grub-setup): Remove util/raid.c.
4136 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
4137 * grub-core/disk/lvm.c (scan_depth): New variable.
4138 (grub_lvm_iterate): Rescan if necessary.
4139 (find_lv): New function based on grub_lvm_open.
4140 (grub_lvm_open): Use find_lv. Rescan on error.
4141 (is_node_readable): New function.
4142 (is_lv_readable): Likewise.
4143 (grub_lvm_scan_device): Skip already found disks.
4144 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
4145 Stop if searched device is found and readable.
4146 * grub-core/disk/raid.c (inscnt): New variable.
4147 (scan_depth): Likewise.
4148 (scan_devices): New function based on grub_raid_register. Abort if
4149 looked for device is found.
4150 (grub_raid_iterate): Rescan if needed.
4151 (find_array): NEw function based on -grub_raid_open.
4152 (grub_raid_open): Use find_array and rescan.
4153 (insert_array): Set became_readable_at.
4154 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
4155 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
4156 New function.
4157 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
4158 (grub_util_pull_device): New function.
4159 (grub_util_get_grub_dev): Call grub_util_pull_device.
4160 * util/raid.c: Moved to ..
4161 * grub-core/kern/emu/raid.c: ... here.
4162 (grub_util_raid_getmembers): New parameter "bootable".
4163 All users updated. Support 1.x.
4164 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
4165 All users updated.
4166 * include/grub/disk.h (grub_disk_pull_t): New enum.
4167 (grub_disk_dev): Change iterate prototype.
4168 All users updated.
4169 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
4170 New proto.
4171 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
4172 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
4173 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
4174 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
4175 All users updated.
4176 * include/grub/util/raid.h: Removed.
4177
1c358e59
VS
41782011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * po/POTFILES.in: Regenerate.
4181
abee94ed
VS
41822011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 Unify sparc init with other ieee1275.
4185
4186 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
4187 instead of kern/sparc64/ieee1275/init.c.
4188 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
4189 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
4190 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
4191 grub/machine/kernel.h.
4192 (grub_ieee1275_original_stack) [__sparc__]: New variable.
4193 (grub_claim_heap) [__sparc__]: Use sparc version.
4194 (grub_machine_init): Moved args parsing to
4195 (grub_parse_cmdline): ...this.
4196 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
4197 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
4198 New definition.
4199 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
4200
4201 Move BOOTP to separate file.
4202
4203 * grub-core/Makefile.core.def (net): Add net/bootp.c.
4204 * grub-core/net/net.c: Move all BOOTP functions to
4205 * grub-core/net/bootp.c: ... here.
4206
4207 Use frame interface on PXE.
4208
4209 * grub-core/Makefile.core.def (pxecmd): Removed.
4210 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
4211 * grub-core/commands/i386/pc/pxecmd.c: Removed.
4212 * grub-core/i386/pc/pxe.c: Moved from here ...
4213 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
4214 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
4215 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
4216
4217 EFI network support.
4218
4219 * grub-core/Makefile.core.def (efinet): New module.
4220 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
4221 here...
4222 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
4223 All users updated.
4224 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
4225 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
4226 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
4227 * grub-core/net/drivers/efi/efinet.c: New file.
4228 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
4229 (grub_efi_net_config): New extern var.
4230
4231 Various cleanups and bugfixes.
4232
4233 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
4234 error.
4235 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
4236 disk declared as partition.
4237 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
4238 leak on failure.
4239 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
4240 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
4241 (grub_debug_zalloc): Likewise.
4242 (grub_debug_realloc): Likewise.
4243 (grub_debug_memalign): Likewise.
4244 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
4245 Check that target is IPv4.
4246 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
4247 local-mac-address as fallback.
4248 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
4249 memory leak.
4250 * grub-core/net/ip.c (ipchksum): Rename to ...
4251 (grub_net_ip_chksum): ... this. All users updated.
4252 (grub_net_recv_ip_packets): Special handling for DHCP.
4253 * util/grub-mkimage.c (generate_image): Zero-out aout header.
4254
4255 Unify prefix handling
4256
4257 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
4258 (grub_machine_get_bootlocation): ... this.
4259 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
4260 (grub_machine_get_bootlocation): ... this.
4261 (grub_prefix): New variable.
4262 (prefix): Removed.
4263 (root_dev): New variable.
4264 (dir): Likewise.
4265 (main): Use new variables.
4266 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
4267 Revamped into ...
4268 (grub_machine_get_bootlocation): ... this.
4269 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
4270 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
4271 (grub_machine_get_bootlocation): ... this.
4272 (grub_machine_set_prefix): Removed.
4273 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
4274 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
4275 Revamped into ...
4276 (grub_machine_get_bootlocation): ... this.
4277 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
4278 (grub_set_prefix_and_root): ... this. All users updated.
4279 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
4280 Revamped into ...
4281 (grub_machine_get_bootlocation): ... this.
4282 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
4283 (grub_machine_get_bootlocation): New proto.
4284 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
4285
4286 Less intrusive and more reliable seek on network implementation.
4287
4288 * grub-core/kern/file.c (grub_file_net_seek): Removed.
4289 (grub_file_seek): Don't call grub_file_net_seek.
4290 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
4291 (grub_net_fs_read_real): .. this.
4292 (grub_net_seek_real): Use net->offset.
4293 (grub_net_fs_read): Seek if necessary.
4294
4295 Unify IEEE1275 netwotk config with the other platforms.
4296
4297 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
4298 New variable.
4299 (grub_machine_get_bootlocation): Support network.
4300 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4301 Support type and device parsing.
4302 (grub_ieee1275_get_device_type): New function.
4303 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
4304 into ...
4305 (grub_ieee1275_net_config_real): ... this.
4306 (grub_ofnet_probecards): Removed.
4307 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
4308 * include/grub/ieee1275/ofnet.h: Removed.
4309 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
4310 extern var.
4311 (grub_ieee1275_get_device_type): New function.
4312
4313 Unify network device closing across platforms and make more robust.
4314
4315 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
4316 grub_grubnet_fini.
4317 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
4318 already.
4319 * grub-core/net/net.c (grub_net_network_level_interface_register):
4320 Update num_ifaces.
4321 (grub_net_card_unregister): Close all interfaces.
4322 (receive_packets): Don't poll if no iterfaces are registered.
4323 Open if necessary.
4324 (grub_net_fini_hw): New function.
4325 (grub_net_restore_hw): Likewise.
4326 (fini_hnd): New variable.
4327 (GRUB_MOD_INIT): Register preboot hook.
4328 (GRUB_MOD_FINI): Run and unregister preboot hook.
4329
4330 Poll network cards when idle.
4331
4332 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
4333 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
4334 * grub-core/net/net.c (receive_packets): Save last poll time.
4335 (grub_net_poll_cards_idle_real): New function.
4336 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
4337 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
4338 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
4339
4340 Rename ofnet interfaces.
4341
4342 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
4343 (grub_ofnet_findcards): Use ofnet_%s names.
4344
4345 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
4346
4347 Cleanup socket opening.
4348
4349 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
4350 (grub_net_fs_close): Likewise.
4351 (grub_net_fs_read_real): Use eof member.
4352 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
4353 (+grub_net_udp_close): New inline function.
4354
4355 * include/grub/net/tftp.h: Moved to the top of ...
4356 * grub-core/net/tftp.c: ... here.
4357 * include/grub/net/ip.h: Moved mostly to the top of ...
4358 * grub-core/net/ip.c: ... here.
4359 * include/grub/net/ethernet.h: Moved mostly to the top of ...
4360 * grub-core/net/ethernet.c: ... here.
4361
4362 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
4363
4364 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
4365 FS name.
4366
4367 * include/grub/net/ip.h (ipv4_ini): Removed.
4368 (ipv4_fini): Likewise.
4369
4370 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
4371 (grub_net_send_ip_packets): Likewise.
4372
cf1337aa
VS
43732011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
4376 grub_read_cmos prototype.
4377
93c06ff9
VS
43782011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 VGA text support in qemu-mips
4381
4382 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
4383 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
4384 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
4385 text.
4386 * grub-core/kern/i386/qemu/init.c: Renamed to ...
4387 * grub-core/kern/vga_init.c: ... this.
4388 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
4389 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
4390 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
4391 Adjust.
4392 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
4393 GRUB_MACHINE_PCI_IO_BASE.
4394
748ccabe
VS
43952011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 MIPS qemu flash support.
4398
4399 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
4400 magic.
4401 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
4402 (grub_machine_init): Probe memory if its size isn't known.
4403 * util/grub-mkimage.c (image_targets): Add flash targets.
4404 (generate_image): Handle flash targets.
4405
d7345994
VS
44062011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 MIPS qemu at_keyboard support.
4409
4410 * gentpl.py (videoinkernel): Add qemu-mips.
4411 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
4412 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
4413 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
4414 modules.
4415 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
4416 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
4417 * grub-core/term/serial.c (grub_serial_register)
4418 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
4419
a07a81b3
VS
44202011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 CMOS support on sparc.
4423
4424 * gentpl.py (cmos): Add powerpc and sparc.
4425 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
4426 powerpc and sparc.
4427 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
4428 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
4429 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
4430 grub_set_datetime_cmos.
4431 * grub-core/lib/ieee1275/cmos.c: New file.
4432 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
4433 (find_rtc): Set no_ieee1275_rtc on error.
4434 (grub_get_datetime): Call grub_get_datetime_cmos on error.
4435 (grub_set_datetime): Call grub_set_datetime_cmos on error.
4436 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
4437 fail. Move value to argument. All users updated
4438 (grub_cmos_write): Likewise.
4439 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
4440 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
4441 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
4442 grub_get_datetime_cmos and grub_set_datetime_cmos.
4443
77546584
GS
44442011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4445
4446 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
4447 sourcing grub-mkconfig_lib.
4448 * util/update-grub_lib.in: Likewise.
4449 * util/grub.d/00_header.in: Likewise.
4450 * util/grub.d/10_hurd.in: Likewise.
4451 * util/grub.d/10_kfreebsd.in: Likewise.
4452 * util/grub.d/10_linux.in: Likewise.
4453 * util/grub.d/10_netbsd.in: Likewise.
4454 * util/grub.d/10_windows.in: Likewise.
4455 * util/grub.d/20_linux_xen.in: Likewise.
4456 * util/grub.d/30_os-prober.in: Likewise.
4457
54894791
CW
44582011-06-28 Colin Watson <cjwatson@ubuntu.com>
4459
4460 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4461 default_bg_color rather than black.
4462 (grub_gfxterm_fullscreen): Likewise.
4463 (grub_gfxterm_background_color_cmd): Save new background color in
4464 default_bg_color.
4465
8d5d8444
VS
44662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
4469
5afeb5bd
VS
44702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
4473 mismerge.
4474
ba7df45e
VS
44752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 Chainloading on coreboot support.
4478
4479 * grub-core/Makefile.core.def (chain): Add coreboot.
4480 * grub-core/loader/i386/coreboot/chainloader.c: New file.
4481
d0b526b2
VS
44822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4485 if it happens.
4486
5ff1d945
VS
44872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 Implement time command.
4490
4491 * grub-core/Makefile.core.def (time): New module.
4492 * grub-core/commands/time.c: New file.
4493 * grub-core/script/parser.y: Remove "time" keyword.
4494 * grub-core/script/yylex.l: Likewise.
4495
5ebaad7e
VS
44962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4499
bdea3798
VS
45002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4503 when handling leftovers.
4504
b28c5655
VS
45052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4508 so that help2man doesn't fail.
4509
b6f945dc
VS
45102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4513 type in pointers on sparc64.
4514 (get_card_packet): Likewise.
4515
f9b75e8a
CW
45162011-06-27 Colin Watson <cjwatson@ubuntu.com>
4517
4518 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4519 with `*'.
4520 (grub_cmd_videoinfo): Fetch current video mode.
4521
1e3d9b86
VS
45222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4525 because of underlying system restrictions.
4526
efff4b1c
VS
45272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4530 necessary.
4531
9fc9ce37
VS
45322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 Coreboot video support.
4535
4536 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4537 (vbe): Likewise.
4538 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4539 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4540 here ...
4541 * grub-core/kern/i386/int.S: ... here.
4542 * grub-core/video/i386/pc/vbe.c: Updated includes.
4543 * grub-core/video/i386/pc/vga.c: Likewise.
4544 * include/grub/i386/coreboot/memory.h
4545 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4546 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4547 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4548 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4549 Disable interrupts.
4550 * include/grub/i386/pc/vga.h: Removed. All users updated.
4551
41bec7fe
VS
45522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4555 definitions for dprintf.
4556 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4557
ca80309d
VS
45582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4561 prototype.
4562 (get_card_packet): Likewise.
4563
9e322ce8
YB
45642011-06-26 Yves Blusseau <blusseau@zetam.org>
4565
4566 Display the path of the file when file is not found
4567
4568 * grub-core/fs/fat.c: Display the filename when file is not found.
4569 * grub-core/fs/fshelp.c: Likewise.
4570 * grub-core/fs/hfs.c: Likewise.
4571 * grub-core/fs/jfs.c: Likewise.
4572 * grub-core/fs/minix.c: Likewise.
4573 * grub-core/fs/ufs.c: Likewise.
4574 * grub-core/fs/btrfs.c: Likewise.
4575 * grub-core/commands/i386/pc/play.c: Likewise.
4576
cbf597af
SJ
45772011-06-26 Szymon Janc <szymon@janc.net.pl>
4578
4579 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4580 pointer checks before calling grub_free().
4581 * grub-core/commands/wildcard.c (match_devices): Likewise.
4582 * grub-core/commands/wildcard.c (match_files): Likewise.
4583 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4584 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4585 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4586 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4587 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4588 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4589 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4590 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4591 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4592
6295b32f
P
45932011-06-25 Patrick <p55@mailinator.com>
4594
4595 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4596
77c0840b
VS
45972011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4600 (grub_pxe_send): Likewise.
4601 (GRUB_MOD_INIT): Fix types.
4602
40ea05de
SJ
46032011-06-24 Szymon Janc <szymon@janc.net.pl>
4604
4605 * grub-core/io/xzio.c: Fix code style issues
4606
90162423
MRA
46072011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
46082011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
4609
4610 Network infrastructure.
4611 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4612
4613 * include/grub/net/arp.h: New file.
90162423
MRA
4614 * include/grub/net/device.h: Likewise.
4615 * include/grub/net/ethernet.h: Likewise.
4616 * include/grub/net/ip.h: Likewise.
4617 * include/grub/net/netbuff.h: Likewise.
4618 * include/grub/net/tftp.h: Likewise.
4619 * include/grub/net/udp.h: Likewise.
4620 * include/grub/ieee1275/ofnet.h: Likewise.
4621 * include/grub/emu/export.h: Likewise.
4622 * include/grub/net.h: Likewise.
4623 * grub-core/net/arp.c: Likewise.
4624 * grub-core/net/ethernet.c: Likewise.
4625 * grub-core/net/ip.c: Likewise.
4626 * grub-core/net/udp.c: Likewise.
4627 * grub-core/net/tftp.c: Likewise.
4628 * grub-core/net/netbuff.c: Likewise.
4629 * grub-core/net/net.c: Likewise.
4630 * grub-core/net/drivers/emu/emunet.c: Likewise.
4631 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4632 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4633 export.h.
4634 * grub-core/Makefile.core.def (net): New module.
4635 (tftp): Likewise.
4636 (ofnet): Likewise.
4637 (emunet): Likewise.
4638 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4639 network protocols.
4640 * grub-core/kern/device.c (grub_net_open) : New variable.
4641 (grub_device_open): Handle network device.
4642 (grub_device_close): Likewise.
4643 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4644 (grub_grubnet_fini): Likewise.
4645 (grub_file_seek): Seek in network device.
4646 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4647 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4648 network root.
4649 (grub_machine_fini): Call grub_grubnet_fini.
4650 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4651 network.
4652 (grub_ieee1275_get_aliasdevname): New function.
4653 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4654 Add unofficial Solaris network info.
4655 (grub_multiboot_make_mbi): Likewise.
4656 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4657 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4658 * include/grub/device.h (grub_fs): Removed.
4659 * include/grub/err.h (grub_err_t): Add network-related values.
4660 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4661 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4662 (grub_ieee1275_get_aliasdevname): New proto.
4663 * include/grub/net.h: Rewritten.
423a1849 4664
031f22a0
VS
46652011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4668 names.
4669
4388ca72
VS
46702011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4673 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4674 it truncates the output.
4675 Reported by: Ximin Luo.
4676
98e2f506
VS
46772011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4680
2a5e94d8
VS
46812011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4684 partmap before abstraction.
4685
535c1910
AK
46862011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4687
4688 * util/grub-mkconfig_lib.in: Add missing quotes.
4689
bc09e1a2
VS
46902011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4693 old method if mountinfo would return /dev/root and /dev/root doesn't
4694 exist.
4695
290766fb
VS
46962011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 ZFS zlib support
4699
4700 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4701 (decomp_table): Add zlib entries.
4702 (zio_read): USe 8 bits for compression function rather than 3.
4703 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4704
47052011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/disk/ahci.c: Add missing license statements.
4708 * grub-core/fs/romfs.c: Likewise.
4709 * grub-core/lib/ia64/setjmp.S: Likewise.
4710 * grub-core/loader/i386/pc/freedos.c: Likewise.
4711 * grub-core/loader/ia64/efi/linux.c: Likewise.
4712 * grub-core/video/colors.c: Likewise.
4713 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4714
5ab3f48a
VS
47152011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 AHCI support.
4718
4719 * grub-core/Makefile.core.def (ata_pthru): Removed.
4720 (ahci): New module.
4721 (pata): Likewise.
4722 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4723 on unload.
4724 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4725 readwrite.
4726 (grub_hdparm_do_check_powermode_cmd): Likewise.
4727 (grub_hdparm_do_smart_cmd): Likewise.
4728 (grub_hdparm_set_val_cmd): Likewise.
4729 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4730 * grub-core/disk/ahci.c: New file.
4731 * grub-core/disk/ata.c: Factor out the low-level part into ...
4732 * grub-core/disk/pata.c: ... here.
4733 * grub-core/disk/ata_pthru.c: Contents moved to ...
4734 * grub-core/disk/pata.c: ... here.
4735 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4736 (grub_scsi_iterate): Use grub_scsi_names.
4737 (grub_scsi_open): Likewise.
4738 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4739 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4740 (grub_ata_regs_t): New struct.
4741 (grub_disk_ata_pass_through_parms): Likewise.
4742 (grub_ata_device): Renamed to ...
4743 (grub_ata): ... this.
4744 (grub_ata_dev): New struct.
4745 Removed all low-level inline functions.
4746 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4747 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4748 iterate hooks and open. All users updated.
4749 * util/grub-install.in: Handle AHCI disk module.
4750
c31dc5f5
SJ
47512011-06-23 Szymon Janc <szymon@janc.net.pl>
4752
4753 Add support for DRI and RSTn markers in JPEG files.
4754
4755 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4756 (JPEG_MARKER_RST0): Likewise.
4757 (JPEG_MARKER_RST1): Likewise.
4758 (JPEG_MARKER_RST2): Likewise.
4759 (JPEG_MARKER_RST3): Likewise.
4760 (JPEG_MARKER_RST4): Likewise.
4761 (JPEG_MARKER_RST5): Likewise.
4762 (JPEG_MARKER_RST6): Likewise.
4763 (JPEG_MARKER_RST7): Likewise.
4764 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4765 (grub_jpeg_decode_dri): New function.
4766 (grub_jpeg_decode_sos): Move image data related part into
4767 grub_jpeg_decode_data function.
4768 (grub_jpeg_decode_data): New function.
4769 (grub_jpeg_reset): New function.
4770 (grub_jpeg_decode_jpeg): Handle new markers.
4771
fe12fd5b
VS
47722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * util/ieee1275/ofpath.c (check_sas): Close fd.
4775 (main): Free of_path.
4776 Reported by: David Volgyes <dvolgyes>.
4777
03147f46
VS
47782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4781 Reported by: David Volgyes <dvolgyes>.
4782
cad3237f
VS
47832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4786 file after stat.
4787 Reported by: David Volgyes <dvolgyes>.
4788
13548d26
VS
47892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4792
4793 Reported by: David Volgyes <dvolgyes>.
4794
e061a1b5
VS
47952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4798 Prevent memory leak.
4799
1abe47dc
VS
48002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4803 (main): Close file.
e061a1b5 4804 Reported by: David Volgyes <dvolgyes>.
1abe47dc 4805
fbc62666
VS
48062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4809 to continue if allocation is failed.
4810
4811 Reported by: David Volgyes <dvolgyes>.
4812
e98c83e9
DV
48132011-06-23 David Volgyes <dvolgyes>
4814
4815 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4816 dereference.
4817
a199a8cd
VS
48182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 Fix spurious warning.
4821
4822 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4823 (acorn_partition_map_find): Use .bin member.
4824
e2d1dba0
VS
48252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4828 /dev/root as a valid device.
4829
8a5d6919
JM
48302011-06-23 Jim Meyering <meyering@redhat.com>
4831
e2d1dba0
VS
4832 Avoid NULL deref in grub_device_open.
4833
8a5d6919
JM
4834 * grub-core/kern/device.c (grub_device_open): Don't dereference
4835 a NULL pointer upon failed grub_env_get.
4836
f7db6f4a
VS
48372011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 Support non-512B sectors and agglomerate reads.
4840
4841 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4842 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4843 (disk_io_guid): Removed.
4844 (make_devices): Locate solely by BlockIO.
4845 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4846 (grub_efidisk_read): Use read_blocks.
4847 (grub_efidisk_write): Use write_blocks.
4848 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4849 log_sector_size.
4850 (get_safe_sectors): Handle non-512B sectors.
4851 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4852 sectors.
4853 (grub_biosdisk_write): Handle non-512B sectors.
4854 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4855 (grub_scsi_read): Remove special non-512B block handling (now handled
4856 one level up).
4857 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4858 and do sanity checks.
4859 (grub_disk_adjust_range): Handle non-512B sectors.
4860 (transform_sector): New function.
4861 (grub_disk_read_small): Likewise.
4862 (grub_disk_read): Rewritten.
4863 (grub_disk_write): Handle non-512B sectors.
4864 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4865 log_sector_size.
4866 (open_device): Use log_sector_size.
4867 (grub_util_biosdisk_read): Likewise.
4868 (grub_util_biosdisk_write): Likewise.
4869 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4870 non-512B sectors.
4871 (pc_partition_map_embed): Likewise.
4872 * include/grub/disk.h (grub_disk): New field log_sector_size.
4873 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4874 (GRUB_DISK_CACHE_BITS): Increased to 6.
4875 * util/grub-fstest.c (fstest): New command testload.
4876 (argp_parser): Likewise.
4877
881ac815
RM
48782011-06-16 Robert Millan <rmh@gnu.org>
4879
4880 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4881 `ata' driver on kernel of FreeBSD 9.
4882
4883 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4884 (get_ataraid_disk_name): New functions.
4885 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4886 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4887 get_ataraid_disk_name() and get_ada_disk_name().
4888
1e9aef7d
CW
48892011-06-13 Colin Watson <cjwatson@ubuntu.com>
4890
4891 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4892 input format.
4893
351c7c8a
CW
48942011-05-29 Colin Watson <cjwatson@ubuntu.com>
4895
4896 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4897 `ftp.gnu.org' for `alpha.gnu.org'.
4898
6b4e6430
CW
48992011-05-27 Colin Watson <cjwatson@ubuntu.com>
4900
4901 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4902 partitions under /dev/disk/by-id/.
4903
c64db050
CW
49042011-05-27 Colin Watson <cjwatson@ubuntu.com>
4905
4906 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4907 after ten consecutive open failures. Scanning all the way up to
4908 10000 is excessive and can cause serious performance problems in
4909 some configurations.
4910 Fixes Ubuntu bug #787461.
4911
245f4aba
VS
49122011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4915 opening new one.
4916
f767c929
VS
49172011-05-21 Colin Watson <cjwatson@ubuntu.com>
49182011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 Don't stat devices unless we have to.
4921
4922 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4923 dir == /dev/mapper.
4924 (grub_guess_root_device): Use already known os_dev if possible.
4925 * grub-core/kern/emu/hostdisk.c
4926 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4927 if device is known to be a dm one.
4928
f35fa3a6
CW
49292011-05-20 Colin Watson <cjwatson@ubuntu.com>
4930
4931 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4932 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4933 Reported by: Pawel Tecza.
4934
9a79fcf2
VS
49352011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4938 (lsefisystab): Likewise.
4939 (lssal): Likewise.
4940 (lsefimmap): Likewise.
4941 (hdparm): Enable on qemu-mips.
4942 (setjmp): Add ia64 nodist.
4943 (serial): Simplify tags.
4944
63e3eea9
CW
49452011-05-18 Colin Watson <cjwatson@ubuntu.com>
4946
4947 * Makefile.util.def (grub-ofpathname): Install manual page.
4948
09728256
CW
49492011-05-18 Colin Watson <cjwatson@ubuntu.com>
4950
4951 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4952
8b63a142
CW
49532011-05-18 Colin Watson <cjwatson@ubuntu.com>
4954
4955 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4956
e775d8ed
VS
49572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4960 into dprintf.
4961
bf947d36
VS
49622011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 Use full 64-bit division.
4965
4966 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4967 (grub_divmod64): ... this.
4968 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4969 version.
4970
b84f26c5
CW
49712011-05-18 Colin Watson <cjwatson@ubuntu.com>
4972
4973 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4974 `source'.
4975
5626056f
CW
49762011-05-18 Colin Watson <cjwatson@ubuntu.com>
4977
4978 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4979 to avoid accidents when debugging with 'sh -x'.
4980 * grub-core/gensyminfo.sh.in: Likewise.
4981 * tests/example_scripted_test.in: Likewise.
4982 * tests/grub_cmd_regexp.in: Likewise.
4983 * tests/grub_script_blanklines.in: Likewise.
4984 * tests/grub_script_dollar.in: Likewise.
4985 * tests/grub_script_expansion.in: Likewise.
4986 * tests/grub_script_final_semicolon.in: Likewise.
4987 * tests/partmap_test.in: Likewise.
4988 * tests/util/grub-shell-tester.in: Likewise.
4989 * tests/util/grub-shell.in: Likewise.
4990
e2965f4a
CW
49912011-05-18 Colin Watson <cjwatson@ubuntu.com>
4992
4993 Move gfxmenu color handling to video, so that gfxterm can use it
4994 too.
4995
4996 * grub-core/gfxmenu/named_colors.c: Move to ...
4997 * grub-core/video/colors.c: ... here. Rename
4998 grub_gui_get_named_color to grub_video_get_named_color.
4999 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
5000 * grub-core/video/colors.c (my_isxdigit): ... here.
5001 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
5002 Move to ...
5003 * grub-core/video/colors.c (parse_hex_color_component): ... here.
5004 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
5005 to ...
5006 * grub-core/video/colors.c (grub_video_parse_color): ... here.
5007
5008 * include/grub/gui.h (grub_gui_color_t): Move to ...
5009 * include/grub/video.h (grub_video_rgba_color_t): ... here.
5010 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
5011 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
5012 * include/grub/gui.h (grub_gui_map_color): Move to ...
5013 * include/grub/video.h (grub_video_map_rgba_color): ... here.
5014 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
5015 to ...
5016 * include/grub/video.h (grub_video_get_named_color): ... here.
5017 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
5018 * include/grub/video.h (grub_video_parse_color): ... here.
5019
5020 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
5021 video/colors.c.
5022 (gfxmenu): Remove gfxmenu/named_colors.c.
5023 (video) [videomodules]: Add video/colors.c.
5024
5025 Add a background_color command.
5026
5027 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
5028 function.
5029 (GRUB_MOD_INIT): Register background_color command.
5030 (GRUB_MOD_FINI): Unregister background_color command.
5031 (redraw_screen_rect): Allow blend/replace of text layer to be
5032 controlled independently from whether there is a background bitmap.
5033 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
5034 changing bitmap.
5035
1e4b4390
VS
50362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5037
26618ff0
VS
5038 Patch BPB in ntldr and chainloader --bpb.
5039
1e4b4390
VS
5040 * grub-core/fs/fat.c: Include grub/fat.h.
5041 (grub_fat_bpb): Moved to ...
5042 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
5043 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
5044 grub/ntfs.h.
5045 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
5046 Moved from here...
5047 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
5048 here.
5049 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
5050 New function.
5051 (grub_chainloader_cmd): Patch BPB if --bpb is given.
5052 (GRUB_MOD_INIT): Show --bpb.
5053 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
5054 * grub-core/normal/main.c (features): New variable.
5055 (GRUB_MOD_INIT): Set feature_* variables.
5056 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
5057 proto.
5058 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
5059
cf02731e
VS
50602011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
5063 for cleanness.
5064
e3a1073f
VS
50652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 FreeDOS direct loading support.
5068
5069 * docs/grub.texi (Supported OS): Add FreeDOS.
5070 * grub-core/Makefile.core.def (freedos): New module.
5071 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
5072 variable.
5073 (grub_relocator16_boot): Handle %ebx.
5074 * grub-core/lib/i386/relocator16.S: Likewise.
5075 * grub-core/loader/i386/pc/freedos.c: New file.
5076
05caa461
VS
50772011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 Long Linux command line support.
5080
5081 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5082 (maximal_cmdline_size): New variable.
5083 (allocate_pages): Use maximal_cmdline_size.
5084 (grub_cmd_linux): Set and use maximal_cmdline_size.
5085 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5086 (allocate_pages): Use maximal_cmdline_size.
5087 (grub_cmd_linux): Set and use maximal_cmdline_size.
5088 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
5089 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
5090 and cmdline_size.
5091
a2491e23
VS
50922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
50932011-05-18 Colin Watson <cjwatson@ubuntu.com>
5094
5095 Improve devmapper support
5096
5097 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
5098 (grub_util_is_lvm): New function.
5099 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
5100 than lvm if not dmraid.
5101 Handle mapped md nodes.
5102 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
5103 (grub_util_device_is_mapped): ... this. Make always available. All users
5104 updated.
5105 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
5106 (convert_system_partition_to_system_disk): Handle lvm, mpath and
5107 dmraid nodes.
5108 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
5109
6ad6223e
VS
51102011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
5113
5114 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
5115 * grub-core/modinfo.sh.in: New file.
5116 * grub-core/Makefile.core.def (modinfo.sh): New script.
5117 * util/grub-mknetdir.in: Use modinfo.sh.
5118 * util/grub-mkrescue.in: Likewise.
5119
543a8f6e
VS
51202011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5123 Fix potential usage of Elf32 instead of Elf64 when compiling on
5124 32-bit architecture. Add endianness macros while on it.
5125
4959e111
VS
51262011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 Use mipsel- rather than mips- in directories involving mipsel ports to
5129 allow both endiannesses coexist.
5130
5131 * configure.ac: proparate target_cpu=mipsel rather than resetting to
5132 mips. All conditions adjusted.
5133 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
5134 variable.
5135 * util/grub-install.in: Adjust conditions to take renaming into account.
5136 * util/grub-mkimage.c (image_targets): Likewise. New target
5137 mips-qemu_mips-elf for bigendian mips.
5138
35341bbc
VS
51392011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 Avoid unnecessary copying on MIPS.
5142
5143 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
5144 early if src == dest.
5145 * util/grub-mkimage.c (generate_image): Arange for src == dest if
5146 compression is none.
5147
b772baed
VS
51482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 Reduce memory footprint on SGI by putting modules before the kernel
5151 as opposed to after.
5152
5153 * grub-core/Makefile.core.def (kernel): Increase linking address.
5154 (none_decompress): Likewise.
5155 (xz_decompress): Likewise.
5156 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
5157 address.
5158 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
5159 layout change.
5160 (grub_arch_modules_addr): New function.
5161 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
5162 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
5163 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
5164 here.
5165 * grub-core/kern/mips/startup.S (total_size): Rename to ...
5166 (grub_total_modules_size): ... this. Make global.
5167 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
5168 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
5169 New definition.
5170 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
5171 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
5172 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
5173 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
5174 * util/grub-mkimage.c (image_target_desc): New flag
5175 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
5176 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
5177 (generate_image): Handle images with modules before kernel.
5178
566a1917
VS
51792011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 Prevent potential loss of memory map by overwrite on qemu-mips.
5182
5183 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5184 Save ram size in $s4.
5185 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
5186 All users changed to grub_arch_memsize.
5187 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
5188 Loongson.
5189 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
5190 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
5191 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
5192 external variable.
5193
5d420cd9
CW
51942011-05-17 Colin Watson <cjwatson@ubuntu.com>
5195
5196 * .bzrignore: Remove grub-dumpbios.
5197
d064b830
CW
51982011-05-17 Colin Watson <cjwatson@ubuntu.com>
5199
5200 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
5201 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
5202 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
5203 existing options which append).
5204 * docs/grub.texi (Simple configuration): Document new options.
5205 Reported by: Ian Jackson. Fixes Debian bug #617538.
5206
3ca2b466
CW
52072011-05-17 Colin Watson <cjwatson@ubuntu.com>
5208
5209 * util/grub-fstest.c (cmd_cat): New function.
5210 (fstest): Handle CMD_CAT.
5211 (options): Add cat.
5212 (argp_parser): Handle cat.
5213
24c9143a
CW
52142011-05-17 Colin Watson <cjwatson@ubuntu.com>
5215
5216 * Makefile.util.def (grub-bin2h): Don't install.
5217 * docs/man/grub-bin2h.h2m: Remove.
5218
90f7ac19
VS
52192011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
5222 place.
5223
8d4a5178
VS
52242011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 Reenable qemu-mips port.
5227
5228 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
5229 Fix small arc bug while on it.
5230 * gentpl.py: Handle qemu_mips.
5231 * grub-core/Makefile.am: Likewise.
5232 * grub-core/Makefile.core.def: Likewise.
5233 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
5234 inappropriate includes.
5235 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
5236 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
5237 * grub-core/kern/main.c (grub_modules_get_end)
5238 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
5239 * grub-core/kern/mips/qemu-mips: Moved to ..
5240 * grub-core/kern/mips/qemu_mips: ... this.
5241 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
5242 (grub_machine_init): Call terminfo_init and serial_init.
5243 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
5244 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5245 New variable.
5246 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
5247 parameter passing.
5248 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
5249 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
5250 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5251 * include/grub/mips/qemu_mips/cmos.h: New file.
5252 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
5253 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
5254 Removed.
5255 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
5256 Use correct mips-style address.
5257 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
5258 (GRUB_TICKS_PER_SECOND): Removed.
5259 (grub_get_rtc): Likewise.
5260 (grub_cpu_idle): Likewise.
5261 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
5262 New definition.
5263 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
5264 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
5265 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
5266 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
5267 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5268 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5269 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
5270 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
5271
400b9371
VS
52722011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 SGI ARCS port.
5275
5276 * Makefile.util.def (libgrubmods.a): Add dvh.c.
5277 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
5278 platforms.
5279 * configure.ac: New target mips-arc.
5280 * gentpl.py: Likewise.
5281 * grub-core/Makefile.am: Likewise.
5282 * grub-core/Makefile.core.def: Likewise.
5283 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
5284 (none_decompress): Likewise.
5285 (lsdev): New module.
5286 (datetime): Use lib/arc/datetime.c on ARC.
5287 (part_dvh): New module.
5288 * grub-core/commands/arc/lsdev.c: New file.
5289 * grub-core/disk/arc/arcdisk.c: Likewise.
5290 * grub-core/kern/mips/arc/init.c: Likewise.
5291 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
5292 aligned addresses.
5293 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
5294 support.
5295 (grub_arch_dl_relocate_symbols): Likewise.
5296 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
5297 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
5298 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
5299 platforms.
5300 * grub-core/lib/arc/datetime.c: New file.
5301 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
5302 pci.h on non-loongson.
5303 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
5304 (grub_linux_boot): Set unused registers to 0.
5305 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
5306 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
5307 * grub-core/mmap/mips/uppermem.c: ...here.
5308 * grub-core/partmap/dvh.c: New file.
5309 * grub-core/term/arc/console.c: Likewise.
5310 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
5311 (grub_terminfo_set_current): Add terminal "arc".
5312 (grub_terminfo_readkey): Support ARC sequences.
5313 * include/grub/arc/arc.h: New file.
5314 * include/grub/arc/console.h: Likewise.
5315 * include/grub/disk.h (grub_disk_dev_id): Add
5316 GRUB_DISK_DEVICE_ARCDISK_ID.
5317 * include/grub/mips/arc/kernel.h: New file.
5318 * include/grub/mips/arc/memory.h: Likewise.
5319 * include/grub/mips/arc/time.h: Likewise.
5320 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
5321 * include/grub/mips/kernel.h (grub_halt): ... here.
5322 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
5323 here...
5324 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
5325 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
5326 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
5327 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
5328 proto.
5329 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
5330 from here ...
5331 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
5332 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
5333 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
5334 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
5335 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
5336 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
5337 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
5338 (grub_phys_addr_t): Moved from here ...
5339 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
5340 (grub_vtop): Moved from here ...
5341 * include/grub/mips/memory.h (grub_vtop): ... here.
5342 (grub_map_memory): Moved from here ...
5343 * include/grub/mips/memory.h (grub_map_memory): ... here.
5344 (grub_unmap_memory): Moved from here ...
5345 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
5346 (grub_machine_mmap_iterate): Moved from here ...
5347 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
5348 (grub_mmap_get_lower): Moved from here ...
5349 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
5350 (grub_mmap_get_upper): Moved from here ...
5351 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
5352 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5353 here ...
5354 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5355 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
5356 here ...
5357 * include/grub/mips/time.h (grub_get_rtc): ... here.
5358 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5359 here ...
5360 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5361 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
5362 here ...
5363 * include/grub/mips/time.h (grub_cpu_idle): ... here.
5364 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
5365 definition.
5366 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
5367 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
5368 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
5369 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
5370 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5371 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5372 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
5373 (GRUB_MACHINE_LINK_ADDR): Likewise.
5374 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
5375 to 6.
5376 * util/grub-install.in: Run dvhtool on ARC.
5377 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 5378 (generate_image): Handle ECOFF output for mips-arc.
400b9371 5379
c8ecc840
VS
53802011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
5383 blocks.
5384
153a4b55
VS
53852011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
5388 after enabling port.
5389
ff44d107
VS
53902011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 Skip incorrect USB devices.
5393
5394 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
5395 configcnt == 0.
5396 * include/grub/usb.h (grub_usb_err_t): New enum value
5397 GRUB_USB_ERR_BADDEVICE.
5398
638dbe4f
VS
53992011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 Fuloong video init support.
5402
5403 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
5404 well.
5405 (grub_vga_read_arx): New function.
5406 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
5407 definition.
5408 (framebuffer): New members io, mmioptr and mmiobase.
5409 (read_sis_cmd): New function.
5410 (write_sis_cmd): Likewise.
5411 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
5412 rather than 640x400.
5413 * grub-core/video/sis315_init.c: New file.
5414
c3fc520c
VS
54152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
5418 non-loongson.
5419 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
5420 to grub_dl_register_symbol.
5421
67b1e5c9
VS
54222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 Fix compilation errors.
5425
5426 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
5427 potentially unused.
5428 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
5429 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
5430 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
5431 to loongson machines.
5432
b756f75f
VS
54332011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 Several FS mtime support.
5436
5437 * grub-core/fs/affs.c (grub_affs_time): New struct.
5438 (grub_affs_file): New field mtime.
5439 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
5440 type. Removed 'size'. New field 'di'. All users updated.
5441 (grub_affs_mount): Simplify checsum checking.
5442 (grub_affs_iterate_dir): New helper grub_affs_create_node.
5443 (grub_affs_dir): Handle mtime.
5444 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
5445 (grub_cpio_dir): Likewise.
5446 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
5447 (grub_hfs_filerec): New field mtime.
5448 (grub_hfs_dir): Handle mtime.
5449 (grub_hfs_mtime): New function.
5450 (grub_hfs_fs): Register grub_hfs_mtime.
5451 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
5452 (grub_iso9660_dir): New field mtime.
5453 (grub_fshelp_node): New field dirent.
5454 (iso9660_to_unixtime): New function.
5455 (iso9660_to_unixtime2): Likewise.
5456 (grub_iso9660_read_symlink): Use node->dirent.
5457 (grub_iso9660_iterate_dir): Likewise.
5458 (grub_iso9660_dir): Set mtime.
5459 (grub_iso9660_mtime): New function.
5460 (grub_iso9660_fs): Register grub_iso9660_mtime.
5461 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
5462 (grub_jfs_inode): New fields atime, ctime and mtime.
5463 (grub_jfs_dir): Set mtime.
5464 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5465 * grub-core/fs/ntfs.c (list_file): Set mtime.
5466 (grub_ntfs_dir): Likewise.
5467 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
5468 (grub_reiserfs_iterate_dir): Set mtime.
5469 (grub_reiserfs_dir): Likewise.
5470 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
5471 (grub_fshelp_node): Likewise.
5472 (grub_sfs_iterate_dir): Set mtime.
5473 (grub_sfs_dir): Likewise.
5474 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
5475 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
5476 (grub_xfs_inode): New fields atime, mtime, ctime.
5477 (grub_xfs_dir): Set mtime.
5478 * include/grub/datetime.h (grub_datetime2unixtime): New function.
5479 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
5480 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
5481
5482 Support UDF symlinks.
5483
5484 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5485 (grub_ufs_read_symlink): New function. All users updated.
5486
5487 Check amiga partmap checksum.
5488
5489 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5490 (grub_amiga_partition): Likewise.
5491 (amiga_partition_map_checksum): New function.
5492 (amiga_partition_map_iterate): Check checksum.
5493
5470225d
VS
54942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 ROMFS support.
5497
5498 * Makefile.util.def (libgrubmods.a): Add romfs.
5499 * grub-core/Makefile.core.def (romfs): New module.
5500 * grub-core/fs/romfs.c: New file.
5501
d4680a35
VS
55022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 Squashfs v4 support.
5505
5506 * Makefile.util.def (libgrubmods.a): Add squash4.
5507 * grub-core/Makefile.core.def (squash4): New module.
5508 * grub-core/fs/squash4.c: New file.
5509 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5510 disk_input_start, disk_input.
5511 (get_byte): Handle disk_input.
5512 (grub_zlib_disk_read): New function.
5513 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5514
bcb18e74
FZ
55152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
55162011-05-15 Feiran Zheng <famcool@gmail.com>
5517
5518 * Makefile.util.def (libgrubmods.a): Add minix3.
5519 * grub-core/Makefile.core.def (minix3): New module.
5520 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5521 (GRUB_MINIX_BSIZE): Removed.
5522 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5523 (grub_minix_ino_t): New type.
5524 (grub_minix_le_to_cpu_ino): New macro.
5525 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5526 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5527 (grub_minix_data): New field block_size.
5528 (grub_minix_read_file): Handle 64-bit correctly.
5529 * grub-core/fs/minix3.c: New file.
5530
32297d5f
TG
55312011-05-15 Tristan Gingold <gingold@free.fr>
55322011-05-15 Robert Millan <rmh.grub@aybabtu.com>
55332011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 IA64 support.
5536
5537 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5538 * configure.ac: Add ia64-efi target.
5539 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5540 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5541 * gentpl.py: Add ia64_efi platform.
5542 Rename x86_efi to efi and Add ia64-efi. All users updated.
5543 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5544 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5545 Remove kern/generic/rtc_get_time_ms.c on EFI.
5546 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5547 kern/ia64/dl_helper.c on ia64-efi.
5548 Add kern/emu/cache.c on emu.
5549 (linux): Use on loader/ia64/efi/linux.c on ia64.
5550 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5551 whether symbol is a function.
5552 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5553 (grub_symbol): New field 'isfunc'.
5554 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5555 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5556 (grub_dl_load_segments): Place all sections into the same region.
5557 [__ia64__]: Create trampolines and got.
5558 [GRUB_MACHINE_EMU]: Call mprotect.
5559 (grub_dl_resolve_symbols): Resolve symbol type as well.
5560 [__ia64__]: Create function descriptors.
5561 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5562 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5563 (grub_get_rtc): New function.
5564 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5565 * grub-core/kern/emu/cache.S: Renamed to ...
5566 * grub-core/kern/emu/cache_s.S: ... this.
5567 [__ia64__]: Add a nop.
5568 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5569 [__ia64__]: New function.
5570 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5571 * grub-core/kern/ia64/dl.c: New file.
5572 * grub-core/kern/ia64/dl_helper.c: Likewise.
5573 * grub-core/kern/ia64/efi/init.c: New file.
5574 * grub-core/kern/ia64/efi/startup.S: Likewise.
5575 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5576 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5577 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5578 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5579 * grub-core/loader/ia64/efi/linux.c: New file.
5580 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5581 (GRUB_MOD_DEP): Likewise.
5582 (grub_dl) [__ia64__]: New fields got and tramp.
5583 (grub_dl): New field 'base'.
5584 (grub_dl_register_symbol): New argument isfunc. All users updated.
5585 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5586 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5587 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5588 (grub_ia64_dl_get_tramp_got_size): New proto.
5589 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5590 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5591 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5592 * include/grub/efi/api.h: Skip call wrappers on ia64.
5593 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5594 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5595 * include/grub/elf.h (ELF_ST_INFO): New definition.
5596 * include/grub/ia64/efi/kernel.h: New file.
5597 * include/grub/ia64/efi/memory.h: Likewise.
5598 * include/grub/ia64/efi/time.h: Likewise.
5599 * include/grub/ia64/kernel.h: Likewise.
5600 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5601 * include/grub/ia64/time.h: New file.
5602 * include/grub/ia64/types.h: Likewise.
5603 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5604 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5605 New protos.
5606 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5607 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5608 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5609 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5610 All users updated.
5611 (EFI64_HEADER_SIZE): New definition. All users updated.
5612 (image_targets): Add ia64-efi.
5613 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5614 jumpers_addr. All users updated.
5615 Create function descriptors.
5616 (count_funcs): New function.
5617 (unaligned_uint32): New struct.
5618 (MASK20): New definition.
5619 (MASK19): Likewise.
5620 (MASKF21): Likewise.
5621 (add_value_to_slot_20b): New function.
5622 (add_value_to_slot_21_real): Likewise.
5623 (add_value_to_slot_21): Likewise.
5624 (ia64_kernel_trampoline): New struct.
5625 (nopm): New variable.
5626 (jump): Likewise.
5627 (make_trampoline): New function.
5628 (relocate_addresses): Handle ia64.
5629 (make_reloc_section): Likewise.
5630 (load_image): Likewise.
5631
983b414d
VS
56322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5635 warning. Move variables before code while on it.
5636
5d063cdc
VS
56372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 Fuloong support.
5640
5641 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5642 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5643 * grub-core/boot/mips/loongson/fuloong.S: New file.
5644 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5645 Explicitly init CS5536.
5646 [FULOONG]: Don't use serial until CS5536 is available.
5647 Set GPIO based on dumps.
5648 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5649 [FULOONG]: Handle GPIO and memory controller differences.
5650 Parse machine type in $a2.
5651 * grub-core/boot/mips/startup_raw.S: Determine and save the
5652 architecture.
5653 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5654 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5655 init on architecture type.
5656 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5657 SIS315E. Don't init at_keyboard on fuloong.
5658 (grub_halt): Support Fuloong.
5659 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5660 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5661 (loongson_machtypes): New array.
5662 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5663 type.
5664 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5665 config. All users updated. Handle CS5536 serial.
5666 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5667 default port on machine type. Register serial as inactive.
5668 * grub-core/video/sis315pro.c: New file.
5669 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5670 definition.
5671 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5672 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5673 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5674 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5675 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5676 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5677 to ...
5678 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5679 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5680 definition.
5681 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5682 (grub_arch_machine): New extern var.
5683 * include/grub/mips/loongson/serial.h
5684 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5685 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5686 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5687 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5688 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5689 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5690 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5691 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5692 * include/grub/term.h (grub_term_register_input_inactive): New inline
5693 function.
5694 (grub_term_register_output_inactive): Likewise.
5695 * include/grub/video.h (grub_video_driver_id): New value
5696 GRUB_VIDEO_DRIVER_SIS315PRO.
5697 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5698 New field "names". All users updated.
5699 New field value IMAGE_FULOONG_FLASH.
5700 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5701
6ada82d1
JU
57022011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5703
5704 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5705 and add some clarification.
5706
90c571a4
VS
57072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5710 platforms if kernel is compressed.
5711
de04eecf
VS
57122011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5715 unused modules since currently referrence counter isn't reliable and
5716 there isn't much memory to recover there anyway.
5717
57688121
VS
57182011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5721 rather than resetting it to allow modules to reference themselves
5722 in init.
5723
3d2c7e35
VS
57242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5727 counter on dependencies since grub_dl_unref already handles this.
5728
b25db218
VS
57292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5732 on error if not already done.
5733
25a45338
VS
57342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 Fix few potential memory misusage.
5737
5738 * grub-core/font/font.c (load_font_index): Don't free char_index to
5739 avoid double free.
b25db218
VS
5740 (grub_font_load): Zero-fill font at alloc for safety.
5741 Close file on error.
5742 (free_font): Free bmp_idx.
25a45338 5743
0cac83df
VS
57442011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * docs/grub.texi (Installation): Fix several outdated claims.
5747
2217a143
VS
57482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 Handle module_license on windows.
5751
5752 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5753 sections shifted.
5754 (insert_string): Make argument const char * instead of char *.
5755 (write_section_data): Handle long section names.
5756 Handle module_license.
5757
d4de6b01
VS
57582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5761 handle class-free menuentries.
5762 (grub_normal_add_menu_entry): Add a check to be sure.
5763
4c2a3b43
VS
57642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5767 PgUp and PgDown.
5768
85c6210f
VS
57692011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * configure.ac: Bump version to 1.99.
5772
36084912
VS
57732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 Give ATA device a bit more time on first try in order to allow disks
5776 to spin up.
5777
5778 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5779 if dev->present is 1. Reset dev->present on failure.
5780 (grub_ata_device_initialize): Set dev->present to 1.
5781 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5782 (grub_ata_device): New member 'present'.
5783
bda0e219
VS
57842011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * util/grub-mkimage.c (generate_image): Update hash.
5787
19e1c41b
VS
57882011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 Flush caches on DMA memory.
5791
5792 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5793 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5794 (grub_dma_free): Likewise.
5795 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5796
91bbcc0c
VS
57972011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5800 to avoid asm treating ld and sd as macros.
5801
60ddfad3
VS
58022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5805 decompressor.
5806
a298aa04
VS
58072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5810 grub_decompress_core since later would fail if grub_decompress_core
5811 is too far.
5812
9b44feca
VS
58132011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5816 R_MIPS_JALR since it's used by newer compiler.
5817
56dbe7b4
VS
58182011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5821
52856af2
VS
58222011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5825 file_path to 0 for surety.
5826 (grub_chainloader_boot): Set exit_data to NULL.
5827 Unset the loader once done.
5828 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5829
9c9bfc6d
VS
58302011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5833 unknown key into a dprintf.
5834
dd94a3df
VS
58352011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5838 on first non-existant partition.
5839
fa68d99c
VS
58402011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5843 openning fails.
5844 Reported by: Mark Korenberg.
5845
157effb7
VS
58462011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5849 overflow.
5850
ea75312f
VS
58512011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5854 before closing to ensure that it will be readable by grub-setup.
5855
072b5d31
VS
58562011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5859 (devpath_1): Use MAKE_PIWG_PATH.
5860 (devpath_2): Likewise.
5861 (devpath_3): Likewise.
5862 (devpath_4): Likewise.
5863 (devpath_5): Likewise.
5864 (devpath_6): Likewise.
5865
5866 The appleldr.mod was checked that to be binary identical to previous
5867 version.
5868
7fae0051
Z
58692011-05-05 Zach <mikezackles>
5870
5871 Support 2010 Macbooks.
5872
5873 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5874 (devs): Add devpath_6.
5875
7c515bee
VS
58762011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5879 /dev/random. /dev/urandom is good enough for our purposes (salting).
5880
ed660bd8
VS
58812011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5884
ee5614b7
VS
58852011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5888 hexadecimal.
5889
664889a6
VS
58902011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5893 and not 0 on failure.
5894
bd405bbc
CW
58952011-05-03 Colin Watson <cjwatson@ubuntu.com>
5896
5897 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5898 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5899 disk; otherwise grub_fs_probe will not fall back to the next
5900 filesystem.
5901 (grub_pxefs_open): Likewise, for consistency.
5902 Reported and tested by: Ezekiel Grave.
5903
4ebff753
CW
59042011-05-03 Colin Watson <cjwatson@ubuntu.com>
5905
5906 * tests/partmap_test.in: Don't hardcode path to parted.
5907 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5908
8f942553
CW
59092011-05-01 Colin Watson <cjwatson@ubuntu.com>
5910
5911 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5912 of `ls' to find out which devices are available.
5913
3c62402d
VS
59142011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5917 than source address for efi mmap buffer.
5918
723f63f2
VS
59192011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5922 wrong action on non-detecting the magic.
5923
68797f92
VS
59242011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5927 already supplied by another part of the module (fixes compilation on
5928 FreeBSD).
5929
6be8715d
VS
59302011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5933 match the one used by mdadm.
5934
e91dba5b
CW
59352011-04-21 Colin Watson <cjwatson@ubuntu.com>
5936
5937 * po/README: Add instructions for creating po/LINGUAS.
5938
c85140b3
CW
59392011-04-21 Colin Watson <cjwatson@ubuntu.com>
5940
5941 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5942 #551428.
5943
5944 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5945 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5946 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5947 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5948 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5949 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5950 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5951 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5952 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5953 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5954 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5955 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5956 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5957 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5958 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5959 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5960 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5961 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5962 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5963 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5964 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5965 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5966
92051871
CW
59672011-04-21 Colin Watson <cjwatson@ubuntu.com>
5968
5969 * grub-core/kern/emu/getroot.c
5970 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5971 test that was incorrectly reintroduced in r3214.
5972 Reported by: Ian Dall. Fixes Savannah bug #33133.
5973
b13f79a4
CW
59742011-04-21 Colin Watson <cjwatson@ubuntu.com>
5975
5976 Fix stack pointer handling in 16-bit relocator.
5977
5978 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5979 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5980 Fixes Ubuntu bug #683904.
5981
9b710a88
VS
59822011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * configure.ac: Bump version to 1.99~rc2.
5985
d97e7b59
VS
59862011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5989 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5990 * grub-core/lib/x86_64/setjmp.S: Likewise.
5991 * grub-core/lib/mips/setjmp.S: Likewise.
5992 * grub-core/lib/powerpc/setjmp.S: Likewise.
5993 * grub-core/lib/sparc64/setjmp.S: Likewise.
5994
0624551c
VS
59952011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5998 * grub-core/lib/efi/datetime.c: Likewise.
5999
e8f28d4c
VS
60002011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
6003 New function.
6004 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
6005 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
6006 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
6007
bba79a15
VS
60082011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
6011 bitmap.
6012 (grub_gfxterm_term_init): Likewise.
6013
abc474ef
VS
60142011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 Take into account the decorations the computing menu entry width.
6017
6018 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
6019 (grub_gfxmenu_create_box): Register get_border_width.
6020 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
6021 if available.
6022 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
6023 get_border_width.
6024
e74b3947
EP
60252011-04-18 Endres Puschner <code@e7p.de>
6026
6027 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
6028 Don't skip first class.
6029
34faa595
VS
60302011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
6033 chunks.
6034 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
6035
93a777e3
VS
60362011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 Complete 64-bit division support.
6039
6040 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
6041 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
6042 * include/grub/misc.h (grub_divmod64): Rename to ...
6043 (grub_divmod64_full): ... this.
6044 (grub_divmod64): New inline function.
6045
a5102d94
VS
60462011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * util/grub-mkimage.c (generate_image): Add forgotten comma.
6049
f3fb7b36
VS
60502011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
6053 performing the necessary test.
6054
9ac718b0
VS
60552011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
6058 (kfreebsd.elf): Likewise.
6059 (pc-chainloader.elf): Likewise.
6060 (ntldr.elf): Likewise.
6061
50d2cc5a
VS
60622011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 Identify RAID by its UUID rather than (guessed) name.
6065
6066 * grub-core/disk/raid.c (ascii2hex): New function.
6067 (grub_raid_open): Accept mduuid/%s specification.
6068 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
6069 (get_mdadm_uuid): ... this.
6070 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
6071
e03f7bea
VS
60722011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
6075 to negative size.
6076
e74c3112
CW
60772011-04-13 Colin Watson <cjwatson@ubuntu.com>
6078
6079 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
6080 btrfs subvolume.
6081 * util/grub.d/20_linux_xen.in: Likewise.
6082
78fa584f
CW
60832011-04-13 Colin Watson <cjwatson@ubuntu.com>
6084
6085 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
6086 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
6087
6088 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6089 Build a list of relevant visible mounts using the mnt_id and
6090 parent_mnt_id fields, and then scan that list at the end.
6091
9d5f8162
CW
60922011-04-12 Colin Watson <cjwatson@ubuntu.com>
6093
6094 * docs/grub.texi (normal): New section.
6095 (normal_exit): New section.
6096 (Embedded configuration): Add reference to normal.
6097 (GRUB only offers a rescue shell): Likewise.
6098 * docs/grub-dev.texi (Error Handling): Fix typo.
6099
09a9d66f
CW
61002011-04-12 Colin Watson <cjwatson@ubuntu.com>
6101
6102 * NEWS: Drop obsolete entry about probe-only btrfs support.
6103
0c676933
CW
61042011-04-12 Colin Watson <cjwatson@ubuntu.com>
6105
6106 * util/import_gcry.py: Fix typo.
6107
ec9f5e0d
VS
61082011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * NEWS: Add btrfs support.
6111
fe6b2cba
VS
61122011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
61132011-04-11 Colin Watson <cjwatson@ubuntu.com>
6114
6115 BtrFS support. Written by me (Vladimir) with important bugfixes and
6116 even more important testing by Colin.
6117
6118 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
6119 * grub-core/Makefile.core.def (btrfs): Add crc.c.
6120 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
6121 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
6122 mem_input_off and mem_input. All users updated to accept in-RAM input.
6123 (gzio_seek): New function.
6124 (test_zlib_header): Likewise.
6125 (grub_gzio_read): Likewise.
6126 (grub_zlib_decompress): Likewise.
6127 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
6128 Accept partial and non-virtual mounts.
6129 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
6130 avoid receiving /dev/dm-X as device.
6131 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
6132 Handle bind and partial mounts.
6133 * grub-core/lib/crc.c: New file.
6134 * include/grub/deflate.h: Likewise.
6135 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
6136 proto.
6137 * include/grub/lib/crc.h: New file.
6138
e745cf0c
VS
61392011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 Implement automatic module license checking according to new GNU
6142 guidelines.
6143
6144 * grub-core/kern/dl.c (grub_dl_check_license): New function.
6145 (grub_dl_load_core): Use grub_dl_check_license.
6146 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
6147 (GRUB_MOD_LICENSE): Likewise.
6148 (GRUB_MOD_DUAL_LICENSE): Likewise.
6149 All modules updated.
6150
2a9bc016
CW
61512011-04-11 Colin Watson <cjwatson@ubuntu.com>
6152
6153 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
6154 reserved_first_sector to 1. btrfs reserves plenty of space for boot
6155 loaders.
6156 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
6157
8a3bc88e
VS
61582011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
6161
af869a4a
VS
61622011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * util/grub-fstest.c (read_file): Report GRUB error if file opening
6165 failed.
6166
9ee8d94f
VS
61672011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * grub-core/kern/file.c (grub_file_open): Don't take into account the
6170 parenthesis in the middle of the filename.
6171
b01abe3e
VS
61722011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
6175 rather than trying to put initrd way too high.
6176 Reported by: Ryan Lortie <desrt@desrt.ca>
6177
335bda1e
VS
61782011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
6181 improperly removed string.
6182
5ca1a64d
VS
61832011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
6186 is_disk.
6187 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
6188 (open_device) Likewise.
6189 (grub_util_biosdisk_close): Likewise.
d8ce9995 6190 Reported by: Mark Korenberg.
5ca1a64d 6191
cbac5b1e
AK
61922011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
6193
6194 * util/grub-mkconfig_lib.in: Add missing quotes.
6195
088cdb65
CW
61962011-04-10 Colin Watson <cjwatson@ubuntu.com>
6197
6198 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
6199 is NULL.
6200
8b8a81fa
VS
62012011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 Dynamically count the number of lines for the lower banner.
6204
6205 * grub-core/normal/menu_entry.c (per_term_screen): New member
6206 num_entries.
6207 (print_down): Use num_entries.
6208 (update_screen): Likewise.
6209 (grub_menu_entry_run): Set num_entries.
6210 * grub-core/normal/menu_text.c (menu_viewer_data): New member
6211 num_entries.
6212 (grub_print_message_indented): Move real part to ...
6213 (grub_print_message_indented_real): ... here. Additional argument
6214 dry_run.
6215 (draw_border): Additional argument num_entries.
6216 (print_message): Additional argument dry_run.
6217 (print_entries): Receive menu viewer data.
6218 (grub_menu_init_page): New argment num_entries.
6219 (menu_text_set_chosen_entry): Use num_entries.
6220 (grub_menu_try_text): Likewise.
6221 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
6222 All users updated.
6223 (grub_ucs4_count_lines): New function.
6224 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
6225 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
6226 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
6227 (grub_term_border_height): Likewise.
6228 (grub_term_num_entries): Likewise.
6229
277f955b
VS
62302011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
6233 Remove now unused string.
6234
536ce85a
CW
62352011-04-09 Colin Watson <cjwatson@ubuntu.com>
6236
6237 * docs/grub-dev.texi (Finding your way around): Update for 1.99
6238 build system.
6239 (Getting started): GRUB is developed in Bazaar now, not Subversion.
6240
6241 (Comment): Fix typo.
6242 (Getting started): General copy-editing.
6243 (Typical Development Experience): Likewise.
6244 (Error Handling): Likewise.
6245 (Video API): Likewise.
6246
2cf09e32
CW
62472011-04-09 Colin Watson <cjwatson@ubuntu.com>
6248
6249 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
6250 throughout.
6251
1ec652f4
VS
62522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * util/grub-mkimage.c (main): Handle special naming of yeeloong
6255 directory.
6256
2c583728
CW
62572011-04-08 Colin Watson <cjwatson@ubuntu.com>
6258
6259 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
6260 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
6261 "development".
6262
d7a565e9
VS
62632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
6266 grub_strcpy since the lines aren't necessarily 0-terminated.
6267
7c2e4909
VS
62682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
6271 root on legacy.
6272
34c09785
VS
62732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 * grub-core/commands/probe.c (options): Argument to set isn't optional.
6276 (GRUB_MOD_INIT): DEVICE isn't optional.
6277
6a6f8058
VS
62782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
6281 word on new line if it's too long anyway. Fixes a hang.
6282
2e335e90
VS
62832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
6286 const.
6287 * util/grub-setup.c (main): Reuse md device name if available.
6288 * util/raid.c (grub_util_raid_getmembers): Receive device name and
6289 not GRUB name as argument.
6290 Based on patch by: Florian Wagner <fwagner>.
6291
10a7a867
VS
62922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6295 Place mbi on low memory for better compatibility.
6296
7a3d6cd9
VS
62972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
6300
18dd6b47
VS
63012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
63022011-04-08 Colin Watson <cjwatson@ubuntu.com>
6303
6304 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 6305 * conf/Makefile.common: Likewise.
18dd6b47 6306
3c0e3f14
VS
63072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6308
f7148863
VS
6309 * grub-core/normal/menu.c: Add missing include.
6310
63112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 6314
6d1fa41f
MZ
63152011-04-08 Martin Zuther <mzuther@mzuther.de>
6316
6317 * util/grub-mkconfig.in: Ignore emacsen backup.
6318
478182a8
VS
63192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
6322 on open.
6323 (grub_util_biosdisk_close): Likewise.
6324
72a89a54
VS
63252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
6328 const attribute and use grub_isdigit.
6329
b5ebecfa
A
63302011-04-06 Andrey <dev_null@ukr.net>
6331
6332 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
6333 gcc warning.
6334
7755f66e
VS
63352011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
6338 useful grub_dprintf's.
6339
461121ff
VS
63402011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
6343
2a961775
VS
63442011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
6347
adf594cc
VS
63482011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 Output errors if theme loading failed.
6351
6352 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
6353 grub_gfxterm_fullscreen on error paths to ...
6354 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
6355 theme loading error.
6356
665900a3
VS
63572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
6360 space for older compilers.
6361 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6362
a562b479
VS
63632011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
6366 and report them as not RAID members since they are useless for GRUB.
6367 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6368
850e9373
VS
63692011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 Increase LVM implementation robustness in order not to crash on
6372 configurations like pvmove. Previously code assumed that in some places
6373 only lvs or only pvs are used whereas it seems that they are used
6374 interchangeably.
6375
6376 * grub-core/disk/lvm.c (read_node): New function.
6377 (read_lv): Use read_node.
6378 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
6379 Match volumes only at the end when all lvs are found. Take both
6380 pvs (first) and lvs (second) into account.
6381 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
6382 mirror_* into node_*. All users updated.
6383 (grub_lvm_stripe): Merge this ...
6384 (grub_lvm_mirror): ... and this ...
6385 (grub_lvm_node): ... into this. All users updated.
6386
6f332153
VS
63872011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
6390 of function to allow further scanning for LVMs.
6391
829ea451
VS
63922011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
6395 on failed seek as it breaks open fd reusage.
6396
09ceb9a5
VS
63972011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * util/grub-install.in: Add a recommendation to use --recheck before
6400 reporting bugs.
6401
67e11623
VS
64022011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
6405 are obtained.
6406
caee5efd
VS
64072011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 GRUB developper manual based on existing Internals section and
6410 contributions by the various authors with active copyright assignment.
6411
6412 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
6413 * docs/font_char_metrics.png: New file.
6414 * docs/font_char_metrics.txt: Likewise.
6415 * docs/grub-dev.texi: Likewise.
6416 * docs/grub.texi (Internals): Move from here ...
6417 * docs/grub-dev.texi: ... here.
6418
2cccc747
CW
64192011-04-01 Colin Watson <cjwatson@ubuntu.com>
6420
6421 Store the loopback device as data on loopback grub_disk structures,
6422 rather than the file it points to. This fixes use of freed memory
6423 if an existing loopback device is replaced.
6424
6425 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
6426 disk->data, not dev->file.
6427 (grub_loopback_read): Adjust file assignment to match.
6428 Fixes Ubuntu bug #742967.
6429
186ae367
CW
64302011-04-01 Colin Watson <cjwatson@ubuntu.com>
6431
6432 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
6433 when replacing an existing device.
6434
cfed2ad0
VS
64352011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
6438 memory corruptions.
6439
6440 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
6441 unsigned.
6442 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
6443 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
6444 (grub_jfs_read_inode): Likewise.
6445 (grub_jfs_opendir): Likewise. Remove now useless casts.
6446 (grub_jfs_getent): Likewise.
6447 Make ino a grub_uint32_t rather than int.
6448 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
6449 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
6450 division and module with bit operations.
6451 (grub_jfs_find_file): Make ino a grub_uint32_t.
6452 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
6453
05d2ed32
CW
64542011-04-01 Colin Watson <cjwatson@ubuntu.com>
6455
6456 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
6457 warning. (This was in fact always initialised before use, but GCC
6458 wasn't smart enough to prove that.)
6459 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6460
91dc6073
VS
64612011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
6464 stack alignment.
6465 (efi_wrap_1): Likewise.
6466 (efi_wrap_2): Likewise.
6467 (efi_wrap_3): Likewise.
6468 (efi_wrap_4): Likewise.
6469 (efi_wrap_5): Likewise.
6470 (efi_wrap_6): Likewise.
6471 (efi_wrap_10): Likewise.
6472 Based on information by: Red Hat/Peter Jones.
6473
a8afc1d1
CW
64742011-03-31 Colin Watson <cjwatson@ubuntu.com>
6475
6476 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
6477 set-but-not-used variable.
6478
a826cc7d
CW
64792011-03-31 Colin Watson <cjwatson@ubuntu.com>
6480
6481 * docs/grub.texi (Simple configuration): Be more explicit about
6482 GRUB_DEFAULT, and add an example.
6483 Reported by: Leslie Rhorer.
6484
875b67ba
CW
64852011-03-30 Colin Watson <cjwatson@ubuntu.com>
6486
6487 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6488 shell".
6489
fd7cd914
AS
64902011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6491
6492 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6493 * util/grub.d/20_linux_xen.in: Likewise.
6494
090b1b6a
VS
64952011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * util/grub.d/10_linux.in: Try alternative config filenames where
6498 we parse config file.
6499 * util/grub.d/20_linux_xen.in: Likewise.
6500
baad885c
AS
65012011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6502
6503 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6504 * util/grub.d/20_linux_xen.in: Likewise.
6505
241e41f5
VS
65062011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * grub-core/disk/raid.c (insert_array): Add few potentially
6509 useful grub_util_info.
6510 (grub_raid_register): Likewise.
6511
56445fb2
VS
65122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6515 Preserve partition number in mdadm code path.
6516
c871b1c6
VS
65172011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6520 few potentially useful grub_util_info.
6521
5e631b4f
CW
65222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6525
2d5d0333
CW
65262011-03-30 Colin Watson <cjwatson@ubuntu.com>
6527
6528 * docs/grub.texi (default): Use @example rather than nested
6529 itemized lists to avoid breaking gendocs.
6530
3d7ed04e
CW
65312011-03-30 Colin Watson <cjwatson@ubuntu.com>
6532
6533 * docs/grub.texi (Future): Update.
6534
abf04200 65352011-03-30 Colin Watson <cjwatson@ubuntu.com>
6536
6537 * docs/grub.texi (Environment): New chapter.
6538 (Changes from GRUB Legacy): Link to "Environment block" section for
6539 details of limitations.
6540 (Simple configuration): Likewise. Link to documentation of gfxmode
6541 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6542 respectively.
6543 (Shell-like scripting): Note that normal variables are stored in the
6544 environment.
6545 (gettext): Link to documentation of lang and locale_dir.
6546 (list_env): New section.
6547 (load_env): New section.
6548 (save_env): New section.
6549
6550 (Reporting bugs): Fix typo.
6551
e1ad0edd
VS
65522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6555 the example.
6556
5d803174
VS
65572011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 * grub-core/term/at_keyboard.c (set_scancodes)
6560 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6561
2a2da1d0
CW
65622011-03-30 Colin Watson <cjwatson@ubuntu.com>
6563
6564 * docs/grub.texi (Menu-specific commands): Remove some semantics
6565 that were true in GRUB Legacy but not in GRUB 2.
6566 (submenu): New section.
6567 (false): New section.
6568 (read): New section.
6569 (true): New section.
6570
a7527639
CW
65712011-03-30 Colin Watson <cjwatson@ubuntu.com>
6572
6573 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6574
65752011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
6576
6577 * docs/grub.texi (Simple configuration): Explain some of the
6578 current limitations of grub-mkconfig.
8a748df2 6579 Reported by: Leslie Rhorer.
e30af029 6580
fc858482
VS
65812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 Old macs search for boot.efi rather than for bootia32.efi.
6584
6585 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6586 * util/grub-mkrescue.in: Likewise.
6587 Suggested by: Peter Jones.
6588
e1eb511d
VS
65892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6592
70e75364
VS
65932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6596 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6597 (grub_lvm_mirror): New struct.
6598 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6599 (grub_lvm_iterate): Iterate only visible volumes.
6600 (grub_lvm_read): Factor out to ..
6601 (read_lv): ... this. Support mirrors.
6602 (grub_lvm_read): New wrapper function.
6603 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6604 stripped or mirrored.
6605
fc18f6a3
VS
66062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6609
5c650f4c
CW
66102011-03-29 Colin Watson <cjwatson@ubuntu.com>
6611
6612 * docs/grub.texi (loopback): New section.
6613
61d7156b
CW
66142011-03-29 Colin Watson <cjwatson@ubuntu.com>
6615
6616 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6617 removed -p option.
6618
994b8264
CW
66192011-03-29 Colin Watson <cjwatson@ubuntu.com>
6620
6621 * docs/grub.texi (BIOS installation): New section, partly based on
6622 previous text in other sections.
6623 (Installing GRUB using grub-install): Replace BIOS discussion with a
6624 cross-reference.
6625 (Images): Likewise.
6626
9e4d19e0
VS
66272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6630 [HAVE_DIOCGDINFO]: Add safety checks.
6631
a307c0b2
VS
66322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6635 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6636
b4db4f39
CW
66372011-03-29 Colin Watson <cjwatson@ubuntu.com>
6638
6639 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6640 real_sb->size is zero (e.g. RAID-0), get the disk size from
6641 real_sb->data_size instead.
6642 Fixes Ubuntu bug #743136.
6643
35e5f84c
VS
66442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6647 printf clauses for printing size and start.
6648
d2e29d81
VS
66492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6652 Reported and tested by: Timothy Nikkel.
6653
ed5587af
VS
66542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6657 (dirty_region_add_real): ... this.
6658 (dirty_region_add): Don't discard margin refresh when performing
6659 scheduled repaint.
6660
a1dc717c
VS
66612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * grub-core/lib/relocator.c (allocate_regstart)
6664 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6665 terminals are capabple of malloc-free operation.
6666 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6667 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6668
9f3677d3
VS
66692011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6670
6671 * util/grub-setup.c: Copy the partition table zone if floppy support
6672 is disabled, even if no partition table is found.
6673
6674 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6675 during POST if an invalid partition table is contained in the PBR
6676 of the active partition when GRUB is installed to a partition.
6677
24148725
CW
66782011-03-28 Colin Watson <cjwatson@debian.org>
6679
6680 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6681 comment.
6682
f329eda7
CW
66832011-03-28 Colin Watson <cjwatson@debian.org>
6684
6685 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6686 to be specific about what kind of RAID device we're scanning for.
6687
c482ad98
SG
66882011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6689
6690 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6691 return freed string.
6692
5ee04984
VS
66932011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6696
f4727da9
VS
66972011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 Use libgeom on FreeBSD to detect partitions.
6700
6701 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6702 (grub-mkrelpath): Likewise.
6703 (grub-script-check): Likewise.
6704 (grub-editenv): Likewise.
6705 (grub-mkpasswd-pbkdf2): Likewise.
6706 (grub-fstest): Likewise.
6707 (grub-mkfont): Likewise.
6708 (grub-mkdevicemap): Likewise.
6709 (grub-probe): Likewise.
6710 (grub-setup): Likewise.
6711 (grub-ofpathname): Likewise.
6712 (grub-mklayout): Likewise.
6713 (example_unit_test): Likewise.
6714 (grub-menulst2cfg): Likewise.
6715 * grub-core/Makefile.core.def (grub-emu): Likewise.
6716 (grub-emu-lite): Likewise.
6717 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6718 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6719 define HAVE_DIOCGDINFO.
6720 (follow_geom_up) [FreeBSD]: New function.
6721 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6722 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6723 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6724 unconditionally of HAVE_DIOCGDINFO.
6725
82fe6c75
VS
67262011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 Fix FreeBSD compilation problem.
6729
6730 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6731 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6732
4c6c9431
CW
67332011-03-24 Colin Watson <cjwatson@ubuntu.com>
6734
6735 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6736 Switch back to page zero before loading a kernel, since some kernel
6737 drivers expect that.
6738 Thanks to: Felix Kuehling.
6739
c7064d94
VS
67402011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6743 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6744 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6745
3f71cded
VS
67462011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6749 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6750
ef6de21a
VS
67512011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6754 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6755 malloc is disabled.
6756
8bc66a2c
VS
67572011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6760 for modules headers when counting the needed allocation size.
6761
5657722c
VS
67622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6765 if no ASCII character is found to prevent crash.
6766
41a85f55
AK
67672011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6768
6769 * grub-core/video/bitmap.c (match_extension): Ignore case.
6770
59e1e5f1
VS
67712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6774
bd4d051a
VS
67752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * grub-core/script/parser.y: Declare "time" as valid argument.
6778
bae7fcc1
PJ
67792011-03-23 Peter Jones <pjones@redhat.com>
6780
6781 Fix incorrect assert failure reporting.
6782
6783 * grub-core/tests/example_functional_test.c (example_test): Add
6784 a failure comment.
6785 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6786 (failure_start): ...this. Check that malloc succeeded.
6787 Don't call xvasprintf. Return failure struct.
6788 (failure_append_vtext): New function.
6789 (failure_append_text): Likewise.
6790 (add_failure): Likewise.
6791 (grub_test_assert_helper): Likewise.
6792 * include/grub/test.h (grub_test_assert_helper): New declaration.
6793 (grub_test_assert): Macro rewritten.
6794
537dc9be
VS
67952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6798
fa3e01bf
VS
67992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6802
b1d28404
VS
68032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6806 into GRUB-style one.
6807
2e3e2e09
VS
68082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6811 error and not grub_errno.
6812 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6813
ed57e557
VS
68142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6817 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6818
d1611f01
VS
68192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * grub-core/efiemu/i386/pc/cfgtables.c
6822 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6823 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6824 (grub_xnu_unlock): Likewise.
6825 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6826
7d4e39d6
VS
68272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6830 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6831 * grub-core/commands/hashsum.c (aliases): Likewise.
6832 * grub-core/commands/setpci.c (pci_registers): Likewise.
6833 * grub-core/disk/usbms.c (attach_hook): Likewise.
6834 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6835 (zio_checksum_table): Likewise.
6836 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6837 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6838 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6839 * grub-core/lib/relocator.c (leftovers): Likewise.
6840 (extra_blocks): Likewise.
6841 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6842 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6843 (modules_last): Likewise.
6844 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6845 (devices): Likewise.
6846 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6847 (modules_last): Likewise.
6848 * grub-core/normal/auth.c (users): Likewise.
6849 * grub-core/normal/context.c (initial_menu): Likewise.
6850 (current_menu): Likewise.
6851 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6852 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6853 (grub_serial_terminfo_input_template): Likewise.
6854 (grub_serial_terminfo_output_template): Likewise.
6855 (grub_serial_terminfo_input): Likewise.
6856 (grub_serial_terminfo_output): Likewise.
6857 (registered): Likewise.
6858 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6859
40fc4659
VS
68602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6863 grub_video_mode_type_t.
6864 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6865 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6866 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6867
2da48d28
VS
68682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * util/grub-install.in: Correct the x86-64 name as x86_64.
6871
9b43bf39
CW
68722011-03-11 Colin Watson <cjwatson@ubuntu.com>
6873
6874 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6875 initial chunk read from the kernel always includes GRUB's multiboot
6876 header, which is now outside the first sector.
6877
be1a7ce0
CW
68782011-03-09 Colin Watson <cjwatson@ubuntu.com>
6879
6880 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6881 cached mmap_size, so that this works correctly when called multiple
6882 times.
6883 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6884
83a3c48d
CW
68852011-03-09 Colin Watson <cjwatson@ubuntu.com>
6886
6887 * docs/grub.texi (Simple configuration): Tidy up formatting.
6888
57d75699
SJ
68892011-03-07 Szymon Janc <szymon@janc.net.pl>
6890
6891 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6892 Set-but-not-used variable removed.
6893
028501a0
VS
68942011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 Workaround yet another IEEE1275 bug.
6897
6898 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6899 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6900 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6901 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6902 is set.
6903 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6904 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6905
d998657d
VS
69062011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6909 error.
6910
fee7cdd4
CW
69112011-02-11 Colin Watson <cjwatson@ubuntu.com>
6912
6913 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6914 empty, since in that case we can only generate either nothing or a
6915 syntactically invalid configuration file.
6916 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6917
97286eb5
CW
69182011-02-09 Colin Watson <cjwatson@ubuntu.com>
6919
6920 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6921 (Making a GRUB bootable CD-ROM): Likewise.
6922 (Invoking grub-mkrescue): New section.
6923 Reported by: Yann Dirson. Fixes Debian bug #612585.
6924
22b28eb3
CW
69252011-02-09 Colin Watson <cjwatson@ubuntu.com>
6926
6927 * util/grub-install.in: Remove unnecessary brackets from tr
6928 arguments.
6929 * util/grub.d/10_hurd.in: Likewise.
6930 * util/grub.d/10_kfreebsd.in: Likewise.
6931 * util/grub.d/10_linux.in: Likewise.
6932 * util/grub.d/20_linux_xen.in: Likewise.
6933 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6934
7e735e43
CW
69352011-02-08 Colin Watson <cjwatson@ubuntu.com>
6936
6937 * include/grub/file.h (not_easly_seekable): Rename to ...
6938 (not_easily_seekable): ... this. Update all users.
6939
800f1881
CW
69402011-01-28 Colin Watson <cjwatson@ubuntu.com>
6941
6942 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6943 grub-mkrescue.
6944
3281d3d6
VS
69452011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * util/grub-mkimage.c (generate_image): Refuse to create the images
6948 bigger than the actual flash (512K) in Loongson machines. 512K is also
6949 the biggest chip supported by them.
6950
3533413c
VS
69512011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6954
73ae4f4f
VS
69552011-01-22 Anthony DeRobertis <anthony@derobert.net>
6956
6957 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6958 super_offset field.
6959
37f4f608
VS
69602011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * util/grub-install.in: Ignore install device on platforms
6963 where it doesn't make sense. Always use UUIDs except on pc, efi and
6964 sparc64.
6965 Reported by: Daniel Kahn Gillmor.
6966
03a4ccb5
VS
69672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6970
ffc8f4d8
VS
69712011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6974 (iterate_real): Don't rely on partition being non-NULL.
6975
80f23be7
VS
69762011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6979 supported platforms. Put a compile time assert for this rather than
6980 generate a warning with 32-bit shift.
6981
5d4f4dd5
VS
69822011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6985 logical expression more readable.
6986
e489601a
VS
69872011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6990 even if some elements have a name.
6991 Reported by: Alexander GQ Gerasiov.
6992
96e0a6ea
CW
69932011-01-22 Colin Watson <cjwatson@ubuntu.com>
6994
6995 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6996 path unreadable if `grub-probe -t abstraction' fails, for example if
6997 memberlist fails on an LVM volume group.
6998 Reported by: Darius Jahandarie.
6999
81431e2b
CW
70002011-01-22 Colin Watson <cjwatson@ubuntu.com>
7001
7002 * docs/grub.texi (Simple configuration): Document
7003 GRUB_PRELOAD_MODULES.
7004
5e79d66a
CW
70052011-01-17 Colin Watson <cjwatson@ubuntu.com>
7006
7007 * .bzrignore: Remove nonexistent grub-pbkdf2.
7008
646ada34
VS
70092011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * configure.ac: Bump version to 1.99~rc1.
7012
04360337
VS
70132011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
7016 for safety.
7017
46c9db88
VS
70182011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
7021 module.
7022
70232011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
7024
7025 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
7026
4fbf1852
VS
70272011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
7030 diskdevid.
7031
f1632d4d
VS
70322011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 Fix compilation on cygwin.
7035
7036 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
7037 -R .drectve on cygwin.
7038 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
7039 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
7040 (COND_CYGWIN): New condition.
7041 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
7042 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
7043 not @TARGET_OBJ2ELF@.
7044 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
7045 type to determine whether aux is to be used.
7046
0b5e127b
VS
70472011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
7050 realpath'ed device string.
7051 Handle floppy (somewhat).
7052 Issue error in unknown case rather than garbage.
7053 Reported by: Axel Beckert.
7054
173b71e9
VS
70552011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * util/grub.d/00_header.in (load_video): Handle the case when no video
7058 drivers available.
7059 Thanks to: Axel Beckert.
7060
f8f479db
VS
70612011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
7064 variable. Fixes problem on big endian platforms.
7065
8fc0a245
VS
70662011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
7069 It doesn't work well there.
7070
b8494fbe
VS
70712011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
7074 warning.
7075 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
7076 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
7077 counter.
7078
b44a558c
VS
70792011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 Use alias->path rather than buggy "canon".
7082
7083 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
7084 (ofdisk_hash_add): New argument curcan. All users updated.
7085
51fa856c
CW
70862011-01-11 Colin Watson <cjwatson@ubuntu.com>
7087
7088 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
7089
9da068a5
VS
70902011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
7093 loadmask before doing any calculations. Use correct type for offset.
7094 (grub_linux_load64): Likewise.
7095
86205c94
CW
70962011-01-11 Colin Watson <cjwatson@ubuntu.com>
7097
7098 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
7099 with NULL.
7100 (console_grub_equivalences_unshift): Likewise.
7101 Reported by: Daniel Dehennin.
7102
4531a206
VS
71032011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7104
7105 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
7106 (set_env_limn_ro): Likewise.
7107 (GRUB_MOD_INIT): Likewise.
7108 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
7109 ARRAY_SIZE while on it.
7110 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
7111 * grub-core/normal/context.c (grub_env_export): Move from here ...
7112 * grub-core/kern/env.c (grub_env_export): ... here.
7113 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
7114 prefix.
7115 * grub-core/kern/main.c (grub_main): Export root and prefix.
7116 * include/grub/env.h (grub_env_export): Export.
7117 Reported by: Seth Goldberg.
7118
45146057
VS
71192011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7122 Take into account space used by ELF sections and multiboot palette.
7123 Reported by: Grégoire Sutre.
7124
f093110b
VS
71252011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * BUGS: New file.
7128
3395fe52
VS
71292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 Pass more appropriate video id to Linux.
7132
7133 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
7134 grub_video_get_driver_id and variable gfxpayloadforcelfb to
7135 fill have_vga.
7136 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
7137 shift params->lfb_size.
7138 * include/grub/i386/linux.h: Make an enume out of have_vga values.
7139
c2fa6cbb
VS
71402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * util/grub-menulst2cfg.c: Add missing include of misc.h.
7143
b3ff6ff0
VS
71442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
7147 separator and pass bootpath/devid even if only one of them is available.
7148 Reported by: Seth Goldberg.
7149
ae67942e
VS
71502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
7153 implementations bug on them.
7154
7155 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
7156 memory.
7157 (filter_memory_map): Likewise.
7158
d570097a
VS
71592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
7162 Reported by: nebuchadnezzar.
7163
a508e776
VS
71642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
7167 Reported by: nebuchadnezzar.
7168
dcb883b1
VS
71692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 Submenu default support.
7172
7173 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
7174 auto_boot. All users updated.
7175 Declared static.
7176 Handle chosen and default with submenus.
7177 (grub_menu_execute_with_fallback): Declared static.
7178 Don't notify failure if autobooted. Upper level does it.
7179 (menuentry_eq): New function.
7180 (get_entry_number): Use menuentry_eq.
7181 (show_menu): New parameter "autobooted". All users updated.
7182 (grub_show_menu): Likewise.
7183 * include/grub/normal.h (grub_show_menu): Likewise.
7184 * include/grub/menu.h (grub_menu_execute_entry): Removed.
7185 (grub_menu_execute_with_fallback): Likewise.
7186
6fef99b4
VS
71872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * util/grub-mklayout.c (usage): Update help text.
7190
47a77af5
VS
71912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
7194
ce6bb3ee
VS
71952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * util/grub-menulst2cfg.c (main): Trim the line.
7198
db87be2a
VS
71992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
7202 (grub_machine_init): Don't check amount of low memory as reportedly
7203 INT 12h can be broken and if low memory is too low we wouldn't have
7204 gotten into grub_machine_init anyway.
7205
c49849cc
VS
72062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
7209 (grub_machine_mmap_iterate): Take low memory into account
7210
b1969b30
VS
72112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
7214 badfs.
7215 Reported by: TiCPU.
7216
cf0eaf13
VS
72172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
7220 members errors.
7221
1f060f39
GS
72222011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7223
7224 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
7225 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
7226
a21e5672
GS
72272011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7228
7229 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
7230 openbsd and netbsd types being in part_bsd module.
7231
c88172fa
VS
72322011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
7235 (_FILE_OFFSET_BITS): Likewise.
7236 Reported by: Seth Goldberg.
7237
53798c4b
GS
72382011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7239
7240 * configure.ac: Check for libdevmapper header.
7241
e7121b69
VS
72422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
7245 avoid aliasing.
7246 (fzap_lookup): Likewise.
7247 (dnode_get): Likewise.
7248 (make_mdn): Likewise.
7249 (zfs_mount): Likewise.
7250 (fzap_iterate): Use temporary pointer to avoid aliasing.
7251 (grub_zfs_read): Likewise.
7252 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
7253 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
7254 pointers to avoid aliasing.
7255 (grub_cmd_xnu_kernel64): Likewise.
7256 (grub_xnu_load_driver): Likewise.
7257
fc836af9
VS
72582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
7261 aliasing warning.
7262 (grub_cmd_terminal_output): Likewise.
7263 Reported and tested by: Grégoire Sutre.
7264
f9f37648
VS
72652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
7268 warning.
7269 Reported and tested by: Grégoire Sutre.
7270
ec1dfd63
VS
72712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * configure.ac: Do CPU substitution even if it's specified explicitly.
7274 Reported and tested by: Alain Greppin.
7275
9462775a
VS
72762011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
7279 Reported and tested by: Alain Greppin.
7280
0fd48e35
VS
72812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 Satisfy some bison versions need for inttypes.h.
7284
7285 * grub-core/lib/posix_wrap/inttypes.h: New file.
7286 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
7287 (int16_t): Likewise.
7288 (int32_t): Likewise.
7289 (int64_t): Likewise.
7290 Reported and tested by: Alain Greppin.
7291
43f1bc83
VS
72922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
7295 Silence spurious warning.
7296 Reported and tested by: Alain Greppin.
7297
64d1f041
SJ
72982011-01-07 Szymon Janc <szymon@janc.net.pl>
7299
7300 * docs/grub.texi (Support automatic decompression): Update with xz
7301 decompression support.
7302
25953e10
SJ
73032011-01-07 Szymon Janc <szymon@janc.net.pl>
7304
7305 Improve loaders' kernel command line handling.
7306
7307 * grub-core/lib/cmdline.c: New file.
7308 * include/grub/lib/cmdline.h: Likewise.
7309 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
7310 grub_create_loader_cmdline to create kernel command line.
7311 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7312 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
7313 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
7314 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
7315 (linux): Add lib/cmdline.c on common.
7316
e72d259f
VS
73172011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
7320 inopos might be unaligned.
7321
c0cf26da
VS
73222011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7325 endian transformations.
7326 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7327 Based on report by: Doug Nazar.
7328
0ca09e6c
DN
73292011-01-07 Doug Nazar <nazard.michi@gmail.com>
7330
7331 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
7332 array->members[i].start_sector.
7333 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7334
014b6806
VS
73352011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
7338 Reported and tested by: Grégoire Sutre.
7339
415502c2
CW
73402011-01-06 Colin Watson <cjwatson@ubuntu.com>
7341
7342 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
7343 avoid causing test failures by clearing the screen.
7344
71b6a2b7
CW
73452011-01-06 Colin Watson <cjwatson@ubuntu.com>
7346
7347 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7348 Fix prefix check to handle the case where dir ends with a slash
7349 (most significantly, "/" itself).
7350 Reported by: Michael Vogt.
7351
b3f8d28a
VS
73522011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 Run terminfo_cls on initing terminfo output to clear the screen and
7355 move the cursor to (0,0).
7356
7357 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
7358 Call grub_terminfo_output_init.
7359 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
7360 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
7361 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
7362
4c3e4f37
VS
73632011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
7366 only when needed.
7367
488f71f1
VS
73682011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
7371 CTRL.
7372
18a38098
VS
73732011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 The E820 type 5 is BADRAM, not EXEC_CODE.
7376
7377 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7378 (GRUB_E820_BADRAM): New define.
7379 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
7380 into reserved. Propagate BADRAM.
7381 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7382 (GRUB_E820_BADRAM): New define.
7383
9eae2084
VS
73842011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
7387 Ignore the memory post-4G.
7388 (grub_relocator_firmware_alloc_region): Additional debug statement.
7389
ebc71d28
VS
73902011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
7393 names.
7394 Reported by: David Pravec.
7395
446fa400
VS
73962011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
7399 BIOSes.
7400
a0159f37
VS
74012011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
7404 Prevent overflow.
7405 (grub_reed_solomon_recover): Likewise.
7406
e5146ca1
VS
74072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
7410
74112011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
7412
7413 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
7414 variable.
7415
5b1bdf12
CW
74162011-01-04 Colin Watson <cjwatson@ubuntu.com>
7417
7418 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
7419 descriptions of extract_legacy_entries_source and
7420 extract_legacy_entries_configfile.
7421 Reported by: Seung Soo, Ha.
7422
99d925aa
CW
74232011-01-03 Colin Watson <cjwatson@ubuntu.com>
7424
7425 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
7426 on devices that do not implement function 0.
7427
4af0504b
DV
74282011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
7429
7430 * grub-core/fs/hfsplus.c: Make parent unsigned.
7431 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
7432 overflows.
7433 (grub_hfsplus_cmp_extkey): Likewise
7434
469ee10a
VS
74352011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * util/grub-install.in: Correctly use bootloader_id and not
7438 GRUB_DISTRIBUTOR on efibootmgr line.
7439
323a8e9c
VS
74402011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
7443
1b394975
IC
74442010-12-31 Ian Campbell <ijc@hellion.org.uk>
7445
7446 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
7447 Xen and reorder menu item wording to make it clearer that this entry
7448 will launch Xen. Print separate messages when loading Xen and
7449 Linux.
7450
275bff5f
VS
74512010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
7454 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
7455 loop in case of incorrect amiga partmap.
7456
307806cb
VS
74572010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
7460 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
7461 Reported by:EHeM.
7462
b12b923e
VS
74632010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
7466 spurious warning.
7467 Reported by: crocket
7468
14b48a19
VS
74692010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
7472 Preload EFIemu.
7473 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
7474
693db2df
VS
74752010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
7478 is loaded
7479 (grub_cmd_xnu_kextdir): Likewise.
7480 (grub_cmd_xnu_splash): Likewise.
7481
c7638645
VS
74822010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 Avoid using Reed-Solomon with 0 redundancy.
7485
7486 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7487 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7488 or 0 redundancy.
7489 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7490 (grub_reed_solomon_recover): Likewise.
7491
25dd4780
VS
74922010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 Don't use disk subsystem in freebsd_boot.
7495
7496 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7497 (freebsd_biosdev): Likewise.
7498 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7499 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7500
0b2db943
VS
75012010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 Handling of files of unknown size is currently limited. They can't be
7504 used e.g. for initrd or modules. Moreover gzip handling of not
7505 easily seekable files is buggy. Disable unknown file size for now. May
7506 be inefficient but works.
7507
7508 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7509 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7510
5c408d0f
MP
75112010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7512
7513 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7514 floppy probe.
7515
190a011a
JD
75162010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7517
7518 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7519
022d01b8
SL
75202010-12-25 Shea Levy <shlevy>
7521
7522 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7523
c4855fdc
VS
75242010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7527 Windows Server 2008.
7528 Reported by: Devin Giddings.
7529
0354b867
VS
75302010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7533 writing an error message because of async power management.
7534 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7535 (grub_reboot): Likewise.
7536
ab66c69f
JU
75372010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7538
7539 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7540 keep unit tests from failing when they shouldn't.
7541
1426ef35
CW
75422010-12-21 Colin Watson <cjwatson@ubuntu.com>
7543
7544 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7545 previous patch increased the size of the RS code by 20 bytes (at
7546 least with gcc-4.4), so increase this by 20 bytes to match.
7547 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7548
20641b6b
CW
75492010-12-21 Colin Watson <cjwatson@ubuntu.com>
7550
7551 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7552 scratch area. Make sure to initialise chosen in standalone mode as
7553 well as non-standalone.
7554 Reported by: Robert Hooker and Andy Whitcroft.
7555 Tested by: Andy Whitcroft.
7556
d060ad60
CW
75572010-12-21 Colin Watson <cjwatson@ubuntu.com>
7558
7559 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7560 constructing a new unescaped string and passing it to grub_xputs in
7561 one go, rather than passing characters to grub_printf one at a time.
7562
b889cfad
CW
75632010-12-21 Colin Watson <cjwatson@ubuntu.com>
7564
7565 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7566 initialising utf16.
7567
4e01b6c8
CW
75682010-12-21 Colin Watson <cjwatson@ubuntu.com>
7569
7570 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7571 comment. Add an extra layer of quotation, requiring the output of
7572 this function to be used in a printf format string.
7573 (gettext_printf): New function.
7574 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7575 Extract translatable strings from here-documents and use a temporary
7576 variable instead, so that xgettext can find them.
7577 * util/grub.d/10_kfreebsd.in: Likewise.
7578 * util/grub.d/10_linux.in: Likewise.
7579 * util/grub.d/20_linux_xen.in: Likewise.
7580
7581 * po/grub.d.sed: New file.
7582 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7583 arguments. Set c-format flags on all strings extracted from
7584 util/grub.d/ (xgettext refuses to include these itself for strings
7585 it extracted from a shell file, but these really are c-format).
7586
5318fe98
VS
75872010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7590 Avoid next pointing to nowhere.
7591
6c85b743
VS
75922010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7595 rather than assuming than rootblock is exactly in the middle.
7596 (grub_affs_label): Likewise.
7597
a2a08a35
VS
75982010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7601 reserved_first_sector to 0.
7602 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7603 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7604 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7605
7059d1ec
VS
76062010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 Fix handling of UTF-16 UDF labels.
7609
7610 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7611 (read_string): .. here.
7612 (grub_udf_label): Use read_string.
7613
30aff4cb
BC
76142010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7615
7616 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7617 editor under argument scope.
7618 Reported by: Jordan Uggla
7619
5cf86f4b
VS
76202010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7623
32570200
CW
76242010-12-18 Colin Watson <cjwatson@ubuntu.com>
7625
7626 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7627 line, and other keys scroll an entire page (previous handling was
7628 for \r and \n to scroll a page and other keys to scroll two lines).
7629
e1dffcf2
VS
76302010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7633 Set ptrdest to correct get_physical_target_address rather than
7634 incorrect get_virtual_current_address.
7635
b04298cf 76362010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7637
7638 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7639 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7640
5367ecd3
CW
76412010-12-10 Colin Watson <cjwatson@ubuntu.com>
7642
7643 * .bzrignore: Ignore grub-core/rs_decoder.S.
7644
1fb430f8
CW
76452010-12-10 Colin Watson <cjwatson@ubuntu.com>
7646
7647 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7648 .mo/.mo.gz opening sequence to ...
7649 (grub_mofile_open_lang): ... here.
7650 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7651 * util/grub.d/00_header.in (grub_lang): Include country part of
7652 locale.
7653 Reported by: Mario Limonciello.
7654
a94a6671
RM
76552010-12-09 Robert Millan <rmh@gnu.org>
7656
7657 * NEWS: Document addition of ZFS support.
7658
24b7938b
CW
76592010-12-04 Colin Watson <cjwatson@ubuntu.com>
7660
7661 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7662 rather than `/ 2', as the latter requires -Wa,--divide which would
7663 require bumping our minimum binutils version.
7664
bddc3ef6
BC
76652010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7666
7667 * util/grub-script-check.c (main): Print script line number on
7668 error.
7669
bf78d5b2
RM
76702010-12-01 Robert Millan <rmh@gnu.org>
7671
7672 * grub-core/fs/zfs/zfs.c: New file.
7673 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7674 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7675 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7676 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7677
7678 * include/grub/zfs/dmu.h: Likewise.
7679 * include/grub/zfs/dmu_objset.h: Likewise.
7680 * include/grub/zfs/dnode.h: Likewise.
7681 * include/grub/zfs/dsl_dataset.h: Likewise.
7682 * include/grub/zfs/dsl_dir.h: Likewise.
7683 * include/grub/zfs/sa_impl.h: Likewise.
7684 * include/grub/zfs/spa.h: Likewise.
7685 * include/grub/zfs/uberblock_impl.h: Likewise.
7686 * include/grub/zfs/vdev_impl.h: Likewise.
7687 * include/grub/zfs/zap_impl.h: Likewise.
7688 * include/grub/zfs/zap_leaf.h: Likewise.
7689 * include/grub/zfs/zfs.h: Likewise.
7690 * include/grub/zfs/zfs_acl.h: Likewise.
7691 * include/grub/zfs/zfs_znode.h: Likewise.
7692 * include/grub/zfs/zil.h: Likewise.
7693 * include/grub/zfs/zio.h: Likewise.
7694 * include/grub/zfs/zio_checksum.h: Likewise.
7695
7696 * Makefile.util.def: Build ZFS into libgrubmods.
7697 * grub-core/Makefile.core.def: Build zfs.mod.
7698
3f0f3831
SJ
76992010-11-30 Szymon Janc <szymon@janc.net.pl>
7700
7701 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7702 variable.
7703 * grub-core/commands/wildcard.c (match_files): Likewise.
7704
3a4253b2
RM
77052010-11-30 Robert Millan <rmh@gnu.org>
7706
7707 * grub-core/loader/i386/bsd.c
7708 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7709 whether kernel is loaded using grub_loader_is_loaded(), rather
7710 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7711 certain error conditions.
7712
8c317b27
RM
77132010-11-30 Robert Millan <rmh@gnu.org>
7714
c5c9cd3e
RM
7715 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7716 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 7717
49d3ab46
VS
77182010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 Avoid using tricks for initialising endian variables.
7721
7722 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7723 Make const.
7724 (GRUB_MOD_INIT): Don't byte-swap.
7725 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7726 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7727 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7728 (grub_swap_bytes32_compile_time): Likewise.
7729 (grub_cpu_to_le32_compile_time): Likewise.
7730 (grub_cpu_to_le16_compile_time): Likewise.
7731
f420a804
VS
77322010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * util/grub-setup.c (setup): Stop recommending --force. People who
7735 understand the dangers of blocklists are able to find this option
7736 anyway and the ones who don't shouldn't use it anyway.
7737
4e7db17b
RM
77382010-11-26 Robert Millan <rmh@gnu.org>
7739
7740 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7741 Update all users.
7742
9be57a0d
CW
77432010-11-26 Colin Watson <cjwatson@ubuntu.com>
7744
7745 Fix LVM-on-RAID probing.
7746
7747 * util/grub-probe.c (probe): Remember which disk was detected as
7748 RAID (perhaps an LVM physical volume). Use that disk's raidname
7749 rather than that of the top-level disk.
7750
2c7859b3 77512010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 7752
d7647bb6
BC
7753 Fix cmdline argument quotes for setparams command of menuentry
7754 definitions.
7e623b0d
BC
7755
7756 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7757 quotes for arguments.
f866fe80 7758 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 7759 grub_strchrsub function instead.
f866fe80 7760
7955bea0 7761 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 7762
74f72a64
CW
77632010-11-24 Colin Watson <cjwatson@ubuntu.com>
7764
7765 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7766 effort by skipping "." and ".." entries up-front.
7767 Suggested by: Michael Lazarev.
7768
5a407278
CW
77692010-11-24 Colin Watson <cjwatson@ubuntu.com>
7770
7771 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7772 ldflags to ldadd, to fix link line ordering.
7773 (none_decompress): Likewise.
7774
3030d8ec
CW
77752010-11-24 Colin Watson <cjwatson@ubuntu.com>
7776
7777 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7778 platforms.
7779 (grub-emu-lite): Remove kern/emu/cache.S.
7780
b7fbac12
CW
77812010-11-23 Colin Watson <cjwatson@ubuntu.com>
7782
7783 * util/deviceiter.c (compare_devices): If the by-id link for a
7784 device couldn't be resolved, fall back to sorting by the by-id link
7785 rather than segfaulting.
7786 Reported and tested by: Daniel Mierswa.
7787
5225f328
CW
77882010-11-23 Colin Watson <cjwatson@ubuntu.com>
7789
7790 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7791 ldflags, to fix link line ordering.
7792
038b3ce8
CW
77932010-11-23 Colin Watson <cjwatson@ubuntu.com>
7794
7795 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7796 linkers are picky about this.
7797
bf16e98e
CW
77982010-11-23 Colin Watson <cjwatson@ubuntu.com>
7799
7800 * grub-core/Makefile.am (command.lst): Adjust sed expression
7801 ordering so that extended and priority commands aren't treated as
7802 ordinary commands.
7803
7242bab6
CW
78042010-11-23 Colin Watson <cjwatson@ubuntu.com>
7805
7806 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7807 Remove byte-swapping function calls, which are not valid in
7808 structure initialisers.
7809 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7810 non-const.
7811 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7812 grub_gpt_partition_type_bios_boot.
7813
14e8b279
CW
78142010-11-22 Colin Watson <cjwatson@ubuntu.com>
7815
7816 Fix test program build on GNU/kFreeBSD.
7817
7818 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7819 $(LIBNVPAIR)' library dependencies.
7820
e6f63338 78212010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
7822
7823 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7824
cf8ffc38
CW
78252010-11-22 Colin Watson <cjwatson@ubuntu.com>
7826
7827 * util/grub-install.in: Remove excessive quoting that broke
7828 installations to RAID devices.
7829
7f8b0fd7
VS
78302010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7833 bootloader version instead of 0.
7834
dfd240b1
VS
78352010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7838 warning.
7839
7b61e609
VS
78402010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7843 retrieve the metadat sector if size isn't known.
7844 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7845
9dfe92d0
RM
78462010-11-18 Robert Millan <rmh@gnu.org>
7847
7848 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7849 with grub_memcmp().
7850
41cc919e
VS
78512010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7854 arrow.
7855 Reported by: Jordan Uggla.
7856
1afcc914
VS
78572010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 Make better UTF compliant.
7860
7861 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7862 sequences as incorrect.
7863 (grub_is_valid_utf8): Likewise.
7864 (grub_utf8_to_ucs4): Likewise.
7865 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7866 (grub_ucs4_to_utf8_alloc): Likewise.
7867 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7868
f1808884
VS
78692010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 Make legacy_source behave like source.
7872
7873 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7874 grub_show_menu.
7875 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7876
24ec575b
CW
78772010-11-16 Colin Watson <cjwatson@debian.org>
7878
7879 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7880 (-Wunused implies -Wunused-parameter, but not vice versa).
7881
72b7c7aa
CW
78822010-11-16 Colin Watson <cjwatson@ubuntu.com>
7883
7884 * configure.ac: Make error messages less confusing by testing for
7885 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7886 accepted, but produces a diagnostic if something else is wrong).
7887
e98937aa
VS
78882010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7891 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7892 (now unused).
7893 (grub_keyboard_controller_init)
7894 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7895 read the initial state since controller isn't inited yet.
7896
f6bbabc3
VS
78972010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7900 allocate_regbeg may need to create new chunk header.
7901
22e7dbb2
VS
79022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 Fix quoting in legacy parser.
7905
7906 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7907 single quotes.
7908 (grub_legacy_parse): Likewise.
7909 Reported by: Jordan Uggla.
7910 Tested by: Jordan Uggla.
7911
03f80960
VS
79122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 Don't add -lgcc on i386 and x86_64.
7915
7916 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7917 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7918 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7919
779dc15b
VS
79202010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * configure.ac: Add -Wno-trampolines when supported.
7923
d20a3b37
MV
79242010-11-14 Modestas Vainius <modax@debian.org>
7925
7926 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7927 fakeraid.
7928
e5360933
GC
79292010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7930
7931 Add generic logical block size support for UDF.
7932
7933 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7934 (GRUB_UDF_BLKSZ): Removed.
7935 (struct grub_udf_data): New field "lbshift" to hold the logical block
7936 size of the file system in log2 format. All users updated.
7937 (sblocklist): Change type to unsigned.
7938 (grub_udf_mount): Change type of "sblklist" to unsigned.
7939 Move AVDP search before VRS recognition, because the latter requires
7940 knowledge of the logical block size, which is detected during the
7941 former.
7942 Detect and validate logical block size during AVDP search, adding
7943 support for block sizes 512, 1024 and 4096.
7944 Make VRS recognition independent of block size.
7945
cb0229c5
GC
79462010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7947
7948 Properly handle deleted files on UDF.
7949
7950 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7951 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7952 set.
7953
406858a8
GC
79542010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7955
7956 Support reading files larger than 2 GiB.
7957
7958 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7959 "offset" to grub_off_t.
7960 (grub_udf_read_file): Likewise for parameter "pos".
7961
130da6a7
VS
79622010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7965 unavailable.
7966 (Simple configuration): Refer to Changes from GRUB Legacy about
7967 save_env availability.
7968
65e93f6b
VS
79692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * util/grub-install.in: Ignore empty partition table detection
7972 instead of trying to include part_ module.
7973
1fd08bf1
VS
79742010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7977 LVM on RAID support.
7978
de1a024f
VS
79792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 Properly define WORDS_BIGENDIAN in wrapped environments.
7982
7983 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7984 definition.
7985 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7986
7987 Reported by: Manoel Rebelo Abranches.
7988 Tested by: Manoel Rebelo Abranches.
7989
bc5dd0b9
VS
79902010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * util/grub-mkconfig.in: Fix quoting.
7993
58c184be
VS
79942010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 Support big ext2 files.
7997
7998 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7999 (grub_ext2_read_block): Support triple indirect blocks.
8000 (grub_ext2_read_file): Use 64-bit types and read size_high.
8001 (grub_ext2_open): Read size_high.
8002 Reported by: Ximin Luo.
8003 Tested by: Manoel Rebelo Abranches.
8004
5f0c02b3
VS
80052010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 * util/grub-install.in: Handle filenames containing spaces.
8008 Reported by: Jordan Uggla.
8009 Tested by: Jordan Uggla.
8010
4417aae6
VS
80112010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * util/grub-mkconfig.in (grub_script_check): New variable.
8014 Use grub_script_check instead of grub-script-check.
8015 Reported by: Barry Jackson.
8016
7625a68e
VS
80172010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * docs/grub.texi (menu): Correct the order.
8020 Reported by: D. Hugh Redelmeier.
8021
10001ac5
VS
80222010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
8025 jump.
8026
9c4cf53b
MRA
80272010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8028
10001ac5
VS
8029 * include/grub/elfload.h (grub_elf32_size): New parameter.
8030 All users updated.
9c4cf53b
MRA
8031 Return maximum segments alignment.
8032 (grub_elf64_size): Likewise.
8033 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
8034 Return maximum segments alignment.
8035 (grub_elf64_size): Likewise.
8036 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
8037 (grub_linux_claimmap_iterate): New function. Uses the
8038 "available" property in the "memory" node for memory allocation
8039 for kernel in the PowerPC loader.
9c4cf53b
MRA
8040 (grub_linux_load32): Correctly find linux entry point offset.
8041 (grub_linux_load64): Likewise.
8042
d2bf06bf
RM
80432010-11-07 Robert Millan <rmh@gnu.org>
8044
8045 On mips-yeeloong, build with -march=loongson2f when this flag is
8046 available (GCC >= 4.4).
8047 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
8048 `-march=mips3'.
8049 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
8050 or otherwise add -march=mips3.
8051
898c99a2
BC
80522010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
8053
87220a68
BC
8054 Suppress shell expansion on echo '*' and echo "*" like cases.
8055 Reported by: Jordan Uggla.
898c99a2
BC
8056
8057 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8058 string arguments before shell expansion.
8059 * tests/grub_cmd_echo.in: New testcases.
8060
4f9b406a
RM
80612010-11-07 Robert Millan <rmh@gnu.org>
8062
8063 * conf/mips-qemu-mips.rmk: Remove stale file from previous
8064 transition.
8065
80c6d25e
VS
80662010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * grub-core/kern/emu/hostdisk.c
8069 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
8070
4a1a0153
VS
80712010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
8074 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
8075 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
8076
34706ddc
VS
80772010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
8080
6972dea9
VS
80812010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * util/grub-install.in: Replace useless recomendation to pass
8084 --modules with a recomendation to report a bug.
8085
9c693bd6
VS
80862010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 Properly register serial terminfo.
8089 Reported by: Jordan Uggla
8090
8091 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
8092 const.
8093 (grub_serial_terminfo_output_template): Likewise.
8094 (grub_cmd_serial): Register "serial" with terminfo.
8095 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
8096 grub_serial_terminfo_output.
8097
6c9e4c0c
RM
80982010-11-05 Robert Millan <rmh@gnu.org>
8099
8100 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
8101 needed).
8102
b9b3839f
RM
81032010-11-05 Robert Millan <rmh@gnu.org>
8104
8105 On Yeeloong, pass machine type information to Linux.
8106
8107 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
8108 (LOONGSON_MACHTYPE): New macro, set to
8109 "machtype=lemote-yeeloong-2f-8.9inches".
8110 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
8111 additional argument to Linux.
8112
1a3aaff4
RM
81132010-11-04 Robert Millan <rmh@gnu.org>
8114
8115 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
8116 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
8117 (its SATA disks are detected as slaveless IDE master drives on
8118 kFreeBSD).
8119 Reported by Carsten Aulbert.
8120
a75f4f62
CW
81212010-11-02 Colin Watson <cjwatson@ubuntu.com>
8122
8123 * util/bin2h.c (main): Fix spelling error in generated output.
8124
33b4b0c6
GS
81252010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
8126
8127 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
8128
2b36fbf4
VS
81292010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
8132 vga= option is supplied.
8133
74aaf558
VS
81342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
8137 * util/grub.d/10_kfreebsd.in: Likewise.
8138 * util/grub.d/10_linux.in: Likewise.
8139 * util/grub.d/20_linux_xen.in: Likewise.
8140
6428dec3
VS
81412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
8144 argument as an argument to no-argument option.
8145
f8729d98
VS
81462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * util/grub.d/10_linux.in: Add missing load_video with explicit
8149 GRUB_GFXPAYLOAD_LINUX.
8150
89d68fa6
VS
81512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
8154
3a1197cd
VS
81552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
8158 elements with invlid index.
8159 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8160 * grub-core/disk/raid.c (insert_array): Automatically reallocate
8161 members.
8162 * include/grub/raid.h (grub_raid_member): New struct.
8163 (grub_raid_array): Transform devices and start_sector into usage of
8164 grub_raid_member. All users updated
8165 (allocated_devs): New member.
8166
71574288
VS
81672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
8170 is modified
8171
8d40ec65
BC
81722010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
8173
8174 NetBSD build fix for getline function conflict from gnulib.
8175
8176 * Makefile.util.def (libgrubkern.a): New library for grub kernel
8177 components that depend on gnulib headers.
8178 (libgrubmods.a): Renamed from earlier libgrub.a.
8179 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
8180
95b9257e
VS
81812010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
8184 install rather than creating a broken install.
8185
26c53dc6
VS
81862010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 * util/grub-setup.c (argp): Remove misleading example of installing to
8189 a partition.
8190
4171b3c5
VS
81912010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * util/grub-setup.c (setup): Clarify the error message.
8194
18568d18
VS
81952010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
8198
4f6a2e21
VS
81992010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * grub-core/kern/emu/misc.c
8202 (grub_make_system_path_relative_to_its_root)
8203 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
8204
82052010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
8206
8207 * grub-core/kern/emu/misc.c
8208 (grub_make_system_path_relative_to_its_root): Revert r2882.
8209
e138c458
VS
82102010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
8213 useless field head. All users updated.
8214 (free_subchunk): Correct handling of IN_REGION subchunk.
8215
0cbcdf0e
CW
82162010-10-22 Colin Watson <cjwatson@ubuntu.com>
8217
8218 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
8219 (Supported kernels): Likewise.
8220
b65ea155
GS
82212010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8222
8223 Make mktemp invocations portable.
8224
8225 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
8226 exit if mktemp fails.
8227 * tests/grub_script_blockarg.in: Likewise.
8228 * tests/partmap_test.in: Likewise.
8229 * tests/util/grub-shell-tester.in: Likewise.
8230 * tests/util/grub-shell.in: Likewise.
8231 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8232 * Makefile.am: Likewise, and chain shell commands with `&&'
8233 instead of ';'.
8234 * util/grub-mkrescue.in: Use the same explicit template as above, and
8235 exit if mktemp fails.
8236
05f43cdd
BC
82372010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
8238
8239 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
8240 Linux kernel, reported by Dennis Schridde.
8241
800e6a9b
SJ
82422010-10-17 Szymon Janc <szymon@janc.net.pl>
8243
8244 * grub-core/normal/auth.c (grub_auth_check_authentication):
8245 Set-but-not-used variable removed.
8246
d82df574
VS
82472010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * docs/grub.texi (GNU/Linux): Document APM unavailability with
8250 32-bit linux protocol.
8251
7bced458
VS
82522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
8255 cursor shape for sanity.
8256
5b027690
VS
82572010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * docs/grub.texi (Installation): Document buggy BIOS install.
8260
ba5f65cf
VS
82612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * docs/grub.texi (Installation): Indent.
8264
fdf2ec9c
VS
82652010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * util/grub-setup.c (setup): New parameter allow_floppy.
8268 (arguments): New member allow_floppy.
8269 (argp_parser): Handle --allow-floppy.
8270 (main): Pass allow_floppy.
8271 * util/grub-install.in: New option --allow-floppy passed though to
8272 grub-setup.
8273
861dfd4c
VS
82742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * util/grub-install.in: Handle partitionless disks.
8277
f77a8c24
VS
82782010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * util/grub-setup.c (setup): Don't clean blocklists before readability
8281 verfification.
8282
27d9ee32
VS
82832010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * docs/grub.texi (Installation): Document embedding zone. Remove
8286 obsolete grub-install example.
8287
6bdda8f8
SJ
82882010-10-16 Szymon Janc <szymon@janc.net.pl>
8289
8290 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8291 Set-but-not-used variable ifdef'ed.
8292 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
8293 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
8294 variable removed.
8295 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
8296 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
8297 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8298 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
8299 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
8300 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8301 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
8302 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
8303 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
8304 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
8305 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
8306 Likewise.
8307
e19b016b
VS
83082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
8311 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
8312 enum value.
8313
6c8d3002
VS
83142010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
8317 synonym to _S5_. Needed for some DSDTs.
8318
c32b51c9
VS
83192010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 Userspace ACPI parser debugging.
8322
8323 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
8324 headers and add relevant defines. Don't include standard headers.
8325 (main) [GRUB_DSDT_TEST]: New function.
8326 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
8327 Don't declare functions.
8328
fbfbeb39
VS
83292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 Remove dead grub_efi_mm_fini.
8332
8333 * grub-core/kern/efi/mm.c (allocated_page): Removed.
8334 (ALLOCATED_PAGES_SIZE): Likewise.
8335 (MAX_ALLOCATED_PAGES): Likewise.
8336 (allocated_pages): Likewise.
8337 (grub_efi_allocate_pages): Don't record allocated pages.
8338 (grub_efi_free_pages): Likewise.
8339 (grub_efi_mm_init): Likewise.
8340 (grub_efi_mm_fini): Removed.
8341
65f7ed7c
VS
83422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
8345 (grub_efi_mm_init): Take into account the memory map size increase.
8346
24977b44
VS
83472010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
8350 (serial_hw_put): Wait based on real time rather than port reads. Don't
8351 roken ports.
8352 * include/grub/serial.h (grub_serial_port): New field broken.
8353
1eb01cd2
RM
83542010-10-16 Robert Millan <rmh@gnu.org>
8355
8356 * grub-core/kern/emu/misc.c
8357 (grub_make_system_path_relative_to_its_root): Fix premature return
8358 when processing non-root ZFS filesystems.
5f8b440b 8359 Reported by Sergio Talens-Oliag.
1eb01cd2 8360
2d5fed60
RM
83612010-10-15 Robert Millan <rmh@gnu.org>
8362
8363 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
8364 guarantee compressed ones are processed first.
8365
d0f4c1ea
VS
83662010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
8369 grub_efiemu_autocore.
8370
d87c681f
VS
83712010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
8374 rather than 0x1b.
8375 (grub_console_getkey): Use correct jae opcode rather than ja.
8376
219b3564
RM
83772010-10-12 Robert Millan <rmh@gnu.org>
8378
8379 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
8380 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
8381 variable. All references updated.
8382
8383 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
8384
20c6bb7e
VS
83852010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 Correctly distinguish mdraid flavours.
8388
8389 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
8390 (insert_array): New argument raid.
8391 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
8392 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
8393 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
8394
74baff84
VS
83952010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
8398 handling of special keys.
8399
3ef068df 84002010-10-02 Aleš Nesrsta <starous@volny.cz>
8401
c7980ad9
VS
8402 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
8403 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 8404
a9455194 84052010-10-02 Aleš Nesrsta <starous@volny.cz>
8406
c7980ad9
VS
8407 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
8408 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
8409 users updated.
a9455194 8410 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 8411 Use right endpoint when querying descriptor.
a9455194 8412
441cfe65
VS
84132010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 Clear out 0x80 color bit on EFI.
8416 Tested by: decoder
8417 Reported by: decoder and meta tech.
8418
8419 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
8420 (grub_console_setcolorstate): Clear out 0x80 bit.
8421 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
8422 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
8423 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
8424
bf26bcc4
VS
84252010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
8428 Set to "auto".
8429
6e3c515d
VS
84302010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
8433 mo_file after freeing.
8434
e6d983ba
VS
84352010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
8438
74ccb5b5
VS
84392010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
8442 flags.
8443
17821956
VS
84442010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
8447 usage.
8448
ee74fa48
VS
84492010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 Put terminfo into core on ieee1275 and yeeloong (needed for console).
8452
8453 * gentpl.py: New groups terminfoinkernel and terminfomodule.
8454 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
8455 and terminfo.h when needed.
8456 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
8457 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
8458 (terminfo): Enable only on terminfokernel.
8459 (extcmd): Likewise.
8460 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
8461 * include/grub/lib/arg.h: Likewise.
8462 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
8463 incorrect usage of ->.
8464
aa438e68
VS
84652010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
8468 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
8469
57994012
VS
84702010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 Fix coreboot compilation.
8473
8474 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8475 Take VBE info into account even if only text is supported.
8476 (fill_vbe_info): Take into account the case when only VGA text
8477 is supported.
8478 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
8479 on coreboot, multiboot and qemu.
8480
2a406611
VS
84812010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8484 debug messages.
8485 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8486
d33613fc
VS
84872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8490 parameters.
8491
44a1b432
VS
84922010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8495 if they were BSD-style.
8496
edde54e6
VS
84972010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 * grub-core/boot/i386/pc/lnxboot.S: Replace
8500 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8501 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8502
b65830fa
VS
85032010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 Write embedding zone using Reed-Solomon.
8506
8507 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8508 * grub-core/Makefile.am (rs_decoder.S): New target.
8509 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8510 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8511 (multiboot): Move to RS part.
8512 (post_reed_solomon): New label.
8513 (grub_boot_drive): Move to non-RS part since it's modified in memory
8514 on boot.
8515 Include rs_decoder.S.
8516 * grub-core/lib/reed_solomon.c: New file.
8517 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8518 New definition.
8519 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8520 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8521 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8522 * include/grub/partition.h (grub_partition_map): Change prototype of
8523 embed to allow returning additional sectors.
8524 * include/grub/reed_solomon.h: New file.
8525 * util/grub-setup.c (setup): Handle Reed-Solomon.
8526
0b4b227f
CW
85272010-09-28 Colin Watson <cjwatson@ubuntu.com>
8528
8529 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8530 i386 and x86-64 definedness tests.
8531
f772623b
YB
85322010-09-27 Yves Blusseau <blusseau@zetam.org>
8533
8534 Fix generation of kernel_syms.lst
8535
8536 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8537 ASM_PREFIX
8538
8e57a6ca
RM
85392010-09-26 Robert Millan <rmh@gnu.org>
8540
8541 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8542
8543 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8544 the pool is an array of devices, iterate through it and return the
8545 first device that passes a stat() test (instead of blindly returning
8546 the first one).
8547
f9130836
RM
85482010-09-26 Robert Millan <rmh@gnu.org>
8549
8550 Build fixes for GNU/kFreeBSD.
8551
8552 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8553 to programs that require ZFS conversion.
8554 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8555 kernels that don't have FLOPPY_MAJOR.
8556
96510faf
BC
85572010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8558
8559 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8560
449333eb
BC
85612010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8562
8563 Fix grub-emu build.
8564
8565 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8566 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8567 mdraid09 and mdraid1x.
8568
e1fd1939
CW
85692010-09-24 Colin Watson <cjwatson@ubuntu.com>
8570
8571 Re-enable grub-extras.
8572
8573 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8574 avoid confusing Automake. Run autogen only twice, once for the top
8575 level and once for grub-core. Add Makefile.util.def and
8576 Makefile.core.def from extra modules to the appropriate autogen
8577 invocations. If Makefile.common exists in an extra module, include
8578 it in both Makefile.util.am and grub-core/Makefile.core.am;
8579 similarly, include any Makefile.util.common file in Makefile.util.am
8580 and any Makefile.core.common file in grub-core/Makefile.core.am.
8581 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8582 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8583 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8584 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8585
8586 * gentpl.py (gvar_add): Turn GVARS into a set.
8587 (global_variable_initializers): Sort global variables on output.
8588 (vars_init): New function.
8589 (first_time): Likewise.
8590 (library): Ensure that non-global variable initialisations are
8591 emitted before the first time we emit code for a library block.
8592 Append to variables rather than setting them. Only emit
8593 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8594 each conditional path.
8595 (program): installdir() emits an Autogen macro, so must be passed to
8596 var_add rather than gvar_add.
8597 (data): Likewise.
8598 (script): Likewise.
8599 (rules): New function, centralising handling for different target
8600 types. Set up Guile association lists for first_time and vars_init,
8601 and send most output to a diversion so that variable initialisations
8602 can be emitted first.
8603 (module_rules): Use new rules function.
8604 (kernel_rules): Likewise.
8605 (image_rules): Likewise.
8606 (library_rules): Likewise.
8607 (program_rules): Likewise.
8608 (script_rules): Likewise.
8609 (data_rules): Likewise.
8610
8611 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8612
8613 * .bzrignore: Add contrib and grub-core/contrib. Remove
8614 grub-core/Makefile.gcry.am.
8615
1d12cf29
YB
86162010-09-24 Yves Blusseau <blusseau@zetam.org>
8617
8618 * grub-core/lib/LzFind.c: Add missing include.
8619 * grub-core/lib/LzmaEnc.c: Likewise.
8620 * grub-core/script/lexer.c: Likewise.
8621 * grub-core/script/yylex.l: Likewise.
8622 * util/grub-macho2img.c: Likewise.
8623 * util/grub-menulst2cfg.c: Likewise.
8624 * util/grub-mklayout.c: Likewise.
8625 * util/grub-mkpasswd-pbkdf2.c
8626 * util/grub-mkrelpath.c: Likewise.
8627 * util/resolve.c: Likewise.
8628
dd363028
BC
86292010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8630
8631 * Makefile.util.def (example_unit_test): Add
8632 grub-core/gnulib/libgnu.a.
8633
f5a109e2
GS
86342010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8635
8636 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8637
6d0fa83c
VS
86382010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 Support xz compression on yeeloong.
8641
8642 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8643 * configure.ac: Check for LZMA.
8644 * grub-core/Makefile.core.def (xz_decompress): New target.
8645 (none_decompress): Likewise.
8646 * grub-core/boot/decompressor/minilib.c: New file.
8647 * grub-core/boot/decompressor/none.c: Likewise.
8648 * grub-core/boot/decompressor/xz.c: Likewise.
8649 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8650 * grub-core/kern/mips/cache_flush.S: Likewise.
8651 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8652 * grub-core/kern/mips/startup.S: Move first stage to ...
8653 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8654 nomacro.
8655 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8656 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8657 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8658 Allocate statically.
8659 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8660 Allocate statically or use scratch. Don't check CRC32.
8661 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8662 Allocate statically. Don't check CRC32.
8663 * include/grub/decompressor.h: New file.
8664 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8665 Removed.
8666 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8667 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8668 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8669 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8670 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8671 * util/grub-mkimage.c (grub_compression_t): New type.
8672 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8673 (image_target_desc): New field default_compression.
8674 (image_targets): Adjust yeeloong targets.
8675 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8676 (compress_kernel): New parameter comp.
8677 (generate_image): Likewise. Handle new compression case.
8678 (options): New option --compression
8679 (help): Likewise.
8680 (main): Handle new option.
8681
1b655af6
GS
86822010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8683
8684 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8685
8f03f0b5
CW
86862010-09-22 Colin Watson <cjwatson@ubuntu.com>
8687
8688 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8689 typo in __i386__ conditional.
8690
7835dfd3
VS
86912010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8694 include.
8695
e255597e
VS
86962010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8697
6d0fa83c 8698 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
8699
8700 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8701 new tags as supported.
8702 (acpiv2_size): New function.
8703 (grub_multiboot_get_mbi_size): Take new tags into account.
8704 (grub_multiboot_make_mbi): Add new tags.
8705 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 8706
6cc14051 87072010-09-21 Aleš Nesrsta <starous@volny.cz>
8708
8709 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8710 Added missing configuration of USB device.
8711
df7769d8
CW
87122010-09-21 Colin Watson <cjwatson@ubuntu.com>
8713
8714 * grub-core/normal/menu_entry.c (run): Make sure we always return
8715 a value.
8716
b031012d
CW
87172010-09-21 Colin Watson <cjwatson@ubuntu.com>
8718
8719 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8720 NumberOfPages is UINT64 according to the UEFI specification, not
8721 UINTN. Fix printf format.
8722
174de8f3
CW
87232010-09-21 Colin Watson <cjwatson@ubuntu.com>
8724
8725 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8726 `err' to grub_usb_err_t.
8727 Reported and tested by: KESHAV P.R.
8728
d7dbe923
CW
87292010-09-21 Colin Watson <cjwatson@ubuntu.com>
8730
8731 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8732 tpart non-const, so that we can assign to it. (Since this is a
8733 typedef, the constness refers to the pointer rather than what it
8734 points to.)
8735
8d5e2af3
CW
87362010-09-21 Colin Watson <cjwatson@ubuntu.com>
8737
8738 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8739 $(top_srcdir)/grub-core/gnulib as well as
8740 $(top_builddir)/grub-core/gnulib.
8741 Reported by: KESHAV P.R.
8742
5c527783
CW
87432010-09-21 Colin Watson <cjwatson@ubuntu.com>
8744
8745 * util/grub-install.in: Fix the bootloader ID option to be
8746 consistently --bootloader-id, not --bootloader_id.
8747 Reported by: KESHAV P.R.
8748
d309a16e
CW
87492010-09-21 Colin Watson <cjwatson@ubuntu.com>
8750
8751 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8752 check hash checksum." consistently translatable.
8753
b830cd16
YB
87542010-09-21 Yves Blusseau <blusseau@zetam.org>
8755
8756 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8757 $(top_builddir).
8758
c4fe27a8
CW
87592010-09-21 Colin Watson <cjwatson@ubuntu.com>
8760
8761 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8762 (GRUB_MOD_INIT): Register sha1sum command.
8763 (GRUB_MOD_FINI): Unregister sha1sum command.
8764
a4c1d277
YB
87652010-09-21 Yves Blusseau <blusseau@zetam.org>
8766
8767 Keep boot and grub directory names in sync with utils scripts
8768
8769 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8770 * config.h.in: Add previous macros.
8771 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8772 * util/grub-install.in: Use $bootdir and $grubdir variables.
8773
4eff79d2
CW
87742010-09-21 Colin Watson <cjwatson@ubuntu.com>
8775
8776 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8777 convert partition names to disk names if the new `convert' parameter
8778 is set.
8779 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8780 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8781 disk in its own right. This can happen with Xen disk images.
8782
934d7e44
YB
87832010-09-21 Yves Blusseau <blusseau@zetam.org>
8784
8785 * util/grub-editenv.c: Update strings to avoid warnings when generating
8786 grub.pot file.
8787 * util/grub-setup.c: Likewise.
934d7e44 8788
df3367cc
VS
87892010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * configure.ac: Change version to 1.99~beta0.
8792
77a94e98
VS
87932010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8796 Add BADRAM.
8797 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8798 Likewise.
8799 * include/multiboot.h: Resynced with specification.
8800 * include/multiboot2.h: Likewise.
8801
269004c1
CW
88022010-09-21 Colin Watson <cjwatson@ubuntu.com>
8803
8804 Fix po directory handling.
8805
8806 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8807 * grub-core/gnulib/Makefile.am: Import gettext module.
8808 * m4/gnulib-cache.m4: Likewise.
8809 * m4/gnulib-comp.m4: Likewise.
8810 * m4/gettext.m4: New file, from gnulib.
8811 * m4/glibc2.m4: Likewise.
8812 * m4/iconv.m4: Likewise.
8813 * m4/intdiv0.m4: Likewise.
8814 * m4/intl.m4: Likewise.
8815 * m4/intldir.m4: Likewise.
8816 * m4/intlmacosx.m4: Likewise.
8817 * m4/intmax.m4: Likewise.
8818 * m4/inttypes-pri.m4: Likewise.
8819 * m4/lcmessage.m4: Likewise.
8820 * m4/lib-ld.m4: Likewise.
8821 * m4/lib-link.m4: Likewise.
8822 * m4/lib-prefix.m4: Likewise.
8823 * m4/lock.m4: Likewise.
8824 * m4/nls.m4: Likewise.
8825 * m4/po.m4: Likewise.
8826 * m4/printf-posix.m4: Likewise.
8827 * m4/progtest.m4: Likewise.
8828 * m4/threadlib.m4: Likewise.
8829 * m4/uintmax_t.m4: Likewise.
8830 * m4/visibility.m4: Likewise.
8831 * po/Makefile.am: Remove.
8832 * po/Makefile.in.in: New file, from gettext.
8833 ($(DOMAIN).pot-update): Support POTFILES-shell.
8834 * po/Makevars: New file.
8835 * po/POTFILES-shell: Rename to ...
8836 * po/POTFILES-shell.in: ... this. Update.
8837 * po/POTFILES: Rename to ...
8838 * po/POTFILES.in: ... this. Update.
8839 * po/Rules-quot: New file, from gettext.
8840 * po/boldquot.sed: Likewise.
8841 * po/en@boldquot.header: Likewise.
8842 * po/en@quot.header: Likewise.
8843 * po/insert-header.sin: Likewise.
8844 * po/quot.sed: Likewise.
8845 * po/remove-potcdate.sin: Likewise.
8846
3e0fa5d0
VS
88472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8850
ade9bd66
VS
88512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * util/grub.d/20_linux_xen.in: Use submenus.
8854
fc55cc4c
VS
88552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 Support submenus.
8858
8859 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8860 parameter submenu. All users updated.
8861 * grub-core/normal/main.c (free_menu): Rename to ...
8862 (grub_normal_free_menu): ... this. Made global.
8863 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8864 if requested.
8865 * grub-core/normal/menu_entry.c (screen): New field submenu.
8866 (make_screen): Set submenu.
8867 (run): Open new context if requested.
8868 * include/grub/menu.h (grub_menu_entry): New field submenu.
8869 * include/grub/normal.h (grub_normal_free_menu): New proto.
8870
600cedf7
VS
88712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8872
8873 Menu entries extractor.
8874
8875 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8876 variants.
8877 (GRUB_MOD_INIT): Register new variants.
8878 (GRUB_MOD_FINI): Unregister new variants.
8879 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8880 into grub_cmd_legacy_source.
8881 (grub_cmd_legacy_source): Implement extractor variants.
8882 (GRUB_MOD_INIT): Register new variants.
8883 (GRUB_MOD_FINI): Unregister new variants.
8884 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8885 as an extractor.
8886 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8887 search as an extractor.
8888 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8889 test as an extractor.
8890 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8891 as an extractor.
8892 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8893 (grub_env_new_context): New function.
8894 (grub_env_context_open): Likewise.
8895 (grub_env_extractor_open): Likewise.
8896 (grub_env_extractor_close): Likewise.
8897 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8898 grub_extractor_level.
8899 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8900 * include/grub/env.h (grub_env_extractor_open): New proto.
8901 (grub_env_extractor_close): Likewise.
8902 * include/grub/normal.h (grub_extractor_level): New external variable.
8903
7bda3a87
VS
89042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 Make cutmem accept a region specification.
8907 Suggested by: Samuel Thibault
8908
8909 * grub-core/mmap/mmap.c (parsemem): New function.
8910 (grub_cmd_cutmem): Handle new arguments.
8911
2ea57f88
VS
89122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 New command cutmem.
8915
8916 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8917 (GRUB_MOD_INIT): Register new command.
8918 (GRUB_MOD_FINI): Unregister new command.
8919
74342e31
VS
89202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8921
8922 Support some annoying BSD and Minix subpartitions.
8923
8924 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8925 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8926 Properly handle concatenation.
8927 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8928 * grub-core/normal/completion.c (iterate_partition): Likewise.
8929 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8930 contain partition. All users updated.
8931 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8932 struct.
8933 (grub_openbsdlabel_partition_map): Likewise.
8934 (bsdlabel_partition_map_iterate): Rename to ..
8935 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8936 (bsdlabel_partition_map_iterate): New function.
8937 (netopenbsdlabel_partition_map_iterate): Likewise.
8938 (netbsdlabel_partition_map_iterate): Likewise.
8939 (openbsdlabel_partition_map_iterate): Likewise.
8940 (GRUB_MOD_INIT): Register new partmaps.
8941 (GRUB_MOD_FINI): Unregister new partmaps.
8942 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8943 (grub_partition_msdos_iterate): ... this. All users updated.
8944 Don't support embedding other than in a minix partition.
8945 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8946 proto.
8947 * include/grub/partition.h (grub_partition): New field msdostype.
8948 * util/grub-install.in: Handle openbsd and netbsd types being in
8949 part_bsd module.
8950
1e8d555b
VS
89512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8954
8955 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8956 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8957 (mdraid09): ... this.
8958 (mdraid1x): New module.
8959 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8960 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8961
899d8af4
VS
89622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8965 vsprintf.
8966
40901acd
CW
89672010-09-20 Colin Watson <cjwatson@ubuntu.com>
8968
8969 * grub-core/commands/efi/lsefimmap.c: Correct header.
8970 * NEWS: Update.
8971
dfe3b247
CW
89722010-09-20 Colin Watson <cjwatson@ubuntu.com>
8973
8974 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8975 as printf format strings; the translations might contain '%' which
8976 could cause a crash.
8977 (main): Likewise.
8978 * util/grub-fstest.c (argp_parser): Likewise.
8979 * util/grub-setup.c (argp_parser): Likewise.
8980 (main): Likewise.
8981
3286a4b4
VS
89822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 Use argp in grub-fstest.
8985
8986 * util/grub-fstest.c: Don't include getopt.h.
8987 Include argp.h.
8988 (root): New variable.
8989 (args_count): Likewise.
8990 (nparm): Likewise.
8991 (num_disks): Likewise.
8992 (images): Likewise.
8993 (cmd): Likewise.
8994 (debug_str): Likewise.
8995 (args): Likewise.
8996 (options): Transformed to argp.
8997 (usage): Removed.
8998 (main): Split argument parsing into ...
8999 (argp_parser): ... this. Changed to argp format.
9000 (argp): New variable.
9001 (main): Use argp_parse.
9002
3dccbe4b
TG
90032010-09-20 Tristan Gingold <gingold@free.fr>
90042010-09-20 Robert Millan <rmh.grub@aybabtu.com>
90052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 * grub-core/commands/efi/lsefimmap.c: New file.
9008 * grub-core/Makefile.core.def (lsefimmap): New module.
9009 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
9010
38c259a7
VS
90112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 Pause the execution (10s max) if any errors are displayed so the user
9014 has a chance to see them.
9015
9016 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
9017 (grub_print_error): Increment grub_err_printed_errors.
9018 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
9019 execution if any errors were displayed.
9020 (show_menu): Remove old code for pause.
9021 * grub-core/normal/menu_entry.c (run): Likewise.
9022 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
9023 users updated.
9024 (grub_normal_get_char_counter): Likewise.
9025 * include/grub/err.h (grub_err_printed_errors): New external variable.
9026 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
9027
f218b09c
VS
90282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 Support multiboot VBE info.
9031
9032 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9033 Take VBE info into account.
9034 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
9035 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9036 Call fill_vbe_info when appropriate.
9037 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
9038 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
9039 as supported.
9040 (grub_multiboot_get_mbi_size): Take new tags into account.
9041 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
9042 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9043 Call fill_vbe_tag when appropriate.
9044 (grub_multiboot_make_mbi): Properly align tags.
9045 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
9046 function.
9047 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
9048 proto.
9049 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
9050
a9cc5438
VS
90512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 Suport manual terminal geometry specification.
9054
9055 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
9056 Save state in grub_ofconsole_terminfo_output.
9057 (grub_ofconsole_term): Use grub_terminfo_getwh.
9058 (grub_ofconsole_getwh): Removed.
9059 * grub-core/term/serial.c (grub_serial_getwh): Removed.
9060 (grub_serial_term): Use grub_terminfo_getwh.
9061 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
9062 (options): New struct.
9063 (OPTION_*): New enum.
9064 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
9065 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
9066 width and height.
9067 (grub_terminfo_getwh): New proto.
9068 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
9069
1a8fed20
VS
90702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 Handle legacy "terminal" command.
9073
9074 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
9075 and FLAG_TERMINAL.
9076 (legacy_commands): Add terminal and title.
9077 (grub_legacy_parse): Handle terminal. Simplify title handling.
9078
41e9c57d
VS
90792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
9082 parameters overflow.
9083
61c874c5
CW
90842010-09-20 Colin Watson <cjwatson@ubuntu.com>
9085
9086 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
9087 widthspec.h.
9088
9089 * docs/grub.texi (Shell-like scripting): Document `!'.
9090 (Network): Simplify using new i386-pc-pxe format. Mention
9091 grub-mknetdir.
9092
9093 * NEWS: Update.
9094
943682b4
CW
90952010-09-20 Colin Watson <cjwatson@ubuntu.com>
9096
9097 * Makefile.am (SUBDIRS): Restore "."; it's important to force
9098 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
9099 when needed.
9100
6d3d698d
CW
91012010-09-20 Colin Watson <cjwatson@ubuntu.com>
9102
9103 * grub-core/commands/efi/lsefisystab.c: Correct header.
9104 * grub-core/commands/efi/lssal.c: Likewise.
9105 * grub-core/commands/testload.c: Likewise.
9106
c982589f
CW
91072010-09-20 Colin Watson <cjwatson@ubuntu.com>
9108
9109 * util/grub-mkrescue.in: Add explicit root argument to --set to
9110 prevent the UUID being interpreted as an argument to --set (matches
9111 previous change to prepare_grub_to_access_device).
9112
a63c31b6
CW
91132010-09-20 Colin Watson <cjwatson@ubuntu.com>
9114
9115 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
9116 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
9117 the verbosity of later #ifs.
9118 (find_partition_start): Define this function on FreeBSD too.
9119 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
9120 function.
9121 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
9122 on FreeBSD.
9123
6439b8ee
YB
91242010-09-20 Yves Blusseau <blusseau@zetam.org>
9125
9126 * util/grub-editenv.c: Use argp instead of getopt.
9127
c5930ec8
YB
91282010-09-20 Yves Blusseau <blusseau@zetam.org>
9129
9130 * util/grub-setup.c: Use argp instead of getopt.
9131
15c69261
YB
91322010-09-20 Yves Blusseau <blusseau@zetam.org>
9133
9134 Use gnulib-tool to create gnulib source files.
9135
9136 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
9137 grub-core/gnulib directories
9138 * .bzignore: Add **/.deps and autogenerated gnulib files
9139 * configure.ac: Assign auxiliary directory to build-aux, add invocation
9140 of gnulib macros, add grub-core/gnulib/Makefile
9141 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
9142 include m4 directory to aclocal.
9143 * Makefile.util.def: Remove direct compilation of gnulib source files
9144 and use the new grub-core/gnulib/libgnu.a.
9145 * build-aux/config.rpath: move config.rpath from top directory to
9146 build-aux
9147 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
9148 in gnulib headers
9149 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
9150 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
9151 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
9152 header.
9153 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
9154 string.
9155
e511c9f5
YB
91562010-09-20 Yves Blusseau <blusseau@zetam.org>
9157
9158 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
9159 grub-core/genmod.sh and grub-core/gensyminfo.sh
9160
c2dede05
BC
91612010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
9162
9163 Add a test for echo command options.
9164
9165 * tests/grub_cmd_echo.in: New test.
9166 * Makefile.util.def: Rules for new test.
9167
c55f5018
SJ
91682010-09-20 Szymon Janc <szymon@janc.net.pl>
9169
9170 Remove crc.mod and move crc command to hashsum.mod.
9171 Remove lib/crc.c - users updated to use gcrypt implementation.
9172
9173 * grub-core/commands/crc.c: Removed.
9174 * grub-core/Makefile.core.def (crc): Module removed.
9175 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
9176 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
9177 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
9178 * grub-core/lib/crc.c: Removed.
9179 * include/grub/lib/crc.h: Removed.
9180 * Makefile.util.def (crc): Remove lib/crc.c
9181 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
9182 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
9183 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
9184 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
9185 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
9186 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
9187
e0337366
VS
91882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
9191
742f9232
VS
91922010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 Split config.h for util and core.
9195
9196 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
9197 (ADDR32): Likewise.
9198 (DATA32): Likewise.
9199 (BSS_START_SYMBOL): Likewise.
9200 (END_SYMBOL): Likewise.
9201 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
9202 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
9203 * config.h.in: New file.
9204 * configure.ac: Use config-util.h as config define file.
9205 Rename MACHINE into GRUB_MACHINE. All users updated.
9206 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
9207 updated.
9208 (NESTED_FUNC_ATTR): Likewise.
9209 Substitue new variables.
9210 (COND_HAVE_ASM_USCORE): New conditional.
9211 * grub-core/Makefile.am (ASM_PREFIX): New variable.
9212 (kernel_syms.lst): Use ASM_PREFIX.
9213 * grub-core/kern/emu/console.c: Include config-util.h.
9214 * grub-core/kern/emu/misc.c: Likewise.
9215 * grub-core/kern/emu/mm.c: Likewise.
9216 * include/grub/emu/misc.h: Likewise.
9217 * include/grub/libgcc.h: Likewise.
9218
39feb0e8
VS
92192010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
9222 constants usage.
9223 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
9224 Fix GRUB_TERM_KEY_* constants usage.
9225 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
9226
9af6dac3
VS
92272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
9230 print pointer.
9231 * grub-core/bus/usb/uhci.c: Remove empty define.
9232 (grub_uhci_check_transfer): Add missing cast.
9233 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
9234 print pointer.
9235 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
9236 PRIuGRUB_SIZE.
9237 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
9238
d6d94820
VS
92392010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * grub-core/Makefile.core.def (legacycfg): Add
9242 lib/i386/pc/vesa_modes_table.c on emu.
9243
3572f2b6
BC
92442010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9245
9246 Reduce number of temporary files generated by build system.
9247
9248 * grub-core/gencmdlist.sh: Removed.
9249 * grub-core/genfslist.sh: Removed.
9250 * grub-core/genhandlerlist.sh: Removed.
9251 * grub-core/genmodsrc.sh: Removed.
9252 * grub-core/genpartmaplist.sh: Removed.
9253 * grub-core/genparttoollist.sh: Removed.
9254 * grub-core/gentermiinallist.sh: Removed.
9255 * grub-core/genvideolist.sh: Removed.
9256
9257 * grub-core/genmod.sh.in: New file.
9258 * grub-core/gensyminfo.sh.in: New file.
9259
9260 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
9261 * conf/Makefile.extra-dist: Update with new files.
9262 * gentpl.py: Remove rules related to unnecessary temporary files.
9263 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
9264 and und-* files.
9265 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
9266 genmod.sh scripts.
9267 * grub-core/bus/usb/uhci.c: Remove empty #define.
9268 * grub-core/genmoddep.awk: Updated with new syminfo format.
9269 * util/bash-completion.d/Makefile.am: Add config.log to
9270 CLEANFILES.
9271
c836b030
YB
92722010-09-19 Yves Blusseau <blusseau@zetam.org>
9273
9274 * Makefile.util.def: Add forgotten $(LIBINTL) library.
9275
2f4e8053
BC
92762010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9277
9278 * util/grub-mkconfig.in: Check the config script for syntax errors
9279 before saving.
9280
75831c34
CW
92812010-09-19 Colin Watson <cjwatson@ubuntu.com>
92822010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 * Makefile.util.def (grub-install): Use util/grub-install.in on all
9285 platforms.
9286 * util/grub-install.in: Add EFI and IEEE1275 support.
9287 * util/i386/efi/grub-install.in: Removed.
9288 * util/ieee1275/grub-install.in: Likewise.
9289
eaf41b25
VS
92902010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
9293 (grub_cmd_cmosclean): Likewise.
9294 (GRUB_MOD_INIT): Register command cmosclean.
9295 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
9296 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
9297
1a9130dd
CPE
92982010-09-18 Carles Pina i Estany <carles@pina.cat>
92992010-09-18 Aleš Nesrsta <starous@volny.cz>
93002010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 Add keyboard layouts support.
9303
9304 * Makefile.util.def (grub-mklayout): New file.
9305 (grub-kbdcomp): New script.
9306 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
9307 Add keyboard_layouts.h.
9308 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
9309 commands/boot.c on yeeloong.
9310 (keylayouts): New module.
9311 * grub-core/bus/usb/ohci.c
9312 * grub-core/bus/usb/uhci.c
9313 * grub-core/bus/usb/usbhub.c (rescan): New variable.
9314 (grub_usb_add_hub): Poll interrupt pipe for device handling.
9315 (attach_root_port): Likewise.
9316 (poll_nonroot_hub): Likewise.
9317 (grub_usb_poll_devices): Likewise.
9318 (detach_device): Close transfer.
9319 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
9320 function.
9321 (grub_usb_bulk_setup_readwrite): Likewise.
9322 (grub_usb_bulk_finish_readwrite): Likewise.
9323 * grub-core/commands/keylayouts.c: New file.
9324 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
9325 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
9326 aliases.
9327 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
9328 support scancode 2.
9329 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
9330 * include/grub/keyboard_layouts.h: New file.
9331 * util/grub-mklayout.c: New file.
9332 * util/grub-kbdcomp.in: Likewise.
9333
a1d84a5e
VS
93342010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 Unify memory types.
9337
9338 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
9339 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
9340 types.
9341 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
9342 (grub_upper_mem): Likewise.
9343 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
9344 * include/grub/memory.h (grub_memory_type_t): New enum.
9345 All users updated.
9346
9696382e
VS
93472010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * grub-core/Makefile.core.def (lsapm): New module.
9350 * grub-core/commands/i386/pc/lsapm.c: New file.
9351 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
9352 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
9353 Likewise.
9354 * include/grub/i386/pc/apm.h: New file.
9355 * include/multiboot.h (multiboot_apm_info): New struct.
9356
93572010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 GRUB-legacy configuration file support.
9360
9361 * Makefile.util.def (grub-menulst2cfg): New util.
9362 * docs/man/grub-menulst2cfg.h2m: New file.
9363 * grub-core/Makefile.core.def (legacycfg): New module.
9364 * grub-core/commands/legacycfg.c: New file.
9365 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
9366 (grub_normal_add_menu_entry): ... this.
9367 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
9368 (grub_normal_set_password): ...this.
9369 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
9370 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
9371 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
9372 * grub-core/lib/legacy_parse.c: New file.
9373 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
9374 * include/grub/i386/pc/vesa_modes_table.h: New file.
9375 * include/grub/legacy_parse.h: Likewise.
9376 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
9377 * util/grub-menulst2cfg.c: New file.
9378
bf8d1338
CW
93792010-09-17 Colin Watson <cjwatson@ubuntu.com>
9380
9381 * grub-core/kern/emu/hostdisk.c
9382 (convert_system_partition_to_system_disk): Initialise node.
9383
9c0bad2e
CW
93842010-09-17 Colin Watson <cjwatson@ubuntu.com>
9385
9386 * grub-core/kern/emu/hostdisk.c
9387 (convert_system_partition_to_system_disk): Fix devmapper memory pool
9388 leak.
9389 Reported and based on patch by: Modestas Vainius.
9390
a939d135
CW
93912010-09-17 Colin Watson <cjwatson@ubuntu.com>
9392
9393 Fix DM-RAID probing with recent versions of device-mapper udev
9394 rules.
9395
9396 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
9397 canonicalise device paths under /dev/mapper/.
9398 (convert_system_partition_to_system_disk): Compare the
9399 uncanonicalised path to /dev/mapper/ rather than the canonicalised
9400 path, since device nodes under /dev/mapper/ are often symlinks.
9401
0f7ee3c9
YB
94022010-09-17 Yves Blusseau <blusseau@zetam.org>
9403
9404 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
9405
10854d0d
YB
94062010-09-16 Yves Blusseau <blusseau@zetam.org>
9407
9408 * configure.ac: Avoid some annoying error messages if freetype-config
9409 program is not found.
9410
108538d8
CW
94112010-09-16 Colin Watson <cjwatson@ubuntu.com>
9412
9413 Support RAID on virtio devices, and others.
9414
9415 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
9416 Rename to ...
9417 [__MINGW32__] (grub_find_device): ... this.
9418 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
9419 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
9420 reasonable default if dir is NULL.
9421 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
9422 ...
9423 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
9424 (grub_guess_root_device): Update callers.
9425 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
9426
9427 * util/raid.c (grub_util_getdiskname): Remove.
9428 (grub_util_raid_getmembers): Use grub_find_device rather than
9429 grub_util_getdiskname.
9430
e5bfc130
CW
94312010-09-16 Colin Watson <cjwatson@ubuntu.com>
9432
9433 * docs/grub.texi (serial): Remove obsolete comment about GRUB
9434 needing to be compiled with serial support.
9435 (ls): Indicate that multiple files are accepted.
9436 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
9437 indicate that multiple files are accepted.
9438
be458ae2
CW
94392010-09-16 Colin Watson <cjwatson@ubuntu.com>
9440
9441 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
9442 libgrub_a_init.c, and util/bash-completion.d/grub.
9443
cb731b5e
VS
94442010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * util/grub-setup.c (setup): Fix incorrect container semantics.
9447
35139e8a
VS
94482010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
9451 misusage.
9452 Reported by: J. Nick Terry
9453
e50fca4a
VS
94542010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 Move embedding routines to partmap sources files.
9457
9458 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
9459 [GRUB_UTIL]: New variable.
9460 (gpt_partition_map_iterate): Set part.parent.
9461 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
9462 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
9463 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
9464 New function.
9465 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
9466 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
9467 (grub_partition_map) [GRUB_UTIL]: New field embed.
9468 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
9469 (setup): Use ->embed.
9470
f00478b7
VS
94712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
9474 function.
9475 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
9476 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
9477
2b94e3ff
YB
94782010-09-15 Yves Blusseau <blusseau@zetam.org>
9479
9480 Add function to get completions from usage.
9481
9482 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9483 completions from usage. Use LC_ALL=C to get options properly.
9484
2e04a006
VS
94852010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 * grub-core/gnulib/basename-lgpl.c: Imported.
9488 * grub-core/gnulib/basename.c: Likewise.
9489 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9490 * grub-core/gnulib/dirname.c: Likewise.
9491 * grub-core/gnulib/dirname.h: Likewise.
9492 * grub-core/gnulib/stripslash.c: Likewise.
9493
5dcdf93a
VS
94942010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * grub-core/gnulib/error.c: Resynced.
9497 * grub-core/gnulib/getopt.c: Likewise.
9498 * grub-core/gnulib/getopt_int.h: Likewise.
9499 * grub-core/gnulib/regex.h: Likewise.
9500 * grub-core/gnulib/regex_internal.c: Likewise.
9501 * grub-core/gnulib/regex_internal.h: Likewise.
9502
014f47b7
SJ
95032010-09-15 Szymon Janc <szymon@janc.net.pl>
9504
9505 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9506 CRC calculations and validity checks.
9507 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9508 calculations.
9509
dd521a4a
SJ
95102010-09-15 Szymon Janc <szymon@janc.net.pl>
9511
9512 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9513
79c4eeb9
VS
95142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 Fix incorrect echo options handling.
9517 Reported by: Yves Blusseau.
9518
9519 * include/grub/command.h (grub_command_flags_t): New flags
9520 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9521 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9522 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9523
ed80f7d5
VS
95242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9527 users updated.
9528 (GRUB_COMMAND_FLAG_MENU): Likewise.
9529 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9530 (GRUB_COMMAND_FLAG_TITLE): Removed.
9531 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9532 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9533 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9534 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9535 (grub_command_flags_t): New enum. All users updated.
9536
5fe7620a
SG
95372010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9538
9539 Fix solaris compilation.
9540
9541 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9542 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9543 (grub-emu-list): Likewise.
9544
545b752f
VS
95452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 Remove deprecated root command.
9548
9549 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9550 updated.
9551
6c1a338c
VS
95522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * util/i386/pc/grub-setup.c: Merge this ...
9555 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9556 * util/grub-setup.c: ... into this.
9557 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9558 New struct.
9559
95602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9563 possible.
9564
d2ea4551
VS
95652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9568 allocate p.
9569
3c3b5040
VS
95702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9573 explicit root argument to set to prevent UUID to be interpreted as
9574 argument to set.
9575
b71c3fae
VS
95762010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9579
275433e6
VS
95802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 Don't export grub_gate_a20.
9583
9584 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9585 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9586 to ...
9587 (grub_gate_a20): ... this. All users updated.
9588 * include/grub/i386/pc/init.h: Removed. All users updated.
9589
a5dbb1f1
VS
95902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 Create euro.pf2 which supports most European languages.
9593
9594 * Makefile.am (grubdata_DATA): Add euro.pf2.
9595 (euro.pf2): New target.
9596 (CLEANFILES): Add euro.pf2.
9597
62a747cb
VS
95982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * configure.ac: Disable emu-usb by default to prevent inadvertent
9601 device takeover.
9602
608e43b1
VS
96032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 Disable usbserial on grub-emu since our libusb code isn't good enough
9606 yet.
9607
9608 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9609 (usbserial_pl2303): Likewise.
9610 (usbserial_ftdi): Likewise.
9611
94564f81
VS
96122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * include/grub/disk.h (grub_disk): Remove has_partitions.
9615 All users updated.
9616 * disk/loopback.c (grub_loopback): Remove has_partitions.
9617 All users updated.
9618 (options): Remove partitions. All users updated.
9619 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9620 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9621 actual partition table is found.
9622
3352800b
VS
96232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 Remove readability checks (too many false negatives).
9626
9627 * util/grub-install.in: Remove readability checks.
9628 * util/grub-mkconfig.in: Likewise.
9629 * util/grub.d/10_hurd.in: Likewise.
9630 * util/grub.d/10_kfreebsd.in: Likewise.
9631 * util/grub.d/10_linux.in: Likewise.
9632 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9633 way.
9634
2419f17a
VS
96352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9636
9637 Enable acpi shutdown on all ACPI platforms.
9638
9639 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9640 on coreboo, multiboot and EFI.
9641 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9642 (grub_acpi_halt): Likewise.
9643 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9644 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9645 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9646 * grub-core/lib/i386/halt.c (grub_halt)
9647 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9648
0575c7c3
VS
96492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9652 context.
9653
54ac3cd1
VS
96542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9657 * grub-core/video/efi_uga.c: Likewise.
9658
b2a30ac5
VS
96592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 Filter devaliases and never open same device twice.
9662
9663 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9664 (last_ihandle): Likewise.
9665 (ofdisk_hash_ent): New member shortest.
9666 (ofdisk_hash_add): Add canonical path too.
9667 (scan): New function.
9668 (grub_ofdisk_iterate): Iterate over hashed entries.
9669 (compute_dev_path): Don't add :0.
9670 (grub_ofdisk_open): Don't really open the disk.
9671 (grub_ofdisk_close): Avoid closing unrelated disk.
9672 (grub_ofdisk_read): Implement reopen logic.
9673 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9674 New function.
9675 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9676 New proto.
9677
fb53b340
VS
96782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 Fix sparc64.
9681
9682 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9683 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9684 right address. Add sparc64_ieee1275_ldflags.
9685 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9686 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9687 to grub_host_to_target_addr
9688 (load_image): Likewise.
9689
f452b040
VS
96902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 * grub-core/normal/completion.c (complete_file): Handle device
9693 containing slash.
9694 Fix based on patch by Doug Nazar.
9695
9b5b2541
VS
96962010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 grub-mknetdir script.
9699
9700 * Makefile.util.def (grub-mknetdir): New module.
9701 * tests/util/grub-shell.in: Support boot=net
9702 * util/grub-mknetdir.in: New file.
9703
9d2be652
VS
97042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 videoinfo on non-vbe.
9707
9708 * grub-core/Makefile.core.def (vbeinfo): Removed.
9709 (vbetest): Removed.
9710 (videoinfo): New module.
9711 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9712 * grub-core/commands/i386/pc/vbetest.c: Removed.
9713 * grub-core/commands/videoinfo.c: New file.
9714 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9715 specification.
9716 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9717 as vbetest.
9718 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9719 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9720 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9721 mode_number. New parameter mode. All users updated.
9722 (grub_video_gop_iterate): New function.
9723 (grub_video_efi_gop): New member iterate.
9724 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9725 (grub_vbe_set_video_mode): Remove setting useless fields.
9726 (vbe2videoinfo): New function.
9727 (grub_video_vbe_iterate): Likewise.
9728 (grub_video_vbe_setup): Use vbe2videoinfo.
9729 (grub_video_vbe_print_adapter_specific_info): New function.
9730 (grub_video_vbe_adapter): New fields iterate and
9731 print_adapter_specific_info.
9732 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9733 All users updated.
9734 (grub_video_mode_info): New field mode_number.
9735 (grub_video_adapter): New fields iterate and
9736 print_adapter_specific_info.
9737
179503f5
TG
97382010-09-13 Tristan Gingold <gingold@free.fr>
97392010-09-13 Robert Millan <rmh.grub@aybabtu.com>
97402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * grub-core/commands/efi/lsefisystab.c: New file.
9743 * grub-core/commands/efi/lssal.c: Likewise.
9744 * grub-core/Makefile.core.def (lsacpi): New module.
9745 (lsefisystab): Likewise.
9746 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9747 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9748 (grub_efi_sal_system_table): New struct.
9749 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9750 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9751 (grub_efi_sal_system_table_platform_features): Likewise.
9752 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9753 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9754 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9755 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9756
cf9827de
VS
97572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 Support explicit user claim that a device is BIOS-visible.
9760
9761 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9762 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9763 * grub-core/kern/emu/hostdisk.c
9764 (convert_system_partition_to_system_disk): Support mdX.
9765 (find_system_device): New parameter add. All users updated.
9766 (grub_util_biosdisk_is_present): New function.
9767 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9768 proto.
9769
53f0eb1f
VS
97702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 Search hints support.
9773
9774 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9775 All users updated.
9776
b23ffd70
YB
97772010-09-13 Yves Blusseau <blusseau@zetam.org>
9778
9779 Bash completion script for util commands
9780
9781 * Makefile.am: Add util/bash-completion.d directory
9782 * configure.ac: Likewise.
9783 * util/bash-completion.d/Makefile.am: New file.
9784 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9785
d547dc28
VS
97862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9787
9788 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9789 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9790 Reported by: Yves Blusseau.
9791
2fc8ccb9
VS
97922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9795 partition size and offset.
9796
d8a84076
VS
97972010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9800
84fb3b3d
VS
98012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9804
768ec2e2
VS
98052010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9808 (grub_xvasprintf): Likewise.
9809
4870900f
VS
98102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9813
faca6bec
VS
98142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9817 args ending with NULL.
9818
98192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
9820
9821 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9822 pointer.
9823
3c70f225
SJ
98242010-09-11 Szymon Janc <szymon@janc.net.pl>
9825
9826 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9827
4df7996d
VS
98282010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 Shutdown using ACPI.
9831
9832 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9833 * grub-core/commands/acpihalt.c: New file.
9834 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9835 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9836 (grub_acpi_halt): New proto.
9837 (GRUB_ACPI_SLP_EN): New const.
9838 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9839 (GRUB_ACPI_OPCODE_*): New enum.
9840 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9841
126b4c32
TG
98422010-09-11 Tristan Gingold <gingold@free.fr>
98432010-09-11 Robert Millan <rmh.grub@aybabtu.com>
98442010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * commands/lsacpi.c: New file.
9847 * grub-core/Makefile.core.def (lsacpi): New module.
9848 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9849 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9850 (grub_acpi_madt_entry_header): New struct.
9851 (grub_acpi_madt): Likewise.
9852 (grub_acpi_madt_entry_interrupt_override): Likewise.
9853 (grub_acpi_madt_entry_sapic): Likewise.
9854 (grub_acpi_madt_entry_lsapic): Likewise.
9855 (grub_acpi_madt_entry_platform_int_source): Likewise.
9856 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9857 (PRIuGRUB_UINT32_T): Likewise.
9858 (PRIxGRUB_UINT64_T): Likewise.
9859
1aa4fe88
VS
98602010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 Implement loading palette on ieee1275_fb.
9863
9864 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9865 (have_setcolors): Likewise.
9866 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9867 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9868 (grub_video_ieee1275_set_palette): Implement.
9869
25761e13
VS
98702010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
98712010-09-11 Colin Watson <cjwatson@ubuntu.com>
9872
9873 * util/grub-install.in (grub_partition): New variable.
9874 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9875 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9876 Fixes a bug reported by Yves Blusseau.
9877
050abaea
VS
98782010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 Fix emu on mipsel.
9881
9882 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9883 =grub_cpu_flush_cache on all mips and not only yeeloong.
9884 * configure.ac (COND_mips): New conditional.
9885 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9886 platforms.
9887 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9888 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9889 [GRUB_LINKER_HAVE_INIT]: New function.
9890 (grub_emu_post_init): Likewise.
9891 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9892 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9893 * include/grub/cache.h (_mips): Include mips/cache.h.
9894 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9895 LVM and RAID prototypes.
9896 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9897 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9898 function.
9899
5ed7d816
CW
99002010-09-10 Colin Watson <cjwatson@ubuntu.com>
9901
9902 * util/grub-install.in: Don't try to verify core.img until after
9903 running grub-mkimage to create it.
9904
90367e04
RM
99052010-09-10 Robert Millan <rmh@gnu.org>
9906
9907 * util/grub.d/10_hurd.in: Add misc readability checks.
9908 * util/grub.d/10_kfreebsd.in: Likewise.
9909 * util/grub.d/10_linux.in: Likewise.
9910
c452fa66
CW
99112010-09-10 Colin Watson <cjwatson@ubuntu.com>
9912
9913 * util/grub-install.in: ${imgext} won't be defined here until the
9914 install branch is merged. For the meantime, only verify core.img on
9915 i386-pc and sparc64-ieee1275 platforms.
9916
c38fe9f4
RM
99172010-09-10 Robert Millan <rmh@gnu.org>
9918
9919 Solaris support in grub_find_zpool_from_dir(). Thanks
9920 Seth Goldberg for referring to getextmntent() facility.
9921
9922 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9923 `sys/mkdev.h'.
9924 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9925 `<sys/mnttab.h>'.
9926 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9927 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9928 method for finding zpool name.
9929
905f7773
CW
99302010-09-10 Colin Watson <cjwatson@ubuntu.com>
9931
9932 grub-fstest needs the host and hostfs modules while other utilities
9933 actively require those modules to be absent, so grub-fstest needs
9934 its own initialisation and finalisation code.
9935
9936 * Makefile.am (grub_fstest.pp): New target.
9937 (grub_fstest_init.lst): Likewise.
9938 (grub_fstest_init.c): Likewise.
9939 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9940
fb90b546
RM
99412010-09-10 Robert Millan <rmh@gnu.org>
9942
9943 * configure.ac: Check for `struct statfs.f_fstypename' and
9944 `struct statfs.f_mntfromname'.
9945
9946 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9947 kFreeBSD-specific code.
9948
66d4bea5
RM
99492010-09-10 Robert Millan <rmh@gnu.org>
9950
9951 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9952 on ZFS. Now non-main filesystems are supported as / too.
9953
b6a690ee
CW
99542010-09-09 Colin Watson <cjwatson@ubuntu.com>
9955
9956 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9957 and grub-core/disk/host.c to ...
9958 (grub-fstest): ... here. Having the host disk implementation
9959 present confuses grub-probe and other utility programs.
9960
9961 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9962 when writing to a file, not when writing to stdout.
9963
8901b00c 99642010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9965
9966 * tests/partmap_test.in: New test for partitions.
9967 * Makefile.util.def: Rules for new test.
9968
7bf45fdd
RM
99692010-09-09 Robert Millan <rmh@gnu.org>
9970
9971 * util/grub-probe.c (probe): Fix a pair of unhandled error
9972 conditions.
9973
4dfbc574
RM
99742010-09-09 Robert Millan <rmh@gnu.org>
9975
9976 Basic Btrfs support (detection and UUID).
9977
9978 * grub-core/fs/btrfs.c: New file.
9979 * Makefile.util.def (library): Register btrfs.c.
9980 * grub-core/Makefile.core.def: Likewise.
9981
6b8e78ae
RM
99822010-09-08 Robert Millan <rmh@gnu.org>
9983
9984 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9985 with (optional) parameters to specify device and relative path.
9986 * util/grub-install.in: Use is_path_readable_by_grub() to
9987 verify readability of a few critical files.
9988 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9989 verify readability of grub.cfg.new.
9990
27f21a8b
VS
99912010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 Split minix.mod into minix.mod and minix2.mod.
9994
9995 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9996 * grub-core/Makefile.core.def (minix2): New module.
9997 * grub-core/fs/minix.c: Use definitions instead of runtime version
9998 checking.
9999 * grub-core/fs/minix2.c: New file.
10000
c0e53ea5
YB
100012010-09-08 Yves Blusseau <blusseau@zetam.org>
10002
10003 Add new --boot-directory option to replace --root-directory
10004
10005 * util/grub-install.in: Add new --boot-directory option
10006 * util/grub-reboot.in: Likewise.
10007 * util/grub-set-default.in: Likewise.
10008
b9fe6ea2
YB
100092010-09-08 Yves Blusseau <blusseau@zetam.org>
10010
10011 * util/grub-mkconfig.in: Use new variable.
10012
d87aedff
YB
100132010-09-08 Yves Blusseau <blusseau@zetam.org>
10014
10015 * configure.ac: Define some useful variables.
10016
e55e8495
VS
100172010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10020 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
10021 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
10022 Use terminfo and don't use cursor-on/cursor-off unless it's known
10023 to work.
10024 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
10025 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
10026
6fa6d675
CW
100272010-09-08 Colin Watson <cjwatson@ubuntu.com>
10028
10029 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
10030 starts with "(,", fill the drive containing the loaded image in
10031 between those two characters, but expect that a full partition
10032 specification including partition map names will follow.
10033
92f2aef0
RM
100342010-09-08 Robert Millan <rmh@gnu.org>
10035
10036 * configure.ac: Remove `--enable-grub-fstest' option.
10037 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
10038
10039 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
10040 `grub-fstest' instead of `grub-probe' for readability verification.
10041 * util/grub-probe.c (probe): Remove readability verification kludge.
10042
99fd620d
RM
100432010-09-08 Robert Millan <rmh@gnu.org>
10044
10045 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
10046 initializing `GRUB_FS'.
10047
058e30ac 100482010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
10049
10050 Not command (!) support to GRUB script.
10051
10052 * tests/grub_script_not.in: New test.
10053 * Makefile.util.def: Rules for new test.
10054
10055 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10056 ! command as a special case.
10057 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
10058
b61d05ed 100592010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10060
058e30ac 10061 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
10062 grub_free.
b61d05ed 10063
4d69c786 100642010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10065
10066 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
10067
aa3119c4 100682010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10069
10070 * docs/grub.texi (Shell-like scripting): Documentation for break,
10071 continue, shift and return commands.
10072
db0f7e3d
VS
100732010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 Rename CD-ROM to cd on BIOS.
10076
10077 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
10078 "cd".
10079 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
10080
88b87c93
VS
100812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
10084 * util/grub-probe.c (main): Likewise.
10085 * util/i386/pc/grub-setup.c (main): Likewise.
10086 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
10087 Reported and debugged by: alexxy
10088
294f324d
VS
100892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
10092 diagnostic info.
10093
d7ee3441
JS
100942010-09-05 Jo Shields <directhex@apebox.org>
10095
10096 * util/grub.d/30_os-prober.in: Add missing classes.
10097
d7e06c1f
VS
100982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * docs/grub.texi (Theme file format): Document new position format.
10101
fc157e53
VS
101022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
10105 a table. Use @code instead of @verbatim.
10106
506e9a1c
CB
101072010-09-05 Colin D Bennett <colin@gibibit.com>
10108
10109 Gfxmenu documentation.
10110
10111 * docs/grub.texi (Theme file format): New chapter.
10112
f0aff67c
SJ
101132010-09-05 Szymon Janc <szymon@janc.net.pl>
10114
10115 * grub-core/Makefile.core.def (xzio): New module.
10116 * grub-core/io/xzio.c: New file.
10117 * grub-core/lib/xzembed/xz.h: New file (from xembed).
10118 * grub-core/lib/xzembed/xz_config.h: Likewise.
10119 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
10120 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
10121 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
10122 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
10123 * grub-core/lib/xzembed/xz_private.h: Likewise.
10124 * grub-core/lib/xzembed/xz_stream.h: Likewise.
10125 * include/grub/file.h (grub_file_filter_id): New compression filter
10126 GRUB_FILE_FILTER_XZIO.
10127
82a85062
VS
101282010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
10131 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
10132 size.
10133
3579415d
VS
101342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
10137 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
10138
5124ae6d
VS
101392010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 Uncompressed checksum support.
10142
10143 * grub-core/commands/hashsum.c (options): Add option --uncompress.
10144 (check_list): New parameter uncompress.
10145 (grub_cmd_hashsum): Handle --uncompress.
10146
9aadb3d1
VS
101472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 Reintroduce testload.
10150
10151 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
10152 from here ...
10153 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
10154 (GRUB_MOD_INIT): New function.
10155 (GRUB_MOD_FINI): Likewise.
10156 * grub-core/Makefile.core.def (testload): New module.
10157
a17792c3
SJ
101582010-09-05 Szymon Janc <szymon@janc.net.pl>
10159
10160 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
10161 (uint8_t): New type.
10162 (uint16_t): Likewise.
10163 (uint32_t): Likewise.
10164 (uint64_t): Likewise.
10165
b81e40a3
SJ
101662010-09-05 Szymon Janc <szymon@janc.net.pl>
10167
10168 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
10169
fc2ef117
VS
101702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
10173 Made static.
10174 (grub_gzfile_open): Removed. All users updated.
10175 (GRUB_MOD_INIT): New function.
10176 (GRUB_MOD_FINI): Likewise.
10177 * grub-core/kern/file.c (grub_file_filters_all): New variable.
10178 (grub_file_filters_enabled): Likewise.
10179 (grub_file_open): Handle filters.
10180 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
10181 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
10182 * include/grub/file.h (grub_file_filter_id_t): New type.
10183 (grub_file_filter_t): Likewise.
10184 (grub_file_filters_all): New extern variable.
10185 (grub_file_filters_enabled): Likewise.
10186 (grub_file_filter_register): New inline function.
10187 (grub_file_filter_unregister): Likewise.
10188 (grub_file_filter_disable): Likewise.
10189 (grub_file_filter_disable_compression): Likewise.
10190 * include/grub/gzio.h: Removed.
10191
35ee15e0
BC
101922010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10193
10194 Filename expansion support for wildcards in GRUB script.
10195
10196 * tests/grub_script_expansion.in: New test.
10197 * Makefile.util.def: Rule for new test.
10198
10199 * grub-core/commands/wildcard.c: New file, implements filename
10200 expansion support for GRUB script.
10201 * grub-core/Makefile.core.def: Rule update for regexp.mod.
10202 * grub-core/script/argv.c: Cosmetic changes.
10203 * grub-core/script/execute.c (grub_script_arglist_to_argv):
10204 Refactored to perform wildcard expansion on arguments.
10205 * include/grub/script_sh.h (grub_script_wildcard_translator): New
10206 struct.
10207
10208 * tests/util/grub-shell.in: Fix quoting for read input.
10209
5f0c4aca
BC
102102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10211
10212 Support for updating environment variables with matched substrings
10213 of regexp.
10214
10215 * tests/grub_cmd_regexp.in: New test.
10216 * Makefile.util.def: Rule for new test.
10217
10218 * grub-core/commands/regexp.c: New option -s to update environment
10219 variables with regexp matches.
10220
3759a35f
SJ
102212010-09-04 Szymon Janc <szymon@janc.net.pl>
10222
10223 * include/grub/file.h (grub_file): New member not_easly_seekable.
10224 (grub_file_seekable): New inline function.
10225 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
10226 easily seekable.
10227 (grub_gzio_open): Set not_easly_seekable.
10228 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
10229 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
10230
ed8c6dec
BC
102312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10232
10233 Support for options to appear multiple times on cmdline.
10234
10235 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
10236 * grub-core/commands/extcmd.c: Support for repeatable option.
10237 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
10238 repeatable option support.
10239
10240 Refactor menuentry into a regular command.
10241
10242 * grub-core/commands/menuentry.c: New file, menuentry command
10243 implementation.
10244 * grub-core/Makefile.core.def: Rule update for normal.mod.
10245 * grub-core/normal/main.c: Moved menuentry creation to
10246 grub-core/commands/menuentry.c.
10247 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
10248 (grub_menu_execute_entry_real): Removed.
10249 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
10250 function.
10251 (grub_script_execute_menuentry): Removed.
10252 * grub-core/script/parser.y (menuentry): Removed.
10253 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
10254 * grub-core/script/yylex.l (menuentry): Removed.
10255 * include/grub/menu.h (grub_menu_init): New prototype.
10256 (grub_menu_fini): New prototype.
10257 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
10258 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
10259 (grub_script_execute_sourcecode): New prototype.
10260
dacd0cf0
BC
102612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10262
10263 "return" command for GRUB script functions.
10264
10265 * tests/grub_script_return.in: New test.
10266 * Makefile.util.def: Rules for new test.
10267
10268 * grub-core/script/execute.c (grub_script_return): New function.
10269 * grub-core/script/main.c: Register/unregister return commaond.
10270 * include/grub/script_sh.h (grub_script_return): New prototype.
10271
52e72f9d
BC
102722010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10273
10274 "setparams" command to update positional parameters.
10275
10276 * tests/grub_script_setparams.in: New test.
10277 * Makefile.util.def: Rules for new test.
10278
10279 * grub-core/script/argv.c (grub_script_argv_make): New function.
10280 * grub-core/script/execute.c (replace_scope): New function.
10281 (grub_script_setparams): New function.
10282 * grub-core/script/lexer.c: Remove unused variables.
10283 * grub-core/script/main.c: Register/unregister setparams command.
10284 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
10285 (grub_script_setparams): New prototype.
10286
25b60c91
BC
102872010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10288
10289 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
10290 grub_free order.
10291
37e7bf68
BC
102922010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10293
10294 Support for passing block of commands as an argument to extcmds.
10295
10296 * Makefile.util.def: Rules for new test.
10297 * tests/grub_script_blockarg.in: New test.
10298 * grub-core/tests/test_blockarg.c: New file, block argument
10299 command used in the test.
10300
10301 * include/grub/extcmd.h (grub_extcmd_context): New struct.
10302 (grub_register_extcmd_prio): New function prototype.
10303 (grub_extcmd_dispatcher): New function prototype.
10304 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
10305 type.
10306 * include/grub/script_sh.h (struct grub_script): New members
10307 `children', `next_siblings' and `refcnt' for block arguments and
10308 reference counting.
10309 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
10310 (grub_script_arg): New member `script' for block argument.
10311 (grub_script_argv): New member `script' for block argument.
10312 (grub_parser_param): New member `scripts' for block argument.
10313 (grub_script_mem_free): New extern function prototype.
10314 (grub_script_ref): New function prototype.
10315 (grub_script_unref): New function prototype.
10316
10317 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
10318 extcmd form to support block arguments.
10319 * grub-core/script/argv.c: Block arguments support.
10320 * grub-core/script/execute.c: Likewise.
10321 * grub-core/script/lexer.c: Likewise.
10322 * grub-core/script/main.c: Likewise.
10323 * grub-core/script/script.c: Likewise.
10324 * grub-core/script/parser.y: Likewise. New `block' and `block0'
10325 non-terminals.
10326
10327 * grub-core/commands/acpi.c: Update extcmd implementations with
10328 grub_extcmd_context_t.
10329 * grub-core/commands/cat.c: Likewise.
10330 * grub-core/commands/echo.c: Likewise.
10331 * grub-core/commands/extcmd.c: Likewise.
10332 * grub-core/commands/hashsum.c: Likewise.
10333 * grub-core/commands/hdparm.c: Likewise.
10334 * grub-core/commands/help.c: Likewise.
10335 * grub-core/commands/hexdump.c: Likewise.
10336 * grub-core/commands/i386/cpuid.c: Likewise.
10337 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10338 * grub-core/commands/i386/pc/halt.c: Likewise.
10339 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10340 * grub-core/commands/iorw.c: Likewise.
10341 * grub-core/commands/keystatus.c: Likewise.
10342 * grub-core/commands/loadenv.c: Likewise.
10343 * grub-core/commands/ls.c: Likewise.
10344 * grub-core/commands/lspci.c: Likewise.
10345 * grub-core/commands/memrw.c: Likewise.
10346 * grub-core/commands/probe.c: Likewise.
10347 * grub-core/commands/search_wrap.c: Likewise.
10348 * grub-core/commands/setpci.c: Likewise.
10349 * grub-core/commands/sleep.c: Likewise.
10350 * grub-core/disk/loopback.c: Likewise.
10351 * grub-core/hello/hello.c: Likewise.
10352 * grub-core/loader/i386/bsd.c: Likewise.
10353 * grub-core/loader/xnu.c: Likewise.
10354 * grub-core/term/gfxterm.c: Likewise.
10355 * grub-core/term/serial.c: Likewise.
10356 * grub-core/tests/lib/functional_test.c: Likewise.
10357
888d1500
BC
103582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10359
10360 Multi-line quoted strings support.
10361
10362 * grub-core/script/lexer.c (append_newline): Removed.
10363 (grub_script_lexer_yywrap): Refactored.
10364 (grub_script_lexer_init): Refactored.
10365 * grub-core/script/yylex.l (yywrap): New function.
10366 (grub_lexer_resplit): New function.
10367 (grub_lexer_unput): New function.
10368 * include/grub/script_sh.h (grub_lexer_param): New members, unput
10369 and resplit.
10370 * tests/grub_script_echo1.in: Added few more testcases.
10371
dda060dd
VS
103722010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/kern/misc.c: Don't add abort alias in utils.
10375 Reported by: echoline.
10376
6556eba9
BC
103772010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
10378
10379 Add missing files into "make dist" tarball for other platforms.
10380
10381 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
10382 * conf/Makefile.common (dist_noinst_DATA): New variable.
10383 * conf/Makefile.extra-dist: Added missing make dist files.
10384 * grub-core/Makefile.core.def: Likewise.
10385
c8e7bf5f
VS
103862010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 Compress grub_prefix.
10389
10390 * grub-core/boot/i386/pc/lnxboot.S: Use
10391 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
10392 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
10393 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
10394 GRUB_MACHINE_PREFIX_END. All users updated.
10395 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
10396 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
10397 + 0x40.
10398 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10399 * util/grub-mkimage.c (image_target_desc): Change data_end to
10400 prefix_end. All users updated.
10401
a7c00cdb
VS
104022010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
10405 value.
10406 (grub_openbsd_boot): Likewise.
10407 (grub_netbsd_boot): Likewise.
10408 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
10409 (grub_xnu_boot): Likewise.
10410
9f915872
VS
104112010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 * configure.ac: Clean LIBS variable after tests.
10414
efa1bee7
CW
104152010-09-02 Colin Watson <cjwatson@ubuntu.com>
10416
10417 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
10418
61d720e5
VS
104192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
10422 echo if libdevmapper will be used.
10423
ef8e0ec8
IT
104242010-09-02 Ian Turner <Ian.Turner@deshaw.com>
10425
10426 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
10427 constant for the same file.
10428
03e261d8
VS
104292010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
10432
c2a4eba6
CW
104332010-09-02 Colin Watson <cjwatson@ubuntu.com>
10434
10435 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
10436 grub-core/*.pp.
10437
9056cbf3
CW
104382010-09-02 Colin Watson <cjwatson@ubuntu.com>
10439
10440 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
10441 required by the boot protocol.
10442
10443 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
10444 ebp and edi members.
10445 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
10446 state.ebp and state.edi.
10447 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
10448 %ebp and %edi according to grub_relocator32_ebp and
10449 grub_relocator32_edi respectively.
10450 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
10451 and state.edi.
10452
529cc99a
VS
104532010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 Add i386-pc-pxe image target.
10456
10457 * util/grub-mkimage.c (image_target_desc): New enum value
10458 IMAGE_I386_PC_PXE.
10459 (image_targets): New target i386-pc-pxe.
10460 (generate_image): Handle i386-pc-pxe image.
10461
9a093920
VS
104622010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 Fix grub_pxe_scan.
10465
10466 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
10467 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
10468 All users updated.
10469 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
10470 (grub_pxe_pxenv): Correct type.
10471
f9cefc4e
CW
104722010-09-01 Colin Watson <cjwatson@ubuntu.com>
10473
10474 * NEWS: Document most of the important changes since 1.98.
10475
4066f57f
CW
104762010-09-01 Colin Watson <cjwatson@ubuntu.com>
10477
10478 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
10479 generated manual page) a little.
10480
da2891f9
CW
104812010-09-01 Colin Watson <cjwatson@ubuntu.com>
10482
10483 * docs/grub.texi: Add myself as an author.
10484
ad717fae
VS
104852010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 * Makefile.util.def (libgrub.a): Add missing sunpc.
10488 Reported by: Seth Goldberg.
10489
eefe8abd
VS
104902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 Interrupt wrapping and code simplifications.
10493
9494ef9a
VS
10494 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10495 x86_noieee1275 which are functionaly equivalent in this case.
10496 (grub-install): Make source on each platform explicit. Enable on
10497 all noemu.
10498 * gentpl.py (x86_efi_pc): Removed group.
10499 (x86_noefi): Likewise.
10500 (i386_noefi): Likewise.
10501 (x86_noieee1275): Likewise.
10502 (i386_noieee1275): Likewise.
10503 (i386_noefi_noieee1275): Likewise.
10504 (i386_pc_qemu_coreboot): Likewise.
10505 (i386_coreboot_multiboot): Likewise.
10506 (i386_pc_coreboot_multiboot_qemu): Likewise.
10507 (x86_noefi_mips): Likewise.
10508 (noieee1275): Likewise.
10509 (ieee1275_mips): Likewise.
10510 (noemu_noieee1275): Likewise.
10511 (cmos): New group.
10512 (usb): Likewise.
10513 (videoinkernel): Likewise.
10514 (videomodules): Likewise.
eefe8abd 10515 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
10516 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10517 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10518 include/grub/loader.h, include/grub/msdos_partition.h,
10519 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10520 include/grub/machine/console.h, include/grub/machine/vga.h,
10521 include/grub/machine/vbe.h, include/grub/machine/init.h,
10522 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10523 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 10524 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
10525 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10526 * grub-core/Makefile.core.def (kernel): Explicit the source for
10527 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10528 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10529 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10530 Use videoinkernel tag.
10531 (usb): Enable on all usb.
10532 (usbserial_common): Likewise.
10533 (usbserial_pl2303): Likewise.
10534 (usbserial_ftdi): Likewise.
10535 (uhci): Enable on all x86.
10536 (ohci): Enable on all pci.
10537 (cmostest): Enable on all CMOS.
10538 (acpi): Include commands/acpi.c on all platforms.
10539 (halt): Add relevant lib/*/halt.c.
10540 (hdparm): Enable on all pci.
10541 (lspci): Likewise.
10542 (usbtest): Enable on all usb.
10543 (ata): Enable on all pci.
10544 (ata_pthru): Likewise.
10545 (usbms): Enable on all usb.
10546 (usb_keyboard): Likewise.
10547 (font): Use tag videomodules.
10548 (bufio): Likewise.
10549 (datetime): Use tag cmos. Enable on all noemu.
10550 (mmap): Use tags common and x86.
10551 (gfxterm): Use tag videomodules.
10552 (bitmap): Likewise.
10553 (bitmap_scale): Likewise.
10554 (video_fb): Likewise.
10555 (video): Likewise.
10556 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10557 adjust padding accordingly. All users updated.
10558 (grub_ohci_transaction): Fix bad format specification.
10559 (GRUB_MOD_INIT): Add asserts for struct size.
10560 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10561 (grub_alloc_td): Likewise.
10562 (grub_free_queue): Likewise.
10563 (grub_uhci_transfer): Likewise.
10564 (grub_uhci_transaction): Fix bad format specification.
10565 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10566 (grub_usb_bulk_readwrite): Likewise.
10567 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10568 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10569 Made static.
10570 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10571 Made static.
10572 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10573 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10574 Transformed into C.
10575 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10576 Moved from here ...
10577 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10578 ... here. Transformed into C. Made static.
10579 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10580 Moved from here ...
10581 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10582 ... here. Transformed into C. Made static.
10583 * grub-core/kern/i386/pc/startup.S
10584 (grub_biosdisk_check_int13_extensions): Moved from here ...
10585 * grub-core/disk/i386/pc/biosdisk.c
10586 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10587 Made static.
10588 * grub-core/kern/i386/pc/startup.S
10589 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10590 * grub-core/disk/i386/pc/biosdisk.c
10591 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10592 Transformed into C. Made static.
10593 * grub-core/kern/i386/pc/startup.S
10594 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10595 * grub-core/disk/i386/pc/biosdisk.c
10596 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10597 Transformed into C. Made static.
10598 * grub-core/kern/i386/pc/startup.S
10599 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10600 * grub-core/disk/i386/pc/biosdisk.c
10601 (grub_biosdisk_get_diskinfo_standard): ... here.
10602 Transformed into C. Made static.
10603 * grub-core/kern/i386/pc/startup.S
10604 (grub_biosdisk_get_num_floppies): Moved from here ...
10605 * grub-core/disk/i386/pc/biosdisk.c
10606 (grub_biosdisk_get_num_floppies): ... here.
10607 Transformed into C. Made static.
10608 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10609 New function.
10610 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10611 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10612 Transformed into C. Made static.
10613 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10614 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10615 Transformed into C. Made static.
10616 * grub-core/kern/i386/ieee1275/init.c: Removed.
10617 * grub-core/kern/i386/misc.S: Likewise.
10618 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10619 Splitted from here ...
10620 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10621 Transformed into C. Made static. All users updated.
10622 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10623 Transformed into C. Made static. All users updated.
10624 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10625 Moved from here...
10626 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10627 Transformed into C. Made static. All users updated.
10628 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10629 Moved from here...
10630 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10631 Transformed into C. Made static. All users updated.
10632 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10633 Removed (replaced by C version).
10634 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10635 Moved from here...
10636 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10637 Transformed into C. Made static.
10638 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10639 Moved from here...
10640 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10641 ... here. Transformed into C.
10642 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10643 Moved from here...
10644 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10645 ... here. Transformed into C.
10646 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10647 Moved from here...
10648 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10649 ... here. Transformed into C. Made static.
10650 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10651 Moved from here...
10652 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10653 ... here. Transformed into C.
21ed554b
VS
10654 * grub-core/kern/i386/pc/startup.S
10655 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10656 * grub-core/video/i386/pc/vbe.c
10657 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
10658 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10659 Moved from here...
10660 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10661 ... here. Transformed into C.
10662 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10663 Moved from here...
10664 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10665 ... here. Transformed into C.
10666 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10667 Moved from here...
10668 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10669 ... here. Transformed into C.
10670 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10671 Moved from here...
10672 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10673 ... here. Transformed into C.
10674 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10675 Moved from here...
10676 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10677 ... here. Transformed into C. Made static.
10678 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10679 Moved from here...
10680 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10681 ... here. Transformed into C. Made static.
10682 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10683 Moved from here...
10684 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10685 ... here. Transformed into C. Made static.
10686 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10687 pxe_rm_entry as third argument.
10688 (grub_bios_interrupt): New function.
10689 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10690 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10691 of calling grub_stop.
10692 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10693 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10694 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10695 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10696 * grub-core/lib/i386/halt.c: Moved from here ...
10697 * grub-core/lib/i386/halt.c: ... here.
10698 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10699 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10700 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10701 grub_stop_floppy.
10702 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10703 * include/grub/i386/coreboot/init.h: Removed.
10704 * include/grub/i386/multiboot/init.h: Likewise.
10705 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10706 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10707 * include/grub/i386/pc/int.h: New file.
10708 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10709 (grub_pxe_scan): Removed.
10710 (grub_pxe_call): Update prototype.
10711 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10712 prototypes.
10713 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10714 * include/grub/i386/qemu/init.h: Removed.
10715 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10716 noreturn.
10717 (grub_halt): Likewise.
10718 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10719 (grub_reboot): Likewise.
10720 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10721 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
10722 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10723
215dd471
RM
107242010-08-30 Robert Millan <rmh@gnu.org>
10725
10726 * NEWS: Document addition of ZFS support in `grub-install' and
10727 `grub-mkconfig'.
10728
ebd65b82
BC
107292010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10730
10731 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10732 dprintf output.
10733
11721d19
VS
107342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 Remove leftover embedding of font objects.
10737
10738 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10739 * util/grub-install.in (font): Removed.
10740 * util/grub-mkimage.c (generate_image): Remove font support. All users
10741 updated.
10742
37837d4e
VS
107432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 Remove leftover embedding of font objects.
10746
10747 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10748 * util/grub-install.in (font): Removed.
10749 * util/grub-mkimage.c (generate_image): Remove font support. All users
10750 updated.
10751
b4c1aae0
VS
107522010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 10755 Reported by: Ian Turner
b4c1aae0 10756
8920a08d
VS
107572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10760 timeout to avoid indefinite boot stalling.
10761
f21db033
VS
107622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10765 (grub_env_write_color_highlight): Likewise.
10766
9a9de209
VS
107672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * grub-core/normal/term.c (print_more): Return to normal and not
10770 to standard state after printing "---MORE---".
10771
3dca01d7
VS
107722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10775 Mask out the bit 0x80 since it has other meaning that specifiing color.
10776
0b986c40
VS
107772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 New relocator. Allows for more kernel support and more straightforward
10780 loader writing.
10781
10782 * Makefile.am (BOOTTARGET): New variable.
10783 (QEMU32): Likewise.
10784 (linux.init.x86_64): New target.
10785 (linux.init.i386): Likewise.
10786 (multiboot.elf): Likewise.
10787 (kfreebsd.elf): Likewise.
10788 (kfreebsd.aout): Likewise.
10789 (pc-chainloader.elf): Likewise.
10790 (pc-chainloader.bin): Likewise.
10791 (ntldr.elf): Likewise.
10792 (ntldr.bin): Likewise.
10793 (multiboot2.elf): Likewise.
10794 (kfreebsd.init.x86_64): Likewise.
10795 (kfreebsd.init.i386): Likewise.
10796 (knetbsd.init.i386): Likewise.
10797 (kopenbsd.init.i386): Likewise.
10798 (knetbsd.init.x86_64): Likewise.
10799 (kopenbsd.init.x86_64): Likewise.
10800 (linux-initramfs.i386): Likewise.
10801 (linux-initramfs.x86_64): Likewise.
10802 (kfreebsd-mfsroot.i386.img): Likewise.
10803 (knetbsd.image.i386): Likewise.
10804 (kopenbsd.image.i386): Likewise.
10805 (kopenbsd.image.x86_64): Likewise.
10806 (knetbsd.miniroot-image.i386.img): Likewise.
10807 (kfreebsd-mfsroot.x86_64.img): Likewise.
10808 (knetbsd.image.x86_64): Likewise.
10809 (knetbsd.miniroot-image.x86_64.img): Likewise.
10810 (kfreebsd-mfsroot.i386.gz): Likewise.
10811 (bootcheck-kfreebsd-i386): Likewise.
10812 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10813 (bootcheck-kfreebsd-x86_64): Likewise.
10814 (knetbsd.miniroot-image.i386.gz): Likewise.
10815 (bootcheck-knetbsd-i386): Likewise.
10816 (bootcheck-kopenbsd-i386): Likewise.
10817 (bootcheck-kopenbsd-x86_64): Likewise.
10818 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10819 (bootcheck-knetbsd-x86_64): Likewise.
10820 (bootcheck-linux-i386): Likewise.
10821 (bootcheck-linux-x86_64): Likewise.
10822 (bootcheck-linux16-i386): Likewise.
10823 (bootcheck-linux16-x86_64): Likewise.
10824 (bootcheck-multiboot): Likewise.
10825 (bootcheck-multiboot2): Likewise.
10826 (bootcheck-kfreebsd-aout): Likewise.
10827 (bootcheck-pc-chainloader): Likewise.
10828 (bootcheck-ntldr): Likewise.
10829 (CLEANFILES): Add new targets.
10830 (BOOTCHECKS): New variable.
10831 (.PHONY): Add bootchecks.
10832 (SUCCESSFUL_BOOT_STRING): New variable.
10833 (BOOTCHECK_TIMEOUT): Likewise.
10834 (bootcheck): New target
10835 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10836 * configure.ac: Correct efiemu excuse.
10837 * docs/grub.texi (Supported kernels): New chapter.
10838 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10839 include/grub/mm_private.h. Simplify inclusion of
10840 include/grub/boot.h, include/grub/loader.h
10841 and include/grub/msdos_partition.h
10842 (KERNEL_HEADER_FILES) [i386_coreboot]:
10843 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10844 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10845 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10846 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10847 include/grub/machine/loader.h.
10848 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10849 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10850 extra_dist.
10851 (pci.mod): Enable on i386-multiboot.
10852 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10853 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10854 i386-qemu.
10855 (relocator.mod): Rewritten.
10856 (aout.mod): Enable on all x86.
10857 (bsd.mod): Likewise.
10858 (ntldr.mod): New module.
10859 (linux.mod): Use loader/i386/linux.c on all x86.
10860 (xnu.mod): Enable on all x86.
10861 (vga_text.mod): disable on EFI and QEMU.
10862 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10863 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10864 * grub-core/efiemu/loadcore.c: Likewise.
10865 * grub-core/efiemu/main.c: Likewise.
10866 (grub_efiemu_exit_boot_services): Removed.
10867 (grub_efiemu_finish_boot_services): Likewise.
10868 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10869 function.
10870 * grub-core/efiemu/i386/nocfgtables.c: New file.
10871 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10872 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10873 (grub_efi_finish_boot_services): Moved from here ...
10874 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10875 Fille finish memory map and related data.
10876 (finish_mmap_buf): New variable.
10877 (grub_efi_uintn_t finish_mmap_size): Likewise.
10878 (grub_efi_uintn_t finish_key): Likewise.
10879 (grub_efi_uintn_t finish_desc_size): Likewise.
10880 (grub_efi_uint32_t finish_desc_version): Likewise.
10881 (grub_efi_is_finished): Likewise.
10882 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10883 finished.
10884 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10885 (grub_elf64_phdr_iterate): Likewise.
10886 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10887 (grub_os_area_size): Likewise.
10888 (grub_machine_init): Don't reserve os area.
10889 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10890 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10891 * grub-core/kern/i386/loader.S: Removed.
10892 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10893 (grub_os_area_size): Likewise.
10894 (grub_machine_init): Don't reserve os area.
10895 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10896 Don't call grub_dl_unload_all.
10897 Don't include loader.S.
10898 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10899 Declare the memory after _end as available.
10900 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 10901 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 10902 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
10903 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10904 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10905 * include/grub/mm_private.h (grub_mm_header): ... here.
10906 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10907 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
10908 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10909 (grub_mm_region): ..here. Removed addr. Added pre_size.
10910 All users updated.
10911 * grub-core/kern/mm.c (base): Renamed to ...
10912 (grub_mm_base): ... this. Made global.
10913 (grub_real_malloc): Alloc from end of region.
10914 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10915 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10916 * grub-core/kern/powerpc/cache_flush.S: ... here.
10917 * grub-core/lib/efi/relocator.c: New file.
10918 * grub-core/lib/i386/relocator.c: Rewritten.
10919 * grub-core/lib/i386/relocator16.S: New file.
10920 * grub-core/lib/i386/relocator32.S: Likewise.
10921 * grub-core/lib/i386/relocator64.S: Likewise.
10922 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10923 * grub-core/lib/i386/relocator_common.S: New file.
10924 * grub-core/lib/ieee1275/relocator.c: Likewise.
10925 * grub-core/lib/mips/relocator.c: Rewritten.
10926 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10927 stylistic adjustments.
10928 * grub-core/lib/powerpc/relocator.c: New file.
10929 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10930 * grub-core/lib/relocator.c: Rewritten.
10931 * grub-core/lib/x86_64/relocator_asm.S: New file.
10932 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10933 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10934 (bsd_tag): New struct.
10935 (tags): New variable.
10936 (tags_last): Likewise.
10937 (netbsd_module): New struct.
10938 (netbsd_mods): New variable.
10939 (netbsd_mods_last): Likewise.
10940 (openbsd_opts): New parameter "serial".
10941 (OPENBSD_SERIAL_ARG): New definition.
10942 (netbsd_opts): New parameter "serial".
10943 (NETBSD_SERIAL_ARG): New definition.
10944 (grub_freebsd_add_meta): Reorganised into ...
10945 (grub_bsd_add_meta): ...this. All users updated.
10946 (grub_freebsd_add_mmap): Reorganised into ...
10947 (generate_e820_mmap): ...this...
10948 (grub_bsd_add_mmap): ...and this. All users updated.
10949 (grub_freebsd_list_modules): Use tags.
10950 (grub_netbsd_add_meta_module): New function.
10951 (grub_netbsd_list_modules): Likewise.
10952 (grub_freebsd_boot): Use relocator and finish EFI.
10953 (grub_openbsd_boot): Likewise.
10954 (grub_netbsd_setup_video): New function.
10955 (grub_netbsd_add_modules): Likewise.
10956 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10957 and finish EFI.
10958 (grub_bsd_unload): Unload tags.
10959 (grub_bsd_load_aout): Use relocator.
10960 (grub_bsd_elf32_size_hook): New function.
10961 (grub_bsd_elf32_hook): Use relocator.
10962 (grub_bsd_elf64_size_hook): New function.
10963 (grub_bsd_elf64_hook): Use relocator.
10964 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10965 (grub_bsd_load): Zero-out openbsd_ramdisk.
10966 (grub_bsd_load): Use relocator.
10967 (grub_cmd_openbsd): Support serial.
10968 (grub_cmd_netbsd): Support modules.
10969 (grub_cmd_freebsd_module): Use relocator.
10970 (grub_netbsd_module_load): New function.
10971 (grub_cmd_netbsd_module): Likewise.
10972 (grub_cmd_openbsd_ramdisk): Likewise.
10973 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10974 kopenbsd_ramdisk.
10975 (GRUB_MOD_FINI): Unregister new commands.
10976 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10977 (grub_freebsd_load_elfmodule_obj): Use relocator.
10978 (grub_freebsd_load_elfmodule): Likewise.
10979 (grub_freebsd_load_elf_meta): Likewise.
10980 (grub_netbsd_load_elf_meta): New function.
10981 (grub_openbsd_find_ramdisk): Likewise.
10982 * grub-core/loader/i386/bsd_helper.S: Removed.
10983 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10984 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10985 * grub-core/loader/i386/efi/linux.c: Likewise.
10986 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10987 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10988 (DEFAULT_VIDEO_MODE): Likewise.
10989 (real_mode_target): New variable.
10990 (prot_mode_target): Likewise.
10991 (initrd_mem_target): Likewise.
10992 (relocator): Likewise.
10993 (efi_mmap_buf): Likewise.
10994 (efi_mmap_size): Likewise.
10995 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10996 (free_pages): Use relocator.
10997 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10998 (grub_linux_setup_video): Return error.
10999 (grub_linux_trampoline_start): Removed.
11000 (grub_linux_trampoline_end): Likewise.
11001 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
11002 andd video parameters depending on firmware.
11003 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
11004 [GRUB_MACHINE_EFI]: Pass EFI parameters.
11005 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
11006 (grub_cmd_initrd): Use relocator.
11007 * grub-core/loader/i386/linux_trampoline.S: Removed.
11008 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
11009 (elf_sec_entsize): Likewise.
11010 (elf_sec_shstrndx): Likewise.
11011 (elf_sections): Likewise.
11012 (grub_multiboot_load): Use relocator.
11013 (grub_multiboot_get_mbi_size): Account for sections.
11014 (grub_multiboot_make_mbi): Use relocator and support sections.
11015 (grub_multiboot_add_elfsyms): New function.
11016 (grub_multiboot_free_mbi): Free sections.
11017 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
11018 (grub_linux_real_target): Likewise.
11019 (grub_linux_real_chunk): Likewise.
11020 (grub_linux16_prot_size): Likewise.
11021 (grub_linux16_boot): Use relocator.
11022 (grub_linux_unload): Unload relocator.
11023 (grub_cmd_linux): Use relocator.
11024 (grub_cmd_initrd): Likewise.
11025 * grub-core/loader/i386/pc/ntldr.c: New file.
11026 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
11027 Don't try to guess CPU frequency.
11028 (grub_xnu_set_video): Stretch bitmap.
11029 (grub_xnu_boot): Use relocator.
11030 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
11031 (grub_linux_unload): Free relocator.
11032 (grub_linux_load32): Use relocator.
11033 (grub_linux_load64): Likewise.
11034 (grub_cmd_initrd): Likewise.
11035 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
11036 (grub_multiboot_unload): Unload relocator.
11037 (grub_cmd_multiboot): Use relocator.
11038 (grub_cmd_module): Likewise.
11039 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
11040 Use relocator and support sections.
11041 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
11042 (elf_sec_entsize): Likewise.
11043 (elf_sec_shstrndx): Likewise.
11044 (elf_sections): Likewise.
11045 (grub_multiboot_load): Use relocator.
11046 (grub_multiboot_get_mbi_size): Account for sections.
11047 (grub_multiboot_make_mbi): Use relocator and support sections.
11048 (grub_multiboot_add_elfsyms): New function.
11049 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
11050 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
11051 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
11052 Prototype changed. All users updated.
11053 (grub_xnu_align_heap): Simplified.
11054 (grub_xnu_writetree_toheap): Likewise.
11055 (grub_xnu_unload): Unload relocator.
11056 (grub_cmd_xnu_kernel): Use relocator.
11057 (grub_cmd_xnu_kernel64): Likewise.
11058 (grub_xnu_register_memory): Simplified.
11059 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
11060 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
11061 EFI is finished.
11062 (grub_console_checkkey): Likewise.
11063 (grub_console_getkey): Likewise.
11064 (grub_console_getwh): Likewise.
11065 (grub_console_getxy): Likewise.
11066 (grub_console_gotoxy): Likewise.
11067 (grub_console_cls): Likewise.
11068 (grub_console_setcolorstate): Likewise.
11069 (grub_console_setcursor): Likewise.
11070 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
11071 * grub-core/tests/boot/kbsd.init-i386.S: New file.
11072 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
11073 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
11074 * grub-core/tests/boot/kernel-8086.S: Likewise.
11075 * grub-core/tests/boot/kernel-i386.S: Likewise.
11076 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
11077 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
11078 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
11079 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
11080 * grub-core/tests/boot/knetbsd.cfg: Likewise.
11081 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
11082 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
11083 * grub-core/tests/boot/linux.cfg: Likewise.
11084 * grub-core/tests/boot/linux.init-i386.S: Likewise.
11085 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
11086 * grub-core/tests/boot/linux16.cfg: Likewise.
11087 * grub-core/tests/boot/multiboot.cfg: Likewise.
11088 * grub-core/tests/boot/multiboot2.cfg: Likewise.
11089 * grub-core/tests/boot/ntldr.cfg: Likewise.
11090 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
11091 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
11092 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
11093 New definition.
11094 * include/grub/dl.h (grub_dl_unload_all): Removed.
11095 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
11096 (grub_efi_finish_boot_services): Change prototype.
11097 (grub_efi_is_finished): New variable.
11098 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
11099 Changed prototype.
11100 (grub_efiemu_finish_boot_services): Removed.
11101 (grub_machine_efiemu_init_tables): New prototype.
11102 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
11103 (grub_elf64_phdr_iterate): Likewise.
11104 * include/grub/i386/bsd.h: Include relocator.h.
11105 (freebsd_tag_header): New struct.
11106 (grub_openbsd_bios_mmap): Removed.
11107 (grub_unix_real_boot): Removed.
11108 (grub_freebsd_load_elfmodule32): Changed prototype.
11109 (grub_freebsd_load_elfmodule_obj64): Likewise.
11110 (grub_freebsd_load_elf_meta32): Likewise.
11111 (grub_freebsd_load_elf_meta64): Likewise.
11112 (grub_freebsd_add_meta): Removed.
11113 (grub_netbsd_load_elf_meta32): New prototype.
11114 (grub_netbsd_load_elf_meta64): Likewise.
11115 (grub_bsd_add_meta): Likewise.
11116 (grub_openbsd_ramdisk_descriptor): New struct.
11117 (grub_openbsd_find_ramdisk32): New prototype.
11118 (grub_openbsd_find_ramdisk64): Likewise.
11119 * include/grub/i386/coreboot/loader.h: Removed.
11120 * include/grub/i386/efi/loader.h: Likewise.
11121 * include/grub/i386/ieee1275/loader.h: Likewise.
11122 * include/grub/i386/linux.h (linux_kernel_header): Change void *
11123 to grub_uint32_t.
11124 * include/grub/i386/loader.h: Removed.
11125 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
11126 value.
11127 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
11128 (grub_phys_addr_t): New type.
11129 (grub_vtop): New inline function.
11130 (grub_map_memory): Likewise.
11131 (grub_unmap_memory): Likewise.
11132 * include/grub/i386/multiboot/loader.h: Removed.
11133 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
11134 (NETBSD_BTINFO_CONSOLE): New definition.
11135 (NETBSD_BTINFO_SYMTAB): Likewise.
11136 (NETBSD_BTINFO_MODULES): Likewise.
11137 (NETBSD_BTINFO_FRAMEBUF): Likewise.
11138 (grub_netbsd_bootinfo): New struct.
11139 (grub_netbsd_btinfo_common): Use explicit bitsize.
11140 (grub_netbsd_btinfo_mmap_entry): Removed.
11141 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
11142 (grub_netbsd_btinfo_bootdisk): New struct.
11143 (grub_netbsd_btinfo_symtab): Likewise.
11144 (grub_netbsd_btinfo_serial): Likewise.
11145 (grub_netbsd_btinfo_modules): Likewise.
11146 (grub_netbsd_btinfo_framebuf): Likewise.
11147 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
11148 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
11149 Likewise.
11150 (grub_openbsd_bootargs): Use explicit bitsize.
11151 (grub_openbsd_bootarg_console): New struct.
11152 (GRUB_OPENBSD_COM_MAJOR): New definition.
11153 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
11154 * include/grub/i386/pc/efiemu.h: Removed.
11155 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
11156 * include/grub/i386/qemu/loader.h: Removed.
11157 * include/grub/i386/relocator.h: Rewritten.
11158 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
11159 * include/grub/mips/memory.h: New file.
11160 * include/grub/mips/multiboot.h: Rewritten.
11161 * include/grub/mips/relocator.h: Rewritten.
11162 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
11163 (grub_vtop): New function.
11164 (grub_map_memory): Likewise.
11165 (grub_unmap_memory): Likewise.
11166 * include/grub/misc.h (ALIGN_DOWN): New definition.
11167 * include/grub/mm.h (grub_mm_check_real): New proto.
11168 (GRUB_MM_CHECK): New definition.
11169 * include/grub/mm_private.h: New file.
11170 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
11171 (grub_multiboot_get_mbi_size): Removed.
11172 (grub_multiboot_make_mbi): Change prottype.
11173 (grub_multiboot_set_accepts_video): New proto.
11174 (grub_multiboot_add_elfsyms): Likewise.
11175 (grub_multiboot_payload_eip): New variable.
11176 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
11177 New prototype.
11178 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
11179 New definition.
11180 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
11181 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
11182 * include/grub/powerpc/ieee1275/loader.h: Removed.
11183 * include/grub/powerpc/memory.h: New file.
11184 * include/grub/powerpc/relocator.h: Likewise.
11185 * include/grub/relocator.h: Likewise.
11186 * include/grub/relocator_private.h: Likewise.
11187 * include/grub/sparc64/ieee1275/loader.h: Removed.
11188 * include/grub/x86_64/memory.h: New file.
11189 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
11190 (grub_xnu_heap_malloc): Likewise.
11191 (grub_xnu_heap_real_start): Removed.
11192 (grub_xnu_heap_start): Likewise.
11193 (grub_xnu_relocator): New variable.
11194 (grub_xnu_heap_target_start): Likewise.
11195 * tests/util/grub-shell.in: Support non-pc.
11196 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 11197
5303b85d
VS
111982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
11201 on malloc error.
11202 (grub_bidi_logical_to_visual): Check that malloc succeded.
11203 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
11204 puts.
11205 (grub_xputs_normal): Likewise.
11206
d768d159
VS
112072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
11210 extra_dist.
11211
112122010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 * grub-core/efiemu/runtime/efiemu.sh: Removed.
11215
5bf84df4
VS
112162010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
11219
3626810e
VS
112202010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
11223 dprintf.
11224
a7363f53
BC
112252010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
11226
11227 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
11228
902f75f6
VS
112292010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * grub-core/normal/term.c (print_more): Fix a memory leak.
11232 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
11233 (grub_xputs_normal): Likewise.
11234
3c707967
VS
112352010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
11238 the begining of the string
11239
2053cc07
VS
112402010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * grub-core/script/script.c (grub_script_parse): Free parsed on
11243 failure.
11244
46422ebf
VS
112452010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
11248 on failure.
11249
9e0fa3f6
VS
112502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
11253 return.
11254
3393cf16
VS
112552010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
11258 (scroll_up): Fix a memory leak.
11259
b17540cb
VS
112602010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
11263 errors.
11264
67140446
VS
112652010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 Handle USB pendrives exposed as floppies.
11268
11269 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
11270 floppy.
11271 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11272 Check for partitions on all devices.
11273
e35e46fc
VS
112742010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
11277 (readkey): Likewise.
11278
d24c6190
BC
112792010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11280
11281 Multiple variable names support to "export" command.
11282
11283 * normal/context.c (grub_cmd_export): "export" command supports
11284 multiple variable names.
11285
04ddcc6a
ST
112862010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
11287
11288 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
11289 --target=drive output to Mach device name.
11290
0c8b61d8
BC
112912010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11292
11293 New Automake based build system for GRUB.
11294
11295 * ABOUT-NLS: New file.
11296 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
11297 in Makefile.util.def file.
11298 * Makefile.util.def: New file. Autogen build definitions file for
11299 GRUB host utils.
11300 * conf/Makefile.common: New file. Common variables for GRUB host
11301 utils and target modules.
11302 * conf/Makefile.extra-dist: New file. Extra files for make dist.
11303 * docs/Makefile.am: New file. Automake file for docs.
11304 * gentpl.py: New file. Python script to generate Autogen
11305 template.
11306 * grub-core/Makefile.am: New file. GRUB target modules' rules
11307 that doesn't fit in Makefile.core.def file.
11308 * grub-core/Makefile.core.def: New file. Autogen build
11309 definitions file for GRUB target modules.
11310 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
11311 specific setjmp.S file.
11312 * po/Makefile.am: New file.
11313
11314 * .bzrignore: New ignores.
11315 * INSTALL: New requirements, without Ruby.
11316 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
11317 * autogen.sh: Updated to invoke autogen as necessary.
11318 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
11319 and defines for Automake conditionals.
11320 * geninit.sh: Refactoring.
11321
11322 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
11323 necessary.
11324 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
11325 New prototype.
11326
11327 * include/grub/test.h: Fix functional test modules' naming.
11328 * grub-core/tests/example_functional_test.c: Fix test module name.
11329
11330 * util/misc.c: Hosted versions' of grub functions for libgrub.a
11331 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
11332 * util/grub-editenv.c: Likewise.
11333 * util/grub-fstest.c: Likewise.
11334 * util/grub-mkdevicemap.c: Likewise.
11335 * util/grub-mkfont.c: Likewise.
11336 * util/grub-mkimage.c: Likewise.
11337 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11338 * util/grub-probe.c: Likewise.
11339 * util/grub-script-check.c: Likewise.
11340 * util/i386/pc/grub-setup.c: Likewise.
11341 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11342
11343 * tests/util/grub-shell.in: Fix override directory path.
11344 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
11345 * util/import_gcry.py: Create Makefile.gcry.def file instead.
11346
11347 * util/lvm.c: Update #includes.
11348 * util/raid.c: Likewise.
11349 * util/resolve.c: Likewise.
11350 * grub-core/bus/emu/pci.c: Likewise.
11351 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
11352 * grub-core/lib/posix_wrap/string.h: Likewise.
11353 * grub-core/kern/emu/main.c: Likewise.
11354
11355 * grub-core/gensymlist.sh: New file. Script for generating kernel
11356 symbols file.
11357 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
11358
11359 * grub-core/gentrigtables.c: Fix unused variable warnings.
11360
11361 * Makefile.in: Removed.
11362 * conf/any-emu.rmk: Removed.
11363 * conf/common.rmk: Removed.
11364 * conf/i386-coreboot.rmk: Removed.
11365 * conf/i386-efi.rmk: Removed.
11366 * conf/i386-ieee1275.rmk: Removed.
11367 * conf/i386-multiboot.rmk: Removed.
11368 * conf/i386-pc.rmk: Removed.
11369 * conf/i386-qemu.rmk: Removed.
11370 * conf/i386.rmk: Removed.
11371 * conf/mips-yeeloong.rmk: Removed.
11372 * conf/mips.rmk: Removed.
11373 * conf/powerpc-ieee1275.rmk: Removed.
11374 * conf/sparc64-ieee1275.rmk: Removed.
11375 * conf/tests.rmk: Removed.
11376 * conf/x86-efi.rmk: Removed.
11377 * conf/x86_64-efi.rmk: Removed.
11378 * gendistlist.sh: Removed.
11379 * geninitheader.sh: Removed.
11380 * genkernsyms.sh.in: Removed.
11381 * genmk.rb: Removed.
11382 * gensymlist.sh.in: Removed.
11383 * mkinstalldirs: Removed.
11384 * boot: Moved ...
11385 * grub-core/boot: ... to here.
11386 * bus: Moved ...
11387 * grub-core/bus: ... to here.
11388 * commands: Moved ...
11389 * grub-core/commands: ... to here.
11390 * disk: Moved ...
11391 * grub-core/disk: ... to here.
11392 * efiemu: Moved ...
11393 * grub-core/efiemu: ... to here.
11394 * font: Moved ...
11395 * grub-core/font: ... to here.
11396 * fs: Moved ...
11397 * grub-core/fs: ... to here.
11398 * gencmdlist.sh: Moved ...
11399 * grub-core/gencmdlist.sh: ... to here.
11400 * genemuinit.sh: Moved ...
11401 * grub-core/genemuinit.sh: ... to here.
11402 * genemuinitheader.sh: Moved ...
11403 * grub-core/genemuinitheader.sh: ... to here.
11404 * genfslist.sh: Moved ...
11405 * grub-core/genfslist.sh: ... to here.
11406 * genhandlerlist.sh: Moved ...
11407 * grub-core/genhandlerlist.sh: ... to here.
11408 * genmoddep.awk: Moved ...
11409 * grub-core/genmoddep.awk: ... to here.
11410 * genmodsrc.sh: Moved ...
11411 * grub-core/genmodsrc.sh: ... to here.
11412 * genpartmaplist.sh: Moved ...
11413 * grub-core/genpartmaplist.sh: ... to here.
11414 * genparttoollist.sh: Moved ...
11415 * grub-core/genparttoollist.sh: ... to here.
11416 * genterminallist.sh: Moved ...
11417 * grub-core/genterminallist.sh: ... to here.
11418 * gentrigtables.c: Moved ...
11419 * grub-core/gentrigtables.c: ... to here.
11420 * genvideolist.sh: Moved ...
11421 * grub-core/genvideolist.sh: ... to here.
11422 * gettext: Moved ...
11423 * grub-core/gettext: ... to here.
11424 * gfxmenu: Moved ...
11425 * grub-core/gfxmenu: ... to here.
11426 * gnulib: Moved ...
11427 * grub-core/gnulib: ... to here.
11428 * hello: Moved ...
11429 * grub-core/hello: ... to here.
11430 * hook: Moved ...
11431 * grub-core/hook: ... to here.
11432 * io: Moved ...
11433 * grub-core/io: ... to here.
11434 * kern: Moved ...
11435 * grub-core/kern: ... to here.
11436 * lib: Moved ...
11437 * grub-core/lib: ... to here.
11438 * loader: Moved ...
11439 * grub-core/loader: ... to here.
11440 * mmap: Moved ...
11441 * grub-core/mmap: ... to here.
11442 * normal: Moved ...
11443 * grub-core/normal: ... to here.
11444 * partmap: Moved ...
11445 * grub-core/partmap: ... to here.
11446 * parttool: Moved ...
11447 * grub-core/parttool: ... to here.
11448 * script: Moved ...
11449 * grub-core/script: ... to here.
11450 * term: Moved ...
11451 * grub-core/term: ... to here
11452 * tests/example_functional_test.c: Moved ...
11453 * grub-core/tests/example_functional_test.c: ... to here.
11454 * tests/lib/functional_test.c: Moved ...
11455 * grub-core/tests/lib/functional_test.c: ... to here.
11456 * tests/lib/test.c: Moved ...
11457 * grub-core/tests/lib/test.c: ... to here.
11458 * video: Moved ...
11459 * grub-core/video: ... to here.
11460
645586e6
BC
114612010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11462
11463 Replace --enable-grub-emu-modules with grub-emu-lite.
11464
11465 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
11466 cache.S.
11467
11468 * include/grub/emu/misc.h (grub_emu_init): New prototype.
11469 * kern/emu/full.c: New file. For grub-emu specific initialization.
11470 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
11471 * kern/emu/main.c: Call initialization function grub_emu_init.
11472
11473 * Makefile.in: Include grub-emu-lite in install.
11474 * commands/parttool.c: Use grub_no_autoload to differentiate
11475 between grub-emu and grub-emu-lite.
11476 * include/grub/misc.h: New variable grub_no_autoload.
11477
11478 * conf/any-emu.rmk: New rules for grub-emu-lite.
11479 * configure.ac: Remove --enable-grub-emu-modules.
11480 * genmk.rb: Cleanup unnecessary rules.
11481 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
11482
11483 * normal/main.c: Don't load list files on grub-emu-lite.
11484 * util/misc.c (grub_arch_sync_caches): Removed.
11485
f86a4030
CW
114862010-08-23 Colin Watson <cjwatson@ubuntu.com>
11487
11488 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11489 grub-mkimage rather than grub-mkelfimage.
11490 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11491
06776944
VS
114922010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11493
11494 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11495 a key after CapsLock or NumLock. It's just a qemu bug.
11496
df262419
VS
114972010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11500 needed by libusb wrapper.
11501
b40ea81b
ST
115022010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11503
11504 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11505
dee50575
VS
115062010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11507
11508 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11509 --nounzip is passed.
11510
fb1d7b79
VS
115112010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 USB hotunplugging and USB serial support.
11514
11515 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11516 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11517 (grub_uhci_transfer): Respect timeout and set *actual.
11518 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11519 non-standard length.
11520 (grub_usb_device_attach): Autoload modules.
11521 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11522 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11523 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11524 users updated.
11525 (grub_usb_add_hub): Fill nports and children.
11526 (attach_root_port): Receive hub instead of controller.
11527 All users updated. Fill hub->devices.
11528 (grub_usb_root_hub): Allocate hub->devices.
11529 (detach_device): New function.
11530 (poll_nonroot_hub): Fill children and detach devices.
11531 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11532 actual arguments. All users updated.
11533 (grub_usb_bulk_read_extended): New function.
11534 * bus/usb/serial/common.c: New file.
11535 * bus/usb/serial/ftdi.c: Likewise.
11536 * bus/usb/serial/pl2303.c: Likewise.
11537 * commands/terminal.c (handle_command): Support wildcard.
11538 * commands/usbtest.c: Output "Unknown" instead of empty string.
11539 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11540 (usbserial_common_mod_SOURCES): New variable.
11541 (usbserial_common_mod_CFLAGS): Likewise.
11542 (usbserial_common_mod_LDFLAGS): Likewise.
11543 (pkglib_MODULES): Add usbserial_pl2303.mod.
11544 (usbserial_pl2303_mod_SOURCES): New variable.
11545 (usbserial_pl2303_mod_CFLAGS): Likewise.
11546 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11547 (pkglib_MODULES): Add usbserial_ftdi.mod.
11548 (usbserial_ftdi_mod_SOURCES): New variable.
11549 (usbserial_ftdi_mod_CFLAGS): Likewise.
11550 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11551 (pkglib_MODULES): Add serial.mod.
11552 (serial_mod_SOURCES): New variable.
11553 (serial_mod_CFLAGS): Likewise.
11554 (serial_mod_LDFLAGS): Likewise.
11555 * conf/i386-pc.rmk: Likewise.
11556 * conf/mips-yeeloong.rmk: Likewise.
11557 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11558 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11559 * disk/usbms.c (first_available_slot): New variable.
11560 (grub_usbms_attach): Don't reuse free slots due to potential cache
11561 problems.
11562 * include/grub/serial.h: Moved to ..
11563 * include/grub/ns8250.h: ...this.
11564 * include/grub/serial.h: New file.
11565 * include/grub/term.h (grub_term_poll_usb): New variable.
11566 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11567 readkey. All users updated.
11568 (grub_terminfo_output_state): Pass term to put.
11569 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11570 (grub_usb_controller_dev): Add timeout and actual arguments to
11571 transfer. All users updated.
11572 (grub_usb_interface): New field detach_data.
11573 (grub_usb_device): New fields children and nports.
11574 (grub_usb_ep_type_t): New type.
11575 (grub_usb_get_ep_type): New function.
11576 (grub_usb_bulk_read_extended): Likewise.
11577 * include/grub/usbdesc.h (grub_usb_desc): New type.
11578 * include/grub/usbserial.h: New file.
11579 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11580 * kern/term.c (grub_term_poll_usb): New variable.
11581 (grub_getkey): Call grub_term_poll_usb if set.
11582 (grub_checkkey): Likewise.
11583 (grub_getkeystatus): Likewise.
11584 * term/serial.c: Moved controller-specific parts to ...
11585 * term/ns8250.c: ... here.
11586 * term/serial.c: Mostly rewritten.
11587 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11588 according to spec.
11589
21a313de
RM
115902010-08-20 Robert Millan <rmh@gnu.org>
11591
11592 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11593 a separate module and maybe other interesting combinations.
11594
11595 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11596 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11597 (kfreebsd_entry): Add generic filesystem module load routine.
11598 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11599
63c734a6
CW
116002010-08-20 Colin Watson <cjwatson@ubuntu.com>
11601
11602 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11603 "numcenter" (I misunderstood the purpose of this entry).
11604 * docs/grub.texi (sendkey): Likewise.
11605
c4d16542
CW
116062010-08-20 Colin Watson <cjwatson@ubuntu.com>
11607
11608 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11609 status flag options; simply omitting the option is equivalent and
11610 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11611 (keysym_table): Rename "num5numlock" to "numlock".
11612 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11613 can uniformly say that only the last of multiple `sendkey'
11614 invocations has any effect.
11615 * docs/grub.texi (sendkey): New section.
11616
93541d66
CW
116172010-08-19 Colin Watson <cjwatson@ubuntu.com>
11618
11619 * commands/i386/pc/sendkey.c (options): Fix three typos.
11620
b4ece5e1
VS
116212010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 Implement sendkey support.
11624
11625 * commands/i386/pc/sendkey.c: New file.
11626 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11627 (sendkey_mod_SOURCES): New variable.
11628 (sendkey_mod_CFLAGS): Likewise.
11629 (sendkey_mod_LDFLAGS): Likewise.
11630
51f1f5af
CW
116312010-08-18 Colin Watson <cjwatson@ubuntu.com>
11632
11633 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11634 fix warnings from Autoconf.
11635
9da94e05
CW
116362010-08-18 Colin Watson <cjwatson@ubuntu.com>
11637
11638 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11639 to avoid false positives with some assemblers that output things
11640 like "someprefix_func" as part of their output.
11641
729a0f2e
RM
116422010-08-15 Robert Millan <rmh@gnu.org>
11643
11644 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11645 errors.
11646 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11647 grub_get_libzfs_handle() errors.
11648
f3710e08
RM
116492010-08-14 Robert Millan <rmh@gnu.org>
11650
11651 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11652 filesystem is not ZFS.
11653
7a3c13de
BC
116542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11655
11656 Fix for misspelled color names defaulting to black/black (bug
11657 reported by Doug Nazar)
11658
11659 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11660 status to prototype.
11661 * normal/color.c (grub_parse_color_name_pair): Return failure
11662 status.
11663 (grub_env_write_color_normal): Ignore bad color names.
11664 (grub_env_write_color_highlight): Likewise.
11665 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11666
ab8ba50d
BC
116672010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11668
11669 "shift" command support to GRUB script.
11670
11671 * include/grub/script_sh.h (grub_script_shift): New prototype.
11672 * script/execute.c (grub_script_shift): New function.
11673 * script/main.c (grub_script_init): Register shift command.
11674 (grub_script_fini): Unregister shift command.
11675 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11676
11677 * tests/grub_script_shift.in: New testcase.
11678 * conf/tests.rmk: Rules for new testcase.
11679
4d61999e
BC
116802010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11681
11682 "continue" command support to GRUB script.
11683
11684 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11685 (grub_script_break): Continue support.
11686 * script/main.c (grub_script_init): Register continue command.
11687 (grub_script_fini): Unregister continue command.
11688
11689 * tests/grub_script_continue.in: New testcase.
11690 * conf/tests.rmk: Rules for new testcase.
11691
4df51e00
BC
116922010-08-12 BVK Chaitanya <bvk@dbook>
11693
11694 "break" command support to GRUB script.
11695
11696 * conf/common.rmk: Rule updates to grub-script-check.
11697 * include/grub/misc.h (grub_min): New function.
11698 * include/grub/script_sh.h (grub_script_init): New prototype.
11699 (grub_script_fini): New prototype.
11700 (grub_script_break): New prototype.
11701 * script/main.c (grub_script_init): New function.
11702 (grub_script_fini): New function.
11703 * script/execute.c (grub_script_break): New function.
11704 * normal/main.c: Calls to grub_script_{init,fini}.
11705 * util/grub-script-check.c (grub_script_break): New function.
11706
11707 * tests/grub_script_break.in: New testcase.
11708 * conf/tests.rmk: Rules for new test case.
11709
f12c8420
BC
117102010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11711
11712 Function parameters support to GRUB script.
11713
11714 * script/yylex.l (VARIABLE): Regular expression update.
11715 * script/function.c (grub_script_function_call): Moved ...
11716 * script/execute.c (grub_script_function_call): ... to here.
11717 (grub_script_execute_arglist_to_argv): Removed.
11718 (grub_script_arglist_to_argv): New function.
11719 * script/argv.c: New file.
11720 (grub_script_argv_free): New function.
11721 (grub_script_argv_next): Likewise.
11722 (grub_script_argv_append): Likewise.
11723 (grub_script_argv_split_append): Likewise.
11724 * include/grub/script_sh.h (grub_script_argv): New struct.
11725 (grub_script_argv_free): New function.
11726 (grub_script_argv_next): Likewise.
11727 (grub_script_argv_append): Likewise.
11728 (grub_script_argv_split_append): Likewise.
11729
11730 * conf/common.rmk (normal.mod): New source script/argv.c.
11731
11732 * tests/grub_script_echo1.in: More tests.
11733 * tests/grub_script_vars1.in: Likewise.
11734 * tests/grub_script_functions.in: New test case.
11735 * conf/tests.rmk: Rules for new testcase.
11736
8022b748
BC
117372010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11738
11739 Remove grub_script_cmdblock struct.
11740
11741 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11742 * script/parser.y: Likewise.
11743 * script/execute.c: Rename cmdblock suffix to cmdlist.
11744 * script/script.c: Likewise.
11745 * util/grub-script-check.c: Likewise.
11746
79a6ba61
YB
117472010-08-11 Yves Blusseau <blusseau@zetam.org>
11748
11749 * .bzrignore: add grub-macho2img
11750
d04b9414
VS
117512010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11754
f947ab49
VS
117552010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 Remove the dump of sm712 initialisation sequence.
11758
11759 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11760 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11761 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11762 (GRUB_VGA_CR_*): Added many registers.
11763 (GRUB_VGA_SR_*): Likewise.
11764 (GRUB_VGA_GR_*): Likewise.
11765 (grub_vga_write_arx): New function.
11766 (grub_video_hw_config): New struct.
11767 (grub_vga_set_geometry): New function.
11768 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11769 GRUB_PCI_CLASS_SUBCLASS_VGA.
11770 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11771 * video/sm712.c (grub_sm712_write_reg): New function
11772 (grub_sm712_read_reg): Likewise.
11773 (grub_sm712_sr_write): Likewise.
11774 (grub_sm712_gr_write): Likewise.
11775 (grub_sm712_cr_write): Likewise.
11776 (grub_sm712_write_arx): Likewise.
11777 (grub_sm712_cr_shadow_write): Likewise.
11778 (grub_sm712_write_dda_lookup): Likewise.
11779 (grub_video_sm712_setup): Initialise the video rather then
11780 blindly replay the dump.
11781 (main) [TEST]: Add a routine to be able to compile as standalone for
11782 tests.
11783 * video/sm712_init.c (sm712_init): Removed.
11784 (sm712_sr_seq1): New array.
11785 (sm712_sr_seq2): Likewise.
11786
f0206638
VS
117872010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11788
11789 * include/grub/vga.h: Add missing grub/pci.h include.
11790
2764da3b
YB
117912010-08-10 Yves Blusseau <blusseau@zetam.org>
11792
11793 * util/grub-macho2img.c (main): fix typo
11794
cf0c775e
VS
117952010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11798 (grub_vga_gr_read): Likewise.
11799 (grub_vga_cr_write): Likewise.
11800 (grub_vga_cr_read): Likewise.
11801 (grub_vga_sr_write): Likewise.
11802 (grub_vga_sr_read): Likewise.
11803 (grub_vga_palette_read): Likewise.
11804 (grub_vga_palette_write): Likewise.
11805 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11806 (grub_sm712_sr_read): New function.
11807 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11808 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11809
07f360e9
RM
118102010-08-09 Robert Millan <rmh@gnu.org>
11811
11812 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11813 out unused variables on non-ZFS build.
11814
346c2072
RM
118152010-08-08 Robert Millan <rmh@gnu.org>
11816
11817 Fix path generation for sub-filesystems in ZFS.
11818
11819 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11820 missing slash.
11821
71175420
RM
118222010-08-08 Robert Millan <rmh@gnu.org>
11823
11824 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11825
0d8286f3
RM
118262010-08-08 Robert Millan <rmh@gnu.org>
11827
11828 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11829 exist, issue a proper error message (rely on `ls' for translated
11830 strings).
11831
55dd2924
RM
118322010-08-08 Robert Millan <rmh@gnu.org>
11833
11834 Fix grub-probe invocation.
11835
11836 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11837
d3dd9e80
RM
118382010-08-04 Robert Millan <rmh@gnu.org>
11839
11840 * configure.ac: Remove checks for getfsstat() and getmntany().
11841 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11842 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11843 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11844 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11845 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11846 function.
11847 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11848 via find_mount_point_from_dir() and getfsstat() / getmntany().
11849
0de22aa9
RM
118502010-08-04 Robert Millan <rmh@gnu.org>
11851
11852 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11853 (grub_find_zpool_from_mount_point): Merge into ...
11854 (grub_find_zpool_from_dir): ... this.
11855 * kern/emu/misc.c: Likewise.
11856
11857 * kern/emu/misc.c
11858 (grub_make_system_path_relative_to_its_root): Replace
11859 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11860 with grub_find_zpool_from_dir().
11861 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11862
62858144
RM
118632010-08-04 Robert Millan <rmh@gnu.org>
11864
11865 Support OpenSolaris in ZFS device resolution.
11866
11867 * configure.ac: Check for getmntany().
11868 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11869 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11870 support.
11871
9dd6fd50
RM
118722010-08-03 Robert Millan <rmh@gnu.org>
11873
11874 Fix grub-emu build.
11875
11876 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11877 * include/grub/emu/misc.h: ... here.
11878
11879 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11880 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11881
11882 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11883 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11884 (grub_get_libzfs_handle): Move to ...
11885 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11886 (grub_get_libzfs_handle): ... here.
11887
c9f7ff97
BC
118882010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11889
11890 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11891 as command name case.
11892
a870a783
CW
118932010-08-02 Colin Watson <cjwatson@ubuntu.com>
11894
11895 * disk/raid.c (insert_array): Select unique numbers for named arrays
11896 as well, for use as keys in the disk cache.
11897
c7db243b
RM
118982010-08-01 Robert Millan <rmh@gnu.org>
11899
11900 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11901 kFreeBSD device name, except on ZFS where the filesystem label is
11902 used.
11903 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11904 `/boot/zfs/zpool.cache'.
11905 Set mountfrom kernel variable using ${kfreebsd_device}.
11906
f7abdefb
RM
119072010-08-01 Robert Millan <rmh@gnu.org>
11908
11909 Make it even harder to use uninitialized `libzfs_handle' (and
11910 make the interface a bit simpler).
11911
11912 * include/grub/util/misc.h (grub_util_init_libzfs)
11913 (libzfs_handle): Remove.
11914 (grub_get_libzfs_handle): New prototype.
11915
11916 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11917 attribute.
11918 (grub_util_init_libzfs): Remove.
11919 (grub_get_libzfs_handle): New function.
11920
11921 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11922 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11923 accessing `libzfs_handle' directly.
11924
c882acc0
RM
119252010-08-01 Robert Millan <rmh@gnu.org>
11926
11927 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11928 (grub_find_zpool_from_mount_point): New function prototypes.
11929
11930 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11931 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11932
11933 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11934 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11935 `static' attribute.
11936
11937 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11938 finding zpool from mount point into ...
11939 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11940
11941 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11942 requested path is part of a ZFS pool, use
11943 grub_find_zpool_from_mount_point() to detect its filesystem name,
11944 and generate a path with `/fsname@path' syntax.
11945
8bfe31d8
CW
119462010-08-01 Colin Watson <cjwatson@ubuntu.com>
11947
11948 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11949 (void) rather than () so that this is a proper prototype.
11950
553df63d
VS
119512010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11954
8687cf07
VS
119552010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11958 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11959
ea9be8ea
CW
119602010-08-01 Colin Watson <cjwatson@ubuntu.com>
11961
11962 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11963
6eea041a
CW
119642010-08-01 Colin Watson <cjwatson@ubuntu.com>
11965
11966 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11967
2cfb45df
CW
119682010-08-01 Colin Watson <cjwatson@ubuntu.com>
11969
11970 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11971 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11972 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11973 disable gfxpayload.
11974 (Shell-like scripting): Add real content.
11975 (Serial terminal): Suggest `terminal_input serial; terminal_output
11976 serial' rather than putting the two commands on separate lines,
11977 since console input will be inoperative after the first command.
11978 (menuentry): Document --class, --users, and --hotkey options.
11979 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11980 Vladimir Serbinenko).
11981
7decd202
VS
119822010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
119832010-08-01 Colin Watson <cjwatson@ubuntu.com>
11984
11985 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11986
c882acc0
RM
119872010-08-01 Robert Millan <rmh@gnu.org>
11988
11989 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11990 (grub_find_zpool_from_mount_point): New function prototypes.
11991
11992 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11993 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11994
11995 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11996 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11997 `static' attribute.
11998
11999 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
12000 finding zpool from mount point into ...
12001 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
12002
12003 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
12004 requested path is part of a ZFS pool, use
12005 grub_find_zpool_from_mount_point() to detect its filesystem name,
12006 and generate a path with `/fsname@path' syntax.
12007
deb0caa3
RM
120082010-08-01 Robert Millan <rmh@gnu.org>
12009
12010 Prevent accidental use of uninitialized libzfs_handle.
12011
12012 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
12013 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
12014 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
12015
ce04ef47
CW
120162010-08-01 Colin Watson <cjwatson@ubuntu.com>
12017
12018 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
12019 util/grub.d/10_linux.in). Fixes Debian bug #591093.
12020
ebf53056
RM
120212010-08-01 Robert Millan <rmh@gnu.org>
12022
12023 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 12024
3710bb6b
RM
120252010-07-31 Robert Millan <rmh@gnu.org>
12026
12027 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
12028
8072efeb
RM
120292010-07-31 Robert Millan <rmh@gnu.org>
12030
12031 * kern/emu/misc.c: Add missing license header.
12032
3169f4c7
RM
120332010-07-31 Robert Millan <rmh@gnu.org>
12034
12035 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
12036
12037 * include/grub/util/libnvpair.h: Include `<config.h>'.
12038 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
12039 declaring libnvpair prototypes ourselves.
12040 * include/grub/util/libzfs.h: Include `<config.h>'.
12041 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
12042 declaring libzfs prototypes ourselves.
12043
12044 (libzfs_handle): Moved to ...
12045 * include/grub/util/misc.h (libzfs_handle): ... here.
12046 Include `<grub/util/libzfs.h>'.
12047
c9a00aee
RM
120482010-07-30 Robert Millan <rmh@gnu.org>
12049
12050 * include/grub/emu/misc.h: Add missing license header.
12051
a184f9c8
RM
120522010-07-30 Robert Millan <rmh@gnu.org>
12053
12054 Enable `grub-probe -t device' resolution on ZFS.
12055
12056 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
12057 * include/grub/util/libnvpair.h: New file.
12058 * include/grub/util/libzfs.h: New file.
12059
12060 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
12061 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
12062 `<grub/util/libnvpair.h>'.
12063 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
12064
12065 (find_mount_point_from_dir): New static function.
12066 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
12067 function.
12068 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
12069 find_root_device_from_libzfs() before ressorting to find_root_device().
12070
12071 * include/grub/util/misc.h (grub_util_init_libzfs): New function
12072 prototype.
12073 * util/misc.c: Include `<grub/util/libzfs.h>'.
12074 (grub_util_init_libzfs): New function.
12075 [HAVE_LIBZFS] (libzfs_handle): New global variable.
12076 [HAVE_LIBZFS] (fini_libzfs): New static function.
12077 (grub_util_init_libzfs): New function.
12078 * util/grub-probe.c (main): Call grub_util_init_libzfs().
12079
f7790cdd
RM
120802010-07-30 Robert Millan <rmh@gnu.org>
12081
12082 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
12083 (xmalloc, xrealloc, xstrdup, xasprintf): Add
12084 `warn_unused_result' attribute.
12085 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
12086 (grub_xasprintf, grub_xvasprintf): Likewise.
12087 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
12088
0806b63c
RM
120892010-07-29 Robert Millan <rmh@gnu.org>
12090
12091 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
12092 (probe): Handle `PRINT_FS_LABEL'.
12093 (main): Handle `-t fs_label'.
12094
9f841f5c
RM
120952010-07-29 Robert Millan <rmh@gnu.org>
12096
12097 * configure.ac: Remove grub-mkisofs checks.
12098
46371121
VS
120992010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 * util/ieee1275/grub-install.in: Don't use empty grub_device.
12102 Reported by: Lennart Sorensen.
12103
121042010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
12107 prior to terminal_input/terminal_output separation. It's been over 1.5
12108 years and those versions weren't widely deployed.
12109
a9600892
CW
121102010-07-22 Colin Watson <cjwatson@ubuntu.com>
12111
12112 * disk/raid.c (insert_array): Don't count named arrays when looking
12113 for unused array numbers.
697e053c 12114 Reported and tested by: Michael Guntsche.
a9600892 12115
c03507df
CW
121162010-07-20 Colin Watson <cjwatson@ubuntu.com>
12117
12118 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
12119 implementation of this so that grub-emu links again, with a note
12120 that this should support hotplugging in the future.
12121
b26f1c11
CW
121222010-07-20 Colin Watson <cjwatson@ubuntu.com>
12123
12124 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12125
efc9d7f1
CW
121262010-07-20 Colin Watson <cjwatson@ubuntu.com>
12127
12128 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
12129 handle on failure.
12130 (grub_loopback_close): Remove empty function.
12131 (grub_loopback_dev): Remove close method.
12132
dd8ff5c9
CW
121332010-07-20 Colin Watson <cjwatson@ubuntu.com>
12134
12135 Disable EFI cursor when the EFI console becomes inactive.
12136
12137 * term/efi/console.c (grub_efi_console_init): New function.
12138 (grub_efi_console_fini): New function.
12139 (grub_console_term_output): Register init and fini methods.
12140
5e3bec67
VS
121412010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 * tests/util/grub-shell-tester.in: Remove bashism and declare as
12144 sh script.
12145
afaec079
VS
121462010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12147
12148 * disk/loopback.c (grub_loopback): Replace filename with file.
12149 (delete_loopback): Handle new semantics.
12150 (grub_cmd_loopback): Likewise.
12151 (grub_loopback_iterate): Likewise.
12152 (grub_loopback_close): Likewise.
12153
a6a11f3c
VS
121542010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
12157 with -p "".
12158 Reported by: Tito Keitel.
12159
64a638b0
VS
121602010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * docs/grub.texi (Naming convention): Document new naming convention.
12163
ab8ba957
VS
121642010-07-20 Vadim Solomin <vadic052@gmail.com>
121652010-07-20 Colin Watson <cjwatson@ubuntu.com>
12166
12167 Generate device.map in something closer to the old ordering.
12168
12169 * util/deviceiter.c (struct device): New declaration.
12170 (compare_file_names): Rename to ...
12171 (compare_devices): ... this. Sort by kernel name in preference to
12172 the stable by-id name, but keep the latter as a fallback comparison.
12173 Update header comment.
12174 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
12175 of `struct device' rather than of plain file names.
12176
a29d6a4b
TF
121772010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
12178
12179 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
12180 on i386.
12181
39d824e8
VS
121822010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 * commands/acpi.c (setup_common_tables): Use sizeof instead of
12185 hardcoding size.
12186 (setv1table): Likewise.
12187
f058276b
FZ
121882010-07-20 Colin Watson <cjwatson@ubuntu.com>
12189
12190 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
12191 removing the homehost if present.
12192 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
12193 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
12194 removing the homehost if present.
12195 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
12196 if possible.
12197 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
12198
12199 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
12200 parameter. Set its pointer target to 0.
12201 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
12202 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
12203 `data_offset' value from the superblock for 1.x metadata.
12204 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
12205 data on the device.
12206 (insert_array): Record the start sector of data on the device.
12207 (grub_raid_register): Pass start_sector parameters to
12208 grub_raid_list->detect and insert_array.
12209 * include/grub/raid.h (struct grub_raid_array): Add start_sector
12210 member.
12211 (struct grub_raid): Add start_sector parameter to `detect'.
12212
12213 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
12214 __attribute__ ((packed)), leaving a comment.
12215 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
12216 (grub_mdraid_detect_09): ... here and ...
12217 (grub_mdraid_detect_1x): ... here.
12218
122192010-07-20 Peter Henn <peter.henn@web.de>
12220
12221 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
12222 chunk size and disk size, which are already given as sector counts
12223 as distinct from the 0.90 units. Fetch the correct device number
12224 from the role table instead of using the table index.
12225
122262010-07-20 Felix Zielcke <fzielcke@z-51.de>
12227
12228 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
12229 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
12230 (WriteMostly1): New macro.
12231 Set array->name to NULL for metadata format 0.90. Add support for
12232 metadata 1.x. Fix some comments.
12233 * disk/raid.c (): Add support for name based RAID arrays. Fix a
12234 few comments.
12235 * util/getroot.c (grub_util_get_grub_dev): Add support for
12236 /dev/md/name style devices.
12237
4b761da9
CW
122382010-07-20 Colin Watson <cjwatson@ubuntu.com>
12239
12240 * .bzrignore: Ignore 20_linux_xen.
12241
5771289a
CW
122422010-07-17 Colin Watson <cjwatson@ubuntu.com>
12243
12244 * util/import_unicode.py: Remove unnecessary imports.
12245
5dab68df
AN
122462010-07-17 Aleš Nesrsta <starous@volny.cz>
12247
12248 Hotplugging and USB hub support.
12249
12250 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
12251 (grub_ohci): Likewise.
12252 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
12253 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
12254 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
12255 (GRUB_OHCI_CTRL_EDS): Likewise.
12256 (GRUB_OHCI_BULK_EDS): Likewise.
12257 (GRUB_OHCI_TDS): Likewise.
12258 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
12259 (grub_ohci_ed_phys2virt): New function.
12260 (grub_ohci_virt_to_phys): Likewise.
12261 (grub_ohci_td_phys2virt): Likewise.
12262 (grub_ohci_td_virt2phys): Likewise.
12263 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
12264 attachment.
12265 (grub_ohci_find_ed): New function.
12266 (grub_ohci_alloc_td): Likewise.
12267 (grub_ohci_free_td): Likewise.
12268 (grub_ohci_free_tds): Likewise.
12269 (grub_ohci_transfer): Use previously allocated memory.
12270 (grub_ohci_portstatus): Reset status changed bit.
12271 (grub_ohci_detect_dev): Supply status changed.
12272 (grub_ohci_fini_hw): Free memory.
12273 (grub_ohci_restore_hw): Reallocate memory.
12274 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
12275 Reset status change.
12276 (grub_uhci_detect_dev): Supply status_change.
12277 * bus/usb/usb.c (attach_hooks): New var.
12278 (grub_usb_device_attach): New function.
12279 (grub_usb_register_attach_hook_class): Likewise.
12280 (grub_usb_unregister_attach_hook_class): Likewise.
12281 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
12282 (grub_usb_add_hub): Reset connection changed bit.
12283 (attach_root_port): New function.
12284 (grub_usb_root_hub): Likewise.
12285 (poll_nonroot_hub): Likewise.
12286 (grub_usb_poll_devices): Likewise.
12287 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
12288 * disk/usbms.c (grub_usbms_open): Use device hooks.
12289 (grub_usbms_iterate) :Poll devices.
12290 (grub_usbms_finddevs): Split into ...
12291 (grub_usbms_attach): ... this ...
12292 (grub_usbms_attach): ... and this.
12293 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
12294 in detect_dev.
12295 (grub_usb_interface): New fields attached and detach_hook.
12296 (grub_usb_attach_hook_class): New type.
12297 (grub_usb_attach_desc): New struct.
12298 (grub_usb_register_attach_hook_class): New function.
12299 (grub_usb_unregister_attach_hook_class): Likewise.
12300 (grub_usb_poll_devices): Likewise.
12301 (grub_usb_device_attach): Likewise.
12302 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
12303 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
12304
3222efaf
VS
123052010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
12308 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
12309 delta determination style. Works with most NetBSD partitions too.
12310
139b714a
VS
123112010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
12314 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
12315
986aad56
VS
123162010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
12319
99be513c
AB
123202010-07-14 Anton Blanchard <anton@samba.org>
12321
12322 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
12323 ET_DYN files.
12324
18075f62
GS
123252010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12326
12327 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
12328
8d9a5b15
GS
123292010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12330
12331 * kern/partition.c (grub_partition_check_containment): New function to
12332 check that a partition is physically contained in a parent. Since
12333 offsets are relative (and non-negative), this reduces to checking that
12334 the partition ends before its parent.
12335 (grub_partition_map_probe): Discard out-of-range sub-partitions.
12336 (grub_partition_iterate): Likewise.
12337 * include/grub/partition.h (grub_partition_map): Slightly more detailed
12338 comments.
12339 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
12340 partitions that start before their parent, and add debug printfs.
12341
19563c25
CW
123422010-07-13 Colin Watson <cjwatson@ubuntu.com>
12343
12344 * Makefile.in (.SUFFIX): Spell correctly, as ...
12345 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
12346 bare module name without `.mod', e.g. `test') tried to invoke a
12347 Modula-2 compiler.
12348
1a1f1e67
CW
123492010-07-13 Colin Watson <cjwatson@ubuntu.com>
12350
12351 * README: Point to the Info manual.
12352
811b0dca
JS
123532010-07-13 Jiro SEKIBA <jir@unicus.jp>
12354
12355 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
12356 2nd superblock position from partition size.
12357
e4f4eafc
CW
123582010-07-10 Colin Watson <cjwatson@ubuntu.com>
12359
12360 * Makefile.in (MAINTAINER_CLEANFILES): Remove
12361 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
12362 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
12363 outputs.
12364
4274c30f
VS
123652010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 Restructure SCSI .id handling.
12368 Reported and tested by: Aleš Nesrsta.
12369
12370 * disk/ata.c (grub_atapi_close): Removed. All users updated.
12371 (grub_atapi_dev): Changed .name to "ata". New field .id.
12372 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
12373 (grub_usbms_dev): New field .id.
12374 * disk/scsi.c (grub_scsi_iterate): Generate name.
12375 (grub_scsi_open): Parse name.
12376 * include/grub/scsi.h (grub_make_scsi_id): New function.
12377 (grub_scsi_dev): Change iterate and open to number instead of naming
12378 busses. All users updated.
12379 (grub_scsi): Remove name. Add .bus.
12380
5bc24388
VS
123812010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 * commands/help.c (grub_cmd_help): Fix a typo.
12384
249975ba
VS
123852010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12386
12387 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
12388 Reported and tested by: Colin Watson.
12389
3eaac1a1
VS
123902010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
12393 in this context.
12394
becce1b1
VS
123952010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
12398
f7bf0918
CW
123992010-07-07 Colin Watson <cjwatson@ubuntu.com>
12400
12401 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
12402 indentation.
12403
0b0f9620
CW
124042010-07-06 Colin Watson <cjwatson@ubuntu.com>
12405
12406 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
12407 and disk/raid6_recover.c.
12408 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12409 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12410
1e545469
CW
124112010-07-06 Colin Watson <cjwatson@ubuntu.com>
12412
12413 * term/gfxterm.c (repaint_schedulded): Rename to ...
12414 (repaint_scheduled): ... this. Update all callers.
12415 (repaint_was_schedulded): Rename to ...
12416 (repaint_was_scheduled): ... this. Update all callers.
12417
5357687a
CW
124182010-07-06 Colin Watson <cjwatson@ubuntu.com>
12419
12420 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
12421 which we expect to be handled by upper layers.
12422
29d7e783
BC
124232010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
12424
12425 * bus/usb/usbhub.c: #include time.h header.
12426
37582066
CW
124272010-07-06 Colin Watson <cjwatson@ubuntu.com>
12428
12429 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
12430 entry_name also for entries without stat blocks (e.g. ".."); fixes
12431 corruption of the first entry in a directory.
12432
c8c06953
CW
124332010-07-06 Colin Watson <cjwatson@ubuntu.com>
12434
12435 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
12436 after setting gfxterm as the active terminal. GRUB_BACKGROUND
12437 doesn't work otherwise.
12438
e75056f1
CW
124392010-07-05 Colin Watson <cjwatson@ubuntu.com>
12440
12441 * docs/grub.texi (Features): Update list of supported file systems.
12442 (GNU/Linux): Update for GRUB 2.
12443 (Serial terminal): Remove mention of --disable-serial, which was a
12444 GRUB Legacy configure option. Update instructions to use
12445 `terminal_input' and `terminal_output' rather than `terminal'.
12446 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
12447 configuration' and `Installing GRUB using grub-install'.
12448 (Menu entry editor): Update for GRUB 2.
12449 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
12450 Document new -a, -u, and -v options.
12451 (initrd): New section.
12452 (initrd16): New section.
12453 (linux): New section.
12454 (linux16): New section.
12455 (search): The `var' argument to `--set' is optional.
12456 (GRUB only offers a rescue shell): Go into a little more detail on
12457 drive ordering.
12458
5cf69151
CW
124592010-07-05 Colin Watson <cjwatson@ubuntu.com>
12460
12461 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
12462
e3f90044
CW
124632010-07-05 Colin Watson <cjwatson@ubuntu.com>
12464
12465 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
12466 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
12467
38d8f4f3
CW
124682010-07-05 Colin Watson <cjwatson@ubuntu.com>
12469
12470 * util/i386/pc/grub-setup.c (setup): Rename prefix to
12471 install_prefix, in line with install_dos_part and install_bsd_part.
12472 Add new prefix variable, which is copied to install_prefix after
12473 comparing core.img in memory with the one read from disk in the
12474 no-embedding case, and use that rather than overwriting
12475 install_prefix immediately when installing to a partition.
12476 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
12477 Bicakci.
12478
57ebd41e
GS
124792010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12480
12481 * configure.ac: Avoid == in test command, it's not portable.
12482 * util/grub.d/30_os-prober.in: Likewise.
12483
cb7f64b2
CW
124842010-07-04 Colin Watson <cjwatson@ubuntu.com>
12485
12486 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12487
6b654bb0
GS
124882010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12489
12490 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12491 multiple (top-level) partmaps.
12492
72a2026d
VS
124932010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12494
12495 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 12496 Reported by: Tino Keitel.
72a2026d 12497
df3eb88f
VS
124982010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 Bidi and diacritics support.
12501
12502 * Makefile.in (widthspec.bin): New target.
12503 (widthspec.h): Likewise.
12504 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12505 * autogen.sh: Generate unidata.c.
12506 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12507 * commands/ls.c (grub_ls_list_devices): Likewise.
12508 (grub_ls_list_files): Likewise.
12509 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12510 (grub_mini_cmd_lsmod): Likewise.
12511 * commands/read.c: Likewise.
12512 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12513 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12514 * lib/arg.c (grub_arg_show_help): Likewise.
12515 * lib/crypto.c (grub_password_get): Likewise.
12516 * normal/auth.c (grub_username_get): Likewise.
12517 * normal/misc.c (grub_normal_print_device_info): Likewise.
12518 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12519 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12520 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12521 (normal/charset.c_DEPENDENCIES): New variable.
12522 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12523 (pkglib_MODULES): Remove charset.mod.
12524 (charset_mod_SOURCES): Removed.
12525 (charset_mod_CFLAGS): Likewise.
12526 (charset_mod_LDFLAGS): Likewise.
12527 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12528 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12529 and term/tparm.c.
12530 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12531 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12532 (kernel_img_HEADERS): Add terminfo.h.
12533 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12534 Fill ->font. Reverse ascii bitmaps.
12535 (grub_font_get_xheight): New function.
12536 * font/font.c (grub_font_get_string_width): Moved from here ...
12537 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12538 * font/font.c (grub_font_draw_string): Moved from here ...
12539 * gfxmenu/font.c (grub_font_draw_string): ... here.
12540 * font/font.c (grub_font_dup_glyph): New function.
12541 (grub_font_blit_glyph): Likewise.
12542 (grub_font_blit_glyph_mirror): Likewise.
12543 (blit_comb): Likewise.
12544 (grub_font_construct_dry_run): Likewise.
12545 (grub_font_get_constructed_device_width): Likewise.
12546 (grub_font_construct_glyph): Likewise.
12547 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12548 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12549 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12550 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12551 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12552 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12553 (grub_font_get_xheight): New proto.
12554 (grub_font_get_constructed_device_width): Likewise.
12555 (grub_font_construct_glyph): Likewise.
12556 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12557 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12558 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12559 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12560 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12561 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12562 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12563 (grub_console_getcharwidth): Likewise.
12564 * include/grub/misc.h (grub_xputs): New proto.
12565 (grub_puts): Inlined.
12566 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12567 (grub_normal_get_line_counter): Removed.
12568 (grub_install_newline_hook): Likewise.
12569 (grub_normal_get_char_counter): New proto.
12570 (grub_normal_reset_more): Likewise.
12571 (grub_xputs_normal): Likewise.
12572 * include/grub/powerpc/ieee1275/console.h: Removed.
12573 * include/grub/sparc64/ieee1275/console.h: Likewise.
12574 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12575 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12576 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12577 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12578 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12579 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12580 (grub_term_input): Pass reference to self. All users updated.
12581 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12582 Pass reference to self. New fields normal_color, highlight_color and
12583 data. All users updated.
12584 (grub_putchar): Removed.
12585 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12586 (grub_unicode_estimate_width): New function.
12587 (grub_term_getcharwidth): Add defaults.
12588 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12589 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12590 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12591 (grub_cls): Remove EXPORT_FUNC.
12592 (grub_setcolorstate): Inline.
12593 (grub_newline_hook): Removed.
12594 * include/grub/terminfo.h: Rewritten. All users updated.
12595 * include/grub/unicode.h: New file.
12596 * include/grub/video.h (grub_video_signed_rect): New type.
12597 * kern/emu/console.c (grub_console_highlight_color): Removed.
12598 (grub_console_normal_color): Likewise.
12599 (grub_console_standard_color): Made static.
12600 (grub_ncurses_putchar): Remove mapping.
12601 (grub_ncurses_getcharwidth): Removed.
12602 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12603 (grub_ncurses_setcolor): Removed.
12604 (grub_ncurses_getcolor): Likewise.
12605 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12606 (grub_console_putchar): ... this.
12607 (grub_console_putchar): Handle argument difference.
12608 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12609 console_init_early and console_init_lately.
12610 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12611 * kern/misc.c (grub_puts): Removed.
12612 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12613 (grub_vsnprintf_real): Remove str = NULL support.
12614 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12615 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12616 * kern/term.c (grub_putcode): Renamed to ...
12617 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12618 (grub_putchar): Removed.
12619 (grub_xputs_dumb): New function.
12620 (grub_xputs): New variable.
12621 * lib/charset.c: Move from here ...
12622 * normal/charset.c: ... to here.
12623 (grub_ucs4_to_utf8): New function.
12624 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12625 (join_types): New variable.
12626 (unpack_join): New function.
12627 (bidi_types): New variable.
12628 (unpack_bidi): New function.
12629 (get_bidi_type): Likewise.
12630 (get_join_type): Likewise.
12631 (is_mirrored): Likewise.
12632 (grub_unicode_get_comb_type): Likewise.
12633 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12634 (is_type_after): Likewise.
12635 (grub_unicode_aglomerate_comb): Likewise.
12636 (bidi_line_wrap): Likewise.
12637 (grub_bidi_line_logical_to_visual): Likewise.
12638 (grub_bidi_logical_to_visual): Likewise.
12639 (grub_unicode_mirror_code): Likewise.
12640 (grub_unicode_shape_code): Likewise.
12641 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12642 Don't use grub_putchar.
12643 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12644 (grub_normal_reader_init): Likewise.
12645 (grub_xputs_saved): New variable.
12646 (GRUB_MOD_INIT): Set grub_xputs.
12647 (GRUB_MOD_FINI): Restore grub_xputs.
12648 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12649 (menu_init): Avoid printing gfxmenu error.
12650 (show_menu): Use grub_normal_get_char_counter.
12651 * normal/menu_entry.c (update_screen): Fix out-of-array.
12652 (complete): Avoid NULL dereferencing.
12653 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12654 * normal/menu_text.c (print_spaces): Removed.
12655 (grub_print_ucs4): Likewise.
12656 (grub_print_message_indented): Use grub_print_ucs4.
12657 (print_message): Use grub_putcode.
12658 (print_entry): Hanlde diacritics.
12659 * normal/term.c (term_state): New type.
12660 (grub_more_lines): Removed.
12661 (term_states): New variable.
12662 (grub_normal_line_counter): Renamed to ..
12663 (grub_normal_char_counter): ...this. All users updated.
12664 (grub_normal_get_line_counter): Renamed to ...
12665 (grub_normal_get_char_counter): ... this.
12666 (grub_normal_reset_more): New function.
12667 (process_newline): Removed.
12668 (print_more): New function.
12669 (grub_install_newline_hook): Removed.
12670 (map_code): New function.
12671 (grub_puts_terminal): Use grub_print_ucs4.
12672 (putglyph): New function.
12673 (putcode_real): Likewise.
12674 (grub_putcode): Use putcode_real.
12675 (get_maxwidth): New function.
12676 (get_startwidth): Likewise.
12677 (print_ucs4_terminal): Likewise.
12678 (find_term_state): Likewise.
12679 (put_glyphs_terminal): Likewise.
12680 (print_backlog): Likewise.
12681 (print_ucs4_real): Likewise.
12682 (grub_print_ucs4): Likewise.
12683 (grub_xputs_normal): Likewise.
12684 * term/efi/console.c (grub_console_putchar): Output diacritics.
12685 (grub_console_getcharwidth): Removed.
12686 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12687 * term/gfxterm.c (clear_char): Free chars.
12688 (scroll_up): Avoid leaking memory.
12689 (grub_gfxterm_putchar): Support diacritics.
12690 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12691 * term/i386/pc/console.c (grub_console_term_output): Declare as
12692 GRUB_TERM_CODE_TYPE_VGA.
12693 * term/i386/pc/vga.c (grub_vga_term): Declare as
12694 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12695 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12696 GRUB_TERM_CODE_TYPE_VGA.
12697 * term/i386/vga_common.c (map_char): Removed.
12698 (grub_console_putchar): Likewise.
12699 (grub_console_getcharwidth): Likewise.
12700 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12701 (colors): Reordered to match terminfo.
12702 (grub_ofconsole_normal_color): Removed.
12703 (grub_ofconsole_writeesc): Likewise.
12704 (grub_ofconsole_highlight_color): Likewise.
12705 (grub_ofconsole_getcharwidth): Likewise.
12706 (grub_ofconsole_setcolorstate): Likewise.
12707 (grub_ofconsole_setcolor): Likewise.
12708 (grub_ofconsole_getcolor): Likewise.
12709 (grub_ofconsole_readkey): Renamed to ...
12710 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12711 key.
12712 (grub_ofconsole_checkkey): Removed.
12713 (grub_ofconsole_getkey): Likewise.
12714 (grub_ofconsole_getxy): Likewise.
12715 (grub_ofconsole_gotoxy): Likewise.
12716 (grub_ofconsole_cls): Likewise.
12717 (grub_ofconsole_refresh): Likewise.
12718 (grub_ofconsole_terminfo_input): New struct.
12719 (grub_ofconsole_terminfo_output): Likewise.
12720 (grub_ofconsole_term_input): Use terminfo.
12721 (grub_ofconsole_term_output): Likewise.
12722 (grub_console_init): Split into ...
12723 (grub_console_init_early): ...this and ...
12724 (grub_console_init_lately): ...this. Use terminfo.
12725 (grub_ofconsole_putchar): Renamed to ...
12726 (put): ... this. Remove mapping.
12727 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12728 * term/serial.c: Simplify using terminfo.
12729 (xpos): Removed.
12730 (ypos): Likewise.
12731 (keep_track): Likewise.
12732 (registered): Likewise.
12733 (input_buf): Likewise.
12734 (npending): Likewise.
12735 (serial_translate_key_sequence): Likewise.
12736 (fill_input_buf): Likewise.
12737 (grub_serial_checkkey): Likewise.
12738 (grub_serial_getkey): Likewise.
12739 (grub_serial_getxy): Likewise.
12740 (grub_serial_gotoxy): Likewise.
12741 (grub_serial_putchar): Likewise.
12742 (grub_serial_cls): Likewise.
12743 (grub_serial_setcolorstate): Likewise.
12744 (grub_serial_setcursor): Likewise.
12745 (serial_hw_init): Use serial_hw_fetch.
12746 (grub_serial_terminfo_input): New variable.
12747 (grub_serial_terminfo_output): Likewise.
12748 (grub_serial_term_input): Use terminfo.
12749 (grub_serial_term_output): Likewise.
12750 * term/terminfo.c (putstr): Use put.
12751 (grub_terminfo_all_free): New function
12752 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12753 (grub_terminfo_output_register): New function.
12754 (grub_terminfo_output_unregister): Likewise.
12755 (grub_terminfo_getxy): Likewise.
12756 (grub_terminfo_readkey): Likewise.
12757 (grub_terminfo_checkkey): Likewise.
12758 (grub_terminfo_getkey): Likewise.
12759 (grub_terminfo_input_init): Likewise.
12760 (print_terminfo): Likewise.
12761 (grub_cmd_terminfo): Handle encoding.
12762 (grub_terminfo_gotoxy): Track position.
12763 (grub_terminfo_cls): Likewise.
12764 (grub_terminfo_putchar): Likewise.
12765 (grub_terminfo_setcolorstate): Handle colors
12766 (grub_terminfo_cursor_on): This ...
12767 (grub_terminfo_cursor_off): ... and this merged into ...
12768 (grub_terminfo_setcursor): ... this.
12769 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12770 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12771 * unicode/BidiMirroring.txt: Likewise.
12772 * unicode/UnicodeData.txt: Likewise.
12773 * unicode/COPYING: Likewise.
12774 * util/grub-editenv.c (grub_putchar): Removed.
12775 (grub_xputs_real): New function.
12776 (grub_xputs): New variable.
12777 * util/grub-fstest.c (grub_putchar): Removed.
12778 (grub_xputs_real): New function.
12779 (grub_xputs): New variable.
12780 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12781 (grub_xputs_real): New function.
12782 (grub_xputs): New variable.
12783 * util/grub-probe.c (grub_putchar): Removed.
12784 (grub_xputs_real): New function.
12785 (grub_xputs): New variable.
12786 * util/grub-script-check.c (grub_putchar): Removed.
12787 (grub_xputs_real): New function.
12788 (grub_xputs): New variable.
12789 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12790 (grub_xputs_real): New function.
12791 (grub_xputs): New variable.
12792 * util/import_unicode.py: New file.
12793 * util/grub-mkfont.c (ft_errmsgs): New array.
12794 (grub_glyph_info): Make bitmap a pointer.
12795 (file_formats): New type WIDTH_SPEC.
12796 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12797 (options): Add width-spec.
12798 (help): Likewise.
12799 (add_char): Renamed to ...
12800 (add_glyph): ... this.
12801 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12802 (glyph_replace): New type.
12803 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12804 (add_char): New function.
12805 (add_subst): Likewise.
12806 (process_cursive): Likewise.
12807 (add_font): Handle GSUB.
12808 (write_font_width_spec): New function.
12809 (main): Sort glyphs.
12810 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12811 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12812 * kern/term.c (grub_cls): Moved from here...
12813 * normal/term.c (grub_cls): ... here.
12814
50f0bcda
CW
128152010-07-02 Colin Watson <cjwatson@ubuntu.com>
12816
12817 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12818 suitable for using within the format argument of printf when
12819 converting grub_size_t.
12820 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12821 "x" to convert grub_size_t arguments.
12822
40372103
VS
128232010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12826 too long captions.
12827 (list_get_minimal_size): Take selection box into account.
12828
942a10c7
VS
128292010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12832 NULL font.
12833
2bdb2892
CW
128342010-07-02 Colin Watson <cjwatson@ubuntu.com>
12835
12836 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12837 devices when iterating over /dev/disk/by-id; they will be handled
12838 later if appropriate, which they aren't always (e.g. LVM).
12839
e03ed6c1
CW
128402010-07-02 Colin Watson <cjwatson@ubuntu.com>
12841
12842 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12843 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12844 fails.
12845 (grub_halt): Likewise.
12846 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12847 reset-all fails.
12848 (grub_halt): Don't return, even if all of shut-down, power-off, and
12849 poweroff fail.
12850
47695765
CW
128512010-07-02 Colin Watson <cjwatson@ubuntu.com>
12852
12853 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12854 arguments, not three.
12855
507736c8
CW
128562010-07-02 Colin Watson <cjwatson@ubuntu.com>
12857
12858 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12859 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12860 LVM-on-RAID is handled correctly.
12861
e3c8cd37
CW
128622010-07-02 Colin Watson <cjwatson@ubuntu.com>
12863
12864 * docs/grub.texi (Changes from GRUB Legacy): New section.
12865 (Future): Fix typo.
12866
8d4a2fec
CW
128672010-07-02 Colin Watson <cjwatson@ubuntu.com>
12868
12869 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12870 grub.d/README accidentally ends up executable for one reason or
12871 another. Ignore it.
12872
1c4827be
VS
128732010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12876 (gpt_partition_map_iterate): Support non-512B sectors.
12877
d9a0c941
VS
128782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12881 Tested by: Seth Goldberg.
12882
48f27e87
VS
128832010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12886 Properly align mbi.
12887 Reported by: Seth Goldberg.
12888
b0c4f956
VS
128892010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12890
12891 * util/grub-mkrescue.in: Avoid module duplication.
12892
105a2e8c
SF
128932010-07-01 Sean Finney <seanius@seanius.net>
12894
12895 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12896
5944958c
SF
128972010-07-01 Sean Finney <seanius@seanius.net>
12898
12899 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12900
129012010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * disk/lvm.c (grub_lvm_checkvalue): New function.
12904 (grub_lvm_check_flag): Likewise.
12905
b79889ba
RM
129062010-07-01 Robert Millan <rmh@gnu.org>
12907
12908 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12909 Support 'p' as partition separator on kernel of FreeBSD (used
12910 with GPT labels).
12911 (grub_util_biosdisk_get_grub_dev): Likewise.
12912
ec1d04f1
VS
129132010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12914
12915 Yeeloong firmware port.
12916
12917 * boot/mips/yeeloong/fwstart.S: New file.
12918 * bus/cs5536.c (gpiodump): New const.
12919 (set_io_space): New function.
12920 (set_iod): Likewise.
12921 (set_p2d): Likewise.
12922 (grub_cs5536_init_geode): Likewise.
12923 * commands/mips/yeeloong/lsspd.c: New file.
12924 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12925 (serial_mod_SOURCES): New variable.
12926 (serial_mod_CFLAGS): Likewise.
12927 (serial_mod_LDFLAGS): Likewise.
12928 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12929 term/terminfo.c and term/tparm.c.
12930 (pkglib_IMAGES): Add fwstart.img.
12931 (fwstart_img_SOURCES): New variable.
12932 (fwstart_img_CFLAGS): Likewise.
12933 (fwstart_img_ASFLAGS): Likewise.
12934 (fwstart_img_LDFLAGS): Likewise.
12935 (fwstart_img_FORMAT): Likewise.
12936 (pkglib_MODULES): Add lsspd.mod.
12937 (lsspd_mod_SOURCES): New variable.
12938 (lsspd_mod_CFLAGS): Likewise.
12939 (lsspd_mod_LDFLAGS): Likewise.
12940 (pkglib_MODULES): Add halt.mod.
12941 (halt_mod_SOURCES): New variable.
12942 (halt_mod_CFLAGS): Likewise.
12943 (halt_mod_LDFLAGS): Likewise.
12944 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12945 (serial_mod_SOURCES): Removed.
12946 (serial_mod_CFLAGS): Likewise.
12947 (serial_mod_LDFLAGS): Likewise.
12948 * disk/ata.c (check_device): New function.
12949 (grub_ata_device_initialize): Use check_device.
12950 (grub_ata_iterate): Recheck devices.
12951 (grub_ata_open): Likewise.
12952 (grub_atapi_iterate): Likewise.
12953 (grub_atapi_open): Likewise.
12954 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12955 (GRUB_ATA_CH1_PORT1): Likewise.
12956 (GRUB_ATA_CH0_PORT2): Likewise.
12957 (GRUB_ATA_CH1_PORT2): Likewise.
12958 * include/grub/mips/loongson.h: New file.
12959 * include/grub/mips/yeeloong/ec.h: Likewise.
12960 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12961 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12962 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12963 * include/grub/misc.h (grub_halt): Declare as noreturn.
12964 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12965 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12966 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12967 (UART_ENABLE_DTRRTS): Likewise.
12968 (UART_ENABLE_MODEM): Removed.
12969 (UART_ENABLE_OUT2): New const.
12970 * include/grub/term.h (grub_term_register_input_active): New function.
12971 (grub_term_register_output_active): Likewise.
12972 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12973 argument.
12974 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12975 (init_pci): New function.
12976 (grub_machine_init): Execute platform init when firmware. Init serial.
12977 (grub_halt): Implement.
12978 (grub_exit): Likewise.
12979 (grub_reboot): Likewise.
12980 * term/serial.c (serial_hw_init): Update macros.
12981 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12982 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12983 (image_targets): New target mipsel-yeeloong-flash.
12984 (generate_image): Support IMAGE_YEELOONG_FLASH.
12985 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12986 (grub_video_sm712_setup): Init card.
12987 (grub_video_sm712_set_palette): Removed.
12988 * video/sm712_init.c: New file.
12989
ff4a70d2
CW
129902010-06-30 Colin Watson <cjwatson@ubuntu.com>
12991
12992 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12993 PATH when running help2man and then run it on the unadorned
12994 executable names, rather than passing $(builddir)/* paths to
12995 help2man. This avoids the build directory ending up in generated
12996 manual pages.
12997
1246efeb
CW
129982010-06-29 Colin Watson <cjwatson@ubuntu.com>
12999
13000 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
13001 to avoid accidents when debugging with 'sh -x'.
13002 * util/grub-mkrescue.in: Likewise.
13003 * util/grub.d/00_header.in: Likewise.
13004 * util/grub.d/10_hurd.in: Likewise.
13005 * util/grub.d/10_kfreebsd.in: Likewise.
13006 * util/grub.d/10_linux.in: Likewise.
13007 * util/grub.d/10_netbsd.in: Likewise.
13008 * util/grub.d/10_windows.in: Likewise.
13009 * util/grub.d/20_linux_xen.in: Likewise.
13010 * util/grub.d/30_os-prober.in: Likewise.
13011 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13012
1ba9b889
CW
130132010-06-29 Colin Watson <cjwatson@ubuntu.com>
13014
13015 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
13016 last character in the buffer.
13017 Reported by: Vladimir Serbinenko.
13018
dccaf99d
RM
130192010-06-29 Robert Millan <rmh@gnu.org>
13020
13021 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
13022 (Command-line and menu entry commands): Document `badram' command.
13023
d500ed12
RM
130242010-06-28 Robert Millan <rmh@gnu.org>
13025
13026 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
13027 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
13028 command using ${GRUB_BADRAM} as parameter.
13029
20bc84a6
CW
130302010-06-28 Colin Watson <cjwatson@ubuntu.com>
13031
13032 * docs/grub.texi (Device map): New section.
13033 (Themes): New section (stub).
13034 * Makefile.in (docs/grub.info): The info documentation now builds
13035 without errors. Make sure it stays that way.
13036
4045dee1
VS
130372010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 Use normal parser for menu entries.
13040 Reported by: Thomas Frauendorfer
13041
13042 * include/grub/parser.h (grub_parser_execute): Don't export.
13043 * normal/menu.c (grub_menu_execute_entry_real): New function.
13044 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
13045
bca58c7b
CW
130462010-06-28 Colin Watson <cjwatson@ubuntu.com>
13047
13048 * docs/grub.texi (Embedded configuration): New section (replacing
13049 old "Preset Menu" stub).
13050 (Images): New section.
13051 (configfile): Note that any menu entries defined in `file' are shown
13052 immediately.
13053
dec53e63
JT
130542010-06-28 Josh Triplett <josh@joshtriplett.org>
13055
13056 * mmap/i386/pc/mmap_helper.S: Set CF on return.
13057
c06e40f7
CW
130582010-06-28 Colin Watson <cjwatson@ubuntu.com>
13059
13060 * util/grub-install.in: Add --debug-image= option.
13061
cb88052b
CW
130622010-06-28 Colin Watson <cjwatson@ubuntu.com>
13063
13064 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
13065 possible on Linux.
13066
13067 * util/deviceiter.c (check_device): Rename to ...
13068 (check_device_readable_unique): ... this. Update all callers.
13069 Maintain and check a list of which devices (by canonicalized name)
13070 have already been seen.
13071 (clear_seen_devices): New function.
13072 (compare_file_names) [__linux__]: New function.
13073 (grub_util_iterate_devices): Clear the list of seen devices on exit
13074 and (just in case) on entry.
13075 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
13076 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
13077 seen-devices list, superseded by general code in check_device.
13078
bbe34652
CW
130792010-06-28 Colin Watson <cjwatson@ubuntu.com>
13080
13081 * commands/cat.c (options): New variable.
13082 (grub_cmd_cat): Parse options. If the --dos option is given, print
13083 DOS-style "\r\n" line endings as simple newlines (Debian bug
13084 #586358).
13085 (GRUB_MOD_INIT): Use extcmd.
13086 (GRUB_MOD_FINI): Likewise.
13087 * docs/grub.texi (cat): Document --dos.
13088
412e09f3
VS
130892010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 XEN with Linux grub-mkconfig support.
13092
13093 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
13094 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
13095 GRUB_CMDLINE_XEN_DEFAULT.
13096 * util/grub.d/20_linux_xen.in: New file.
13097
53f3ef38 130982010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
13099
13100 Initialise VGA video on qemu ourselves.
13101
13102 * boot/i386/qemu/boot.S: Don't call 0xc000.
13103 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
13104 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
13105 (kernel_img_HEADERS): Add pci.h.
13106 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
13107 * configure.ac: Force unifont on qemu and yeeloong.
13108 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
13109 (grub_vga_palette_write): Use correct register.
13110 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
13111 Call grub_qemu_init_cirrus.
13112 * kern/i386/qemu/init.c: New file.
13113 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
13114
13115 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
13116
c75be4fb
PR
131172010-06-26 Pavel Roskin <proski@gnu.org>
13118
13119 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
13120 13.
13121
d8034603
CW
131222010-06-26 Colin Watson <cjwatson@ubuntu.com>
13123
13124 * docs/grub.texi (Simple configuration): Explain that
13125 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
13126 set to `true' to disable their respective recovery entries, not
13127 merely set.
13128
3fa06487
CW
131292010-06-26 Colin Watson <cjwatson@ubuntu.com>
13130
13131 Make the `source' command slightly faster.
13132
13133 * normal/main.c (grub_normal_execute): Don't re-read list files when
13134 nested.
13135
e9b29642
CW
131362010-06-23 Colin Watson <cjwatson@ubuntu.com>
13137
13138 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
13139 field position and mask size to red fields from mode_info, not
13140 green.
13141 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
13142 Remove redundant tag->common.framebuffer_type assignment.
13143 Reported by: Seth Goldberg.
13144
e726542f
CW
131452010-06-23 Colin Watson <cjwatson@ubuntu.com>
13146
13147 Sync up other versions of the Linux loader with Robert Millan's
13148 change of 2010-01-09, "Make loader output a bit more user-friendly".
13149
13150 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
13151 grub_dprintf().
13152 (grub_cmd_linux): Likewise.
13153 (grub_cmd_initrd): Likewise.
13154 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
13155 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13156
d6e98a17
CW
131572010-06-21 Colin Watson <cjwatson@ubuntu.com>
13158
13159 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
13160 larger than MEMORY_MAP_SIZE.
13161
14d3f08e
BC
131622010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
13163
13164 Fix parallel build.
13165
13166 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
13167 dependency.
13168 * script/parser.y: #include grub_script.tab.h header.
13169
4f9613a3
VS
131702010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 Support >3GiB and <16MiB RAM in i386-qemu.
13173
13174 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
13175 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
13176 (grub_lower_mem): Removed.
13177 (grub_upper_mem): Likewise.
13178 (mem_size): Made static.
13179 (above_4g): New variable.
13180 (grub_machine_mmap_init): Detect small mem_size and above_4g.
13181 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
13182 support.
13183
05e51879
VS
131842010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13185
13186 Cirrus 5446 and Bochs video cards support.
13187
13188 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
13189 video_bochs.mod
13190 (video_cirrus_mod_SOURCES): New variable.
13191 (video_cirrus_mod_CFLAGS): Likewise.
13192 (video_cirrus_mod_LDFLAGS): Likewise.
13193 (video_bochs_mod_SOURCES): Likewise.
13194 (video_bochs_mod_CFLAGS): Likewise.
13195 (video_bochs_mod_LDFLAGS): Likewise.
13196 * include/grub/vga.h: New file.
13197 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
13198 (grub_video_fb_set_page_t): New type.
13199 (grub_video_fb_setup): New prototype.
13200 (grub_video_fb_swap_buffers): Likewise.
13201 (grub_video_fb_get_info_and_fini): Likewise.
13202 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
13203 (CRTC_DATA_PORT): Likewise.
13204 (CRTC_CURSOR): Likewise.
13205 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13206 (CRTC_CURSOR_ADDR_LOW): Likewise.
13207 (CRTC_CURSOR_DISABLE): Likewise.
13208 (update_cursor): Use grub_vga_cr_write.
13209 (grub_vga_text_setcursor): Likewise.
13210 * video/bochs.c: New file.
13211 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
13212 (palette): Likewise.
13213 (palette_size): Likewise.
13214 (framebuffer): New variable.
13215 (grub_video_fb_init): Use 'framebuffer'.
13216 (grub_video_fb_fini): Likewise.
13217 (grub_video_fb_get_info): Likewise.
13218 (grub_video_fb_get_palette): Likewise.
13219 (grub_video_fb_set_palette): Likewise.
13220 (grub_video_fb_set_viewport): Likewise.
13221 (grub_video_fb_get_viewport): Likewise.
13222 (grub_video_fb_map_color): Likewise.
13223 (grub_video_fb_map_rgb): Likewise.
13224 (grub_video_fb_map_rgba): Likewise.
13225 (grub_video_fb_unmap_color): Likewise.
13226 (grub_video_fb_unmap_color_int): Likewise.
13227 (grub_video_fb_fill_rect): Likewise.
13228 (grub_video_fb_blit_bitmap): Likewise.
13229 (grub_video_fb_blit_render_target): Likewise.
13230 (grub_video_fb_scroll): Likewise.
13231 (grub_video_fb_create_render_target): Likewise.
13232 (grub_video_fb_doublebuf_blit_init): Likewise.
13233 (grub_video_fb_set_active_render_target): Handle doublebuffering.
13234 (doublebuf_pageflipping_update_screen): New function.
13235 (doublebuf_pageflipping_init): Likewise.
13236 (grub_video_fb_setup): Likewise.
13237 (grub_video_fb_swap_buffers): Likewise.
13238 (grub_video_fb_get_info_and_fini): Likewise.
13239 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
13240 All users updated.
13241 (doublebuf_pageflipping_commit): Restructured into ...
13242 (doublebuf_pageflipping_set_page): ... this.
13243 (doublebuf_pageflipping_update_screen): Removed.
13244 (doublebuf_pageflipping_init): Likewise.
13245 (double_buffering_init): Likewise.
13246 (grub_video_vbe_setup): Use grub_video_fb_setup.
13247 (grub_video_vbe_swap_buffers): Removed.
13248 (grub_video_vbe_set_active_render_target): Likewise.
13249 (grub_video_vbe_get_active_render_target): Likewise.
13250 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
13251 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
13252 grub_video_fb_set_active_render_target and
13253 grub_video_fb_get_active_render_target.
13254 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
13255 (SEQUENCER_DATA_PORT): Likewise.
13256 (MAP_MASK_REGISTER): Likewise.
13257 (CRTC_ADDR_PORT): Likewise.
13258 (CRTC_DATA_PORT): Likewise.
13259 (START_ADDR_HIGH_REGISTER): Likewise.
13260 (START_ADDR_LOW_REGISTER): Likewise.
13261 (GRAPHICS_ADDR_PORT): Likewise.
13262 (GRAPHICS_DATA_PORT): Likewise.
13263 (READ_MAP_REGISTER): Likewise.
13264 (INPUT_STATUS1_REGISTER): Likewise.
13265 (INPUT_STATUS1_VERTR_BIT): Likewise.
13266 (get_map_mask): Use grub_vga_sr_read.
13267 (set_map_mask): Use grub_vga_sr_write.
13268 (set_read_map): Use grub_vga_gr_write.
13269 (set_start_address): Use grub_vga_cr_write.
13270 * video/sm712.c (framebuffer): Remove leftover fields.
13271
4321c64a
CW
132722010-06-20 Colin Watson <cjwatson@ubuntu.com>
13273
13274 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
13275 setting GRUB_VIDEO_BACKEND. Make it available as a user override
13276 instead. Replace the gfxterm backend check with a check that
13277 ${GRUB_PREFIX}/video.lst is non-empty.
13278 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
13279 again.
13280 (load_video): New generated function. Call it before loading
13281 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
13282 * util/grub.d/10_linux.in (linux_entry): Call load_video.
13283 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
13284 * docs/grub.texi (Simple configuration): Document
13285 GRUB_VIDEO_BACKEND.
13286
132872010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 Use video functions in linux and xnu loaders.
13290
13291 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
13292 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
13293 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
13294 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
13295 loader/i386/pc/linux.c.
13296 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
13297 (find_line_len): Removed.
13298 (find_framebuf): Likewise.
13299 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
13300 * loader/i386/efi/xnu.c: Removed.
13301 * loader/i386/pc/xnu.c: Moved from here...
13302 * loader/i386/xnu.c: ...here.
13303
13304 Enable priorities in video drivers.
13305
13306 * include/grub/video.h (grub_video_adapter_prio_t): New type.
13307 (grub_video_adapter): New field prio.
13308 (grub_video_register): Respect prio when inserting.
13309 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
13310 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
13311 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
13312 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
13313 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
13314 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
13315 * video/sm712.c (grub_video_sm712_adapter): Likewise.
13316
13317 Fix SDL driver ID.
13318
13319 * include/grub/video.h (grub_video_driver_id_t): New value
13320 GRUB_VIDEO_DRIVER_SDL.
13321 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
13322
7d24e434
CW
133232010-06-17 Colin Watson <cjwatson@ubuntu.com>
13324
13325 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
13326 argument to printf.
13327 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13328
c88a83f6
CW
133292010-06-17 Colin Watson <cjwatson@ubuntu.com>
13330
13331 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
13332 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13333
094dfb69
CW
133342010-06-17 Colin Watson <cjwatson@ubuntu.com>
13335
13336 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
13337 directly, and recommend grub-install instead.
13338 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13339
2164da6b
CW
133402010-06-17 Colin Watson <cjwatson@ubuntu.com>
13341
13342 Fix i386-pc prefix handling with nested partitions (Debian bug
13343 #585068). Note that the case where the core image is booted using
13344 multiboot and relocated from its original location still requires
13345 more work.
13346
13347 * kern/i386/pc/init.c (make_install_device): If the prefix starts
13348 with "(,", fill the boot drive in between those two characters, but
13349 expect that a full partition specification including partition map
13350 names will follow.
13351 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
13352 specified, write a prefix without the drive name but including a
13353 full partition specification.
13354
044e2e60
CW
133552010-06-16 Colin Watson <cjwatson@ubuntu.com>
13356
13357 * util/grub-mkconfig.in: Ignore non-option arguments, for
13358 compatibility with older versions (before 2010-06-12) which did the
13359 same. In particular, this makes it easier to ship an update-grub
13360 wrapper which is compatible with that used with GRUB Legacy (Debian
13361 bug #586056).
13362
5591324f
GS
133632010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13364
13365 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
13366 for manual page generation.
13367
662e24d5
GS
133682010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13369
13370 * po/POTFILES: Remove leftover commands/handler.c.
13371
8d70754e
CW
133722010-06-14 Colin Watson <cjwatson@ubuntu.com>
13373
13374 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
13375 left this script non-functional.
13376
41160e2e
CW
133772010-06-14 Colin Watson <cjwatson@ubuntu.com>
13378
13379 * docs/man/grub-emu.h2m: New file.
13380
b5309cc1
CW
133812010-06-13 Colin Watson <cjwatson@ubuntu.com>
13382
13383 * docs/grub.texi (Commands): Document reduced command set in rescue
13384 mode.
13385 (cpuid): New section.
13386
fcb2d090
GS
133872010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
13388
13389 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
13390 new partition naming style.
13391 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
13392
96e5c556
BC
133932010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
13394
13395 Add "-o grub.iso" like cmdline options support.
13396
13397 * util/grub-install.in: Improve cmdline option parsing.
13398 * util/grub-mkconfig.in: Likewise.
13399 * util/grub-mkrescue.in: Likewise.
13400 * util/grub-reboot.in: Likewise.
13401 * util/grub-set-default.in: Likewise.
13402 * util/i386/efi/grub-install.in: Likewise.
13403 * util/ieee1275/grub-install.in: Likewise.
13404 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13405
c16be99b
CW
134062010-06-12 Colin Watson <cjwatson@ubuntu.com>
13407
13408 * .bzrignore: Ignore 41_custom.
13409
ce08a9fb
TS
134102010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13411
13412 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
13413
7beac90c
CW
134142010-06-12 Colin Watson <cjwatson@ubuntu.com>
13415
13416 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
13417 prototype declarations.
13418
13419 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
13420 generating fs, partmap, and video lists.
13421 * include/grub/fs.h (grub_fs_register): Omit prototype if
13422 GRUB_LST_GENERATOR is defined.
13423 * include/grub/partition.h (grub_partition_map_register): Likewise.
13424 * include/grub/video.h (grub_video_register): Likewise.
13425
1c8f0f8d
JM
134262010-06-12 Javier Martín <lordhabbit@gmail.com>
13427
13428 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
13429
a6085973
TS
134302010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13431
13432 * util/grub-mkrescue.in: Support --xorriso argument.
13433
25c56d29
VS
134342010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13435
13436 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
13437 Suggested by: Thomas Schmitt.
13438
e03e4b24
VS
134392010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
13442 Suggested by: Thomas Schmitt.
13443
57711df6
VS
134442010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 custom.cfg support.
13447
13448 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
13449 * util/grub.d/41_custom.in: New file.
13450
ee62c427
CW
134512010-06-12 Colin Watson <cjwatson@ubuntu.com>
13452
13453 * util/grub-mkrescue.in (make_image): Remove sh module, which has
13454 been merged back into normal.
13455
283af07a
CW
134562010-06-11 Colin Watson <cjwatson@ubuntu.com>
13457
13458 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
13459 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
13460
56a0d956
CW
134612010-06-11 Colin Watson <cjwatson@ubuntu.com>
13462
13463 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
13464 when generating manual pages.
13465 * docs/man/grub-bin2h.h2m: New file.
13466 * docs/man/grub-editenv.h2m: New file.
13467 * docs/man/grub-fstest.h2m: New file.
13468 * docs/man/grub-install.h2m: New file.
13469 * docs/man/grub-macho2img.h2m: New file.
13470 * docs/man/grub-mkconfig.h2m: New file.
13471 * docs/man/grub-mkdevicemap.h2m: New file.
13472 * docs/man/grub-mkfont.h2m: New file.
13473 * docs/man/grub-mkimage.h2m: New file.
13474 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
13475 * docs/man/grub-mkrelpath.h2m: New file.
13476 * docs/man/grub-mkrescue.h2m: New file.
13477 * docs/man/grub-ofpathname.h2m: New file.
13478 * docs/man/grub-pe2elf.h2m: New file.
13479 * docs/man/grub-probe.h2m: New file.
13480 * docs/man/grub-reboot.h2m: New file.
13481 * docs/man/grub-script-check.h2m: New file.
13482 * docs/man/grub-set-default.h2m: New file.
13483 * docs/man/grub-setup.h2m: New file.
13484
3a37e322
VS
134852010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 Use FOR_* macros instead of *_iterate whenever possible.
13488
13489 * commands/handler.c: Removed.
13490 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13491 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13492 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13493 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13494 (grub_probe_SOURCES): Remove kern/parser.c.
13495 (util/grub-script-check.c_DEPENDENCIES): Removed.
13496 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13497 and grub_script_check_init.c.
13498 (grub_script_check_init.lst): Removed.
13499 (grub_script_check_init.h): Likewise.
13500 (grub_script_check_init.c): Likewise.
13501 (pkglib_MODULES): Remove handler.mod and sh.mod.
13502 (handler_mod_SOURCES): Removed.
13503 (handler_mod_CFLAGS): Likewise.
13504 (handler_mod_LDFLAGS): Likewise.
13505 (normal_mod_SOURCES): Remove normal/handler.c.
13506 Add script/main.c, script/script.c, script/execute.c,
13507 script/function.c, script/lexer.c, grub_script.tab.c
13508 and grub_script.yy.c.
13509 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13510 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13511 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13512 (grub_setup_SOURCES): Remove kern/parser.c.
13513 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13514 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13515 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13516 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13517 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13518 (grub_setup_SOURCES): Remove kern/parser.c.
13519 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13520 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13521 * include/grub/command.h (grub_command_iterate): Removed.
13522 (FOR_COMMANDS): New macro.
13523 * include/grub/dl.h (grub_dl): New member next.
13524 (grub_dl_iterate): Removed.
13525 (grub_dl_head): New variable declaration.
13526 (FOR_DL_MODULES): New macro.
13527 * include/grub/fs.h: Include list.h.
13528 (grub_fs): Make next first element.
13529 (grub_fs_list): New variable declaration.
13530 (grub_fs_register): Make inline.
13531 (grub_fs_unregister): Likewise.
13532 (grub_fs_iterate): Removed.
13533 (FOR_FILESYSTEMS): New macro.
13534 * include/grub/handler.h: Removed.
13535 * include/grub/list.h (grub_list_hook_t): Removed.
13536 (grub_list_test_t): Likewise.
13537 (grub_list_pop): Likewise.
13538 (grub_list_iterate): Likewise.
13539 (grub_list_insert): Likewise.
13540 (FOR_LIST_ELEMENTS): New macro.
13541 * include/grub/parser.h (grub_parser_class): Removed.
13542 (grub_parser_register): Likewise.
13543 (grub_parser_unregister): Likewise.
13544 (grub_parser_get_current): Likewise.
13545 (grub_parser_set_current): Likewise.
13546 (grub_register_rescue_parser): Likewise.
13547 (grub_rescue_parse_line): New function.
13548 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13549 * include/grub/script_sh.h (grub_script_function_list): New variable
13550 declaration.
13551 (FOR_SCRIPT_FUNCTIONS): New macro.
13552 (grub_script_function_iterate): Removed.
13553 (grub_normal_parse_line): New prototype.
13554 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13555 (FOR_DISABLED_TERM_INPUTS): Likewise.
13556 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13557 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13558 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13559 element.
13560 (grub_video_register): Inline.
13561 (grub_video_unregister): Likewise.
13562 (grub_video_adapter_list): New variable declaration.
13563 (grub_video_iterate): Removed.
13564 (FOR_VIDEO_ADAPTERS): New macro.
13565 * kern/dl.c (grub_dl_list): Removed. All users updated.
13566 (grub_dl_iterate): Removed.
13567 * kern/fs.c (grub_fs_list): Make global.
13568 (grub_fs_register): Removed.
13569 (grub_fs_unregister): Likewise.
13570 (grub_fs_iterate): Likewise.
13571 * kern/handler.c: Removed.
13572 * kern/list.c (grub_list_pop): Removed.
13573 (grub_list_iterate): Likewise.
13574 (grub_list_insert): Likewise.
13575 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13576 (grub_prio_list_insert): Don't use grub_list_insert.
13577 * kern/main.c (grub_register_rescue_parser): Don't call
13578 grub_register_rescue_parser.
13579 * kern/parser.c (grub_parser_class): Removed.
13580 (grub_parser_execute): Use grub_rescue_parse_line.
13581 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13582 (grub_rescue_parser): Removed.
13583 (grub_register_rescue_parser): Likewise.
13584 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13585 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13586 (grub_auth_check_authentication): Likewise.
13587 * normal/completion.c (iterate_command): Removed.
13588 (grub_normal_do_completion): Use FOR_COMMANDS.
13589 * normal/handler.c: Removed.
13590 * normal/main.c (read_config_file): Remove parser changing.
13591 (grub_normal_execute): Don't call read_handler_list.
13592 (grub_normal_read_line_real): Statically allocate prompt.
13593 (grub_cmdline_run): Use grub_normal_parse_line.
13594 (GRUB_MOD_FINI): Don't call free_handler_list.
13595 * normal/menu_entry.c (run): Likewise.
13596 * script/function.c (grub_script_function_list): Make global.
13597 (grub_script_function_iterate): Removed.
13598 * script/main.c (grub_normal_parse_line): Make global.
13599 (grub_sh_parser): Removed.
13600 (GRUB_MOD_INIT): Likewise.
13601 (GRUB_MOD_FINI): Likewise.
13602 * tests/lib/functional_test.c (grub_functional_test): Use
13603 FOR_LIST_ELEMENTS.
13604 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13605 (grub_test_run): Use FOR_LIST_ELEMENTS.
13606 * tests/lib/unit_test.c (main): Likewise.
13607 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13608 grub_list_pop.
13609 * util/grub-fstest.c (grub_term_input_class): Removed.
13610 (grub_term_output_class): Likewise.
13611 * util/grub-probe.c: Likewise.
13612 * util/i386/pc/grub-setup.c: Likewise.
13613 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13614 * util/grub-script-check.c (main): Don't call grub_init_all and
13615 grub_fini_all.
13616 * video/video.c (grub_video_adapter_list): Make global.
13617 (grub_video_register): Removed.
13618 (grub_video_unregister): Likewise.
13619 (grub_video_iterate): Likewise.
13620
6289c3a7
VS
136212010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13624 reported by Henrique Ferreiro.
13625
91460247
RM
136262010-06-09 Robert Millan <rmh@gnu.org>
13627
13628 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13629 ones, when both are available.
13630
0ea7c4f9
GS
136312010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13632
13633 Make --version uniform and avoid hard-coded program name.
13634
13635 * util/grub-mkimage.c (main): Use `program_name' instead of
13636 hard-coded string.
13637 * util/i386/pc/grub-setup.c (main): Likewise.
13638 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13639 * util/grub-install.in: Save the basename of $0 in $self, and use the
13640 latter in informational messages. Use the same format for --version
13641 as the binary programs.
13642 * util/grub-mkconfig.in: Likewise.
13643 * util/grub-mkrescue.in: Likewise.
13644 * util/grub-reboot.in: Likewise.
13645 * util/grub-set-default.in: Likewise.
13646 * util/i386/efi/grub-install.in: Likewise.
13647 * util/ieee1275/grub-install.in: Likewise.
13648 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13649
e8a6f3b6
GS
136502010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13651
13652 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13653 embedding area. Use <= instead of == when checking for non-emptiness.
13654
f4d095d7
GS
136552010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13656
13657 * configure.ac: Add `.' to the directories searched for unifont.
13658
50e532ca
CW
136592010-06-08 Colin Watson <cjwatson@ubuntu.com>
13660
13661 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13662 grub_script.yy.h.
13663
d39f3dec
CW
136642010-06-08 Colin Watson <cjwatson@ubuntu.com>
13665
13666 * docs/grub.texi (History): Expand to cover GRUB 2.
13667 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13668 commands, not `terminal'.
13669 (serial): Likewise.
13670 (terminal_input): New section.
13671 (terminal_output): New section.
13672 (uppermem): New section (stub).
13673 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13674
6ef0ddb4
CW
136752010-06-08 Colin Watson <cjwatson@ubuntu.com>
13676
13677 * docs/grub.texi (Security): Menu entries are unrestricted by
13678 default, not restricted to superusers as I had previously thought.
13679 Reword to account for this.
13680
e0f4c438
CW
136812010-06-07 Colin Watson <cjwatson@ubuntu.com>
13682
13683 * kern/emu/misc.c (device_mapper_null_log): New function.
13684 (grub_device_mapper_supported): New function.
13685 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13686 prototype.
13687 * kern/emu/hostdisk.c (find_partition_start): Check whether
13688 device-mapper is supported before trying to use it.
13689 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13690
da908200
CW
136912010-06-07 Colin Watson <cjwatson@ubuntu.com>
13692
13693 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13694 (File name syntax): Likewise.
13695 (help): --all is no longer supported in GRUB 2. Be more precise
13696 about pattern matching.
13697
fb55c3ac
CW
136982010-06-07 Colin Watson <cjwatson@ubuntu.com>
13699
13700 * normal/completion.c (grub_normal_do_completion): When completing
13701 arguments to "set" and the current word contains an equals sign,
13702 skip to after the equals sign before starting completion.
13703
258c2573
CW
137042010-06-07 Colin Watson <cjwatson@ubuntu.com>
13705
13706 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13707
ee75515e
CW
137082010-06-07 Colin Watson <cjwatson@ubuntu.com>
13709
13710 * docs/grub.texi (Network): New section.
13711 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13712 `(nd)' as in GRUB Legacy.
13713 (pxe_unload): New section.
13714
a6a700aa
CW
137152010-06-07 Colin Watson <cjwatson@ubuntu.com>
13716
13717 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13718 in the rescue shell, so recommend using `set' instead. Thanks,
13719 Jordan Uggla.
13720
4003dd38
CW
137212010-06-07 Colin Watson <cjwatson@ubuntu.com>
13722
13723 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13724 (password): New section.
13725 (password_pbkdf2): New section.
13726 (search): New section.
13727 (Security): New section.
13728 (Troubleshooting): New section, currently very incomplete.
13729 (Invoking grub-mkpasswd-pbkdf2): New section.
13730 (Internals): New section, currently very incomplete.
13731
e1cbcc40
CW
137322010-06-07 Colin Watson <cjwatson@ubuntu.com>
13733
13734 * util/grub.d/00_header.in: Add some more quoting (of
13735 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13736 work again.
13737 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13738
db8fa1ad
CW
137392010-06-07 Colin Watson <cjwatson@ubuntu.com>
13740
13741 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13742 to `count', fixing variable shadowing that broke the -c option.
13743
137442010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
13745
13746 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13747 in case they contain spaces.
13748
f28a9212
CW
137492010-06-04 Colin Watson <cjwatson@ubuntu.com>
13750
13751 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13752 "part_" to partmap module names, in line with grub-install.
13753 Reported by: Jindřich Makovička (Debian bug #584426).
13754
9cdfe32f
CW
137552010-06-04 Colin Watson <cjwatson@ubuntu.com>
13756
13757 * util/grub-mkimage.c: Make target-related error messages slightly
13758 more helpful; -O talks about "format". Explicitly point to the use
13759 of -O if no target is specified.
13760 Reported by: Didier Raboud (Debian bug #584415).
13761
795b593a
CW
137622010-06-03 Colin Watson <cjwatson@ubuntu.com>
13763
13764 * INSTALL: Document several build requirements for optional features
13765 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13766
9d9b5833
GS
137672010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13768
13769 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13770 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13771 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13772
0819fec8
CW
137732010-06-02 Colin Watson <cjwatson@ubuntu.com>
13774
13775 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13776 Thanks to Jordan Uggla for spotting this.
13777
49396b4f
VS
137782010-06-02 Aleš Nesrsta <starous@volny.cz>
13779
13780 Finally make USB usable.
13781
13782 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13783 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13784 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13785 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13786 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13787 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13788 (GRUB_OHCI_FSMPS): Likewise.
13789 (GRUB_OHCI_PERIODIC_START): Likewise.
13790 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13791 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13792 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13793 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13794 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13795 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13796 (grub_ohci_transaction): Likewise.
13797 (grub_ohci_transfer): Improve condition detection algorithms.
13798 Handle toggle property. Program the transactions correctly.
13799 Improve error handling. Various important fixups.
13800 (grub_ohci_portstatus): Put register writes in right order.
13801 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13802 (grub_uhci_transfer): Don't show "failed" message on success.
13803 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13804 array.
13805 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13806 determine its size.
13807 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13808 before initialization is completed. Use IN direction for empty
13809 transfers. Use last_trans and compute toggle.
13810 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13811 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13812 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13813 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13814 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13815 (grub_usb_device): Increase toggle to 256.
13816 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13817 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13818 GRUB_USBMS_SUBCLASS_SFF8070.
13819 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13820 (grub_scsi_inquiry): New member page and alloc_length.
13821 (grub_scsi_request_sense): New structure.
13822 (grub_scsi_request_sense_data): Likewise.
13823 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13824 control.
13825 * disk/scsi.c (grub_scsi_request_sense): New function.
13826 (grub_scsi_test_unit_ready): Likewise.
13827 (grub_scsi_inquiry): Fill new fields.
13828 (grub_scsi_read_capacity): Likewise.
13829 (grub_scsi_read10): Add request sense at the end.
13830 (grub_scsi_read12): Likewise.
13831 (grub_scsi_write10): Likewise.
13832 (grub_scsi_write12): Likewise.
13833 (grub_scsi_open): Add Test Unit Ready.
13834 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13835 Support additional subclasses. Con't clear halt yet. Activate the
13836 proper config. Calculate LUNs correctly.
13837 (grub_usbms_transfer): Various important fixups.
13838
138392010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13842 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13843 (grub_ohci_fini_hw): New function.
13844 (grub_ohci_restore_hw): Likewise.
13845 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13846 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13847 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13848
138492010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13850
13851 Dedicated DMA allocations.
13852
13853 * bus/pci.c (grub_memalign_dma32): New function
13854 (grub_dma_free): Likewise.
13855 (grub_dma_get_virt): Likewise.
13856 (grub_dma_get_phys): Likewise.
13857 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13858 (grub_ohci_pci_iter): Use dma32_alloc.
13859 (grub_ohci_transfer): Likewise.
13860 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13861 (grub_usb_bulk_readwrite): Likewise.
13862 * include/grub/pci.h: Add declarations.
13863
138642010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13865
13866 CS5536 support.
13867
13868 * bus/cs5536.c: New file.
13869 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13870 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13871 (cs5536_mod_SOURCES): New variable.
13872 (cs5536_mod_CFLAGS): Likewise.
13873 (cs5536_mod_LDFLAGS): Likewise.
13874 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13875 machine/pci.h.
13876 (kernel_img_SOURCES): Add bus/cs5536.c.
13877 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13878 usb_keyboard.mod.
13879 (usb_mod_SOURCES): New variable.
13880 (usb_mod_CFLAGS): New variable.
13881 (usb_mod_LDFLAGS): New variable.
13882 (usbtest_mod_SOURCES): New variable.
13883 (usbtest_mod_CFLAGS): New variable.
13884 (usbtest_mod_LDFLAGS): New variable.
13885 (ohci_mod_SOURCES): New variable.
13886 (ohci_mod_CFLAGS): New variable.
13887 (ohci_mod_LDFLAGS): New variable.
13888 (usbms_mod_SOURCES): New variable.
13889 (usbms_mod_CFLAGS): New variable.
13890 (usbms_mod_LDFLAGS): New variable.
13891 (usb_keyboard_mod_SOURCES): New variable.
13892 (usb_keyboard_mod_CFLAGS): New variable.
13893 (usb_keyboard_mod_LDFLAGS): New variable.
13894 * include/grub/smbus.h: New file.
13895 * include/grub/cs5536.h: New file.
13896
0b35b2a9
CW
138972010-06-02 Colin Watson <cjwatson@ubuntu.com>
13898
13899 * util/grub.d/00_header.in: Add safety check to make sure that
13900 ${locale_dir} exists before trying to probe it.
13901
ca0afd5b
CW
139022010-06-02 Colin Watson <cjwatson@ubuntu.com>
13903
13904 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13905 per the GNU Coding Standards; this is now too obscure to be worth
13906 documenting.
13907 (QNX): Likewise.
13908 (chainloader): Remove cross-reference to `SCO UnixWare'.
13909
1c41aa78
CW
139102010-06-02 Colin Watson <cjwatson@ubuntu.com>
13911
13912 * docs/grub.texi (Chain-loading): New section.
13913 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13914 adjusted for GRUB 2.
13915 (SCO UnixWare): Likewise.
13916 (QNX): Likewise.
13917 (chainloader): Add reference to `Block list syntax'.
13918 (drivemap): New section.
13919 (parttool): New section.
13920
bb8ea0f5
CW
139212010-06-02 Colin Watson <cjwatson@ubuntu.com>
13922
13923 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13924 the grub shell'.
13925 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13926 (Installing GRUB using grub-install): Remove reference to the grub
13927 shell; mention `grub-mkimage' and `grub-setup' instead.
13928 (Invoking grub-install): Likewise.
13929 (Interface): Add reference to `Menu entry editor'.
13930 (serial): Remove `--device' option.
13931
288dd6ed
CW
139322010-06-02 Colin Watson <cjwatson@ubuntu.com>
13933
13934 * docs/grub.texi (Configuration): New section, documenting
13935 configuration file generation using grub-mkconfig. I've left a slot
13936 for documenting the full shell scripting format but have not yet
13937 started on writing that up.
13938 (Invoking grub-mkconfig): New section.
13939
34c9f0e9
CW
139402010-06-02 Colin Watson <cjwatson@ubuntu.com>
13941
13942 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13943 (GNU GRUB manual): Likewise.
13944 (General commands): Update description of `terminfo' for GRUB 2.
13945
9121567e
CW
139462010-06-02 Colin Watson <cjwatson@ubuntu.com>
13947
13948 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13949 (GRUB_MOD_INIT): Fix capitalisation.
13950 * docs/grub.texi (Command-line and menu entry commands): Document
13951 gettext and gptsync commands.
13952
ab631611
CW
139532010-06-02 Colin Watson <cjwatson@ubuntu.com>
13954
13955 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13956 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13957
bde4a9ac
CW
139582010-06-01 Colin Watson <cjwatson@ubuntu.com>
13959
13960 Add btrfs probing support, currently only in the single-device case.
13961
13962 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13963 function.
13964 (grub_guess_root_device): Call find_root_device_from_mountinfo
13965 before looking in /dev.
13966
b1d17e10
VS
139672010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13968
13969 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13970 GRUB_DISK_SIZE_UNKNOWN.
13971 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13972
dfbfe004
JS
139732010-05-31 Jiro SEKIBA <jir@unicus.jp>
13974
13975 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13976 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13977 corrupted or not synced properly.
13978
c2ffc8e9
VS
139792010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13982 Reported by: Seth Goldberg.
13983
56293166
VS
139842010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13987 addition of dest.
13988 Reported by: Seth Goldberg.
13989
7620e7de
VS
139902010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13993 Reported by: Seth Goldberg.
13994
c837af3f
VS
139952010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13998 64-bit address as signed on MIPS.
13999
c7c75cf4
CW
140002010-05-28 Colin Watson <cjwatson@ubuntu.com>
14001
14002 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
14003 to the empty string.
14004
fa4b8490
BC
140052010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
14006
14007 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
14008
14009 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
14010 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
14011 * kern/misc.c (__enable_execute_stack): Disable on
14012 GRUB_MACHINE_EMU.
14013
a33075b9
CW
140142010-05-28 Colin Watson <cjwatson@ubuntu.com>
14015
14016 Make grub-probe work with symbolic links under /dev/mapper as well
14017 as with real block devices. The Linux world seems to be (at best)
14018 in transition here, and GRUB shouldn't get caught in the middle.
14019
14020 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
14021 /dev/mapper.
14022
d8708134
CW
140232010-05-27 Colin Watson <cjwatson@ubuntu.com>
14024
14025 * util/grub-script-check.c (main): Ensure defined behaviour on empty
14026 input files (in which case exit zero).
14027
db2102a0
CW
140282010-05-27 Colin Watson <cjwatson@ubuntu.com>
14029
14030 * kern/emu/misc.c (canonicalize_file_name): realpath can still
14031 return NULL for various reasons even if it has a maximum-length
14032 buffer: for example, there might be a symlink loop, or the path
14033 might exceed PATH_MAX. If this happens, return NULL.
14034
5fdba519
RM
140352010-05-27 Robert Millan <rmh@gnu.org>
14036
14037 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
14038 partmap module to handle cross-partmap setups.
14039 Reported by Orestes Mas. Gràcies!
14040
d1d368e4
CW
140412010-05-27 Colin Watson <cjwatson@ubuntu.com>
14042
14043 * util/grub-mkrescue.in: Initialise override_dir rather than
14044 assuming that it's unset or empty in the environment.
14045
95ac3c73
GS
140462010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
14047
14048 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
14049 variable index into p_index to suppress a warning with -Wshadow.
14050
7d8c0213
BC
140512010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
14052
14053 * INSTALL: Added flex >= 2.5.35 requirement.
14054
db4d5813
VS
140552010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14056
14057 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
14058
f24f4300
VS
140592010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 cmostest support.
14062
14063 * commands/i386/cmostest.c: New file.
14064 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
14065 (cmostest_mod_SOURCES): New variable.
14066 (cmostest_mod_CFLAGS): Likewise.
14067 (cmostest_mod_LDFLAGS): Likewise.
14068 * conf/i386-pc.rmk: Likewise.
14069 * docs/grub.texi (Vendor power-on keys): New section.
14070 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
14071 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
14072 and GRUB_BUTTON_CMOS_ADDRESS.
14073 * util/grub.d/00_header.in: Handle powering-on by separate button.
14074
ad603f61
VS
140752010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
14078 Removed drawing_scrollbar argument. All users updated
14079 Fixes #29792.
14080 Reported by Jo Shields
14081
3ecb080a
VS
140822010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14083
14084 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
14085 buffer since gfxterm handles double repaint.
14086
5f2316c1
VS
140872010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
14090 * term/gfxterm.c (real_scroll): Likewise.
14091
9a25f885
VS
140922010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14093
14094 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
14095 before calling BIOS.
14096
39fbb79a
VS
140972010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * include/grub/i18n.h: Always enable grub_gettext.
14100
228cfa97
VS
141012010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
14104 partition naming style.
14105
21717c8f
CW
141062010-05-21 Colin Watson <cjwatson@ubuntu.com>
14107
14108 * util/grub-mkconfig.in: Fix handling of -o so that it works when
14109 not the first option.
14110
c0f48e65
CW
141112010-05-20 Colin Watson <cjwatson@ubuntu.com>
14112
14113 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
14114
96779aec
CW
141152010-05-20 Colin Watson <cjwatson@ubuntu.com>
14116
14117 * util/misc.c: Move inclusion of <limits.h> to ...
14118 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
14119
fa9d256e
GS
141202010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
14121
14122 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
14123 Fix merge error in NetBSD code.
14124 (find_partition_start) [__NetBSD__]: Likewise.
14125
123b7a85
BC
141262010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
14127
14128 Fix grub-mkrescue usage unit testing.
14129
14130 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
14131
74276c0d
CF
141322010-05-18 Christian Franke <franke@computer.org>
14133
14134 * util/grub.d/10_windows.in: Use path names instead of
14135 drive letters to prevent warning from Cygwin 1.7.
14136 Add drivemap command to menuentry if needed.
14137
c4f7b523
ST
141382010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
14139
14140 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
14141 gnumach and gnumach.gz.
14142
95b97950
VS
141432010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14144
14145 * include/grub/i18n.h (gettext): Inline instead of using #define.
14146 (grub_gettext): Likewise.
14147 (_): Likewise.
14148
01b8d2d7
VS
141492010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14150
14151 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
14152 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
14153 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
14154 (main): Add a slash after pkglibdirroot.
14155
654e1d1e
VS
141562010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 * util/grub-install.in: Add missing "in" keyword.
14159
26966aeb
VS
141602010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
14163 Reported by: Seth Goldberg.
14164
75006747
VS
141652010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
14168
74cbf5bd
CW
141692010-05-18 Colin Watson <cjwatson@ubuntu.com>
14170
14171 * configure.ac: Check for Linux device-mapper support.
14172
14173 * util/hostdisk.c (device_is_mapped): New function.
14174 (find_partition_start): New function, partly broken out from
14175 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
14176 device-mapper support added.
14177 (linux_find_partition): Use find_partition_start.
14178 (convert_system_partition_to_system_disk): Add `st' argument.
14179 Support Linux /dev/mapper/* devices if device-mapper support is
14180 available; only DM-RAID devices are understood at present.
14181 (find_system_device): Add `st' argument. Pass it to
14182 convert_system_partition_to_system_disk.
14183 (grub_util_biosdisk_get_grub_dev): Pass stat result to
14184 find_system_device and convert_system_partition_to_system_disk. Use
14185 find_partition_start.
14186
14187 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
14188 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
14189 * util/deviceiter.c [__linux__]: Define MINOR.
14190 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
14191 * util/mkdevicemap.c (grub_putchar): New function.
14192 (grub_getkey): New function.
14193 (grub_refresh): New function.
14194 (main): Set debug=all if -v -v is used.
14195
355b51e9
CW
141962010-05-18 Colin Watson <cjwatson@ubuntu.com>
14197
14198 Fix build with non-GNU libcs.
14199
14200 * util/misc.c (canonicalize_file_name): Move to ...
14201 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
14202 grub_make_system_path_relative_to_its_root.
14203
7fb5c25f
CW
142042010-05-18 Colin Watson <cjwatson@ubuntu.com>
14205
14206 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
14207 we handle finding grub-mkimage. Default to finding grub-mkimage in
14208 ${bindir} with program_transform_name applied, and provide a
14209 --grub-mkimage option to override this.
14210
1d3293d6
VS
142112010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14212
14213 Remove grub-mkisofs.
14214
14215 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
14216 (grub_mkisofs_SOURCES): Removed.
14217 (grub_mkisofs_CFLAGS): Removed.
14218 * util/mkisofs/defaults.h: Removed.
14219 * util/mkisofs/eltorito.c: Likewise.
14220 * util/mkisofs/exclude.h: Likewise.
14221 * util/mkisofs/hash.c: Likewise.
14222 * util/mkisofs/include/: Likewise.
14223 * util/mkisofs/include/fctldefs.h: Likewise.
14224 * util/mkisofs/include/mconfig.h: Likewise.
14225 * util/mkisofs/include/prototyp.h: Likewise.
14226 * util/mkisofs/include/statdefs.h: Likewise.
14227 * util/mkisofs/iso9660.h: Likewise.
14228 * util/mkisofs/joliet.c: Likewise.
14229 * util/mkisofs/match.c: Likewise.
14230 * util/mkisofs/match.h: Likewise.
14231 * util/mkisofs/mkisofs.c: Likewise.
14232 * util/mkisofs/mkisofs.h: Likewise.
14233 * util/mkisofs/msdos_partition.h: Likewise.
14234 * util/mkisofs/multi.c: Likewise.
14235 * util/mkisofs/name.c: Likewise.
14236 * util/mkisofs/rock.c: Likewise.
14237 * util/mkisofs/tree.c: Likewise.
14238 * util/mkisofs/write.c: Likewise.
14239
5dde9afe
VS
142402010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 Unify grub-mkimage accross platforms.
14243
14244 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
14245 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
14246 (grub_mkelfimage_SOURCES): Removed.
14247 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
14248 (util/grub-mkimage.c_DEPENDENCIES): .. this.
14249 (bin_UTILITIES): Add grub-mkimage.
14250 (grub_mkimage_SOURCES): New variable.
14251 (kernel_img_HEADERS): Remove machine/kernel.h.
14252 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
14253 (pkglib_PROGRAMS): Add kernel.img.
14254 (kernel_img_HEADERS): Add machine/kernel.h.
14255 (kernel_img_FORMAT): Removed.
14256 (bin_UTILITIES): Remove grub-mkimage.
14257 (grub_mkimage_SOURCES): Removed.
14258 (grub_mkimage_CFLAGS): Likewise.
14259 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14260 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
14261 (pkglib_PROGRAMS): Add kernel.img.
14262 (bin_UTILITIES): Remove grub-mkimage.
14263 (grub_mkimage_SOURCES): Removed.
14264 (grub_mkimage_CFLAGS): Likewise.
14265 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14266 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
14267 (pkglib_PROGRAMS): Add kernel.img.
14268 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
14269 (pkglib_PROGRAMS): Add kernel.img.
14270 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
14271 (grub_mkimage_SOURCES): Removed.
14272 (grub_mkimage_CFLAGS): Likewise.
14273 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14274 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
14275 (pkglib_PROGRAMS): Add kernel.img.
14276 (bin_UTILITIES): Remove grub-mkimage.
14277 (grub_mkimage_SOURCES): Removed.
14278 (grub_mkimage_CFLAGS): Likewise.
14279 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14280 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
14281 (grub_mkimage_SOURCES): Removed.
14282 (grub_mkimage_CFLAGS): Likewise.
14283 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14284 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
14285 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
14286 (grub_pe32_optional_header): ... this.
14287 (grub_pe64_optional_header): ... and this. All users updated.
14288 (GRUB_PE32_PE32_MAGIC): Split into ..
14289 (GRUB_PE32_PE32_MAGIC): .. this.
14290 (GRUB_PE32_PE64_MAGIC): .. and this.
14291 (GRUB_PE32_SIGNATURE_SIZE): New definition.
14292 * include/grub/elf.h (PT_GNU_STACK): New definition.
14293 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
14294 * include/grub/i386/efi/kernel.h: Likewise.
14295 * include/grub/i386/kernel.h: Likewise.
14296 * include/grub/i386/pc/kernel.h: Likewise.
14297 * include/grub/i386/qemu/boot.h: Likewise.
14298 * include/grub/mips/kernel.h: Likewise.
14299 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14300 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14301 * include/grub/powerpc/kernel.h: Likewise.
14302 * include/grub/sparc64/ieee1275/boot.h: Likewise.
14303 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14304 * include/grub/sparc64/kernel.h: Likewise.
14305 * include/grub/x86_64/efi/kernel.h: Likewise.
14306 * include/grub/x86_64/kernel.h: Likewise.
14307 * include/grub/offsets.h: New file.
14308 * include/grub/kernel.h (grub_module_info): Split into ...
14309 (grub_module_info32): ... this.
14310 (grub_module_info64): ... and this.
14311 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
14312 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
14313 (grub_boot_blocklist): Moved from here ...
14314 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
14315 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
14316 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
14317 * include/grub/types.h (grub_target_to_host16): Removed.
14318 (grub_target_to_host32): Likewise.
14319 (grub_target_to_host64): Likewise.
14320 (grub_host_to_target16): Likewise.
14321 (grub_host_to_target32): Likewise.
14322 (grub_host_to_target64): Likewise.
14323 (grub_host_to_target_addr): Likewise.
14324
14325 Support grub-mkrescue for efi, coreboot and qemu.
14326
14327 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
14328 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
14329 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
14330 * util/grub-mkrawimage.c: Moved from here ...
14331 * util/grub-mkimage.c: ... here. All users updated.
14332 (ALIGN_ADDR): Use image_target.
14333 (TARGET_NO_FIELD): New const.
14334 (image_target_desc): New type.
14335 (image_targets): New array.
14336 (grub_target_to_host64): Use image_target.
14337 (grub_target_to_host32): Likewise.
14338 (grub_target_to_host16): Likewise.
14339 (grub_host_to_target64): Likewise.
14340 (grub_host_to_target32): Likewise.
14341 (grub_host_to_target16): Likewise.
14342 (grub_host_to_target_addr): Likewise.
14343 (generate_image): Handle multiimage.
14344 (main): Require -O parameter. All users updated.
14345 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
14346 util/efi/grub-mkimage.c
14347 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
14348 New option --rom-directory.
14349 Use xorriso.
14350 * util/i386/efi/grub-mkimage.c: Removed.
14351 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
14352 (grub_target_to_host32): Likewise.
14353 (grub_target_to_host64): Likewise.
14354 (grub_host_to_target16): Likewise.
14355 (grub_host_to_target32): Likewise.
14356 (grub_host_to_target64): Likewise.
14357 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
14358 (grub_target_to_host32): Likewise.
14359 (grub_target_to_host64): Likewise.
14360 (grub_host_to_target16): Likewise.
14361 (grub_host_to_target32): Likewise.
14362 (grub_host_to_target64): Likewise.
14363
f4fc97d0
BC
143642010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
14365
14366 Source tree is reorganized for emu build.
14367
14368 * include/grub/util/console.h: Move from here...
14369 * include/grub/emu/console.h: ...to here.
14370 * include/grub/util/getroot.h: Move from here...
14371 * include/grub/emu/getroot.h: ...to here.
14372 * include/grub/util/hostdisk.h: Move from here...
14373 * include/grub/emu/hostdisk.h: ...to here.
14374 * util/console.c: Move from here...
14375 * kern/emu/console.c: ...to here.
14376 * util/getroot.c: Move from here...
14377 * kern/emu/getroot.c: ...to here.
14378 * util/grub-emu.c: Move from here...
14379 * kern/emu/main.c: ...to here.
14380 * util/hostdisk.c: Move from here...
14381 * kern/emu/hostdisk.c: ...to here.
14382 * util/hostfs.c: Move from here...
14383 * kern/emu/hostfs.c: ...to here.
14384 * util/mm.c: Move from here...
14385 * kern/emu/mm.c: ...to here.
14386 * util/pci.c: Move from here...
14387 * bus/emu/pci.c: ...to here.
14388 * util/sdl.c: Move from here...
14389 * video/emu/sdl.c: ...to here.
14390 * util/time.c: Move from here...
14391 * kern/emu/time.c: ...to here.
14392 * util/usb.c: Move from here...
14393 * bus/usb/emu/usb.c: ...to here.
14394
14395 * include/grub/emu/misc.h: New header for grub-emu functions.
14396 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
14397
14398 * conf/any-emu.rmk: Rule updates for above renames.
14399 * conf/common.rmk: Likewise.
14400 * conf/i386-pc.rmk: Likewise.
14401 * conf/i386-qemu.rmk: Likewise.
14402 * conf/mips.rmk: Likewise.
14403 * conf/sparc64-ieee1275.rmk: Likewise.
14404 * conf/x86-efi.rmk: Likewise.
14405
14406 * disk/lvm.h: #include updates for above renames.
14407 * util/grub-mkrelpath.c: Likewise.
14408 * util/grub-probe.c: Likewise.
14409 * util/i386/pc/grub-setup.c: Likewise.
14410 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14411 * kern/emu/console.c: Likewise.
14412 * kern/emu/getroot.c: Likewise.
14413 * kern/emu/hostdisk.c: Likewise.
14414 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
14415
14416 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
14417 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
14418 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
14419 * util/misc.c: Remove grub-emu functions.
14420
cced9145
VS
144212010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14422
14423 Fix gfxmenu crash.
14424 Reported by: Thorsten Grützmacher.
14425
14426 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
14427 timeout hook.
14428 (circprog_set_property): Register and unregister timeout hook.
14429 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
14430 (label_destroy): Free template. and unregister hook.
14431 (label_set_state): New function.
14432 (label_set_property): Handle templates and hooks.
14433 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
14434 timeout hook.
14435 (progress_bar_set_property): Register and unregister timeout hook.
14436 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
14437 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
14438 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
14439 (update_timeout_visit): Removed.
14440 (update_timeouts): New function.
14441 (redraw_timeouts): Likewise.
14442 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
14443 (grub_gfxmenu_clear_timeout): Likewise.
14444 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
14445 (grub_gfxmenu_timeout_notify): Likewise.
14446 (grub_gfxmenu_timeout_notifications): New external variable.
14447 (grub_gfxmenu_timeout_register): New function.
14448 (grub_gfxmenu_timeout_unregister): Likewise.
14449
c6e5caab
VS
144502010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 Transform (broken) vga terminal into (working) vga video driver.
14453
14454 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
14455 video/i386/pc/vga.c.
14456 * include/grub/video.h (grub_video_driver_id):
14457 Add GRUB_VIDEO_DRIVER_VGA.
14458 * term/i386/pc/vga.c: Renamed to ...
14459 * video/i386/pc/vga.c: ...this
14460 (DEBUG_VGA): Removed.
14461 (CHAR_WIDTH): Likewise.
14462 (CHAR_HEIGHT): Likewise.
14463 (TEXT_WIDTH): Likewise.
14464 (TEXT_HEIGHT): Likewise.
14465 (DEFAULT_FG_COLOR): Likewise.
14466 (DEFAULT_BG_COLOR): Likewise.
14467 (colored_char): Likewise.
14468 (xpos): Likewise.
14469 (ypos): Likewise.
14470 (cursor_state): Likewise.
14471 (fg_color): Likewise.
14472 (bg_color): Likewise.
14473 (text_buf): Likewise.
14474 (page): Likewise.
14475 (font): Likewise.
14476 (framebuffer): New variable.
14477 (set_read_map): Disabled.
14478 (setup): New variable.
14479 (is_target): Likewise.
14480 (grub_vga_mod_init): Likewise.
14481 (grub_vga_mod_fini): Likewise.
14482 (check_vga_mem): Likewise.
14483 (write_char): Likewise.
14484 (write_cursor): Likewise.
14485 (scroll_up): Likewise.
14486 (grub_vga_putchar): Likewise.
14487 (grub_vga_getcharwidth): Likewise.
14488 (grub_vga_getwh): Likewise.
14489 (grub_vga_getxy): Likewise.
14490 (grub_vga_gotoxy): Likewise.
14491 (grub_vga_cls): Likewise.
14492 (grub_vga_setcolorstate): Likewise.
14493 (grub_vga_setcursor): Likewise.
14494 (grub_video_vga_init): New function.
14495 (grub_video_vga_setup): Likewise.
14496 (grub_video_vga_fini): Likewise.
14497 (update_target): Likewise.
14498 (grub_video_vga_blit_bitmap): Likewise.
14499 (grub_video_vga_blit_render_target): Likewise.
14500 (grub_video_vga_set_active_render_target): Likewise.
14501 (grub_video_vga_get_active_render_target): Likewise.
14502 (grub_video_vga_swap_buffers): Likewise.
14503 (grub_video_vga_set_palette): Likewise.
14504 (grub_video_vga_get_info_and_fini): Likewise.
14505 (grub_vga_term): Removed.
14506 (grub_video_vga_adapter): New variable.
14507 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14508 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14509
2bf61a98
VS
145102010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 * video/readers/jpeg.c: Indented.
14513
09ddcd11
VS
145142010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 Various jpeg cleanups.
14517
14518 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14519 (grub_jpeg_decode_quan_table): Use sizeof.
14520 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14521
e5507505
PH
145222010-05-05 Peter Hurley <No e-mail available> (tiny change)
14523
14524 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14525 tables. Ignore non-last ac bit.
14526 (grub_jpeg_decode_quan_table): Likewise.
14527
7e720a9b
VS
145282010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14531 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14532 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14533 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14534 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14535 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14536
a7fc080b
VS
145372010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14540 error.
14541
2bf6012d
VS
145422010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14545
265d68cd
VS
145462010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14547
14548 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14549 condition.
14550
145512010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
14552
14553 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14554 part.
14555
265d68cd 145562010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
14557
14558 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14559 pointers.
14560
265d68cd 145612010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
14562
14563 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14564
d1b61374
CF
145652010-05-01 Christian Franke <franke@computer.org>
14566
14567 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14568 Remove broken Cygwin path conversion.
14569 * util/misc.c: [__CYGWIN__] Add include and define.
14570 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14571 for Cygwin 1.7.
14572 (make_system_path_relative_to_its_root): Simplify loop, replace early
14573 return by break.
14574 [__CYGWIN__] Add conversion to win32 path.
14575 Include "/" case in trailing slash removal.
14576
3558c6e9
VS
145772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14580 Reported by: Seth Goldberg
14581
f5f3ff93
VS
145822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14583
14584 * commands/help.c (grub_cmd_help): Fix a typo.
14585 Reported by: Seth Goldberg
14586
d8b5cd40
VS
145872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14590 name and add N_.
14591 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14592 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14593 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14594 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14595 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14596 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14597 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14598 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14599 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14600 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14601 * normal/context.c (GRUB_MOD_INIT): Likewise.
14602 * normal/main.c (GRUB_MOD_INIT): Likewise.
14603 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14604 * term/serial.c (GRUB_MOD_INIT): Likewise.
14605 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14606
88c14915
VS
146072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14608
14609 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14610 extra == 0.
14611
165134bc
VS
146122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14613
14614 * commands/iorw.c: New file.
14615 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14616 (iorw_mod_SOURCES): New variable.
14617 (iorw_mod_CFLAGS): Likewise.
14618 (iorw_mod_LDFLAGS): Likewise.
14619
c5ac9b32
VS
146202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14621
14622 Hotkey support
14623
14624 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14625 * normal/main.c (hotkey_aliases): New variable.
14626 (grub_normal_add_menu_entry): Parse "--hotkey".
14627 * normal/menu_text.c (run_menu): Handle hotkeys.
14628
ce60689c
VS
146292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * kern/i386/coreboot/init.c (grub_machine_init): Call
14632 grub_machine_mmap_init on qemu.
14633
0359d006
VS
146342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 * boot/i386/qemu/boot.S: Add a missing .code16.
14637
7819a456
VS
146382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 Use LBIO on coreboot.
14641
14642 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14643 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14644 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14645 New declaration.
14646 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14647 grub_machine_mmap_init on coreboot.
14648 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14649 GRUB_LINUXBIOS_MEMBER_LINK.
14650 (grub_machine_mmap_iterate): Fix declaration.
14651 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14652
7210dca9
VS
146532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14654
14655 Split coreboot and multiboot ports.
14656
14657 * conf/i386-multiboot.rmk: New file.
14658 * configure.ac: Add multiboot port.
14659 * include/grub/i386/multiboot/boot.h: New file.
14660 * include/grub/i386/multiboot/console.h: Likewise.
14661 * include/grub/i386/multiboot/init.h: Likewise.
14662 * include/grub/i386/multiboot/kernel.h: Likewise.
14663 * include/grub/i386/multiboot/loader.h: Likewise.
14664 * include/grub/i386/multiboot/memory.h: Likewise.
14665 * include/grub/i386/multiboot/serial.h: Likewise.
14666 * include/grub/i386/multiboot/time.h: Likewise.
14667 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14668 * loader/multiboot.c: Likewise.
14669 * loader/multiboot_mbi2.c: Likewise.
14670 * util/grub-mkrescue.in: Generate multiboot rescue.
14671
6f8aaf68
VS
146722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14673
3080f7a7
VS
14674 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14675
146762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
14679
14680 * commands/terminal.c (abstract_terminal): New struct.
14681 (handle_command): New function. Based on grub_cmd_terminal_input.
14682 (grub_cmd_terminal_input): Use handle_command.
14683 (grub_cmd_terminal_output): Use handle_command.
14684
a8ebb841
BC
146852010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14686
14687 Fix comment handling.
14688
14689 * tests/grub_script_comments.in: New testcase.
14690 * conf/tests.rmk: Rules for new testcase.
14691 * script/yylex.l: Updated flex rules.
14692
bb06ba08
ST
146932010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14694
14695 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
14696 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14697 if argc is 1.
bb06ba08 14698
cc9d2425
VS
146992010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14702 autogen issues.
14703
460d8402
CF
147042010-04-26 Christian Franke <franke@computer.org>
14705
14706 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14707 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14708 (grub_get_prefix): Remove function.
14709 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14710 make_system_path_relative_to_its_root ().
14711 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14712
553c01f9
CF
147132010-04-24 Christian Franke <franke@computer.org>
14714
14715 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14716 (kernel_img_LDFLAGS): Remove -static-libgcc.
14717
2aec1692
CF
147182010-04-24 Christian Franke <franke@computer.org>
14719
14720 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14721 and CHECK_END_SYMBOL if grub-emu is built.
14722 Unset TARGET_OBJ2ELF if grub-emu is built
14723 without module support.
14724
f67dc308
JS
147252010-04-24 Jiro SEKIBA <jir@unicus.jp>
14726
14727 Nilfs2 support.
14728
14729 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14730 (grub_fstest_SOURCES): Likewise.
14731 (pkglib_MODULES): Add nilfs2.mod.
14732 (nilfs2_mod_SOURCES): New variable.
14733 (nilfs2_mod_CFLAGS): Likewise.
14734 (nilfs2_mod_LDFLAGS): Likewise.
14735 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14736 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14737 * fs/nilfs2.c: New file.
14738
4ba8d354
VS
147392010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14740
14741 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14742 is not supported.
14743
0d2c20c6
GS
147442010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14745
14746 Add grub-mkconfig support for NetBSD.
14747
14748 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14749 * util/grub-mkconfig.in: export new NetBSD specific variables.
14750 * po/POTFILES-shell: added 10_netbsd.in.
14751 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14752
bc4a2d83
BC
147532010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14754
14755 Fix emu build with grub-emu-pci and grub-emu-modules.
14756
14757 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14758 functions.
14759 * include/grub/libpciaccess.h: New file.
14760 * conf/any-emu.rmk: Update kernel headers for emu build.
14761
f48c87aa
VS
147622010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14765
18959385
VS
147662010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14769
0037de3f
VS
147702010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14771
14772 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14773 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14774 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14775 util/ieee1275/ofpath.c.
14776 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14777 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14778 * include/grub/sparc64/ieee1275/boot.h
14779 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14780 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14781 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14782 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14783 const char *.
14784 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14785 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14786 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14787 install.
14788
38e55e90
GS
147892010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14790
14791 * util/grub-mkconfig.in: Corrected two == equality tests.
14792 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14793 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14794 expect a number appended to it.
14795 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14796 expects a number appended to it.
14797
a9e6ff28
VS
147982010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14801
0b830b8f
VS
148022010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 * util/hostdisk.c (make_device_name): Change to new partition naming.
14805
0973daeb
VS
148062010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14809
460d8402 148102010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
14811
14812 * Makefile.in: Add missing localedir setting.
14813
0b456309
CW
148142010-04-14 Colin Watson <cjwatson@ubuntu.com>
14815
14816 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14817 mistake in r2156. Noticed by Anthony Fok.
14818
14819 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14820 @localedir@.
14821 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14822
08f46d62
BC
148232010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14824
14825 Fix a spurious, uninitialized variable warning.
14826
14827 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14828 Initialize variable, shdr.
14829 (grub_freebsd_load_elfmodule): Likewise.
14830 (grub_freebsd_load_elf_meta): Likewise.
14831
8c4a72d4
BC
148322010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14833
14834 Fix for escaped dollar in double quoted strings.
14835
14836 * script/yylex.l: Updated flex rules.
14837 * conf/tests.rmk: Rule for new testcase.
14838 * tests/grub_script_dollar.in: New testcase.
14839
ce44826e
CPE
148402010-04-13 Carles Pina i Estany <carles@pina.cat>
148412010-04-13 Colin Watson <cjwatson@ubuntu.com>
14842
14843 Enclose all translated strings in grub.cfg in single quotes, and
14844 escape them appropriately (Ubuntu bug #552921).
14845
14846 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14847 * util/grub.d/10_hurd.in: Use it.
14848 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14849 * util/grub.d/10_linux.in (linux_entry): Likewise.
14850
4b0cd8f8
VS
148512010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 Fix cygwin compilation.
14854
14855 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14856 * include/grub/misc.h (__register_frame_info)
14857 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14858 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14859 * kern/misc.c (__register_frame_info)
14860 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14861 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14862
01fcf061
VS
148632010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14866
5d04b11e
VS
148672010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 Unify libgcc processing.
14870
14871 * Makefile.in (kernel_img_LDFLAGS): New variable.
14872 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14873 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14874 overwriting.
14875 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14876 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14877 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14878 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14879 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14880 overwriting. Remove -lgcc and -static-libgcc
14881 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14882 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14883 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14884 (kernel_img_LDFLAGS): Append instead of overwriting.
14885 Remove -lgcc and -static-libgcc
14886 * conf/sparc64-ieee1275.rmk: Likewise.
14887 * include/grub/powerpc/libgcc.h: Move to ...
14888 * include/grub/libgcc.h: .. this.
14889 * include/grub/libgcc.h: Don't export most of the function on x86.
14890 (__bswapsi2): New export.
14891 (__bswapdi2): Likewise.
14892 * include/grub/mips/libgcc.h: Removed.
14893 * include/grub/sparc64/libgcc.h: Likewise.
14894
b7f3ac29
VS
148952010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14896
14897 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14898 disk_info_msg (conflicts with gettexting into languages with cases).
14899
2c7031b1
GS
149002010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14901
14902 Add grub-probe support for NetBSD.
14903
14904 * util/getroot.c (find_root_device): Convert block device to
14905 character device on NetBSD.
14906 * util/probe.c (probe): Require character device on NetBSD.
14907 * util/hostdisk.c: NetBSD specific headers.
14908 (configure_device_driver): new function to tune device driver
14909 parameters (currently only for NetBSD floppy driver).
14910 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14911 via disklabel ioctl).
14912 (open_device): call configure_device_driver on NetBSD.
14913 (convert_system_partition_to_system_disk): NetBSD specific code.
14914 (device_is_wholedisk): Likewise.
14915 (grub_util_biosdisk_get_grub_dev): Likewise.
14916 (make_device_name): Fixed a typo in bsd_part_str.
14917 * configure.ac: check for opendisk() and getrawpartition() on
14918 NetBSD and set LIBUTIL.
14919 * Makefile.in: add LIBUTIL to LIBS.
14920
f516290c
BC
149212010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14922
14923 Documentation fix.
14924
14925 * util/grub-script-check.c: Better help message.
14926
d8dcc0df
BC
149272010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14928
14929 Fix FreeBSD build.
14930
14931 * configure.ac: Flex version check.
14932 * conf/common.rmk: Add -Wno-error to sh.mod.
14933 * script/yylex.l: Remove all #pragma.
14934
6734334a
VS
149352010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14938 prototype.
14939 Reported by: Seth Goldberg.
14940
daea6abd
VS
149412010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14944 Rename "module" to "module2".
14945 Reported by: Seth Goldberg.
14946
f2fd9d2b
VS
149472010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14948
14949 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14950 EXPORT_FUNC.
14951 Reported by: Seth Goldberg.
14952
be124579
VS
149532010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 * lib/posix_wrap/locale.h: Add missing file.
14956 Reported by: Seth Goldberg.
14957
ef5da797
VS
149582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 grub-emu module load support.
14961
14962 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14963 NO_DYNAMIC_MODULES switched to this.
14964 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14965 (CFLAGS): Likewise.
14966 * conf/any-emu.rmk: Generate symlist.
14967 (kernel_img_HEADERS): Add util/datetime.h.
14968 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14969 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14970 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14971 kern/$(target_cpu)/cache.S.
14972 * configure.ac (grub-emu-modules): New option.
14973 * genmk.rb: Handle multiple source lists.
14974 * include/grub/sdl.h: New file.
14975 * include/grub/libusb.h: Likewise.
14976 * util/grub-emu.c (main): Hanle (host) root.
14977 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14978 GRUB_ERR_UNKNOWN_DEVICE.
14979 * util/misc.c: Move mm functions to ...
14980 * util/mm.c: ... here. All users updated.
14981
47822096
VS
149822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14985 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14986 missing files.
14987 (maintainer-clean): Remove libgcrypt-grub.
14988
5d7e7445
VS
149892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14990
14991 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14992
25f4e252
EC
149932010-04-09 EFI Coder <eficoder@hotmail.com>
14994
14995 * normal/menu_text.c (print_message): Clean up the message and show
14996 the Fn information when on EFI
14997 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14998
027de555
VS
149992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15000
15001 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
15002 All users updated.
15003 * normal/crypto.c (read_crypto_list): Likewise.
15004 * normal/dyncmd.c (read_command_list): Likewise.
15005 * normal/term.c (read_terminal_list): Likewise.
15006 * normal/main.c (read_lists): Use explicit prefix.
15007 (read_lists_hook): Use read_lists.
15008 (grub_normal_execute): Likewise.
15009
47779711
VS
150102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
15013 Reported by: Thomas Schmitt.
15014 Add -no-emul-boot to grub-mkisofs parameters.
15015
1118c32e
VS
150162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 * font/font.c: Indented.
15019
7d652447
BC
150202010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
15021
15022 Elif support to GRUB script (by Deepak Vankadaru).
15023
15024 * tests/grub_script_if.in: New testcase.
15025 * conf/tests.rmk: Rule for new testcase.
15026 * script/parser.y: Grammar rules for elif.
15027
34bb22df
BC
150282010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
15029
15030 While and until loops support to GRUB script.
15031
15032 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
15033 (grub_script_create_cmdwhile): New function prototype.
15034 (grub_script_execute_cmdwhile): New function prototype.
15035 * script/execute.c (grub_script_execute_cmdwhile): New function.
15036 * script/parser.y (command): New commands.
15037 (whilecmd): New grammar rule.
15038 (untilcmd): New grammar rule.
15039 * script/script.c (grub_script_create_cmdwhile): New function.
15040 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
15041 function.
15042
15043 * tests/grub_script_while1.in: New testcase.
15044 * conf/tests.rmk: Rule for new testcase.
15045
e215d8e0
VS
150462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
15049 as *.jpg.
15050
d7c43ba1
MV
150512010-04-09 Mario Vazquez <mariovazq@gmail.com>
15052
15053 GRUB_BACKGROUND support.
15054
15055 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
15056 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
15057
d64795c0
VS
150582010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 15061 Idea by: Mario Vazquez
d64795c0
VS
15062
15063 * util/grub.d/00_header.in: Load pf2 and image modules.
15064
f267f83a
VS
150652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 grub-mkconfig multiple terminal support.
15068
15069 * util/grub-mkconfig.in: Handle multiple terminals correctly.
15070 * util/grub.d/00_header.in: Likewise.
15071
b7841ceb
VS
150722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * Makefile.in: Specify files explicitly instead of using $< and $@ since
15075 we use cd $(srcdir).
15076
df60998c
CW
150772010-04-08 Colin Watson <cjwatson@ubuntu.com>
15078
15079 * util/grub.d/10_linux.in: Only use the first word of
15080 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
15081 spaces in GRUB_DISTRIBUTOR.
15082 * util/grub.d/10_kfreebsd.in: Likewise.
15083 * util/grub.d/10_hurd.in: Likewise.
15084
fa09c82e
BC
150852010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
15086
14e18ae3 15087 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
15088
15089 * tests/util/grub-shell.in: Remove -serial stdio option.
15090
daf892b3
BC
150912010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 POSIX header file wrappers.
15094
15095 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
15096 equivalents.
15097 * lib/posix_wrap/ctype.h: Likewise.
15098 * lib/posix_wrap/errno.h: Likewise.
15099 * lib/posix_wrap/langinfo.h: Likewise.
15100 * lib/posix_wrap/limits.h: Likewise.
15101 * lib/posix_wrap/localcharset.h: Likewise.
15102 * lib/posix_wrap/stdint.h: Likewise.
15103 * lib/posix_wrap/stdio.h: Likewise.
15104 * lib/posix_wrap/stdlib.h: Likewise.
15105 * lib/posix_wrap/string.h: Likewise.
15106 * lib/posix_wrap/sys/types.h: Likewise.
15107 * lib/posix_wrap/unistd.h: Likewise.
15108 * lib/posix_wrap/wchar.h: Likewise.
15109 * lib/posix_wrap/wctype.h: Likewise.
15110 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
15111 (grub_script.yy.h): Likewise.
15112 * script/yylex.l: Remove POSIX emulation #defines.
15113 * Makefile.in (POSIX_CFLAGS): New variable.
15114 (GNULIB_UTIL_CFLAGS): Likewise.
15115
15116 Regexp support.
15117
15118 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
15119 (regexp_mod_SOURCES): New variable.
15120 (regexp_mod_CFLAGS): Likewise.
15121 (regexp_mod_LDFLAGS): Likewise.
15122 * commands/regexp.c: New file.
15123 * gnulib/regcomp.c: New file. Imported from gnulib.
15124 * gnulib/regex.c: Likewise.
15125 * gnulib/regex_internal.c: Likewise.
15126 * gnulib/regex_internal.h: Likewise.
15127 * gnulib/regexec.c: Likewise.
15128 * gnulib/regex.h: Likewise.
15129
974ac4f7
VS
151302010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
15133 unsupported video mode types.
15134
2622c3ff
VS
151352010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15136
15137 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
15138
064cb524
VS
151392010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15140
15141 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
15142 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
15143
a8c3b552
VS
151442010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15145
15146 Remove unused grub_vga_get_font.
15147
15148 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
15149 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
15150
187bbe3d
GS
151512010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15152
15153 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
15154 * include/grub/misc.h: Likewise.
15155
b9396631
GS
151562010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15157
15158 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
15159 for which failure is fatal.
15160
50479feb
GS
151612010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15162
15163 * util/grub-install.in: Use mkdir -p to create grub directory.
15164 * util/i386/efi/grub-install.in: Likewise.
15165 * util/ieee1275/grub-install.in: Likewise.
15166
b1654fdf
GS
151672010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15168
15169 * Makefile.in (LEX): new variable.
15170
bd5a6415
GS
151712010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15172
15173 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
15174 `=' and added double quotes on operands of this equality test.
15175
3db3a82b
VS
151762010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 * Makefile.in (uninstall): Remove a leftover debug echo.
15179 Reported by: Grégoire Sutre
15180
38023412
VS
151812010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15182
15183 MIPS multiboot2 support.
15184
15185 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
15186 (multiboot2_mod_SOURCES): New variable.
15187 (multiboot2_mod_CFLAGS): Likewise.
15188 (multiboot2_mod_LDFLAGS): Likewise.
15189 (multiboot2_mod_ASFLAGS): Likewise.
15190 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
15191 definition.
15192 (MULTIBOOT_ENTRY_REGISTER): Likewise.
15193 (MULTIBOOT_MBI_REGISTER): Likewise.
15194 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
15195 (MULTIBOOT_ELF32_MACHINE): Likewise.
15196 (MULTIBOOT_ELF64_MACHINE): Likewise.
15197 * include/grub/mips/multiboot.h: New file.
15198 * include/grub/video.h (grub_video_driver_id): New type
15199 GRUB_VIDEO_DRIVER_SM712.
15200 (grub_video_get_info_and_fini): Export.
15201 (grub_video_get_palette): Likewise.
15202 (grub_video_get_driver_id): Likewise.
15203 * include/multiboot2.h: Resynced with spec.
15204 * loader/i386/multiboot.c: Moved from here ...
15205 * loader/multiboot.c: ... here. All users updated.
15206 (grub_multiboot_boot): Use platform-specific macros.
15207 * loader/i386/multiboot_elfxx.c: Moved from here ...
15208 * loader/multiboot_elfxx.c: ... here. All users updated.
15209 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
15210 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
15211 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
15212
47674667
VS
152132010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15214
15215 Import gnulib argp module.
15216
15217 * gnulib/argp-ba.c: New file.
15218 * gnulib/argp-eexst.c: Likewise.
15219 * gnulib/argp-fmtstream.c: Likewise.
15220 * gnulib/argp-fmtstream.h: Likewise.
15221 * gnulib/argp-fs-xinl.c: Likewise.
15222 * gnulib/argp-help.c: Likewise.
15223 * gnulib/argp-namefrob.h: Likewise.
15224 * gnulib/argp-parse.c: Likewise.
15225 * gnulib/argp-pin.c: Likewise.
15226 * gnulib/argp-pv.c: Likewise.
15227 * gnulib/argp-pvh.c: Likewise.
15228 * gnulib/argp-version-etc.c: Likewise.
15229 * gnulib/argp-version-etc.h: Likewise.
15230 * gnulib/argp-xinl.c: Likewise.
15231 * gnulib/argp.h: Likewise.
15232
495442ed
VS
152332010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15234
15235 * kern/device.c (grub_device_iterate): Clear errors after failed
15236 opening device.
15237
f9fd65df
VS
152382010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
15241 returned by firmware.
15242
af09641e
VS
152432010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
15246 compilation on coreboot and qemu
15247
016883a5
VS
152482010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 * include/multiboot2.h: Resync with spec.
15251
f97e1f7d
VS
152522010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15253
15254 Multiboot2 tag support
15255
15256 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
15257 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
15258 Remove loader/multiboot_loader.c.
15259 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
15260 (grub_multiboot2_real_boot): Likewise.
15261 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
15262 (grub_get_multiboot_mmap_count): New proto.
15263 (grub_fill_multiboot_mmap): Likewise.
15264 (grub_multiboot_set_video_mode): Likewise.
15265 (grub_multiboot_set_console): Likewise.
15266 (grub_multiboot_load): Likewise.
15267 (grub_multiboot_load_elf): Likewise.
15268 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
15269 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
15270 * include/multiboot.h: Resynced with specification.
15271 * include/multiboot2.h: Resynced with specification.
15272 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
15273 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
15274 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
15275 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
15276 users updated.
15277 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
15278 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
15279 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
15280 Removed.
15281 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
15282 Moved from here...
15283 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
15284 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15285 Moved from here...
15286 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
15287 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
15288 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
15289 All users updated.
15290 * loader/i386/multiboot_mbi2.c: New file.
15291
3506b90b
VS
152922010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15293
15294 Resync with gnulib.
15295
15296 * Makefile.in (GNULIB_CFLAGS): New variable.
15297 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
15298 (grub_script_check_CFLAGS): New variable.
15299 * gnulib/alloca.h: Resync with gnulib.
15300 * gnulib/error.c: Likewise.
15301 * gnulib/error.h: Likewise.
15302 * gnulib/fnmatch.c: Likewise.
15303 * gnulib/fnmatch_loop.c: Likewise.
15304 * gnulib/getdelim.c: Likewise.
15305 * gnulib/getline.c: Likewise.
15306 * gnulib/getopt.c: Likewise.
15307 * gnulib/getopt1.c: Likewise.
15308 * gnulib/getopt_int.h: Likewise.
15309 * gnulib/gettext.h: Likewise.
15310 * gnulib/progname.c: Likewise.
15311 * gnulib/progname.h: Likewise.
15312
394a3120
GS
153132010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
15314
15315 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
15316 which is the case with --disabled-nls.
15317
15318 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
15319 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
15320 * util/misc.c: Likewise.
15321 * util/mkisofs/mkisofs.c: Likewise.
15322 * util/mkisofs/mkisofs.h: Likewise.
15323
969d1c78
VS
153242010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15325
15326 Simplify Apple CC support.
15327
15328 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
15329 Add 0 byte at the end not to have a symbol with empty target.
15330 * mmap/i386/pc/mmap_helper.S: Likewise.
15331 * genmk.rb: Ignore errors 2030 and 2050.
15332 * kern/i386/pc/startup.S: Use LOCAL when possible.
15333
8d2977bb
BC
153342010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
15335
15336 Testcase and the fix for final semicolon on cmdline.
15337
15338 * tests/grub_script_final_semicolon.in: New testcase.
15339 * conf/tests.rmk: Rules for the new testcase.
15340 * script/parser.y: Grammar fix.
15341
a7bd6915
BC
153422010-03-26 BVK Chaitanya <bvk@localhost>
15343
15344 Blank lines testcase for GRUB script.
15345
15346 * tests/grub_script_blanklines.in: New testcase.
15347 * conf/tests.rmk: Rules for the new testcase.
15348
e4ff6628
VS
153492010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15350
15351 Don't use __FILE__.
15352
15353 * genmk.rb: Add -DGRUB_FILE to all C targets.
15354 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
15355 * include/grub/list.h: Likewise.
15356 * include/grub/misc.h: Likewise.
15357 * include/grub/mm.h: Likewise.
15358 * include/grub/test.h: Likewise.
15359 * kern/mm.c: Likewise.
15360 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15361
6a5cf6b6
VS
153622010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 Sunpc partitions support.
15365
15366 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
15367 (grub_fstest_SOURCES): Likewise.
15368 (pkglib_MODULES): Add part_sunpc.mod.
15369 (part_sunpc_mod_SOURCES): New variable.
15370 (part_sunpc_mod_CFLAGS): Likewise.
15371 (part_sunpc_mod_LDFLAGS): Likewise.
15372 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
15373 * partmap/sunpc.c: New file.
15374
746d9045
BC
153752010-03-26 BVK Chaitanya <bvk@localhost>
15376
15377 For loop support to GRUB script.
15378
15379 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
15380 (grub_script_create_cmdfor): New function prototype.
15381 (grub_script_execute_cmdfor): New function prototype.
15382 * script/execute.c (grub_script_execute_cmdfor): New function.
15383 * script/parser.y (command): New for command.
15384 (forcmd): New grammar rule.
15385 * script/script.c (grub_script_create_cmdfor): New function.
15386 * util/grub-script-check.c (grub_script_execute_cmdfor): New
15387 function.
15388 * tests/grub_script_for1.in: New testcase.
15389 * conf/tests.rmk: Rules for new testcase.
15390
18486b18
VS
153912010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15392
15393 Nested partitions
15394
15395 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
15396 'partition' is NULL, grub_partition_get_start already does that.
15397 * commands/loadenv.c (check_blocklists): Likewise.
15398 (write_blocklists): Likewise.
15399 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
15400 (grub_fstest_SOURCES): Likewise.
15401 (pkglib_MODULES): Add part_bsd.mod.
15402 (part_bsd_mod_SOURCES): New variable.
15403 (part_bsd_mod_CFLAGS): Likewise.
15404 (part_bsd_mod_LDFLAGS): Likewise.
15405 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
15406 (grub_emu_SOURCES): Likewise.
15407 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15408 * include/grub/bsdlabel.h: New file.
15409 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
15410 'get_name'.
15411 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
15412 (grub_partition_map_list): New variable.
15413 (grub_partition_map_register): Inline.
15414 (grub_partition_map_unregister): Likewise.
15415 (FOR_PARTITION_MAPS): New macro.
15416 (grub_partition_map_iterate): Removed.
15417 (grub_partition_get_start): Handle nested partitions.
15418 * include/grub/msdos_partition.h: Remove bsd-related entries.
15419 (grub_pc_partition): Remove.
15420 * kern/disk.c (grub_disk_close): Free partition data.
15421 (grub_disk_adjust_range): Handle nested partitions.
15422 * kern/partition.c (grub_partition_map_probe): New function.
15423 (grub_partition_probe): Parse name to number, handle subpartitions.
15424 (get_partmap): New function.
15425 (grub_partition_iterate): Handle subpartitions.
15426 (grub_partition_get_name): Likewise.
15427 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
15428 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
15429 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
15430 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
15431 Set 'number'.
15432 (acorn_partition_map_probe): Remove.
15433 (acorn_partition_map_get_name): Likewise.
15434 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
15435 Set 'number'.
15436 Set 'index' to 0 since there can be only one partition entry per sector.
15437 (amiga_partition_map_probe): Remove.
15438 (amiga_partition_map_get_name): Likewise.
15439 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
15440 Set 'number'.
15441 Set 'offset' and 'index' to real positions of partitions.
15442 (apple_partition_map_probe): Remove.
15443 (apple_partition_map_get_name): Likewise.
15444 * partmap/bsdlabel.c: New file.
15445 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
15446 Set 'number'.
15447 Allocate 'data' so it can be correctly freed.
15448 Set 'index' to offset inside sector.
15449 (gpt_partition_map_probe): Remove.
15450 (gpt_partition_map_get_name): Likewise.
15451 * partmap/msdos.c (grub_partition_parse): Remove.
15452 (pc_partition_map_iterate): Don't force raw access.
15453 Set 'number'.
15454 Make 'ext_offset' a local variable.
15455 (pc_partition_map_probe): Remove.
15456 (pc_partition_map_get_name): Remove.
15457 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
15458 Set 'number'.
15459 (sun_partition_map_probe): Remove.
15460 (sun_partition_map_get_name): Likewise.
15461 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
15462 (grub_pcpart_type): Likewise.
15463 * util/hostdisk.c (open_device): Handle new numbering scheme.
15464 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
15465 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
15466 * util/grub-probe.c (probe_partmap): Handle nested paritions.
15467 * util/grub-install.in: Insert all subpartition modules.
15468 * util/ieee1275/grub-install.in: Likewise.
15469
a3940f88
AG
154702010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
15471
15472 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
15473 grammar.
15474
21b99926 154752010-03-24 Colin Watson <cjwatson@ubuntu.com>
15476
15477 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
15478
bed1d352
CW
154792010-03-21 Colin Watson <cjwatson@ubuntu.com>
15480
15481 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
15482 match where 'make install' puts them.
15483 * util/i386/efi/grub-install.in: Likewise.
15484
c9f58427
CW
154852010-03-19 Colin Watson <cjwatson@ubuntu.com>
15486
15487 * .bzrignore: Add gentrigtables, grub-script-check,
15488 grub_script_check_init.c, grub_script_check_init.h, and
15489 trigtables.c.
15490
f84afb27
VS
154912010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15492
15493 * kern/parser.c: Indented.
15494
ed0e3d30
VS
154952010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15496
15497 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15498
0ea81d98
VS
154992010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15502 alpha_mask_size == 0 case.
15503
0cdc2a09
BC
155042010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15505
15506 GRUB shell lexer and parser improvements.
15507
15508 * conf/any-emu.rmk: Build rule updates.
15509 * conf/common.rmk: Likewise.
15510 * conf/i386-coreboot.rmk: Likewise.
15511 * conf/i386-efi.rmk: Likewise.
15512 * conf/i386-ieee1275.rmk: Likewise.
15513 * conf/i386-pc.rmk: Likewise.
15514 * conf/powerpc-ieee1275.rmk: Likewise.
15515 * conf/x86_64-efi.rmk: Likewise.
15516
15517 * configure.ac: Configure check for flex.
15518
15519 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15520 types.
15521 (grub_lexer_param): Struct member updates.
15522 (grub_parser_param): Likewise.
15523 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15524 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15525 (grub_script_lexer_init): Prototype update.
15526 (grub_script_lexer_record_start): Likewise.
15527 (grub_script_lexer_record_stop): Likewise.
15528 (grub_script_lexer_yywrap): New function prototype.
15529 (grub_script_lexer_fini): Likewise.
15530 (grub_script_execute_argument_to_string): Removed by...
15531 (grub_script_execute_argument_to_argv): ...better version.
15532
15533 * script/execute.c (ROUND_UPTO): New macro.
15534 (grub_script_execute_cmdline): Out of memory fixes.
15535 (grub_script_execute_menuentry): Likewise.
15536 (grub_script_execute_argument_to_string): Removed. Update all
15537 users by...
15538 (grub_script_execute_argument_to_argv): ...better version.
15539 * script/function.c (grub_script_function_create): Use
15540 grub_script_execute_argument_to_argv instead of
15541 grub_script_execute_argument_to_string.
15542
15543 * script/lexer.c (check_varstate): Removed.
15544 (check_textstate): Removed.
15545 (grub_script_lexer_record_start): Likewise.
15546 (grub_script_lexer_record_stop): Likewise.
15547 (recordchar): Replaced with...
15548 (grub_script_lexer_record): ...new function.
15549 (nextchar): Removed.
15550 (grub_script_lexer_init): Rewritten.
15551 (grub_script_yylex): Rewritten.
15552 (append_newline): New function.
15553 (grub_script_lexer_yywrap): New function.
15554 (grub_script_lexer_fini): New function.
15555 (grub_script_yyerror): Sets error flag.
15556
15557 * script/yylex.l: New file.
15558 (grub_lexer_yyfree): Wrapper for flex yyffre.
15559 (grub_lexer_yyalloc): Likewise.
15560 (grub_lexer_yyrealloc): Likewise.
15561 * script/parser.y: Refactored.
15562
15563 * script/script.c (grub_script_arg_add): Out of memory fixes.
15564 (grub_script_add_arglist): Likewise.
15565 (grub_script_create_cmdline): Likewise.
15566 (grub_script_create_cmdmenu): Likewise.
15567 (grub_script_add_cmd): Likewise.
15568 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15569 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15570 unnecessary code.
15571
15572 * tests/grub_script_echo1.in: New testcase.
15573 * tests/grub_script_vars1.in: New testcase.
15574 * tests/grub_script_echo_keywords.in: New testcase.
15575
1d63a066
VS
155762010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15577
15578 Remove some redundancy in build system.
15579
15580 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15581 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15582 (TARGET_LDFLAGS): Add -nostdlib.
15583 (TARGET_IMG_LDFLAGS): Likewise.
15584 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15585 anything since mmap isn't available.
15586 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15587 Add util/time.c.
15588 (pkglib_MODULES): Remove reboot.mod.
15589 (reboot_mod_SOURCES): Removed.
15590 (reboot_mod_CFLAGS): Likewise.
15591 (reboot_mod_LDFLAGS): Likewise.
15592 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15593 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15594 (DEFSYMFILES): Add kernel_syms.lst.
15595 (kernel_img_HEADERS): Add common headers.
15596 (symlist.c): New target.
15597 (kernel_syms.lst): Likewise.
15598 (pkglib_MODULES): Add memdisk.mod.
15599 (memdisk_mod_SOURCES): New variable.
15600 (memdisk_mod_CFLAGS): Likewise.
15601 (memdisk_mod_LDFLAGS): Likewise.
15602 (pkglib_MODULES): Add reboot.mod.
15603 (reboot_mod_SOURCES): New variable.
15604 (reboot_mod_CFLAGS): Likewise.
15605 (reboot_mod_LDFLAGS): Likewise.
15606 (pkglib_MODULES): Add date.mod.
15607 (date_mod_SOURCES): New variable.
15608 (date_mod_CFLAGS): Likewise.
15609 (date_mod_LDFLAGS): Likewise.
15610 (pkglib_MODULES): Add datehook.mod.
15611 (datehook_mod_SOURCES): New variable.
15612 (datehook_mod_CFLAGS): Likewise.
15613 (datehook_mod_LDFLAGS): Likewise.
15614 (pkglib_MODULES): Add lsmmap.mod.
15615 (lsmmap_mod_SOURCES): New variable.
15616 (lsmmap_mod_CFLAGS): Likewise.
15617 (lsmmap_mod_LDFLAGS): Likewise.
15618 (pkglib_MODULES): Add boot.mod.
15619 (boot_mod_SOURCES): New variable.
15620 (boot_mod_CFLAGS): Likewise.
15621 (boot_mod_LDFLAGS): Likewise.
15622 * conf/i386-coreboot.rmk: Removed redundant parts.
15623 * conf/i386-ieee1275.rmk: Likewise.
15624 * conf/i386-pc.rmk: Likewise.
15625 * conf/mips-yeeloong.rmk: Likewise.
15626 * conf/mips.rmk: Likewise.
15627 * conf/powerpc-ieee1275.rmk: Likewise.
15628 * conf/sparc64-ieee1275.rmk: Likewise.
15629 * conf/x86_64-efi.rmk: Likewise.
15630 * conf/i386-coreboot.rmk: Moved qemu parts ..
15631 * conf/i386-qemu.rmk: ... here
15632 * conf/i386-efi.rmk: Moved common parts to...
15633 * conf/x86-efi.rmk: ... here.
15634 * conf/i386.rmk: Added modules common to all x86 variants.
15635 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15636 * disk/memdisk.c: Remove grub/machine/kernel.h.
15637 * gensymlist.sh.in: Include symbol.h.
15638 * hook/datehook.c: Correct module name.
15639 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15640 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15641 * include/grub/i386/efi/serial.h: New file.
15642 * include/grub/x86_64/efi/serial.h: Likewise.
15643 * util/time.c: Likewise.
15644 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15645
463ac55f
CK
156462010-03-14 Colin King <colin.king@ubuntu.com>
156472010-03-14 Colin Watson <cjwatson@ubuntu.com>
15648
15649 Shrink the pre-partition-table part of boot.img by eight bytes.
15650
15651 * boot/i386/pc/boot.S (ERR): New macro.
15652 (chs_mode): Use ERR.
15653 (geometry_error): Likewise.
15654 (hd_probe_error): Remove. This is only used once, so we wrwite
15655 it inline instead.
15656 (read_error): Instead of printing read_error_string, just set up
15657 %si and fall through to ...
15658 (error_message): ... this new function, also used by ERR.
15659
08e46ede
CW
156602010-03-14 Colin Watson <cjwatson@ubuntu.com>
15661
15662 Speed up consecutive hostdisk operations on the same device.
15663
15664 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15665 (grub_util_biosdisk_open): Initialise disk->data.
15666 (struct linux_partition_cache): New structure.
15667 (linux_find_partition): Cache partition start positions; these are
15668 expensive to compute on every read and write.
15669 (open_device): Cache open file descriptor in disk->data, so that we
15670 don't have to reopen it and flush the buffer cache for consecutive
15671 operations on the same device.
15672 (grub_util_biosdisk_close): New function.
15673 (grub_util_biosdisk_dev): Set `close' member.
15674
15675 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15676 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15677 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15678 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15679 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15680
4a6d2d06
VS
156812010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15682
15683 Compile parts of grub-emu as modules.
15684
15685 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15686 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15687 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15688 (all-local): Add $(GRUB_EMU).
15689 (install-local): Install $(GRUB_EMU).
15690 (uninstall): Uninstall $(GRUB_EMU).
15691 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15692 * kern/dl.c: Likewise.
15693 * commands/sleep.c: Not include machine/time.h.
15694 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15695 (COMMON_CFLAGS): Likewise.
15696 (sbin_UTILITIES): Remove grub-emu.
15697 (grub_emu_SOURCES): Removed.
15698 (kernel_img_RELOCATABLE): New variable.
15699 (pkglib_PROGRAMS): Add kernel.img.
15700 (kernel_img_SOURCES): New variable
15701 (kernel_img_CFLAGS): Likewise.
15702 (kernel_img_LDFLAGS): Likewise.
15703 (TARGET_NO_STRIP): Likewise.
15704 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15705 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15706 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15707 (grub-emu): New target.
15708 (GRUB_EMU): New variable.
15709 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15710 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15711 * loader/xnu.c: Likewise.
15712 * include/grub/pci.h: Likewise.
15713 * genemuinit.sh: New file.
15714 * genemuinitheader.sh: Likewise.
15715 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15716 Support TARGET_NO_DYNAMIC_MODULES.
15717 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15718 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15719 * disk/loopback.c: Likewise.
15720 * font/font_cmd.c: Likewise.
15721 * partmap/acorn.c: Likewise.
15722 * partmap/amiga.c: Likewise.
15723 * partmap/apple.c: Likewise.
15724 * partmap/gpt.c: Likewise.
15725 * partmap/msdos.c: Likewise.
15726 * partmap/sun.c: Likewise.
15727 * parttool/msdospart.c: Likewise.
15728 * term/gfxterm.c: Likewise.
15729 * video/bitmap.c: Likewise.
15730 * video/readers/jpeg.c: Likewise.
15731 * video/readers/png.c: Likewise.
15732 * video/readers/tga.c: Likewise.
15733 * video/video.c: Likewise.
15734 * util/grub-emu.c (read_command_list): Removed.
15735 (main): Don't call util_init_nls.
15736 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15737 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15738
91fdd2ed
VS
157392010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15740
15741 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15742 date.mod, datehook.mod.
15743 (datetime_mod_SOURCES): New variable.
15744 (datetime_mod_CFLAGS): Likewise.
15745 (datetime_mod_LDFLAGS): Likewise.
15746 (date_mod_SOURCES): Likewise.
15747 (date_mod_CFLAGS): Likewise.
15748 (date_mod_LDFLAGS): Likewise.
15749 (datehook_mod_SOURCES): Likewise.
15750 (datehook_mod_CFLAGS): Likewise.
15751 (datehook_mod_LDFLAGS): Likewise.
15752 * conf/sparc64-ieee1275.rmk: Likewise.
15753 * lib/ieee1275/datetime.c: New file.
15754
873ccae6
VS
157552010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15756
15757 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15758 (ieee1275_fb_mod_SOURCES): New variable.
15759 (ieee1275_fb_mod_CFLAGS): Likewise.
15760 (ieee1275_fb_mod_LDFLAGS): Likewise.
15761 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15762 New proto.
15763 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15764 (HEAP_MAX_ADDR): Likewise.
15765 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15766 type.
15767 Correct stop condition.
15768 (grub_ieee1275_devices_iterate): New function.
15769 * video/ieee1275.c: New file.
15770
601c97c0
VS
157712010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15774
15775 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15776 as scratch.
15777 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15778 SCRATCH_PAD_DISKBOOT as scratch.
15779 (bootit): Pass Openfirmware pointer in %o4.
15780 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15781 of 0x200000.
15782 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15783 with util/grub-mkrawimage.c.
15784 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15785 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15786 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15787 (grub_aout_load) [GRUB_UTIL]: Likewise.
15788 * include/grub/kernel.h (grub_modules_get_end): New proto.
15789 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15790 (SCRATCH_PAD_BOOT): New definition.
15791 (SCRATCH_PAD_DISKBOOT): Likewise.
15792 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15793 * include/grub/sparc64/ieee1275/ieee1275.h
15794 (grub_ieee1275_original_stack): New variable
15795 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15796 New definition
15797 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15798 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15799 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15800 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15801 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15802 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15803 (grub_platform_image_format_t): New type.
15804 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15805 * kern/main.c (grub_modules_get_end)
15806 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15807 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15808 (codestart): Switch stacks.
15809 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15810 variable.
15811 (grub_heap_init): Use grub_modules_get_end.
15812 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15813 stack.
15814 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15815 (main): Likewise.
15816 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15817
d68b491e
TG
158182010-03-14 Thorsten Glaser <tg@mirbsd.org>
15819
15820 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15821
4e02ed50
MK
158222010-03-08 Matt Kraai <kraai@ftbfs.org>
15823
15824 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15825 bug #559005).
15826
1f15fc1e
VS
158272010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 * genmoddep.awk: Output all missing symbols and not only first.
15830
fce5d8ff
VS
158312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15832
15833 * NEWS: Put the date of 1.98 release.
15834
d1e8a02f
VS
158352010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15838 ft2build.h.
15839
696fd607
VS
158402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15843 completition in the middle of string.
15844
33e2e6f3
VS
158452010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15846
15847 * util/grub-mkrescue.in: Use mktemp with explicit template.
15848
b1f6d291
VS
158492010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15852
2ac227c7
VS
158532010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15856 right pointer.
15857
8f9a632b
VS
158582010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 Fix FreeBSD compilation.
15861
15862 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15863 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15864
60b03859
VS
158652010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15866
15867 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15868
48a5a769
VS
158692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15872
3ab4bd77
VS
158732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15876
d116e0d8
RM
158772010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15878
15879 Support relative image path in theme file.
15880
15881 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15882 (image_set_property): Handle theme_dir and relative path.
15883
c7ef54aa
VS
158842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 * configure.ac: Alias amd64 to x86_64.
15887
fcee14ed
VS
158882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 * NEWS: mention multiboot on EFI.
15891
d0780363
VS
158922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * kern/main.c (grub_load_modules): Handle errors from init functions of
15895 embeded modules.
15896
41168ea4
VS
158972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 * normal/autofs.c (autoload_fs_module): Handle errors.
15900
b54d93ac
VS
159012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 Disable linux.mod on qemu-mips since it's not functional and leads
15904 to compilation failure.
15905
15906 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15907 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15908 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15909 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15910 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15911 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15912 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15913 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15914 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15915 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15916 Reported by: BVK Chaitanya
15917
fc8345da
JU
159182010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15919
15920 * INSTALL: Add gettext as a dependency and add qemu to a new section
15921 "Prerequisites for make-check".
15922
4760f979
CF
159232010-03-04 Christian Franke <franke@computer.org>
15924
15925 * util/grub-pe2elf.c: Add missing include "progname.h".
15926
f209b5b2
VS
159272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * normal/crypto.c (read_crypto_list): Fix a typo.
15930 Reported by: Seth Goldberg.
15931
b4b7be98
VS
159322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15933
15934 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 15935 Reported by: Seth Goldberg.
b4b7be98 15936
c0ee0385
VS
159372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15938
15939 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15940 ascii.bitmaps.
15941
a8efbf64
VS
159422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15943
15944 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 15945 Reported by: Seth Goldberg.
a8efbf64 15946
08dcd913
VS
159472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15948
15949 * util/i386/efi/grub-install.in: Copy gettext files.
15950
c4d0b332
VS
159512010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15952
15953 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15954
c6f2fe52
VS
159552010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 Wait for user entry basing on presence of output rather than on errors.
15958
15959 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15960 (grub_install_newline_hook): Likewise.
15961 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15962 * normal/menu.c (show_menu): Check line_counter to determine presence
15963 of output.
15964 * normal/term.c (grub_normal_line_counter): New variable.
15965 (grub_normal_get_line_counter): New function.
15966 (grub_install_newline_hook): Likewise.
15967
5382b1e4
VS
159682010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15969
15970 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15971
5519963b
VS
159722010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * configure.ac: Update version to 1.98.
15975
72b28631
VS
159762010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15977
15978 * util/grub.d/10_linux.in (linux_entry): Don't default to
15979 gfxpayload=keep if Linux doesn't support video handover.
15980
c140a180
VS
159812010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15982
15983 Don't compile video modules on yeeloong since video subsystem is part
15984 of kernel.
15985
15986 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15987 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15988 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15989 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15990 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15991 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15992 * include/grub/bitmap_scale.h: Likewise.
15993 * include/grub/bufio.h: Likewise.
15994 * include/grub/font.h: Likewise.
15995 * include/grub/gfxterm.h: Likewise.
15996 * include/grub/video.h: Likewise.
15997 * include/grub/vbe.h: Don't include video_fb.h.
15998 * video/i386/pc/vbe.c: Include video_fb.h.
15999 * commands/i386/pc/vbetest.c: Include video.h.
16000
a0ca21c2
CW
160012010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
16002
16003 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
16004 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
16005 default entry if GRUB_SAVEDEFAULT=true. This allows using
16006 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
16007 saving a new default on every boot.
16008
4a8a763c
VS
160092010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
16010
16011 * normal/crypto.c (read_crypto_list): Fix a memory leak.
16012 * normal/term.c (read_terminal_list): Likewise.
16013 * normal/main.c (grub_normal_init_page): Likewise.
16014 (grub_normal_read_line_real): Likewise.
16015
607ffde2
VS
160162010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
16017
16018 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
16019 memory leak.
16020 Reported by: Seth Goldberg.
16021
2b8fa975
CW
160222010-02-24 Joey Korkames <joey+lists@kidfixit.com>
16023
16024 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
16025 duplicate declaration of `start'.
16026
618307dd
VS
160272010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
16030 filename.
16031 Reported by: Georgy Buranov
16032
7dd05b96 160332010-02-20 Carles Pina i Estany <carles@pina.cat>
16034
16035 * util/grub-mkrawimage.c (usage): Change string formatting to
16036 improve gettext.
16037
d1484a42
MRA
160382010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16039
16040 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
16041 backspace keys.
16042
42b1d186
VS
160432010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
16044
16045 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
16046 Reported by: Michael Suchanek.
16047
160482010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
16049
16050 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
16051 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
16052
d9f31a41
VS
160532010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 Remove any reference to non-free fonts.
16056
16057 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
16058 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
16059 uses non-free components.
16060 * font/font.c (grub_font_get_name): Remove example name.
16061 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
16062 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16063 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
16064 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
16065
2793c71e
GB
160662010-02-16 Georgy Buranov <gburanov@gmail.com>
16067
16068 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
16069
402e3779
VS
160702010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
16073 Double divisor.
16074 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
16075 features.
16076 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
16077
0dd1e0dd
VS
160782010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16079
16080 * gensymlist.sh.in: Use TARGET_CC instead of CC.
16081
6fa7cfce
ST
160822010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16083
16084 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
16085 * docs/grub.texi (Command-line and menu entry commands): Document play
16086 command.
16087
37c8483b
ST
160882010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16089
16090 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
16091 parse arguments as inline tempo and notes. Move code for playing notes
16092 to...
16093 (play): ... new function.
16094
14da0fb7
ST
160952010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16096
16097 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
16098 grub_uint16_t instead of short.
16099 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
16100 disk from little endian to cpu endianness.
16101
04459e70
ST
161022010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
16103
16104 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
16105 GRUB_TICKS_PER_SECOND instead of 120.
16106
a0876943
VS
161072010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16108
16109 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
16110 escape sequence after \e.
16111
e29f95dc
VS
161122010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
16115 non-ASCII characters.
16116
d27859b2
VS
161172010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
16120 set root in single quotes to prevent \, from being unescaped.
16121
bc028f2f
VS
161222010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 Prevent unknown commands from stopping menuentry execution.
16125
16126 * script/execute.c (grub_script_execute_cmdline): Print error after
16127 unknown command.
16128
095f5f82
VS
161292010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
16132 Reported by: Pavel Pisa.
16133
8c717950
VS
161342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
16137
904935c3
VS
161382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16139
16140 Merge grub_ieee1275_map_physical into grub_map and rename to
16141 grub_ieee1275_map
16142
16143 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
16144 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
16145 Remove.
16146 * kern/ieee1275/openfw.c (grub_map): Rename to ...
16147 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
16148 necessary.
16149 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
16150
5b59a4e3
VS
161512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
16154 opening and not after.
16155
69e137e8
VS
161562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16157
16158 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
16159 constants.
16160
2c0fcc36
VS
161612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16162
16163 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
16164 (alloc_phys): Use ALIGN_UP instead of align_addr.
16165
8c6052ce
VS
161662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16167
16168 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
16169
17cec782
VS
161702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
16173
e0128bbd
VS
161742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
16177 verbose dprintf.
16178
ca62070b
VS
161792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 Fix over-4GiB seek on sparc64.
16182
16183 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
16184 Replace pos_i and pos_lo with pos. All users updated.
16185 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16186 New constant.
16187 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16188 Likewise.
16189 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
16190 and pos_lo.
16191
bdca2607
VS
161922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16193
16194 * util/grub-mkrawimage.c (main): Call set_program_name.
16195
da278c4d
VS
161962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16197
16198 Properly align 64-bit targets.
16199
16200 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
16201 (generate_image): Use ALIGN_ADDR.
16202
b274d734
VS
162032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 Properly create cross-endian images.
16206
16207 * include/grub/types.h (grub_host_to_target_addr): New macro
16208 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
16209
82da2062
VS
162102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16211
16212 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
16213
7cae4377
VS
162142010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16215
16216 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
16217
16218 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
16219 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
16220 (grub_linux_boot): Divide by 64K when on VESA.
16221
65a533e7
VS
162222010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 Support GRUB_GFXPAYLOAD_LINUX.
16225
16226 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
16227 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
16228
dd01d397
VS
162292010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16230
16231 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
16232 to show messages instead of discarding them.
16233 Process errors after executing command and not before. Keep old method
16234 too as precaution.
16235
660960d6
VS
162362010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 * configure.ac: Check for ft2build.h.
16239
62509f04
VS
162402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16241
16242 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
16243
473df63d
VS
162442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16245
16246 * genkernsyms.sh.in: Use TARGET_CC.
16247
c98d2a13
CW
162482010-02-07 Colin Watson <cjwatson@ubuntu.com>
16249
16250 * NEWS: Update.
16251
6e14234c
VS
162522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
16255 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
16256 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 16257
b255e9cf
YB
162582010-02-07 Yves Blusseau <blusseau@zetam.org>
16259
6e14234c 16260 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 16261
98e6959d
VS
162622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 Fix warnings in grub-emu when compiling with maximum warning options.
16265
16266 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
16267 (grub_arch_modules_addr): Return 0 and not NULL.
16268 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 16269 (xstrdup): Use newstr instead of dup.
f88d801b
VS
16270 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
16271 of disk to dsk to avoid shadowing.
74e4934e
VS
16272 (find_free_slot): Fix prototype.
16273 * util/getroot.c (grub_util_is_dmraid): Make static.
16274 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
16275 Add missing prototype.
16276 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 16277
74e31b5c
VS
162782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * loader/i386/linux.c (grub_linux_setup_video): Handle error
16281 appropriately.
16282
6b2ad14b
VS
162832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16284
16285 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
16286 code out.
16287
8f891adc
VS
162882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16289
16290 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
16291 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
16292 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
16293 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
16294 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
16295 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
16296
74b45184
VS
162972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16298
16299 * include/grub/err.h (grub_err_printf): Don't export.
16300
a4bced77
VS
163012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
16304
007d0695
VS
163052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16306
16307 * include/grub/i18n.h (grub_gettext_dummy): Removed.
16308 * kern/misc.c (grub_gettext_dummy): Make static.
16309
b6c0d9c2
VS
163102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16311
16312 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
16313 by non-valid ones.
16314 * kern/term.c (grub_putchar): Likewise.
16315
f51a90d0
VS
163162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16317
16318 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
16319 buggy hook call and memory leak.
16320
6846cec5
VS
163212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
16324
468d69fe
VS
163252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16326
16327 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
16328
51906b8c
VS
163292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16330
16331 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
16332 modevar.
16333 Return grub_errno on allocation error.
16334
09706ce5
VS
163352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16336
16337 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
16338
911df80c
YB
163392010-02-06 Yves Blusseau <blusseau@zetam.org>
16340
16341 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
16342 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
16343
3746a6bc
VS
163442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16345
16346 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
16347 non-pxe disk.
16348 (grub_pxefs_open): Likewise.
16349
09706ce5
VS
163502010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16351
16352 * util/grub.d/10_hurd.in: Add --class information to menuentries.
16353 * util/grub.d/10_kfreebsd.in: Likewise.
16354 * util/grub.d/10_linux.in: Likewise.
16355
7cc192d9
VS
163562010-02-06 Colin D Bennett <colin@gibibit.com>
16357
16358 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
16359 (gfxmenu_mod_SOURCES): New variable.
16360 (gfxmenu_mod_CFLAGS): Likewise.
16361 (gfxmenu_mod_LDFLAGS): Likewise.
16362 * include/grub/term.h (grub_term_set_current_output): Declare
16363 argument as const.
16364 * docs/gfxmenu-theme-example.txt: New file.
16365 * gfxmenu/gfxmenu.c: Likewise.
16366 * gfxmenu/gui_box.c: Likewise.
16367 * gfxmenu/gui_canvas.c: Likewise.
16368 * gfxmenu/gui_circular_progress.c: Likewise.
16369 * gfxmenu/gui_image.c: Likewise.
16370 * gfxmenu/gui_label.c: Likewise.
16371 * gfxmenu/gui_list.c: Likewise.
16372 * gfxmenu/gui_progress_bar.c: Likewise.
16373 * gfxmenu/gui_string_util.c: Likewise.
16374 * gfxmenu/gui_util.c: Likewise.
16375 * gfxmenu/icon_manager.c: Likewise.
16376 * gfxmenu/model.c: Likewise.
16377 * gfxmenu/named_colors.c: Likewise.
16378 * gfxmenu/theme_loader.c: Likewise.
16379 * gfxmenu/view.c: Likewise.
16380 * gfxmenu/widget-box.c: Likewise.
16381 * include/grub/gfxmenu_model.h: Likewise.
16382 * include/grub/gfxmenu_view.h: Likewise.
16383 * include/grub/gfxwidgets.h: Likewise.
16384 * include/grub/gui.h: Likewise.
16385 * include/grub/gui_string_util.h: Likewise.
16386 * include/grub/icon_manager.h: Likewise.
16387
163882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16389
16390 Agglomerate scrolling in gfxterm.
16391
16392 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
16393 (grub_virtual_screen_setup): Initialise 'total_screen'.
16394 (write_char): Split to ...
16395 (paint_char): ... this ...
16396 (write_char): ... and this.
16397 (paint_char): Handle delayed scrolling.
16398 (draw_cursor): Likewise.
16399 (scroll_up): Split to ...
16400 (real_scroll): ... this ...
16401 (scroll_up): ... and this.
16402 (real_scroll): Handle multi-line scroll and draw below-the-bottom
16403 characters.
16404 (grub_gfxterm_refresh): Call real_scroll.
16405
164062010-02-06 Colin D Bennett <colin@gibibit.com>
16407
16408 * include/grub/misc.h (grub_iscntrl): New inline function.
16409 (grub_isalnum): Likewise.
16410 (grub_strtol): Likewise.
16411
164122010-02-06 Colin D Bennett <colin@gibibit.com>
16413
16414 * normal/menu_text.c (get_entry_number): Move from here ...
16415 * normal/menu.c (get_entry_number): ... moved here.
16416 * include/grub/menu.h (grub_menu_get_default_entry_index):
16417 New prototype.
16418 * normal/menu.c (grub_menu_get_default_entry_index): New function.
16419 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
16420 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
16421 (grub_menu_viewer_should_return): Likewise.
16422 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
16423 * normal/menu_text.c (run_menu): Enable menu switching.
16424 * normal/menu_viewer.c (should_return): New variable.
16425 (menu_viewer_changed): Likewise.
16426 (grub_menu_viewer_show_menu): Handle menu viewer changes.
16427 (grub_menu_viewer_should_return): New function.
16428 (menuviewer_write_hook): Likewise.
16429 (grub_menu_viewer_init): Likewise.
16430
164312010-02-06 Colin D Bennet <colin@gibibit.com>
164322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 Support for gfxterm in a window.
16435
16436 * include/grub/gfxterm.h: New file.
16437 * include/grub/video.h (struct grub_video_rect): New declaration.
16438 (grub_video_rect_t): Likewise.
16439 * term/gfxterm.c (struct grub_gfxterm_window): New type.
16440 (refcount): New variable.
16441 (render_target): Likewise.
16442 (window): Likewise.
16443 (repaint_callback): Likewise.
16444 (grub_virtual_screen_setup): Use 'render_target'.
16445 (init_window): New function.
16446 (grub_gfxterm_init_window): Likewise.
16447 (grub_gfxterm_init): Check reference counter.
16448 Use init_window.
16449 (destroy_window): New function.
16450 (grub_gfxterm_destroy_window): Likewise.
16451 (grub_gfxterm_fini): Check reference counter.
16452 Use destroy_window.
16453 (redraw_screen_rect): Restore viewport.
16454 Use 'render_target' and 'window'.
16455 Call 'repaint_callback'.
16456 (write_char): Use 'render_target'.
16457 (draw_cursor): Likewise.
16458 (scroll_up): Restore viewport.
16459 Use 'render_target' and 'window'.
16460 Call 'repaint_callback'.
16461 (grub_gfxterm_cls): Likewise.
16462 (grub_gfxterm_refresh): Use 'window'.
16463 (grub_gfxterm_set_repaint_callback): New function.
16464 (grub_gfxterm_background_image_cmd): Use 'window'.
16465 (grub_gfxterm_get_term): New function.
16466 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
16467
164682010-02-06 Colin D Bennett <colin@gibibit.com>
16469
16470 Bitmap scaling support.
16471
16472 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
16473 (bitmap_scale_mod_SOURCES): New variable.
16474 (bitmap_scale_mod_CFLAGS): Likewise.
16475 (bitmap_scale_mod_LDFLAGS): Likewise.
16476 * include/grub/bitmap_scale.h: New file.
16477 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
16478 (background_image_cmd_options): New variable.
16479 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
16480 (cmd): Rename and change type to ...
16481 (background_image_cmd_handle): ... this. All users updated.
16482 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16483 * video/bitmap_scale.c: New file.
16484
164852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 SDL support.
16488
16489 * Makefile.in (LIBSDL): New variable.
16490 (enable_grub_emu_sdl): Likewise.
16491 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16492 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16493 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16494 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16495 * util/sdl.c: New file.
16496
164972010-02-06 Colin D Bennett <colin@gibibit.com>
164982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16499
16500 Double buffering support.
16501
16502 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16503 * include/grub/video.h: Update comment.
16504 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16505 New type.
16506 (grub_video_fb_doublebuf_blit_init): New prototype.
16507 * term/gfxterm.c (scroll_up): Support double buffering.
16508 (grub_gfxterm_refresh): Likewise.
16509 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16510 (grub_video_fb_doublebuf_blit_init): Likewise.
16511 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16512 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16513 'displayed_page', 'render_page' and 'update_screen'.
16514 (grub_video_vbe_fini): Free offscreen buffer.
16515 (doublebuf_pageflipping_commit): New function.
16516 (doublebuf_pageflipping_update_screen): Likewise.
16517 (doublebuf_pageflipping_init): Likewise.
16518 (double_buffering_init): Likewise.
16519 (grub_video_vbe_setup): Enable doublebuffering.
16520 (grub_video_vbe_swap_buffers): Implement.
16521 (grub_video_vbe_set_active_render_target): Handle double buffering.
16522 (grub_video_vbe_get_active_render_target): Likewise.
16523 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16524 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16525 (grub_video_vbe_enable_double_buffering): Likewise.
16526 (grub_video_vbe_swap_buffers): Use update_screen.
16527 (grub_video_set_mode): Use double buffering.
16528
165292010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16530
16531 * maintainance/gentrigtables.py: Remove.
16532 * lib/trig.c: Likewise.
16533
16534 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16535
16536 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16537 `trigtables.c'.
16538 (trigtables.c): New rule.
16539 (gentrigtables): Likewise.
16540 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16541
165422010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16543
16544 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16545 integer constants.
16546
165472010-02-06 Colin D Bennet <colin@gibibit.com>
16548
16549 Trigonometry support.
16550
16551 * include/grub/trig.h: New file.
16552 * lib/trig.c: Likewise.
16553 * maintainance/gentrigtables.py: Likewise.
16554 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16555 (trig_mod_SOURCES): New variable.
16556 (trig_mod_CFLAGS): Likewise.
16557 (trig_mod_LDFLAGS): Likewise.
16558
5562834e
VS
165592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16560
16561 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16562 disk devices.
16563
4f8528fc
VS
165642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16565
16566 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16567 error.
16568
2b4068e9
VS
165692010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 * util/hostdisk.c (open_device): Don't use partition device when reading
16572 before the partition.
16573 (grub_util_biosdisk_read): Don't read from partition and before the
16574 partition in single operation.
16575 (grub_util_biosdisk_write): Don't write to partition and before the
16576 partition in single operation.
16577
399f6e4d
TL
165782010-02-03 Torsten Landschoff <torsten@debian.org>
16579
16580 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16581 last sectors.
16582
996649b0
VS
165832010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16586 CDROM reads.
16587 (grub_biosdisk_write): Refuse to write to CDROM.
16588
3b205d4d
VS
165892010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16590
16591 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16592
61e89d9d
VS
165932010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 * font/font.c (find_glyph): Check that bmp_idx is available before
16596 using it.
16597 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16598 with (font == NULL).
16599
bf7fcba2
CS
166002010-01-28 Christian Schmitt <chris@ilovelinux.de>
16601
16602 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16603
f45d2663
BC
166042010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16605
16606 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16607 * util/grub-script-check.c (getline): Fix empty lines case.
16608
ec1444e6
RM
166092010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16610
16611 * Makefile.in (check): Exit with fail status when one of the tests
16612 fails.
16613 * tests/example_functional_test.c (example_test): Fix reversed assert.
16614 * tests/example_unit_test.c (example_test): Likewise.
16615
2e1cb9bb
CW
166162010-01-28 Colin Watson <cjwatson@ubuntu.com>
16617
16618 * util/grub.d/10_linux.in: This script does not use any of the
16619 contents of gettext.sh, only the external command `gettext', so stop
16620 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16621 the same prefix as GRUB.)
16622 * util/grub.d/10_kfreebsd.in: Likewise.
16623
63533ab0
VS
166242010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16627 of the line.
16628
989e1f93
VS
166292010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16630
16631 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16632 last sectors.
16633
e709ebe2
VS
166342010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16635
16636 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16637 having a 4KiB and not 32KiB buffer size.
16638
27dea7ed
RM
166392010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16640
16641 * util/hostfs.c: Include `<errno.h>'.
16642 (grub_hostfs_read): Handle errors from fseeko() and fread().
16643
67667b9c
RM
166442010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16645
16646 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16647 loop when using read hooks on files whose size isn't sector-aligned.
16648
c294d9d8
RM
166492010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16650
16651 Remove unused parameter.
16652
16653 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16654 (grub_iso9660_open): Remove initialization of `data->length'.
16655
af75a9f1
RM
166562010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16657
16658 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16659 memleak conditions.
16660
254e2ce5 166612010-01-27 Carles Pina i Estany <carles@pina.cat>
16662
16663 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16664 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16665
b510928c 166662010-01-26 Carles Pina i Estany <carles@pina.cat>
16667
16668 * util/bin2h.c (usage): Fix warning (space after backslash).
16669
aa2f9dd2 166702010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 16671
16672 * font/font.c: Include `grub/fontformat.h.
16673 Remove font file format constants.
16674 (grub_font_load): Use the new macros.
16675 * include/grub/fontformat.h: New file.
16676 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16677 (write_font_pf2): Use the new macros.
16678
94e7e712
RM
166792010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16680
16681 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16682 does.
16683
3973a59a
RM
166842010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16685
16686 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16687
16688 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16689 (_start): Macroify `0x7F'.
16690
16691 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16692 (make_install_device): Use "(pxe)" as fallback prefix when booting
16693 via PXE.
16694
42e0cba3
GS
166952010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16696
16697 * configure.ac: Reset LIBS after check for libgcc symbols.
16698
847effd8
CW
166992010-01-25 Colin Watson <cjwatson@ubuntu.com>
16700
16701 * util/hostdisk.c (open_device): Add trailing newline to debug
16702 message.
16703
ea4a7e35
GS
167042010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16705
16706 * configure.ac: Check for `limits.h'.
16707 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16708
67951a53
RM
167092010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16710
16711 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16712 capitalize error strings.
16713
c273d4ce
ST
167142010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16715
16716 * util/grub.d/10_hurd.in: Add a recovery mode.
16717
69be5b74
VS
167182010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16719
16720 * configure.ac: Check for libgcc symbols with -nostdlib.
16721
fc9e5810
BC
167222010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16723
16724 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16725
4b358c0a
VS
167262010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16727
16728 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16729 stack since heap may be unavailable at that point.
16730 (grub_ofconsole_gotoxy): Likewise.
16731
454fcd1c
VS
167322010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 * configure.ac: Check for _restgpr_14_x.
16735 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16736 and _savegpr_* prototypes.
16737
566863ca
RM
167382010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16739
16740 Use generic grub_reboot() for i386-efi.
16741
16742 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16743 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16744 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16745
bf86e59a
VS
167462010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16747
16748 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16749 presence of "prefix" variable as it breaks when normal.mod is
16750 embedded.
16751
d645e0f8
VS
167522010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16753
16754 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16755 stack since heap is unavailable at that point.
16756
f9ab2e25
VS
167572010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16758
16759 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16760 (grub_freebsd_bootinfo): Rewritten.
16761 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16762
01fc7054
VS
167632010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16764
16765 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16766
caab4fd6
RM
167672010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16768
16769 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16770 domain now.
16771
67eb1427
FZ
167722010-01-20 Felix Zielcke <fzielcke@z-51.de>
16773
16774 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16775 around for handling "/" to the correct fix. Fix a memory leak. Use
16776 xstrdup instead of strdup.
16777
a9ed4ff3
VS
167782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16781
167822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
16783
16784 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16785
16786 * font/font.c (struct grub_font): New member 'bmp_idx'.
16787 (font_init): Initialise 'bmp_idx'.
16788 (load_font_index): Fill 'bmp_idx'.
16789 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16790
48209f4f
VS
167912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16794 unnecessary calls.
16795
9f0a4bb7
VS
167962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 Move context handling out of the kernel.
16799
16800 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16801 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16802 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16803 * conf/i386-efi.rmk: Likewise.
16804 * conf/i386-ieee1275.rmk: Likewise.
16805 * conf/i386-pc.rmk: Likewise.
16806 * conf/powerpc-ieee1275.rmk: Likewise.
16807 * conf/sparc64-ieee1275.rmk: Likewise.
16808 * conf/x86_64-efi.rmk: Likewise.
16809 * include/grub/env.h: Include grub/menu.h.
16810 (grub_env_var_type): Removed.
16811 (grub_env_var): Replaced field 'type' with 'global'.
16812 (grub_env_find): New prototype.
16813 (grub_env_context_open): Remove EXPORT_FUNC.
16814 (grub_env_context_close): Likewise.
16815 (grub_env_export): Likewise.
16816 (grub_env_set_data_slot): Removed.
16817 (grub_env_get_data_slot): Likewise.
16818 (grub_env_unset_data_slot): Likewise.
16819 (grub_env_unset_menu): New prototype.
16820 (grub_env_set_menu): Likewise.
16821 (grub_env_get_menu): Likewise.
16822 * include/grub/env_private.h: New file.
16823 * include/grub/normal.h (grub_context_init): New prototype.
16824 (grub_context_fini): Likewise.
16825 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16826 * normal/context.c (grub_cmd_export): ... to here.
16827 * kern/env.c: Include env_private.h.
16828 (HASHSZ): Moved to include/grub/env_private.h.
16829 (grub_env_context): Likewise.
16830 (grub_env_sorted_var): Likewise.
16831 (current_context): Renamed from this ...
16832 (grub_current_context): ...to this. 'static' removed. All users updated.
16833 (grub_env_find): Removed 'static'.
16834 (grub_env_context_open): Moved to normal/context.c.
16835 (grub_env_context_close): Likewise.
16836 (grub_env_export): Likewise.
16837 (mangle_data_slot_name): Removed.
16838 (grub_env_set_data_slot): Likewise.
16839 (grub_env_get_data_slot): Likewise.
16840 (grub_env_unset_data_slot): Likewise.
16841 * kern/main.c (grub_set_root_dev): Don't export root.
16842 It will be done later.
16843 (grub_main): Don't export prefix.
16844 It will be done later.
16845 * normal/context.c: New file.
16846 * normal/main.c (free_menu): Use grub_env_unset_menu.
16847 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16848 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16849 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16850 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16851
8dd35b8c
VS
168522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 setpci support.
16855
16856 * commands/setpci.c: New file.
16857 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16858 (setpci_mod_SOURCES): New variable.
16859 (setpci_mod_CFLAGS): Likewise.
16860 (setpci_mod_LDFLAGS): Likewise.
16861
449193d5
VS
168622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16863
16864 Byte-addressable PCI configuration space.
16865
16866 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16867 dword address.
16868 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16869 GRUB_PCI_REG_CACHELINE.
16870 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16871 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16872 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16873 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16874 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16875 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16876 grub_pci_make_address.
16877 (lock_rom_area): Likewise.
16878 * commands/lspci.c (grub_lspci_iter): Use macroses
16879 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16880 of grub_pci_make_address.
16881 * disk/ata.c (grub_ata_pciinit): Likewise.
16882 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16883 (GRUB_PCI_REG_VENDOR): Likewise.
16884 (GRUB_PCI_REG_DEVICE): Likewise.
16885 (GRUB_PCI_REG_COMMAND): Likewise.
16886 (GRUB_PCI_REG_STATUS): Likewise.
16887 (GRUB_PCI_REG_REVISION): Likewise.
16888 (GRUB_PCI_REG_CLASS): Likewise.
16889 (GRUB_PCI_REG_CACHELINE): Likewise.
16890 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16891 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16892 (GRUB_PCI_REG_BIST): Likewise.
16893 (GRUB_PCI_REG_ADDRESSES): Likewise.
16894 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16895 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16896 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16897 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16898 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16899 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16900 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16901 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16902 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16903 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16904 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16905 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16906 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16907 (GRUB_PCI_REG_MIN_GNT): Likewise.
16908 (GRUB_PCI_REG_MAX_LAT): Likewise.
16909 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16910 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16911 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 16912 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
16913 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16914 space.
16915
96d73208
RM
169162010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16917
16918 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16919 can be reliably determined to be supported.
16920
d4484482
RM
169212010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16922
16923 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16924 that VESA is supported.
16925 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16926 supported.
16927
00308ecf
VS
169282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16931
f66924a4
RM
169322010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16933
16934 * util/misc.c (make_system_path_relative_to_its_root): Work around
16935 special-casing of "/", as previous incarnation of this routine did.
16936
cbca0ada
VS
169372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16938
16939 Fix any-emu compilation.
16940
16941 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16942 * grub_bin2h_SOURCES: New variable.
16943
34a66d99
RM
169442010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16945
16946 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16947
94fabf58
RM
169482010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16949
16950 * util/grub.d/00_header.in: Fix handling of locale_dir.
16951
02cf98ca
VS
169522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16955 as possible unifont location (Gentoo).
16956 Reported by: Alexander Brüning
16957
327dbcd7
VS
169582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16959
16960 Don't try to generate lists for kernel.img.
16961
16962 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16963 (pkglib_MODULES): Remove kernel.img.
16964 (kernel_img_EXPORTS): Removed.
16965 (kernel_img_RELOCATABLE): New variable.
16966 * conf/x86_64-efi.rmk: Likewise.
16967 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16968
ca467290
VS
169692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16970
16971 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16972 grub_xasprintf or grub_snprintf.
16973 (grub_vsprintf): Likewise.
16974 (grub_snprintf): New proto.
16975 (grub_vsnprintf): Likewise.
16976 (grub_xasprintf): Likewise.
16977 (grub_xvasprintf): Likewise.
16978 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16979 (grub_sprintf): Removed.
16980 (grub_vsnprintf): New function.
16981 (grub_snprintf): Likewise.
16982 (grub_xvasprintf): Likewise.
16983 (grub_xasprintf): Likewise.
16984 (grub_vsprintf): Renamed to ...
16985 (grub_vsnprintf_real): ...this. New argument max_len.
16986
aca655fd
BC
169872010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16988
16989 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16990 fix grub-script-check warning.
16991
7ee92c32
VS
169922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16993
16994 * include/grub/font.h (grub_font_load): Fix prototype.
16995
f80927ca
VS
169962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16997
16998 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16999
119c50ea
VS
170002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17001
17002 * include/grub/x86_64/at_keyboard.h: New file.
17003
47d5f3c1
VS
170042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17005
17006 * loader/mips/linux.c: Include missing grub/i18n.h.
17007
55ff5266
RM
170082009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17009
17010 * normal/menu.c (notify_execution_failure): Clarify error message.
17011
c893cc87
RM
170122009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17013
17014 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
17015 return value (and revert all return statements). Update users.
17016
917dd370
CW
170172010-01-20 Dan Merillat <debian@dan.merillat.org>
17018
17019 * kern/device.c (grub_device_iterate): Allocate new part_ent
17020 structure based on sizeof (*p) rather than sizeof (p->next), to
17021 account for structure padding.
17022
17023 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
17024 disk is NULL, which might happen for LVM physical volumes with no
17025 LVM signature.
17026
d4a4ee57
RM
170272009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17028
17029 * loader/mips/linux.c (grub_cmd_initrd)
17030 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
17031
170322009-12-20 Robert Millan <rmh.grub@aybabtu.com>
17033
17034 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
17035 (grub_video_video_init, grub_video_bitmap_init)
17036 (grub_font_manager_init, grub_term_gfxterm_init)
17037 (grub_at_keyboard_init): New extern declarations.
17038 (grub_machine_init): Initialize gfxterm and at_keyboard.
17039
17040 * kern/main.c (grub_main): Revert grub_printf delay kludge.
17041
17042 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
17043 `gfxterm.mod' into core image.
17044
17045 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17046 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17047 (kernel_img_FORMAT): Copy to ...
17048
17049 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17050 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17051 (kernel_img_FORMAT): ... here, and ...
17052
17053 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17054 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17055 (kernel_img_FORMAT): ... here.
17056
17057 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
17058 and input (at_keyboard) terminals in kernel.
17059 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
17060
17061 (pkglib_MODULES): Remove `pci.mod'.
17062 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
17063 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
17064 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
17065 (at_keyboard_mod_LDFLAGS): Remove variables.
17066
170672010-01-11 Felix Zielcke <fzielcke@z-51.de>
17068
17069 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
17070
170712009-12-10 Robert Millan <rmh.grub@aybabtu.com>
17072
17073 * include/grub/mips/libgcc.h: Only export symbols for functions
17074 that libgcc provides.
17075
170762009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 MIPS support.
17079
17080 * bus/bonito.c: New file.
17081 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
17082 GRUB_PCI_NUM_DEVICES.
17083 * term/i386/pc/serial.c: Move to ...
17084 * term/serial.c: ... here. All users updated.
17085 * util/i386/pc/grub-mkimage.c: Move to ...
17086 * util/grub-mkrawimage.c: ... here. All users updated.
17087 * term/i386/pc/at_keyboard.c: Move to ...
17088 * term/at_keyboard.c: ... here. All users updated.
17089 * conf/mips-qemu-mips.rmk: New file.
17090 * conf/mips-yeeloong.rmk: Likewise.
17091 * conf/mips.rmk: Likewise.
17092 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
17093 mipsel-qemu-mips.
17094 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
17095 to port addresses.
17096 (grub_ata_pciinit): Support CS5536.
17097 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
17098 * font/font_cmd.c (loadfont_command): Open file before passing it to
17099 grub_font_load.
17100 (pseudo_file_read): New function.
17101 (pseudo_file_close): Likewise.
17102 (pseudo_fs): New structure.
17103 (load_font_module): New function.
17104 (GRUB_MOD_INIT(font_manager)): Load embedded font.
17105 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
17106 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
17107 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
17108 * include/grub/i386/at_keyboard.h: Split into ...
17109 * include/grub/at_keyboard.h: ... this ...
17110 * include/grub/i386/at_keyboard.h: ... and this.
17111 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
17112 New prototype.
17113 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
17114 updated.
17115 (grub_elf64_size): Likewise.
17116 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
17117 filename.
17118 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
17119 * include/grub/i386/coreboot/serial.h: Rewritten.
17120 * include/grub/i386/ieee1275/serial.h: Include
17121 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
17122 * include/grub/i386/pc/serial.h: Moved from here ...
17123 * include/grub/serial.h: ... to here. All users updated.
17124 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
17125 (GRUB_PCI_NUM_BUS): Likewise.
17126 (GRUB_PCI_NUM_DEVICES): Likewise.
17127 (grub_pci_device_map_range): Add missing volatile keyword.
17128 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
17129 * include/grub/mips/at_keyboard.h: New file.
17130 * include/grub/mips/cache.h: Likewise.
17131 * include/grub/mips/io.h: Likewise.
17132 * include/grub/mips/kernel.h: Likewise.
17133 * include/grub/mips/libgcc.h: Likewise.
17134 * include/grub/mips/pci.h: Likewise.
17135 * include/grub/mips/qemu-mips/boot.h: Likewise.
17136 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17137 * include/grub/mips/qemu-mips/loader.h: Likewise.
17138 * include/grub/mips/qemu-mips/memory.h: Likewise.
17139 * include/grub/mips/qemu-mips/serial.h: Likewise.
17140 * include/grub/mips/qemu-mips/time.h: Likewise.
17141 * include/grub/mips/relocator.h: Likewise.
17142 * include/grub/mips/time.h: Likewise.
17143 * include/grub/mips/types.h: Likewise.
17144 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
17145 * include/grub/mips/yeeloong/boot.h: Likewise.
17146 * include/grub/mips/yeeloong/kernel.h: Likewise.
17147 * include/grub/mips/yeeloong/loader.h: Likewise.
17148 * include/grub/mips/yeeloong/memory.h: Likewise.
17149 * include/grub/mips/yeeloong/pci.h: Likewise.
17150 * include/grub/mips/yeeloong/serial.h: Likewise.
17151 * include/grub/mips/yeeloong/time.h: Likewise.
17152 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
17153 * kern/elf.c (grub_elf32_size): New parameter. All users
17154 updated.
17155 (grub_elf64_size): Likewise.
17156 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
17157 Load modules before saying "Welcome to GRUB!".
17158 Call grub_refresh after saying "Welcome to GRUB!".
17159 * kern/mips/cache.S: New file.
17160 * kern/mips/cache_flush.S: Likewise.
17161 * kern/mips/dl.c: Likewise.
17162 * kern/mips/init.c: Likewise.
17163 * kern/mips/qemu-mips/init.c: Likewise.
17164 * kern/mips/startup.S: Likewise.
17165 * kern/mips/yeeloong/init.c: Likewise.
17166 * kern/term.c (grub_putcode): Handle NULL terminal.
17167 (grub_getcharwidth): Likewise.
17168 (grub_getkey): Likewise.
17169 (grub_checkkey): Likewise.
17170 (grub_getkeystatus): Likewise.
17171 (grub_getxy): Likewise.
17172 (grub_getwh): Likewise.
17173 (grub_gotoxy): Likewise.
17174 (grub_cls): Likewise.
17175 (grub_setcolorstate): Likewise.
17176 (grub_setcolor): Likewise.
17177 (grub_getcolor): Likewise.
17178 (grub_refresh): Likewise.
17179 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
17180 (write_jump): Add hatch nop.
17181 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
17182 * lib/mips/setjmp.S: New file.
17183 * loader/mips/linux.c: Likewise.
17184 * term/i386/pc/at_keyboard.c: Move from here ...
17185 * term/at_keyboard.c: ... to here.
17186 * term/i386/pc/serial.c: Moved from here ...
17187 * term/serial.c: ... to here. All users updated.
17188 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
17189 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
17190 (serial_translate_key_sequence): Avoid deadlock.
17191 (grub_serial_getkey): Handle backspace.
17192 (grub_serial_putchar): Fix newline handling.
17193 * util/i386/pc/grub-mkimage.c: Move from here ...
17194 * util/grub-mkrawimage.c: ... to here. All users updated.
17195 (generate_image): New parameters 'font_path' and 'format'.
17196 Support embedding font.
17197 Use grub_host_to_target* instead of grub_cpu_to_le*.
17198 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
17199 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
17200 (options): New option "--font".
17201 (usage): Likewise.
17202 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
17203 (main): Handle "--font".
17204 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
17205 (grub_virtual_screen_setup): Set bg_color_display.
17206 (redraw_screen_rect): Use bg_color_display instead of incorrect
17207 bg_color.
17208 (grub_gfxterm_cls): Likewise.
17209 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
17210 Support embedding config file.
17211 (add_segments): Likewise.
17212 (options): New option "--config".
17213 (main): Handle "--config".
17214 * video/sm712.c: New file.
17215
25c2b5b3
RM
172162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17217
17218 Fix parallel builds.
17219
17220 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
17221 font.c depend on ascii.h).
17222
172232010-01-12 Carles Pina i Estany <carles@pina.cat>
17224
17225 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
17226
172272010-01-11 Carles Pina i Estany <carles@pina.cat>
17228
17229 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
17230 By default: disabled.
17231 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
17232 parameter.
17233
172342010-01-10 Carles Pina i Estany <carles@pina.cat>
17235
17236 * font/font.c: Update copyright years.
17237 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
17238
172392010-01-10 Carles Pina i Estany <carles@pina.cat>
17240
17241 * font/font.c: Include `ascii.h'.
17242 (ASCII_BITMAP_SIZE): New macro.
17243 (ascii_font_glyph): Define.
17244 (ascii_glyph_lookup): New function.
17245 (grub_font_get_string_width): Change comment. If glyph not found, use
17246 ascii_glyph_lookup.
17247 (grub_font_get_glyph_with_fallback): If glyph not available returns
17248 ascii_glyph_lookup.
17249 * util/grub-mkfont.c (file_formats): New enum.
17250 (options): Add `ascii-bitmaps' new option.
17251 (usage): Add `asii-bitmaps' new option.
17252 (write_font_ascii_bitmap): New function.
17253 (write_font): Rename to ...
17254 (write_font_p2): ... this. Remove print_glyphs call.
17255 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
17256 used. Call print_glyphs.
17257 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
17258
172592010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17260
17261 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
17262 (grub_bin2h_SOURCES): New variable.
17263 * util/bin2h.c: New file.
17264
915fc1b8
VS
172652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17266
17267 * include/multiboot.h: Resynced with spec.
17268 * include/multiboot2.h: Likewise.
17269 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
17270 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
17271
9444b678
RM
172722010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17273
17274 * include/grub/term.h (grub_term_register_input,
17275 grub_term_register_output): Check return of terminal init()
17276 routines, and abort if errors are raised.
17277
17278 * commands/terminal.c: Update copyright year.
17279
cba98e8d
RM
172802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17281
17282 * commands/terminal.c (grub_cmd_terminal_input)
17283 (grub_cmd_terminal_output): Check return of terminal init()
17284 routines, and abort if errors are raised.
17285
6f7db5d6
VS
172862010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17287
17288 * include/grub/i386/bsd.h: Fix include pathes.
17289
262bff8d
VS
172902010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17291
17292 Add missing *BSD copyright headers.
17293
17294 * include/grub/aout.h: Add BSD licence.
17295 * include/grub/i386/bsd.h: Parts under different licences moved to ...
17296 * include/grub/i386/freebsd_linker.h: ... here,
17297 * include/grub/i386/freebsd_reboot.h: ... here,
17298 * include/grub/i386/netbsd_bootinfo.h: ... here,
17299 * include/grub/i386/netbsd_reboot.h: ... here,
17300 * include/grub/i386/openbsd_bootarg.h: ... here,
17301 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
17302 licence to each file.
17303
b2cab848
RM
173042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17305
17306 * acinclude.m4: Remove `nop' assembly instruction; it's not
17307 implemented by all architectures.
17308
2cb6be4b
RM
173092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17310
17311 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
17312 ELILO. This is no longer necessary.
17313
a2eaee15
BC
173142010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
17315
17316 Added new tool, grub-scrit-check to verify grub.cfg syntax.
17317
17318 * util/grub-script-check.c: grub-script-check tool.
17319 * conf/common.rmk: Make rules for grub-script-check.
17320
88d17012
RM
173212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17322
17323 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
17324 spotting it back in 2008. Shame on me for forgetting he did.
17325
17326 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
17327
8040619d
RM
173282010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17329
17330 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
17331 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
17332 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
17333 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
17334 (GRUB_VIDEO_TYPE_EFI): Rename to ...
17335 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
17336
a0c2a0f6
RM
173372010-01-17 Robert Millan <rmh.grub@aybabtu.com>
17338
17339 * include/grub/test.h: Add license header.
17340 * tests/example_functional_test.c: Likewise.
17341 * tests/example_unit_test.c: Likewise.
17342 * tests/lib/functional_test.c: Likewise.
17343 * tests/lib/test.c: Likewise.
17344 * tests/lib/unit_test.c: Likewise.
17345
b0b13907
VS
173462010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
17347
17348 Use flag-based instead of hook-based video mode selection and "auto"
17349 keyword.
17350
17351 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
17352 (grub_video_set_mode): Changed prototype. All users updated.
17353 (grub_video_check_mode_flag): New inline function.
17354 * video/video.c (parse_modespec): New function.
17355 (grub_video_set_mode): Parse flags and keywords.
17356
ea379330 173572010-01-17 Carles Pina i Estany <carles@pina.cat>
17358
17359 * util/misc.c (grub_util_info): Fix the order of the parameters in a
17360 fprintf call.
17361
e15c215e
FZ
173622010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
17363
17364 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
17365
409ae1c9 173662010-01-16 Carles Pina i Estany <carles@pina.cat>
17367
17368 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
17369 string.
17370 * util/grub-emu.c (usage): Likewise.
17371 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
17372 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17373 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17374 * util/i386/pc/grub-setup.c (usage): Likewise.
17375
70a14d3d 173762010-01-16 Carles Pina i Estany <carles@pina.cat>
17377
17378 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
17379 the message.
17380 (grub_util_info): Likewise.
17381 (grub_util_error): Likewise.
17382 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
17383 and/or new lines in `grub_util_warna', `grub_util_info',
17384 `grub_util_error' calls.
17385 * util/getroot.c: Likewise.
17386 * util/grub-editenv.c: Likewise.
17387 * util/grub-emu.c: Likewise.
17388 * util/grub-fstest.c: Likewise.
17389 * util/grub-mkdevicemap.c: Likewise.
17390 * util/grub-mkfont.c: Likewise.
17391 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17392 * util/grub-mkrelpath.c: Likewise.
17393 * util/grub-pe2elf.c: Likewise.
17394 * util/grub-probe.c: Likewise.
17395 * util/hostdisk.c: Likewise.
17396 * util/i386/efi/grub-mkimage.c: Likewise.
17397 * util/i386/pc/grub-mkimage.c: Likewise.
17398 * util/i386/pc/grub-setup.c: Likewise.
17399 * util/ieee1275/ofpath.c: Likewise.
17400 * util/mkisofs/eltorito.c: Likewise.
17401 * util/mkisofs/rock.c: Likewise.
17402 * util/mkisofs/write.c: Likewise.
17403 * util/raid.c: Likewise.
17404 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17405 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17406
a0b766fc
VS
174072010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 Enable multiboot on non-pc.
17410
17411 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
17412 multiboot.mod and multiboot2.mod to ...
17413 * conf/i386.rmk (pkglib_MODULES): ... here.
17414 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
17415 Moved to ...
17416 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
17417 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
17418 Moved to ...
17419 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
17420 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
17421 Moved to ...
17422 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
17423 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
17424 Moved to ...
17425 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
17426 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
17427 relocator.mod.
17428 (ata_mod_SOURCES): Removed.
17429 (ata_mod_CFLAGS): Likewise.
17430 (ata_mod_LDFLAGS): Likewise.
17431 (relocator_mod_SOURCES): Removed.
17432 (relocator_mod_CFLAGS): Likewise.
17433 (relocator_mod_ASFLAGS): Likewise.
17434 (relocator_mod_LDFLAGS): Likewise.
17435 Include i386.mk.
17436 * include/grub/x86_64/multiboot.h: New file.
17437 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
17438 Terminate EFI.
17439
884ade56
VS
174402010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 Video multiboot support.
17443
17444 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
17445 New prototype.
17446 * include/multiboot.h: Resynced with multiboot specification.
17447 * include/multiboot2.h: Likewise.
17448 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
17449 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
17450 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
17451 (HAS_VGA_TEXT): Likewise.
17452 (accepts_video): New variable.
17453 (grub_multiboot_set_accepts_video): New function.
17454 (grub_multiboot_get_mbi_size): Account for video structures.
17455 (set_video_mode): New function.
17456 (retrieve_video_parameters): Likewise.
17457 (grub_multiboot_make_mbi): Fill video fields.
17458
0d90e8a6
VS
174592010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17460
17461 Video driver ids.
17462
17463 * include/grub/video.h (grub_video_driver_id): New type.
17464 (grub_video_adapter): New member 'id'. All users updated.
17465 (grub_video_get_driver_id): New proto.
17466 * video/video.c (grub_video_get_driver_id): New function.
17467
5c71db1b 174682010-01-14 Carles Pina i Estany <carles@pina.cat>
17469
17470 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
17471 `var=val'.
17472
cca15b52 174732010-01-14 Carles Pina i Estany <carles@pina.cat>
17474
17475 * normal/cmdline.c (print_completion): Gettextizze.
17476
c586fbb2 174772001-01-14 Carles Pina i Estany <carles@pina.cat>
17478
17479 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
17480
ba2f6848 174812010-01-14 Carles Pina i Estany <carles@pina.cat>
17482
17483 * gettext/gettext.c (grub_gettext_translate): Push and pop
17484 grub_errno.
17485 (grub_gettext_delete_list): Change comment style.
17486 * kern/err.c (grub_error): Gettextizze.
17487 (grub_fatal): Gettextizze.
17488
0a46429a
RM
174892010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17490
17491 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17492 (grub_linux16_real_boot): ... this.
17493 * kern/i386/loader.S: Likewise.
17494 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17495 (grub_linux16_boot): New function. Switches to text mode and calls
17496 grub_linux16_real_boot().
17497
17498 * loader/i386/bsd.c: Include `<grub/video.h>'.
17499 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17500 text mode before calling grub_unix_real_boot().
17501
17502 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17503 (grub_multiboot_boot): Switch to text mode before calling
17504 grub_relocator32_boot().
17505
17506 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17507 (grub_chainloader_boot): Switch to text mode before calling
17508 grub_chainloader_real_boot().
17509
d6f93a66
RM
175102010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
175112010-01-05 Colin Watson <cjwatson@ubuntu.com>
17512
17513 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17514 non-empty value.
17515
175162010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
175172010-01-05 Colin Watson <cjwatson@ubuntu.com>
17518
17519 * util/grub.d/00_header.in: Define a "savedefault" function for use
17520 in menu entries.
17521 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17522
175232010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
175242010-01-05 Colin Watson <cjwatson@ubuntu.com>
17525
17526 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17527 saved_entry if boot_once is unset.
17528 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17529 previous saved entry (i.e. grub-reboot).
17530
175312009-12-08 Colin Watson <cjwatson@ubuntu.com>
17532
17533 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17534
175352009-12-08 Colin Watson <cjwatson@ubuntu.com>
17536
17537 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17538 `var=val'.
17539 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17540
175412009-12-08 Colin Watson <cjwatson@ubuntu.com>
17542
17543 * util/grub-reboot.in: Fix --version output.
17544 * util/grub-set-default.in: Likewise.
17545
175462009-12-08 Colin Watson <cjwatson@ubuntu.com>
17547
17548 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17549 blocks.
17550
175512009-12-08 Colin Watson <cjwatson@ubuntu.com>
17552
17553 * util/grub.d/00_header.in: Quote the value assigned to `default',
17554 in case it contains spaces.
17555
175562009-12-08 Colin Watson <cjwatson@ubuntu.com>
17557
17558 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17559 `save_default_entry' call from the macosx case to the linux case.
17560
175612009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
175622009-10-25 Colin Watson <cjwatson@ubuntu.com>
17563
17564 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17565 in `chosen' environment variable.
17566 * normal/menu_text.c (get_entry_number): Check if the variable
17567 matches the title of a menu entry.
17568 (run_menu): Pass menu to get_entry_number.
17569
17570 * util/grub-reboot.in: New file.
17571 * util/grub-set-default.in: New file.
17572 * conf/common.rmk (grub-reboot): New utility.
17573 (grub-set-default): New utility.
17574
17575 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17576 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17577 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17578 move it to `saved_entry' for the next boot. Load environment on
17579 initialisation.
17580 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17581 * util/grub.d/10_hurd.in: Likewise.
17582 * util/grub.d/10_linux.in (linux_entry): Likewise.
17583 * util/grub.d/10_windows.in: Likewise.
17584 * util/grub.d/30_os-prober.in: Likewise.
17585
17586 * util/grub-install.in: Create environment block.
17587 * util/i386/efi/grub-install.in: Likewise.
17588 * util/ieee1275/grub-install.in: Likewise.
17589 * util/sparc64/ieee1275/grub-install.in: Likewise.
17590
0934d184
BC
175912010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17592
17593 Unit testing framework for GRUB.
17594
17595 * Makefile.in: Test framework build rules for 'make check'.
17596 * conf/tests.rmk: Build rules for individual tests and framework.
17597
17598 * include/grub/test.h: Header file for whitebox tests.
17599 * tests/lib/functional_test.c: Framework support for whitebox
17600 functional tests.
17601 * tests/lib/test.c: Common whitebox testing code for unit and
17602 functional tests.
17603 * tests/lib/unit_test.c: Framework support for whitebox unit
17604 tests.
17605
17606 * tests/util/grub-shell-tester.in: Support utility for grub-script
17607 tests.
17608 * tests/util/grub-shell.in: Utility to execute grub-script
17609 commands in a Qemu instance.
17610
17611 * tests/example_functional_test.c: Example whitebox functional
17612 test.
17613 * tests/example_grub_script_test.in: Example grub-script test.
17614 * tests/example_scripted_test.in: Example scripted test.
17615 * tests/example_unit_test.c: Example whitebox unit test.
17616
9c4ffeeb
VS
176172010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17618
17619 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17620 Add loader/i386/multiboot_mbi.c.
17621 (multiboot2_mod_SOURCES): Likewise.
17622 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17623 (multiboot2_mod_SOURCES): Likewise.
17624 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17625 (grub_multiboot_make_mbi): Likewise.
17626 (grub_multiboot_free_mbi): Likewise.
17627 (grub_multiboot_init_mbi): Likewise.
17628 (grub_multiboot_add_module): Likewise.
17629 (grub_multiboot_set_bootdev): Likewise.
17630 * loader/i386/multiboot.c (mbi): Removed.
17631 (mbi_dest): Likewise.
17632 (alloc_mbi): New variable.
17633 (grub_multiboot_payload_size): Removed. All users updated.
17634 (grub_multiboot_pure_size): New variable.
17635 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17636 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17637 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17638 (grub_fill_multiboot_mmap): Likewise.
17639 (grub_multiboot_get_bootdev): Likewise.
17640 (grub_multiboot): Use multiboot_mbi functions.
17641 * loader/i386/multiboot_mbi.c: New file.
17642
17383dfe
VS
176432010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17644
17645 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17646 it would result in module crash.
17647
c1f28820
VS
176482010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17649
17650 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17651 (grub_ofconsole_getwh): Split to ...
17652 (grub_ofconsole_getwh): ... this.
17653 (grub_ofconsole_dimensions): ...and this.
17654 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17655
58655a16
RM
176562010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17657
17658 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17659
10891398
VS
176602010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17661
17662 * loader/i386/pc/multiboot2.c: Removed stalled file.
17663
0b8a223c
VS
176642010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17665
17666 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17667 Reported by: Grégoire Sutre
17668
92ab12b0
RM
176692010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17670
17671 * util/misc.c (canonicalize_file_name): New function.
17672 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17673 instead of realpath().
17674
a788afb6
CW
176752010-01-11 Colin Watson <cjwatson@ubuntu.com>
17676
17677 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17678 and make it clearer that it's optional. Based on confusion
17679 witnessed on IRC.
17680
ffa8e3d2
VS
176812010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17684 in premature implicit newline.
17685
e9060a9d
VS
176862010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17689 which resulted in garbled command line at the end of screen.
17690
f0d0c0b7
RM
176912010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17692
17693 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17694 initialization with similar approach as with other Linux loaders.
17695
0e60bae7
RM
176962010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17697
17698 Fix i386-ieee1275 build.
17699
17700 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17701 and grub_term_height() for video_{width,height} initialization.
17702
177032010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
17704
17705 Fix grub-emu build.
17706
17707 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17708
cdb3f378
RM
177092010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
177102010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17711
17712 Support for multiple terminals.
17713
17714 * Makefile.in (pkglib_DATA): terminal.lst.
17715 (terminal.lst): New target.
17716 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17717 (GRUB_MOD_INIT(handler)): Likewise.
17718 (GRUB_MOD_FINI(handler)): Likewise.
17719 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17720 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17721 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17722 (grub_cmd_sleep): Use grub_term_save_pos.
17723 * commands/terminal.c: New file.
17724 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17725 commands/terminal.c and lib/charset.c.
17726 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17727 (pkglib_MODULES): Add terminal.mod.
17728 (terminal_mod_SOURCES): New variable.
17729 (terminal_mod_CFLAGS): Likewise.
17730 (terminal_mod_LDFLAGS): Likewise.
17731 * genhandlerlist.sh: Don't handle terminals.
17732 * genmk.rb: Generate terminal-*.lst.
17733 * genterminallist.sh: New file.
17734 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17735 (grub_is_valid_utf8): Likewise.
17736 (grub_utf8_to_ucs4_alloc): Likewise.
17737 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17738 (grub_menu_register_viewer): Changed argument.
17739 (grub_menu_try_text): New proto.
17740 (grub_gfxmenu_try_hook): New declaration.
17741 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17742 (grub_menu_init_page): Additional argument term.
17743 (grub_normal_init_page): Likewise.
17744 (grub_cmdline_get): Arguments simplified.
17745 (grub_utf8_to_ucs4_alloc): Removed.
17746 (grub_print_ucs4): Additional argument term.
17747 (grub_getstringwidth): Likewise.
17748 (grub_print_message_indented): Likewise.
17749 (grub_menu_text_register_instances): New proto.
17750 (grub_show_menu): Likewise.
17751 (read_terminal_list): Likewise.
17752 (grub_set_more): Likewise.
17753 * include/grub/parser.h: Include handler.h.
17754 * include/grub/reader.h: Rewritten.
17755 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17756 (GRUB_TERM_WIDTH): Changed to function.
17757 (GRUB_TERM_HEIGHT): Likewise.
17758 (GRUB_TERM_BORDER_WIDTH): Likewise.
17759 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17760 (GRUB_TERM_NUM_ENTRIES): Likewise.
17761 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17762 (GRUB_TERM_CURSOR_X): Likewise.
17763 (grub_term_input_class): Likewise.
17764 (grub_term_output_class): Likewise.
17765 (grub_term_outputs_disabled): New declaration.
17766 (grub_term_inputs_disabled): Likewise.
17767 (grub_term_outputs): Likewise.
17768 (grub_term_inputs): Likewise.
17769 (grub_term_register_input): Rewritten.
17770 (grub_term_register_output): Likewise.
17771 (grub_term_unregister_input): Likewise.
17772 (grub_term_unregister_output): Likewise.
17773 (FOR_ACTIVE_TERM_INPUTS): New macro.
17774 (FOR_DISABLED_TERM_INPUTS): Likewise.
17775 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17776 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17777 * include/grub/terminfo.h: Add oterm argument to all protypes.
17778 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17779 Use grub_rescue_run.
17780 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17781 All users updated.
17782 * kern/reader.c: Removed. All users updated.
17783 * kern/rescue_reader.c (grub_rescue_init): Removed.
17784 (grub_rescue_reader): Likewise.
17785 (grub_register_rescue_reader): Likewise.
17786 (grub_rescue_run): New function based on kern/reader.c.
17787 * kern/term.c: Adapted for multiterm.
17788 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17789 (grub_is_valid_utf8): Likewise.
17790 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17791 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17792 right terminal.
17793 * loader/i386/linux.c (grub_linux_boot): Likewise.
17794 * normal/auth.c (grub_username_get): New function.
17795 (grub_auth_check_authentication): Use grub_username_get.
17796 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17797 * normal/color.c: Adapt for multiterm.
17798 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17799 (grub_normal_init_page): Additional argument term.
17800 (read_lists): Call read_terminal_lists.
17801 (grub_enter_normal_mode): Call grub_cmdline_run.
17802 Handle grub_normal_exit_level.
17803 (grub_cmd_normal): Make reentrant.
17804 (grub_cmd_normal_exit): New function.
17805 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17806 * normal/menu.c: Adapt for multiterm.
17807 * normal/menu_entry.c: Likewise.
17808 * normal/menu_text.c: Likewise.
17809 * normal/menu_viewer.c: Removed. All users updated.
17810 * normal/term.c: New file.
17811 * util/console.c: Change order of includes to workaround a bug in
17812 ncurses headers.
17813 * term/terminfo.c: New argument oterm on all exported functions.
17814 All users updated.
17815 * util/grub-editenv.c (grub_term_input_class): Removed.
17816 (grub_term_output_class): Likewise.
17817
1a064917
RM
178182010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17819
17820 Make loader output a bit more user-friendly.
17821
17822 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17823 is being loaded. Likewise for the Hurd.
17824
17825 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17826 that kernel of FreeBSD ${version} is being loaded.
17827
17828 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17829 grub_dprintf().
17830 (grub_cmd_initrd): Likewise.
17831 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17832 that Linux ${version} is being loaded. Likewise for initrd.
17833
5ce0a83a 178342010-01-09 Carles Pina i Estany <carles@pina.cat>
17835
17836 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17837
809bbfeb 178382010-01-08 Carles Pina i Estany <carles@pina.cat>
17839
17840 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17841 (GRUB_MOD_INIT): Gettextizze.
17842 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17843 (GRUB_MOD_INIT): Gettextizze.
17844 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17845 (grub_cmd_linux): Capitalise Linux.
17846 (GRUB_MOD_INIT): Gettextizze.
17847 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17848 (grub_cmd_linux): Capitalise Linux.
17849 (GRUB_MOD_INIT): Gettextizze.
17850 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17851 (grub_cmd_linux): Capitalise Linux.
17852 (GRUB_MOD_INIT): Gettextizze.
17853 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17854 (GRUB_MOD_INIT): Gettextizze.
17855 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17856 (grub_cmd_linux): Capitalise Linux.
17857 (GRUB_MOD_INIT): Gettextizze.
17858 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17859 (grub_cpu_xnu_init): Gettextizze.
17860 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17861 (GRUB_MOD_INIT): Gettextizze.
17862 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17863 (GRUB_MOD_INIT): Gettextizze.
17864 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17865 (grub_linux_load64): Capitalise Linux.
17866 (GRUB_MOD_INIT): Gettextizze.
17867 * loader/xnu.c: Include `<grub/i18n.h>'.
17868 (GRUB_MOD_INIT): Gettextizze.
17869 * po/POTFILES: Add `loader/efi/appleloader.c',
17870 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17871 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17872 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17873 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17874 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17875 and `loader/xnu.c'.
17876
b394b2ca
RM
178772010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17878
17879 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17880
178812010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
17882
17883 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17884 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17885 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17886
bc8b32b3
RM
178872010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17888
17889 Reset Multiboot 2 support. New loader implements the draft in
17890 /branches/multiboot2 and shares as much code as possible with the
17891 production Multiboot 1 implementation.
17892
17893 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17894 * loader/multiboot2.c: Likewise.
17895 * loader/i386/multiboot_helper.S: Likewise.
17896 * include/multiboot2.h: Replace with latest version from the draft
17897 in /branches/multiboot2.
17898
17899 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17900 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17901 and `loader/multiboot2.c'.
17902 (pkglib_MODULES): Add `multiboot2.mod'.
17903 (multiboot2_mod_SOURCES): New variable.
17904 (multiboot2_mod_LDFLAGS): Likewise.
17905 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17906
17907 * conf/i386-pc.rmk: Likewise.
17908
17909 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17910 (multiboot_mod_SOURCES): Remove variable.
17911 (multiboot_mod_LDFLAGS): Likewise.
17912 (multiboot_mod_CFLAGS): Likewise.
17913
17914 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17915 `<multiboot2.h>' instead of `<multiboot.h>'.
17916 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17917 (MULTIBOOT_HEADER_MAGIC): New macros.
17918
17919 * loader/multiboot_loader.c (module_version_status): Remove variable.
17920 (find_multi_boot2_header): Remove function.
17921 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17922 logic. Always check for the Multiboot version we're compiling for.
17923 (grub_cmd_module_loader): Likewise.
17924 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17925 command instead of `multiboot'.
17926
5d2c52b8
RM
179272010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17928
17929 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17930 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17931 all users.
17932
53108d92
RM
179332010-01-07 Robert Millan <rmh.grub@aybabtu.com>
179342010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 Fix breakage introduced with previous commit.
17937
17938 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17939 commands.
17940 * normal/handler.c (read_handler_list): Revert part of previous commit
17941 affecting this file.
17942 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17943 (grub_normal_execute): ... here.
17944
e2e936b2
RM
179452010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17946
17947 Merge prefix-redefinition-fix branch.
17948
17949 * normal/autofs.c (read_fs_list): Make function capable of being
17950 run multiple times, gracefuly replacing the previous data
17951 structures.
17952 * normal/dyncmd.c (read_command_list): Likewise.
17953 * normal/handler.c (read_handler_list): Likewise.
17954 * normal/main.c (read_lists): New function. Calls all the
17955 list reading functions.
17956 (grub_normal_execute): Use read_lists() instead of calling all
17957 list reading functions explicitly. Register read_lists() as a
17958 variable hook attached to ${prefix}.
17959
607a3701
VS
179602010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17961
17962 Merge crypto branch.
17963
17964 * Makefile.in (pkglib_DATA): Add crypto.lst.
17965 (crypto.lst): New target.
17966 * commands/hashsum.c: New file.
17967 * commands/password.c (check_password): Use grub_crypto_memcmp.
17968 * commands/password_pbkdf2.c: New file.
17969 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17970 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17971 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17972 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17973 -I$(srcdir)/lib/libgcrypt_wrap.
17974 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17975 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17976 password_pbkdf2.mod.
17977 (crypto_mod_SOURCES): New variable.
17978 (crypto_mod_CFLAGS): Likewise.
17979 (crypto_mod_LDFLAGS): Likewise.
17980 (hashsum_mod_SOURCES): New variable.
17981 (hashsum_mod_CFLAGS): Likewise.
17982 (hashsum_mod_LDFLAGS): Likewise.
17983 (pbkdf2_mod_SOURCES): New variable.
17984 (pbkdf2_mod_CFLAGS): Likewise.
17985 (pbkdf2_mod_LDFLAGS): Likewise.
17986 (password_pbkdf2_mod_SOURCES): New variable.
17987 (password_pbkdf2_mod_CFLAGS): Likewise.
17988 (password_pbkdf2_mod_LDFLAGS): Likewise.
17989 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17990 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17991 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17992 Include conf/gcry.rmk.
17993 * include/grub/auth.h: Rewritten.
17994 * include/grub/crypto.h: New file.
17995 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17996 * include/grub/normal.h (read_crypto_list): New prototype.
17997 * lib/crypto.c: New file.
17998 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17999 * lib/pbkdf2.c: Likewise.
18000 * normal/auth.c (grub_auth_strcmp): Removed.
18001 (grub_iswordseparator): Likewise.
18002 (grub_auth_strword): Likewise.
18003 (is_authenticated): Use grub_strword.
18004 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
18005 and grub_strword. Pass entered password to authentication callback.
18006 * normal/crypto.c: New file.
18007 * normal/main.c: Call read_crypto_list.
18008 * util/grub-mkpasswd-pbkdf2.c: New file.
18009 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
18010
42841caa
VS
180112010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
18012
18013 Fix descent and ascent calculation.
18014
18015 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
18016 (options): New option "asce".
18017 (usage): Likewise.
18018 (add_char): Ignore invalid glyphs for descent calculation.
18019 Calculate ascent from actual content.
18020 (print_glyphs): Use 'asce'.
18021 (write_font): Likewise. Allow ascent override.
18022 (main): Handle "asce" option.
18023
e7730de7 180242010-01-06 Carles Pina i Estany <carles@pina.cat>
18025
18026 * kern/err.c: Include `<grub/i18n.h>'.
18027 (grub_print_error): Add full stop. Gettextizze.
18028 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
18029 (grub_bsd_load_elf): Capitalise ELF.
18030 (grub_cmd_freebsd_loadenv): Add `s' in error string.
18031 (grub_cmd_freebsd_module): Likewise.
18032 (grub_cmd_freebsd_module_elf): Likewise.
18033 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
18034
40e3a41f 180352010-01-06 Carles Pina i Estany <carles@pina.cat>
18036
18037 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
18038 * commands/search_file.c (HELP_MESSAGE): New macro.
18039 * commands/search_label.c (HELP_MESSAGE): Likewise.
18040 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
18041 * po/POTFILES: Add `commands/search_file.c',
18042 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
18043 `commands/search.c'.
18044
83507e68
RM
180452010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18046
18047 * config.rpath: Update from Gnulib.
18048
465c787b
YB
180492010-01-05 Yves Blusseau <blusseau@zetam.org>
18050
18051 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
18052
6581dd3a
YB
180532010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
18054
18055 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
18056
3bff18c5
CW
180572010-01-05 Colin Watson <cjwatson@ubuntu.com>
18058
18059 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
18060 arguments to fread so that we get a return value in bytes, rather
18061 than something that will normally be rounded down to 0.
18062 Adjust error handling to avoid producing garbage when size_t is not
18063 the same size as long long.
18064
a1368118
CW
180652010-01-05 Colin Watson <cjwatson@ubuntu.com>
18066
18067 * util/mkisofs/write.c (padblock_write): Check return value of
18068 fread.
18069
7c302978
RM
180702010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18071
18072 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
18073 floppy images now.
18074
18075 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
18076
e33ace06
RM
180772010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18078
18079 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
18080 instead of manual alignment.
18081 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
18082 verbose). Avoid attempts to read past end of the device
18083 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
18084 but GRUB_DISK_CACHE_SIZE may exceed that).
18085
4b856776
RM
180862010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18087
18088 * commands/crc.c (grub_cmd_crc): Abort on read errors.
18089 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
18090 it to upper layer.
18091
52c2d97f
VS
180922010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18093
18094 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
18095 New constant.
18096 (grub_efi_piwg_device_path): New structure
18097 (grub_efi_piwg_device_path_t): New type.
18098 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
18099 (devpath_1): Transform to a structure. All users updated.
18100 (devpath_2): Likewise.
18101 (devpath_3): Likewise.
18102 (devpath_4): Likewise.
18103 (devpath_5): Likewise.
18104
98ff6a54
VS
181052010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 * loader/efi/appleloader.c: Restored. Update all users.
18108
3a73dcb6
RM
181092010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18110
18111 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
18112
18113 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
18114 (struct boot_blocklist): Move from here ...
18115 * include/grub/i386/pc/boot.h [ASM_FILE]
18116 (struct grub_boot_blocklist): ... to here. Update all users.
18117 (setup): Only initialize `start' member of `first_block'
18118 structure. Add assert() calls to verify the other members.
18119
18120 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
18121 (generate_image): Fix broken blocklist length initialization.
18122 Add assert() call to verify blocklist `segment' field.
18123
ab0eeb0c
RM
181242010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18125
18126 * loader/efi/appleloader.c: Remove. Update all users.
18127
58bc8bd5
RM
181282010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18129
18130 * boot/i386/pc/boot.S: Update copyright year.
18131 * boot/i386/pc/cdboot.S: Likewise.
18132 * boot/i386/pc/diskboot.S: Likewise.
18133 * boot/i386/pc/lnxboot.S: Likewise.
18134 * boot/i386/pc/pxeboot.S: Likewise.
18135 * bus/pci.c: Likewise.
18136 * commands/cmp.c: Likewise.
18137 * commands/help.c: Likewise.
18138 * commands/hexdump.c: Likewise.
18139 * commands/i386/pc/halt.c: Likewise.
18140 * commands/i386/pc/play.c: Likewise.
18141 * commands/i386/pc/vbeinfo.c: Likewise.
18142 * commands/ls.c: Likewise.
18143 * commands/test.c: Likewise.
18144 * disk/dmraid_nvidia.c: Likewise.
18145 * disk/i386/pc/biosdisk.c: Likewise.
18146 * disk/ieee1275/nand.c: Likewise.
18147 * disk/ieee1275/ofdisk.c: Likewise.
18148 * disk/lvm.c: Likewise.
18149 * disk/raid.c: Likewise.
18150 * disk/raid6_recover.c: Likewise.
18151 * disk/scsi.c: Likewise.
18152 * fs/affs.c: Likewise.
18153 * fs/cpio.c: Likewise.
18154 * fs/ext2.c: Likewise.
18155 * fs/hfs.c: Likewise.
18156 * fs/iso9660.c: Likewise.
18157 * fs/ntfs.c: Likewise.
18158 * fs/sfs.c: Likewise.
18159 * fs/udf.c: Likewise.
18160 * fs/ufs.c: Likewise.
18161 * fs/xfs.c: Likewise.
18162 * gencmdlist.sh: Likewise.
18163 * genmk.rb: Likewise.
18164 * include/grub/disk.h: Likewise.
18165 * include/grub/efi/api.h: Likewise.
18166 * include/grub/efi/efi.h: Likewise.
18167 * include/grub/efi/pe32.h: Likewise.
18168 * include/grub/elf.h: Likewise.
18169 * include/grub/fs.h: Likewise.
18170 * include/grub/i386/at_keyboard.h: Likewise.
18171 * include/grub/i386/pc/memory.h: Likewise.
18172 * include/grub/i386/pc/vbe.h: Likewise.
18173 * include/grub/i386/pci.h: Likewise.
18174 * include/grub/i386/tsc.h: Likewise.
18175 * include/grub/ieee1275/ieee1275.h: Likewise.
18176 * include/grub/ntfs.h: Likewise.
18177 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18178 * include/grub/sparc64/libgcc.h: Likewise.
18179 * include/grub/symbol.h: Likewise.
18180 * include/grub/types.h: Likewise.
18181 * include/multiboot2.h: Likewise.
18182 * io/gzio.c: Likewise.
18183 * kern/device.c: Likewise.
18184 * kern/disk.c: Likewise.
18185 * kern/efi/efi.c: Likewise.
18186 * kern/efi/mm.c: Likewise.
18187 * kern/elf.c: Likewise.
18188 * kern/file.c: Likewise.
18189 * kern/i386/dl.c: Likewise.
18190 * kern/i386/pc/init.c: Likewise.
18191 * kern/i386/pc/startup.S: Likewise.
18192 * kern/ieee1275/ieee1275.c: Likewise.
18193 * kern/ieee1275/init.c: Likewise.
18194 * kern/main.c: Likewise.
18195 * kern/mm.c: Likewise.
18196 * kern/powerpc/dl.c: Likewise.
18197 * kern/sparc64/dl.c: Likewise.
18198 * kern/x86_64/dl.c: Likewise.
18199 * lib/hexdump.c: Likewise.
18200 * loader/efi/appleloader.c: Likewise.
18201 * loader/i386/ieee1275/linux.c: Likewise.
18202 * loader/i386/pc/chainloader.c: Likewise.
18203 * loader/i386/pc/linux.c: Likewise.
18204 * loader/i386/pc/multiboot2.c: Likewise.
18205 * loader/ieee1275/multiboot2.c: Likewise.
18206 * loader/multiboot2.c: Likewise.
18207 * loader/multiboot_loader.c: Likewise.
18208 * loader/powerpc/ieee1275/linux.c: Likewise.
18209 * normal/completion.c: Likewise.
18210 * normal/menu_entry.c: Likewise.
18211 * partmap/apple.c: Likewise.
18212 * util/grub.d/10_hurd.in: Likewise.
18213 * util/hostfs.c: Likewise.
18214 * video/readers/png.c: Likewise.
18215
e2d70b5c
CW
182162010-01-03 Colin Watson <cjwatson@ubuntu.com>
18217
18218 * include/grub/misc.h (GNUC_PREREQ): New macro.
18219 (ATTRIBUTE_ERROR): New macro.
18220 * include/grub/list.h (grub_bad_type_cast_real): Use
18221 ATTRIBUTE_ERROR.
18222
a173283f 182232010-01-03 Carles Pina i Estany <carles@pina.cat>
18224
18225 * normal/menu_text.c (print_message): Change messages.
18226
7fa7ff74 182272010-01-03 Carles Pina i Estany <carles@pina.cat>
18228
18229 * normal/menu_entry.c (store_completion): Gettextizze.
18230
136d24f6 182312010-01-03 Carles Pina i Estany <carles@pina.cat>
18232
18233 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
18234
f936862e 182352010-01-03 Carles Pina i Estany <carles@pina.cat>
18236
18237 * po/POTFILES: Sort correctly.
18238
29c44ad1 182392010-01-03 Carles Pina i Estany <carles@pina.cat>
18240
18241 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
18242 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
18243 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
18244 full stop.
18245 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
18246 summary. Gettextizze the strings.
18247 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
18248 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
18249 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
18250 full stop.
18251 (GRUB_MOD_INIT): Remove command name from summary.
18252 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
18253 summary.
18254 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
18255 * term/i386/pc/serial.c (options): Add full stops.
18256 (GRUB_MOD_INIT): Remove command name from the summary.
18257
77a79592 182582010-01-03 Carles Pina i Estany <carles@pina.cat>
18259
18260 * commands/acpi.c: Gettextizze help strings and/or options. Include
18261 `grub/i18n.h' if needed.
18262 * commands/blocklist.c: Likewise.
18263 * commands/boot.c: Likewise.
18264 * commands/cat.c: Likewise.
18265 * commands/cmp.c: Likewise.
18266 * commands/configfile.c: Likewise.
18267 * commands/crc.c: Likewise.
18268 * commands/date.c: Likewise.
18269 * commands/echo.c: Likewise.
18270 * commands/efi/fixvideo.c: Likewise.
18271 * commands/efi/loadbios.c: Likewise.
18272 * commands/gptsync.c: Likewise.
18273 * commands/halt.c: Likewise.
18274 * commands/handler.c: Likewise.
18275 * commands/hdparm.c: Likewise.
18276 * commands/hexdump.c: Likewise.
18277 * commands/i386/cpuid.c: Likewise.
18278 * commands/i386/pc/drivemap.c: Likewise.
18279 * commands/i386/pc/halt.c: Likewise.
18280 * commands/i386/pc/pxecmd.c: Likewise.
18281 * commands/i386/pc/vbeinfo.c: Likewise.
18282 * commands/i386/pc/vbetest.c: Likewise.
18283 * commands/ieee1275/suspend.c: Likewise.
18284 * commands/keystatus.c: Likewise.
18285 * commands/loadenv.c: Likewise.
18286 * commands/ls.c: Likewise.
18287 * commands/lsmmap.c: Likewise.
18288 * commands/lspci.c: Likewise.
18289 * commands/memrw.c: Likewise.
18290 * commands/minicmd.c: Likewise.
18291 * commands/parttool.c: Likewise.
18292 * commands/password.c: Likewise.
18293 * commands/probe.c: Likewise.
18294 * commands/read.c: Likewise.
18295 * commands/reboot.c: Likewise.
18296 * commands/search.c: Likewise.
18297 * commands/sleep.c: Likewise.
18298 * commands/test.c: Likewise.
18299 * commands/true.c: Likewise.
18300 * commands/usbtest.c: Likewise.
18301 * commands/videotest.c: Likewise.
18302 * commands/xnu_uuid.c: Likewise.
18303 * disk/loopback.c: Likewise.
18304 * hello/hello.c: Likewise.
18305 * loader/i386/bsd.c: Likewise.
18306 * term/i386/pc/serial.c: Likewise.
18307 * po/POTFILES: Add new files.
18308
da8d5c53
CW
183092010-01-02 Colin Watson <cjwatson@ubuntu.com>
18310
18311 * term/i386/pc/at_keyboard.c
18312 (keyboard_controller_wait_untill_ready): Rename to ...
18313 (keyboard_controller_wait_until_ready): ... this. Update all users.
18314
33937904 183152010-01-01 Carles Pina i Estany <carles@pina.cat>
18316
18317 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
18318 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
18319 string using string width.
18320 * normal/menu_text.c (grub_print_message_indented): Use
18321 grub_print_spaces and not print_spaces.
18322 (print_timeout): Likewise.
18323 (print_spaces): Move to...
18324 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
18325
3fd3b8d8
RM
183262010-01-01 Robert Millan <rmh.grub@aybabtu.com>
18327
18328 Import from Gnulib.
18329
18330 * gnulib/getdelim.c: New file.
18331 * gnulib/getline.c: Likewise.
18332
33433555
VS
183332009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
18334
18335 * include/grub/list.h (grub_assert_fail): Removed.
18336 (grub_bad_type_cast_real): New function.
18337 (grub_bad_type_cast): New macro.
18338 (GRUB_AS_LIST): Use grub_bad_type_cast.
18339 (GRUB_AS_LIST_P): Likewise.
e44721e8 18340 (GRUB_AS_NAMED_LIST): Likewise.
33433555 18341 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 18342 (GRUB_AS_PRIO_LIST): Likewise.
33433555 18343 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 18344 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 18345
f5a51306
VS
183462009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
18347
18348 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
18349 Fix syntax error.
18350
90d1e879
RM
183512009-12-29 Robert Millan <rmh.grub@aybabtu.com>
18352
18353 * configure.ac: Check for TARGET_CFLAGS initialization before we
18354 initialize it ourselves (sigh).
18355 Move a few modifications to TARGET_CFLAGS to be unconditional
18356 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
18357 eh_frame)
18358
18359 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
18360 * term/i386/pc/at_keyboard.c
18361 (keyboard_controller_wait_untill_ready): Likewise.
18362 (keyboard_controller_led): Rename `led_status' paramter to avoid
18363 name conflict.
18364
465b5a81 183652009-12-28 Carles Pina i Estany <carles@pina.cat>
18366
18367 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
18368 quotes.
18369
c181849b
VS
183702009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18371
18372 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
18373
9c8739a4
VS
183742009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18375
18376 * normal/menu_text.c (grub_print_message_indented): Prevent
18377 past-the-end-of-array dereference.
18378
3e74249c
VS
183792009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
18382 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
18383
64fd18ed 183842009-12-27 Carles Pina i Estany <carles@pina.cat>
18385
18386 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
18387 * normal/main.c (grub_normal_read_line): Remove a space from the
18388 default prompt.
18389
714af9b9 183902009-12-27 Carles Pina i Estany <carles@pina.cat>
18391
18392 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
18393 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18394 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18395 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18396 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18397 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18398 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18399
82f3e412 184002009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 18401
18402 * video/readers/jpeg.c (cmd): Declare.
18403 (grub_cmd_jpegtest): Use `grub_command_t' type.
18404 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18405 Assign to `cmd'.
18406 (GRUB_MOD_FINI): Use `cmd' to unregister.
18407 * video/readers/png.c (cmd): Declare.
18408 (grub_cmd_pngtest): Use `grub_command_t' type.
18409 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18410 Assign to `cmd'.
18411 (GRUB_MOD_FINI): Use `cmd' to unregister.
18412 * video/readers/tga.c (cmd): Declare.
18413 (grub_cmd_tgatest): Use `grub_command_t' type.
18414 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18415 Assign to `cmd'.
18416 (GRUB_MOD_FINI): Use `cmd' to unregister.
18417
82f3e412 184182009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 18419
18420 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
18421 stops.
18422 * kern/corecmd.c (grub_register_core_commands): Likewise.
18423 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
18424 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18425 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
18426 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18427 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18428 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
18429 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18430 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
18431 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18432 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18433 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18434 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18435 * normal/handler.c (insert_handler): Likewise.
18436 * normal/main.c (GRUB_MOD_INIT): Likewise.
18437 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18438
fdcdbb66 184392009-12-26 Carles Pina i Estany <carles@pina.cat>
18440
18441 * commands/help.c (grub_cmd_help): Print the command name before the
18442 summary.
18443 (GRUB_MOD_INIT): Remove command name from the summary.
18444 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 18445 string as summary.
fdcdbb66 18446 * lib/arg.c (find_long): Print the command name before the summary.
18447 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
18448 summary.
18449 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
18450 * commands/cat.c (GRUB_MOD_INIT): Likewise.
18451 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
18452 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18453 * commands/crc.c (GRUB_MOD_INIT): Likewise.
18454 * commands/date.c (GRUB_MOD_INIT): Likewise.
18455 * commands/echo.c (GRUB_MOD_INIT): Likewise.
18456 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
18457 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18458 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18459 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
18460 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
18461 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
18462 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
18463 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18464 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
18465 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
18466 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
18467 * commands/ls.c (GRUB_MOD_INIT): Likewise.
18468 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18469 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18470 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18471 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
18472 * commands/password.c (GRUB_MOD_INIT): Likewise.
18473 * commands/probe.c (GRUB_MOD_INIT): Likewise.
18474 * commands/read.c (GRUB_MOD_INIT): Likewise.
18475 * commands/search.c (GRUB_MOD_INIT): Likewise.
18476 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
18477 * commands/test.c (GRUB_MOD_INIT): Likewise.
18478 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
18479 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18480 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18481 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
18482 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18483 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18484 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18485 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18486 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18487 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18488 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18489 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18490 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18491 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18492
9c288be2
VS
184932009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18494
18495 Use search command for preliminar UUID search.
18496
18497 * commands/search.c: Split into ...
18498 * commands/search_wrap.c: ...this
18499 * commands/search.c: ...and this.
18500 * commands/search_file.c: New file.
18501 * commands/search_label.c: New file.
18502 * commands/search_uuid.c: New file.
18503 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18504 Add commands/search_wrap.c, commands/search_file.c,
18505 commands/search_label.c and commands/search_uuid.c.
18506 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18507 (search_mod_SOURCES): Set to commands/search_wrap.c.
18508 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18509 search_label.mod.
18510 (search_fs_file_mod_SOURCES): New variable.
18511 (search_fs_file_mod_CFLAGS): Likewise.
18512 (search_fs_file_mod_LDFLAGS): Likewise.
18513 (search_label_mod_SOURCES): Likewise.
18514 (search_label_mod_CFLAGS): Likewise.
18515 (search_label_mod_LDFLAGS): Likewise.
18516 (search_fs_uuid_mod_SOURCES): New variable.
18517 (search_fs_uuid_mod_CFLAGS): Likewise.
18518 (search_fs_uuid_mod_LDFLAGS): Likewise.
18519 (fs_file_mod_SOURCES): Removed.
18520 (fs_file_mod_CFLAGS): Likewise.
18521 (fs_file_mod_LDFLAGS): Likewise.
18522 (fs_uuid_mod_SOURCES): Removed.
18523 (fs_uuid_mod_CFLAGS): Likewise.
18524 (fs_uuid_mod_LDFLAGS): Likewise.
18525 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18526 Set to util/grub-install.in.
18527 * disk/fs_file.c: Removed.
18528 * disk/fs_uuid.c: Likewise.
18529 * include/grub/search.h: New file.
18530 * util/grub-install.in: Handle sparc64.
18531 Create and use load.cfg.
18532 * util/sparc64/ieee1275/grub-install.in: Removed.
18533
db943399
VS
185342009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18535
18536 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18537 Ignore return status if CF is cleared.
18538 (grub_biosdisk_get_diskinfo_standard): Likewise.
18539
3fdae612
RM
185402009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18541
18542 * term/i386/pc/at_keyboard.c
18543 (keyboard_controller_wait_untill_ready): New function.
18544 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18545 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18546 for keyboard polling, rather than duplicate the same loop. This
18547 saves a few bytes in code size.
18548
7ebaa2b4
VS
185492009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18550
18551 Support for (pxe[:server[:gateway]]) syntax and
18552 use environment variable for PXE.
18553
18554 * commands/i386/pc/pxecmd.c (options): Removed.
18555 (print_ip): Removed.
18556 (grub_cmd_pxe): Removed
18557 (grub_cmd_pxe_unload): New function.
18558 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18559 (grub_pxe_your_ip): Made static.
18560 (grub_pxe_default_server_ip): Likewise.
18561 (grub_pxe_default_gateway_ip): Likewise.
18562 (grub_pxe_blksize): Likewise.
18563 (parse_ip): New function.
18564 (grub_pxe_open): Support server and gateway specification.
18565 (grub_pxe_close): Free disk->data.
18566 (grub_pxefs_open): Use disk->data.
18567 (grub_pxefs_read): Likewise.
18568 (grub_env_write_readonly): New function.
18569 (set_mac_env): Likewise.
18570 (set_env_limn_ro): Likewise.
18571 (parse_dhcp_vendor): Likewise.
18572 (grub_pxe_detect): Set the environment variables.
18573 (set_ip_env): New function.
18574 (write_ip_env): Likewise.
18575 (grub_env_write_pxe_default_server): Likewise.
18576 (grub_env_write_pxe_default_gateway): Likewise.
18577 (grub_env_write_pxe_blocksize): Likewise.
18578 (GRUB_MOD_INIT(pxe)): Set environment variables.
18579 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18580 (grub_pxe_mac_addr_t): ... this. All users updated.
18581 (grub_pxe_your_ip): Removed.
18582 (grub_pxe_server_ip): Likewise.
18583 (grub_pxe_gateway_ip): Likewise.
18584 (grub_pxe_blksize): Likewise.
18585
ec5f98ab 185862009-12-25 Carles Pina i Estany <carles@pina.cat>
18587
18588 * commands/help.c: Include `<grub/i18n.h>'.
18589 (grub_cmd_help): Gettextizze.
18590 (GRUB_MOD_INIT): Likewise.
18591 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18592 (GRUB_MOD_INIT): Gettextizze.
18593 * commands/search.c: Include `<grub/i18n.h>'.
18594 (options): Gettextizze.
18595 (GRUB_MOD_INIT): Gettextizze.
18596 * lib/arg.c: Include `<grub/i18n.h>'.
18597 (help_options): Gettextizze.
18598 (find_long): Likewise.
18599 (grub_arg_show_help): Likewise.
18600 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18601 (read_command_list): Gettextizze.
18602 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 18603 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 18604
22815526
RM
186052009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18606
18607 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18608 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18609 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18610 (led_status): New variable.
18611 (keyboard_controller_led): New function.
18612 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18613 update led status for caps lock, num lock and scroll lock.
18614
0ad46fd7
FZ
186152009-12-25 Felix Zielcke <fzielcke@z-51.de>
18616
18617 * util/hostdisk.c (open_device): Fix a comment.
18618
d0e158c2
RM
186192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18620
18621 * util/grub-install.in (host_os): New variable.
18622 * util/i386/efi/grub-install.in (host_os): Likewise.
18623
401c0ad6
RM
186242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18625
18626 * util/mkisofs/write.c (padblock_write): Abort when given an
18627 excedingly large embed image, instead of silently truncating it.
18628
d14d3370
RM
186292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18630
18631 * include/multiboot.h: Indentation fixes.
18632
eeed10b4
RM
186332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18634
18635 * include/multiboot.h (struct multiboot_aout_symbol_table)
18636 (struct multiboot_elf_section_header_table): New structure
18637 declarations (stolen from GRUB Legacy).
18638 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18639 table information.
18640
18641 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18642 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18643 type aliases.
18644
681c70ab
RM
186452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18646
18647 * include/multiboot.h: Make comments src2texi-friendly.
18648
e4d47d8d
RM
186492009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18650
18651 For consistency with [multiboot]/docs/boot.S.
18652
18653 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18654 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18655 (MULTIBOOT_MAGIC2): Rename from this ...
18656 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18657
a0b70bda
RM
186582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18659
18660 * include/multiboot.h: Remove `<grub/types.h>'.
18661 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18662 types. Update all users.
18663
61ba42be 186642009-12-25 Carles Pina i Estany <carles@pina.cat>
18665
18666 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18667 `couldn't' and `can not' by `cannot'.
18668 * commands/i386/pc/drivemap.c: Likewise.
18669 * disk/ata.c: Likewise.
18670 * disk/ieee1275/nand.c: Likewise.
18671 * fs/affs.c: Likewise.
18672 * fs/fat.c: Likewise.
18673 * fs/hfs.c: Likewise.
18674 * fs/hfsplus.c: Likewise.
18675 * fs/iso9660.c: Likewise.
18676 * fs/jfs.c: Likewise.
18677 * fs/minix.c: Likewise.
18678 * fs/reiserfs.c: Likewise.
18679 * fs/sfs.c: Likewise.
18680 * fs/udf.c: Likewise.
18681 * fs/ufs.c: Likewise.
18682 * fs/xfs.c: Likewise.
18683 * loader/powerpc/ieee1275/linux.c: Likewise.
18684 * loader/sparc64/ieee1275/linux.c: Likewise.
18685 * util/grub-probe.c: Likewise.
18686 * util/misc.c: Likewise.
18687
7fd0baee 186882009-12-24 Carles Pina i Estany <carles@pina.cat>
18689
18690 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18691 grub_errno calls.
18692 * commands/acpi.c: Likewise.
18693 * commands/blocklist.c: Likewise.
18694 * commands/efi/loadbios.c: Likewise.
18695 * commands/i386/pc/drivemap.c: Likewise.
18696 * commands/loadenv.c: Likewise.
18697 * commands/memrw.c: Likewise.
18698 * commands/password.c: Likewise.
18699 * commands/videotest.c: Likewise.
18700 * disk/ata.c: Likewise.
18701 * disk/ata_pthru.c: Likewise.
18702 * disk/dmraid_nvidia.c: Likewise.
18703 * disk/ieee1275/nand.c: Likewise.
18704 * disk/ieee1275/ofdisk.c: Likewise.
18705 * disk/loopback.c: Likewise.
18706 * disk/lvm.c: Likewise.
18707 * disk/mdraid_linux.c: Likewise.
18708 * disk/raid.c: Likewise.
18709 * disk/raid6_recover.c: Likewise.
18710 * disk/scsi.c: Likewise.
18711 * efiemu/main.c: Likewise.
18712 * efiemu/mm.c: Likewise.
18713 * efiemu/pnvram.c: Likewise.
18714 * efiemu/symbols.c: Likewise.
18715 * font/font.c: Likewise.
18716 * fs/cpio.c: Likewise.
18717 * fs/hfsplus.c: Likewise.
18718 * fs/iso9660.c: Likewise.
18719 * fs/jfs.c: Likewise.
18720 * fs/minix.c: Likewise.
18721 * fs/ntfs.c: Likewise.
18722 * fs/ntfscomp.c: Likewise.
18723 * fs/reiserfs.c: Likewise.
18724 * fs/ufs.c: Likewise.
18725 * fs/xfs.c: Likewise.
18726 * gettext/gettext.c: Likewise.
18727 * include/grub/auth.h: Likewise.
18728 * kern/elf.c: Likewise.
18729 * kern/file.c: Likewise.
18730 * kern/ieee1275/init.c: Likewise.
18731 * kern/ieee1275/mmap.c: Likewise.
18732 * kern/ieee1275/openfw.c: Likewise.
18733 * kern/powerpc/dl.c: Likewise.
18734 * kern/sparc64/dl.c: Likewise.
18735 * lib/arg.c: Likewise.
18736 * loader/i386/bsd.c: Likewise.
18737 * loader/i386/bsdXX.c: Likewise.
18738 * loader/i386/efi/linux.c: Likewise.
18739 * loader/i386/efi/xnu.c: Likewise.
18740 * loader/i386/ieee1275/linux.c: Likewise.
18741 * loader/i386/linux.c: Likewise.
18742 * loader/i386/multiboot.c: Likewise.
18743 * loader/i386/pc/linux.c: Likewise.
18744 * loader/i386/pc/multiboot2.c: Likewise.
18745 * loader/i386/xnu.c: Likewise.
18746 * loader/ieee1275/multiboot2.c: Likewise.
18747 * loader/macho.c: Likewise.
18748 * loader/machoXX.c: Likewise.
18749 * loader/multiboot2.c: Likewise.
18750 * loader/multiboot_loader.c: Likewise.
18751 * loader/powerpc/ieee1275/linux.c: Likewise.
18752 * loader/sparc64/ieee1275/linux.c: Likewise.
18753 * loader/xnu.c: Likewise.
18754 * loader/xnu_resume.c: Likewise.
18755 * mmap/i386/pc/mmap.c: Likewise.
18756 * normal/menu_viewer.c: Likewise.
18757 * partmap/acorn.c: Likewise.
18758 * partmap/amiga.c: Likewise.
18759 * partmap/apple.c: Likewise.
18760 * script/lexer.c: Likewise.
18761 * term/gfxterm.c: Likewise.
18762 * term/i386/pc/serial.c: Likewise.
18763 * term/i386/pc/vga.c: Likewise.
18764 * term/ieee1275/ofconsole.c: Likewise.
18765 * term/terminfo.c: Likewise.
18766 * video/bitmap.c: Likewise.
18767 * video/efi_gop.c: Likewise.
18768 * video/efi_uga.c: Likewise.
18769 * video/fb/video_fb.c: Likewise.
18770 * video/i386/pc/vbe.c: Likewise.
18771 * video/readers/tga.c: Likewise.
18772 * video/video.c: Likewise.
18773
0ad46fd7 187742009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
18775
18776 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18777 * commands/lspci.c: Likewise.
18778 * commands/probe.c: Likewise.
18779 * commands/xnu_uuid.c: Likewise.
18780 * conf/i386-coreboot.rmk: Likewise.
18781 * conf/i386-efi.rmk: Likewise.
18782 * conf/i386-ieee1275.rmk: Likewise.
18783 * conf/i386-pc.rmk: Likewise.
18784 * conf/powerpc-ieee1275.rmk: Likewise.
18785 * conf/sparc64-ieee1275.rmk: Likewise.
18786 * conf/x86_64-efi.rmk: Likewise.
18787 * fs/i386/pc/pxe.c: Likewise.
18788 * gettext/gettext.c: Likewise.
18789 * include/grub/efi/graphics_output.h: Likewise.
18790 * include/grub/i386/pc/memory.h: Likewise.
18791 * kern/env.c: Likewise.
18792 * kern/i386/qemu/startup.S: Likewise.
18793 * lib/i386/pc/biosnum.c: Likewise.
18794 * lib/i386/relocator.c: Likewise.
18795 * lib/i386/relocator_asm.S: Likewise.
18796 * lib/relocator.c: Likewise.
18797 * loader/i386/bsd.c: Likewise.
18798 * loader/i386/multiboot.c: Likewise.
18799 * loader/i386/pc/chainloader.c: Likewise.
18800 * loader/i386/xnu.c: Likewise.
18801 * loader/xnu.c: Likewise.
18802 * normal/main.c: Likewise.
18803 * normal/menu_text.c: Likewise.
18804 * util/getroot.c: Likewise.
18805 * util/grub-mkconfig_lib.in: Likewise.
18806 * util/grub.d/00_header.in: Likewise.
18807 * util/i386/pc/grub-mkimage.c: Likewise.
18808 * util/mkisofs/eltorito.c: Likewise.
18809 * util/mkisofs/exclude.h: Likewise.
18810 * util/mkisofs/hash.c: Likewise.
18811 * util/mkisofs/iso9660.h: Likewise.
18812 * util/mkisofs/joliet.c: Likewise.
18813 * util/mkisofs/mkisofs.c: Likewise.
18814 * util/mkisofs/mkisofs.h: Likewise.
18815 * util/mkisofs/multi.c: Likewise.
18816 * util/mkisofs/name.c: Likewise.
18817 * util/mkisofs/rock.c: Likewise.
18818 * util/mkisofs/tree.c: Likewise.
18819 * util/mkisofs/write.c: Likewise.
18820 * video/efi_gop.c: Likewise.
18821
009ec743
VS
188222009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18823
18824 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18825 size counting.
18826
0ad46fd7 188272009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
18828
18829 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18830 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18831
d3d30ea0
VS
188322009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18835 (GRUB_MOD_INIT(memrw)): Update help line.
18836
a34f5c70
VS
188372009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18838
18839 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18840 Use grub_extcmd_t. All users updated.
18841 (options): New variable.
18842 (grub_cmd_read): Restructure for readability. Support "-v" option.
18843 (grub_cmd_write): Restructure for readability.
18844
0ad46fd7 188452009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
18846
18847 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18848
0ad46fd7 188492009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
18850
18851 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18852 with the actual contents of the correspondending make variable.
18853 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18854 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18855 specifying `*.lst' and `efiemu??.o'
18856
0ad46fd7 188572009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
18858
18859 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18860 after function name.
18861 Noticed by Rene Engelhard <rene@debian.org>.
18862
dc77a799
VS
188632009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18864
18865 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18866 (options): New variable.
18867 (iospace): Likewise.
18868 (grub_lspci_iter): List IO spaces if "-i" was given.
18869 (grub_cmd_lspci): Parse options.
18870 (GRUB_MOD_INIT(lspci)): Use extcmd.
18871 (GRUB_MOD_FINI(lspci)): Likewise.
18872
0ad46fd7 188732009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
18874
18875 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18876 `function' keyword.
18877 Patch by Tony Mancill <tmancill@debian.org>.
18878
b5d5993b
VS
188792009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18880
18881 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18882 (grub_uhci_portstatus): Likewise.
18883 (grub_uhci_portstatus): Add necessary delay.
11d18281 18884 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 18885
941903f2 188862009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 18887
941903f2 18888 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18889 (GRUB_MOD_INIT): Likewise.
18890 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 18891 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18892 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 18893 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18894 (enable_rom_area): Likewise.
18895 (GRUB_MOD_INIT): Likewise.
18896 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18897 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18898 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18899 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18900 * commands/hexdump.c (options): Likewise.
18901 * commands/i386/cpuid.c (options): Likewise.
18902 (GRUB_MOD_INIT): Likewise.
18903 * commands/i386/pc/drivemap.c (options): Likewise.
18904 (GRUB_MOD_INIT): Likewise.
18905 * commands/i386/pc/halt (options): Likewise.
18906 (GRUB_MOD_INIT): Likewise.
18907 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18908 * commands/i386/pc/pxecmd.c (options): Likewise.
18909 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18910 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18911 * commands/keystatus.c (options): Likewise.
18912 (GRUB_MOD_INIT): Likewise.
18913 * commands/loadenv.c (options): Likewise.
18914 * commands/ls.c (options): Likewise.
18915 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18916 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18917 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18918 * commands/parttool.c (helpmsg): Likewise.
18919 * commands/probe.c (options): Likewise.
18920 * commands/read.c (GRUB_MOD_INIT): Likewise.
18921 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18922 * commands/search.c (options): Likewise.
18923 * commands/sleep.c (options): Likewise.
18924 * commands/test.c (GRUB_MOD_INIT): Likewise.
18925 * commands/true.c (GRUB_MOD_INIT): Likewise.
18926 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18927 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18928 * lib/arg.c (help_options): Likewise.
e9bbb4e7 18929 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18930 `$(XGETTEXT)'.
98a50553 18931 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 18932
0ad46fd7 189332009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 18934
ef3c2c3a 18935 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
18936 instead of specifying them explicit.
18937
7922f68b
RM
189382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18939
18940 * NEWS: Add grub-probe support for GNU/Hurd.
18941
537ce47f
RM
189422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18943
18944 * NEWS: gettext was added after 1.97.
18945
9b214e3a
RM
189462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18947
18948 * util/mkisofs/msdos_partition.h: New file (based on
18949 include/grub/msdos_partition.h).
18950 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18951 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18952 (ld_options, main): Recognize --protective-msdos-label.
18953 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18954 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18955 (padblock_write): If `use_protective_msdos_label' is set, patch a
18956 protective DOS-style label in the output image.
18957
18958 * util/grub-mkrescue.in: Use --protective-msdos-label.
18959
e9309813
RM
189602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18961
18962 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18963 boot.
18964
0ae56929
RM
189652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18966
18967 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18968 variables.
18969 (ld_options, main): Recognize `--embedded-boot'.
18970 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18971 declarations.
18972 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18973 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18974 (padblock_write): Likewise. Rewrite to support embedded boot image.
18975
18976 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18977 for BIOS-based disk boot instead of only ElTorito.
18978
b15937b1
RM
189792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18980
18981 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18982 build (not needed for bootstrap).
18983
52cc3ce0
RM
189842009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18985
18986 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18987 from i386-pc build (not needed for bootstrap).
18988 Rewrite a pair of strings.
18989
36f5ff04
RM
189902009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18991
18992 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18993
973c6c85 189942009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
18995
18996 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18997
05d21547
AB
189982009-12-21 Andreas Born <futur.andy@googlemail.com>
18999
19000 * kern/env.c (grub_env_context_open): Mark exported variable for
19001 reexport.
19002
0175d51f
AB
190032009-12-21 Andreas Born <futur.andy@googlemail.com>
19004
19005 * kern/env.c (grub_env_export): Create nonexistent variables before
19006 exporting.
19007
7f39d92f 190082009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 19009
7f39d92f 19010 * include/grub/auth.h: Include `<grub/i18n.h>'.
19011 (GRUB_GET_PASSWORD): Gettextizze string.
19012 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
19013 menu_text.c.
19014 (grub_utf8_to_ucs4_alloc): Fix indentation.
19015 (grub_print_ucs4): Likewise.
19016 (grub_getstringwidth): Likewise.
19017 (print_message_indented): New declaration.
19018 * normal/auth.c: Include `<grub/i18n.h>'.
19019 (grub_auth_check_authentication): Gettexttize string.
19020 * normal/cmdline.c: Include `<grub/i18n.h>'.
19021 (grub_cmdline_get): Gettextizze.
19022 * normal/color.c: Include `<grub/i18n.h>'.
19023 (grub_parse_color_name_pair): Gettexttize strings.
19024 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
19025 string (use `print_message_indented').
19026 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
19027 `include/grub/normal.h'.
19028 (print_message_indented): Renamed to ...
19029 (grub_print_message_indented): ... this. Remove `static' qualifer (now
19030 used in normal/main.c).
19031 (print_message): Use `grub_print_message_indented' instead of
19032 `print_message_indented'.
19033 (print_timeout): Likewise.
19034 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
19035 (grub_normal_print_device_info): Gettexttize strings.
19036 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
19037
3041d898
VS
190382009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19039
19040 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
19041 of arguments. Return number of tokens and not arguments. All users
19042 updated.
19043
de15bf8e
VS
190442009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19045
19046 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
19047 non-MSDOS paritions.
19048
e0a6ca52
VS
190492009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 * include/grub/types.h (UNUSED): Removed since it conflicts with
19052 NetBSD headers. All users changed to direct __attribute__ ((unused)).
19053 Reported by Grégoire Sutre.
19054
b99518d1 190552009-12-19 Carles Pina i Estany <carles@pina.cat>
19056
19057 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
19058 (grub_print_ucs4_alloc): Likewise.
19059 (grub_getstringwidth): Likewise.
19060 * normal/main.c (grub_normal_init_page): Gettextize version string.
19061 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
19062 (getstringwidth): Renamed to ...
19063 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
19064 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
19065 (grub_print_ucs4): Remove `static' qualifer (now used in
19066 normal/main.c).
19067 * po/POTFILES: Add normal/main.c.
19068
bfd5e52b 190692009-12-19 Carles Pina i Estany <carles@pina.cat>
19070
19071 * normal/menu_text.c (STANDARD_MARGIN): New macro.
19072 (print_message_indented): Add `margin_left' and `margin_right'
19073 parameters.
19074 (print_message): Update `print_message_indented' calls. Adds '\n' to the
19075 strings.
19076 (print_timeout): Use `print_message_indented' to print the message.
19077 Deletes `second_stage' parameter.
19078 (run_menu): Update `print_timeout' calls.
19079
5a1ad2b9
VS
190802009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19081
19082 Fix console palette on OpenFirmware.
19083
19084 * term/ieee1275/ofconsole.c (MAX): Removed.
19085 (colors): Redone based on VGA palette.
19086 (grub_ofconsole_setcolor): Discard brightness bit since only 8
19087 colors are supported.
19088 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
19089
b045f00a
VS
190902009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19091
19092 Fix potential EfiEmu double prepare.
19093
19094 * efiemu/main.c (prepared): New variable
19095 (grub_efiemu_unload): Set prepare to '0'.
19096 (grub_efiemu_prepare): Return if already prepared. Set prepared.
19097
19098 set_virtual_address_map support.
19099
19100 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
19101 prototype.
19102 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
19103 prototype.
19104 (grub_efiemu_crc32): Likewise.
19105 (grub_efiemu_crc64): Likewise.
19106 (grub_efiemu_set_virtual_address_map): Likewise.
19107 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
19108 New definition.
19109 (grub_autoefi_set_virtual_address_map): Likewise.
19110 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
19111 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
19112 Restructure flow to accomodate it.
19113 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
19114 (grub_efiemu_crc): Recompute CRC32.
19115 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
19116 (efiemu_ptv_relocated): ... this. Made global. All users updated.
19117 * efiemu/symbols.c (relocated_handle): New variable.
19118 (grub_efiemu_free_syms): Free relocated_handle.
19119 (grub_efiemu_alloc_syms): Allocate relocated_handle.
19120 (grub_efiemu_write_sym_markers): New function.
19121 (grub_efiemu_set_virtual_address_map): Likewise.
19122
19123 Newer XNU parameters.
19124
19125 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
19126 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
19127 (grub_xnu_fill_devicetree): New prototype.
19128 (grub_xnu_heap_real_start): New variable.
19129 * loader/xnu.c (get_name_ptr): New function.
19130 (grub_xnu_load_driver): Fill namelen and name.
19131
19132 64-bit xnu support.
19133
19134 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
19135 and 'loader/macho64.c'.
19136 * conf/i386-pc.rmk: Likewise.
19137 * conf/x86_64-efi.rmk: Likewise.
19138 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
19139 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
19140 * include/grub/macho.h (grub_macho_segment64): New structure.
19141 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
19142 (grub_macho_size32): ... to this.
19143 (grub_macho32_get_entry_point): Renamed from ...
19144 (grub_macho_get_entry_point32): ... to this.
19145 (grub_macho_contains_macho64): New prototype.
19146 (grub_macho_size64): Likewise.
19147 (grub_macho_get_entry_point64): Likewise.
19148 (grub_macho32_load): Renamed from ...
19149 (grub_macho_load32): ... to this.
19150 (grub_macho32_filesize): Renamed from ...
19151 (grub_macho_filesize32): ... to this.
19152 (grub_macho32_readfile): Renamed from ...
19153 (grub_macho_readfile32): ... to this.
19154 (grub_macho_filesize64): New prototype.
19155 (grub_macho_readfile64): Likewise.
19156 (grub_macho_parse32): Likewise.
19157 (grub_macho_parse64): Likewise.
19158 * loader/macho.c: Split into ...
19159 * loader/machoXX.c: ... and this. Replace 32 with XX.
19160 * loader/macho32.c: New file.
19161 * loader/macho64.c: Likewise.
19162 * loader/xnu.c (grub_xnu_is_64bit): New variable.
19163 (grub_cmd_xnu_kernel): Make 32-bit only.
19164 (grub_cmd_xnu_kernel64): New function.
19165 (grub_xnu_load_driver): Support Mach-O 64.
19166 (grub_cmd_xnu_mkext): Likewise.
19167 * util/grub.d/30_os-prober.in (osx_entry): New function.
19168 Generate entries for 64-bit boot too.
19169
19170 Eliminate ad-hoc tree format in XNU and EfiEmu.
19171
19172 * efiemu/main.c (grub_efiemu_prepare): Update comment.
19173 * efiemu/pnvram.c: Rewritten to use environment variables.
19174 All users updated.
19175
19176 Inline utf16_to_utf8.
19177
19178 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
19179 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
19180 All users updated.
19181 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
19182
19183 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
19184 * commands/usbtest.c (grub_usb_get_string): ... move here.
19185 (usb_print_str): Fix error handling.
19186 * include/grub/usb.h (grub_usb_get_string): Remove.
19187
19188 UTF-8 to UTF-16 transformation.
19189
19190 * conf/common.rmk (pkglib_MODULES): Add charset.mod
19191 (charset_mod_SOURCES): New variable.
19192 (charset_mod_CFLAGS): Likewise.
19193 (charset_mod_LDFLAGS): Likewise.
19194 * include/grub/utf.h: New file.
19195 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
19196
19197 Support for device properties.
19198
19199 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
19200 (grub_xnu_devprop_device_header): Likewise.
19201 (grub_xnu_devprop_device_descriptor): Likewise.
19202 (grub_xnu_devprop_add_device): New prototype.
19203 (grub_xnu_devprop_remove_device): Likewise.
19204 (grub_xnu_devprop_remove_property): Likewise.
19205 (grub_xnu_devprop_add_property_utf8): Likewise.
19206 (grub_xnu_devprop_add_property_utf16): Likewise.
19207 (grub_cpu_xnu_init): Likewise.
19208 (grub_cpu_xnu_fini): Likewise.
19209 (grub_cpu_xnu_unload): Likewise.
19210 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
19211 (property_descriptor): Likewise.
19212 (devices): New variable.
19213 (grub_xnu_devprop_remove_property): New function.
19214 (grub_xnu_devprop_add_device): Likewise.
19215 (grub_xnu_devprop_remove_device): Likewise.
19216 (grub_xnu_devprop_add_property): Likewise.
19217 (grub_xnu_devprop_add_property_utf8): Likewise.
19218 (grub_xnu_devprop_add_property_utf16): Likewise.
19219 (hextoval): Likewise.
19220 (grub_cpu_xnu_fill_devprop): Likewise.
19221 (grub_cmd_devprop_load): Likewise.
19222 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
19223 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
19224 (cmd_devprop_load): New variable.
19225 (grub_cpu_xnu_init): New function.
19226 (grub_cpu_xnu_fini): Likewise.
19227 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
19228 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
19229 (grub_cmd_xnu_devtree): Likewise.
19230 (hextoval): New function.
19231 (unescape): Likewise.
19232 (grub_xnu_fill_devicetree): Likewise.
19233
19234 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
19235 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
19236
0945f181
VS
192372009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19238
19239 Workaround for broken ATI VBE.
19240
19241 * video/i386/pc/vbe.c (last_set_mode): New variable.
19242 (grub_vbe_set_video_mode): Set 'last_set_mode'.
19243 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
19244 (grub_video_vbe_setup): Don't check for reserved flag.
19245
0ad46fd7 192462009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
19247
19248 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
19249 the `find' command.
19250
c179ebe4
VS
192512009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 UUID support for HFS.
19254
19255 * fs/hfs.c (grub_hfs_uuid): New function.
19256 (grub_hfs_fs): New value .uuid.
19257 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
19258
0ad46fd7 192592009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
19260
19261 Fix a segfault with parsing unknown long options.
19262
19263 * util/grub-mkrelpath.c (options): Zero terminate it.
19264
c4a3e41a
CPE
192652009-12-13 Carles Pina i Estany <carles@pina.cat>
19266
19267 * include/grub/misc.h (grub_puts): New declaration.
19268 (grub_puts_): Likewise.
a22008a6 19269 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
19270 (grub_puts_): Likewise.
19271
2e8a7602
RM
192722009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19273
19274 * util/grub-probe.c (probe): Improve error message.
19275
b50b77b9
RM
192762009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19277
19278 * loader/i386/multiboot_elfxx.c
19279 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
19280 initialization.
19281
192822009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19283
19284 Relocator framework
19285
19286 * loader/i386/xnu_helper.S: Removed. All users updated.
19287 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
19288 (relocator_mod_SOURCES): New variable.
19289 (relocator_mod_CFLAGS): Likewise.
19290 (relocator_mod_LDFLAGS): Likewise.
19291 (relocator_mod_ASFLAGS): Likewise.
19292 * conf/x86_64.rmk: Likewise.
19293 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
19294 (grub_multiboot_payload_entry_offset): Likewise.
19295 (grub_multiboot_forward_relocator): Likewise.
19296 (grub_multiboot_forward_relocator_end): Likewise.
19297 (grub_multiboot_backward_relocator): Likewise.
19298 (grub_multiboot_backward_relocator_end): Likewise.
19299 (grub_multiboot_payload_eip): New variable.
19300 (grub_multiboot_payload_orig): Likewise.
19301 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
19302 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
19303 * include/grub/i386/memory.h
19304 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
19305 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
19306 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
19307 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
19308 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
19309 * include/grub/i386/relocator.h: New file.
19310 * include/grub/x86_64/relocator.h: Likewise.
19311 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
19312 (XNU_RELOCATOR): New macro.
19313 (grub_xnu_launcher_start): Remove.
19314 (grub_xnu_launcher_end): Likewise.
19315 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
19316 (grub_xnu_heap_real_start): Remove.
19317 (grub_xnu_heap_start): Change to void *. All users updated.
19318 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
19319 * lib/i386/relocator.c: New file.
19320 * lib/i386/relocator_asm.S: Likewise.
19321 * lib/i386/relocator_backward.S: Likewise.
19322 * lib/mips/relocator.c: Likewise.
19323 * lib/mips/relocator_asm.S: Likewise.
19324 * lib/relocator.c: Likewise.
19325 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
19326 (entry): Removed.
19327 (playground): Likewise.
19328 (grub_multiboot_payload_orig): New variable.
19329 (grub_multiboot_payload_dest): Likewise.
19330 (grub_multiboot_payload_size): Likewise.
19331 (grub_multiboot_payload_eip): Likewise.
19332 (grub_multiboot_payload_esp): Likewise.
19333 (grub_multiboot_boot): Use grub_relocator32_boot.
19334 (grub_multiboot_unload): Free relocators.
19335 (grub_multiboot): Setup stack. Use relocators.
19336 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
19337 (grub_multiboot_load_elfXX): Use relocators.
19338 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
19339 (grub_multiboot_payload_size): Likewise.
19340 (grub_multiboot_payload_dest): Likewise.
19341 (grub_multiboot_payload_entry_offset): Likewise.
19342 (grub_multiboot_forward_relocator): Likewise.
19343 (grub_multiboot_backward_relocator): Likewise.
19344 (grub_multiboot_real_boot): Likewise.
19345 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
19346 (grub_xnu_entry_point): Likewise.
19347 (grub_xnu_arg1): Likewise.
19348 (grub_xnu_stack): Likewise.
19349 (grub_xnu_launch): Removed.
19350 (grub_xnu_boot_resume): New function.
19351 (grub_xnu_boot): Use relocators.
19352 * loader/i386/xnu_helper.S: Removed.
19353 * loader/xnu.c (grub_xnu_heap_start): New variable.
19354 (grub_xnu_heap_size): Likewise.
19355 (grub_xnu_heap_malloc): Use relocators.
19356 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
19357
29eb90c6
VS
193582009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19359
19360 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
19361 anything.
19362
31027430
CPE
193632009-12-13 Carles Pina i Estany <carles@pina.cat>
19364
19365 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
19366 GRUB_ERR_NONE before calling grub_env_set.
19367
dc0c71d9
RM
193682009-12-12 Robert Millan <rmh@aybabtu.com>
19369
19370 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
19371 * genmk.rb (video): New variable.
19372 (CLEANFILES, VIDEOFILES): Add #{video}.
19373 (#{video}): New target rule.
19374 * genvideolist.sh: New file.
19375 * Makefile.in (pkglib_DATA): Add video.lst.
19376 (video.lst): New target rule.
19377 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
19378 `video.lst'.
19379 * util/grub.d/30_os-prober.in: Replace `vbe' with
19380 ${GRUB_VIDEO_BACKEND}.
19381
2a4bfcf0
RM
193822009-12-11 Robert Millan <rmh.grub@aybabtu.com>
19383
19384 * THANKS: Add David Miller.
19385
2a3aa4d5
RM
193862009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
19387
19388 libpciaccess support.
19389
19390 * Makefile.in (LIBPCIACCESS): New variable.
19391 (enable_grub_emu_pci): Likewise.
19392 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
19393 util/pci.c and commands/lspci.c.
19394 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
19395 * configure.ac (grub-emu-pci): New option.
19396 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
19397 (grub_pci_device_unmap_range): Likewise.
19398 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
19399 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
19400 (grub_pci_address_t) [!GRUB_UTIL]: New type.
19401 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
19402 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
19403 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
19404 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
19405 * include/grub/pciutils.h: New file.
19406 * util/pci.c: Likewise.
19407
0ad46fd7 194082009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
19409
19410 * util/misc.c: Don't include <errno.h> twice.
19411
0ad46fd7 194122009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
19413
19414 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
19415 name in an error message.
19416 (grub_biosdisk_rw): Likewise.
19417
2e59983c
VS
194182009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19419
19420 Eliminate NTFS 4Gib barrier.
19421
19422 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
19423 (read_run_data): Likewise.
19424 (grub_ntfs_read_run_list): Likewise.
19425 (grub_ntfs_read_block): Likewise.
19426 (grub_ntfs_iterate_dir): Likewise.
19427 (read_mft): Likewise.
19428 (read_data): Likewise.
19429 Use COM_LOG_LEN.
19430 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
19431 to avoid 64-bit division
19432 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
19433 (grub_ntfs_rlst): Use grub_disk_addr_t.
19434
71ee178a
VS
194352009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19436
19437 Eliminate grub-fstest 4Gib barrier.
19438
19439 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
19440 (read_file): Fix error reporting.
19441
2520d4b8
VS
194422009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 Eliminate hexdump 4Gib barrier.
19445
19446 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
19447 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
19448
e1f27065
VS
194492009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
19452 Fixes amarsh bug.
19453
1a0f7f45
RM
194542009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
19455
19456 Remove miscellaneous files in distclean target.
19457
19458 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
19459
c631d9fb
CW
194602009-12-09 Colin Watson <cjwatson@ubuntu.com>
19461
19462 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
19463 if they're already set. This resolves the conflict between my
19464 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
19465 fixing the --grub-probe option again.
19466 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
19467 change on 2009-10-06, so that we now once again source
19468 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19469
7c7b6106
RM
194702009-12-08 Robert Millan <rmh.grub@aybabtu.com>
19471
19472 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
19473 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
19474 `util/devicemap.c'.
19475
e3069ec1
CPE
194762009-12-08 Carles Pina i Estany <carles@pina.cat>
19477
19478 * include/grub/misc.h (grub_printf_): New declaration.
19479 * kern/misc.c (grub_printf_): New definition.
19480 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
19481 instead of `grub_printf' and `_'.
19482 * normal/menu_entry.c (store_completion): Likewise.
19483 (run): Likewise.
19484 (grub_menu_entry_run): Likewise.
19485 * normal/menu_text.c (grub_wait_after_message): Likewise.
19486 (notify_booting): Likewise.
19487 (notify_fallback): Likewise.
19488 (notify_execution_failure): Likewise.
19489
d6ceebf1
CW
194902009-12-07 Colin Watson <cjwatson@ubuntu.com>
19491
19492 * configure.ac: Check for vasprintf.
19493 * util/misc.c (asprintf): Move allocation from here ...
19494 (vasprintf): ... to here. New function.
19495 (xasprintf): New function.
19496 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19497 prototypes.
19498 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19499 * util/grub-mkfont.c (write_font): Likewise.
19500 * util/grub-probe.c (probe): Likewise.
19501 * util/hostdisk.c (make_device_name): Likewise.
19502
de6daa8b
DM
195032009-12-06 David S. Miller <davem@sunset.davemloft.net>
19504
19505 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19506 anything even prefixed with 'cdrom' as a cdrom.
19507
0ad46fd7 195082009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
19509
19510 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19511 mount points.
19512
98d3dc02
CPE
195132009-12-05 Carles Pina i Estany <carles@pina.cat>
19514
19515 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19516 grub_gettext_msg_list.
19517 (grub_gettext_gettranslation_from_position): Return const char *
19518 and not char *.
a2c1332b 19519 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
19520 returns from the list if existing there.
19521 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19522 (grub_gettext_delete_list): Delete the list.
19523 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19524 lang environment variable is changed.
19525 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19526
b283f108
VS
195272009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19528
19529 Rename kernel.mod to kernel.img.
19530
19531 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19532 (kernel_mod_EXPORTS): Rename to ...
19533 (kernel_img_EXPORTS): ... this.
19534 (kernel_mod_SOURCES): Rename to ...
19535 (kernel_img_SOURCES): ... this.
19536 (kernel_mod_HEADERS): Rename to ...
19537 (kernel_img_HEADERS): ... this. All users updated.
19538 (kernel_mod_CFLAGS): Rename to ...
19539 (kernel_img_CFLAGS): ... this.
19540 (kernel_mod_ASFLAGS): Rename to ...
19541 (kernel_img_ASFLAGS): ... this.
19542 (kernel_mod_LDFLAGS): Rename to ...
19543 (kernel_img_LDFLAGS): ... this.
19544 * conf/x86_64-efi.rmk: Likewise.
19545 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19546 (read_kernel_image): ... this. All users updated.
19547 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19548
69055f8a
CPE
195492009-12-05 Carles Pina i Estany <carles@pina.cat>
19550
19551 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19552 (print_spaces): New function.
19553 (grub_print_ucs4): New function.
19554 (getstringwidth): New function.
19555 (print_message_indented): New function.
19556 (print_message): Gettexttize strings using print_message_indented.
19557 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19558 width.
19559 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 19560 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
19561 Gettextize.
19562 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19563 string.
19564 (run): Likewise.
19565 (grub_menu_entry_run): Likewise.
19566 * PO/POTFILES: Add normal/menu_entry.c.
19567
f616f51c
VS
195682009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19571
57bbe3be
CPE
195722009-12-05 Carles Pina i Estany <carles@pina.cat>
19573
19574 * util/grub-install.in: Install gettext .mo files.
19575 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19576
013d67a1
CPE
195772009-12-05 Carles Pina i Estany <carles@pina.cat>
19578
19579 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19580 grub_dprintf.
19581
fb954db0
RM
195822009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19583
19584 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19585 non-firmware-dependant one in realmode.S takes precedence.
19586
6b8474f8
RM
195872009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19588
19589 * commands/halt.c: Replace misc arch-specific headers with
19590 `<grub/misc.h>'.
19591 * commands/reboot.c: Likewise.
19592 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19593 `<grub/misc.h>'.
19594 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19595 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19596 (kernel_img_SOURCES): ... to here.
19597
19598 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19599 * include/grub/i386/pc/init.h: Likewise.
19600 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19601 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19602
19603 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19604
19605 * include/grub/i386/halt.h: Remove.
19606 * include/grub/i386/reboot.h: Likewise.
19607
19608 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19609
4b2e6ca2
DM
196102009-12-03 David S. Miller <davem@sunset.davemloft.net>
19611
19612 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19613 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19614 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19615 "progname.h"
19616 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19617 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19618 (usage): Add missing comma in printf.
19619
5239348f
RM
196202009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19621
19622 Use the same reboot approach on i386 coreboot and qemu as we do on
19623 BIOS.
19624
19625 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19626 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19627 * kern/i386/reboot.c: Remove.
19628 * include/grub/i386/reboot.h (grub_reboot): Export function.
19629 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19630 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19631 0xf000:0xfff0 instead of 0xffff:0x0000.
19632 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19633 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19634
ef34cbd4
RM
196352009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19636
19637 Fix $srcdir != $objdir build.
19638
19639 * Makefile.in (po/%.po): Rewrite as ...
19640 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19641
dc9837ea
ST
196422009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19643
19644 Fix GNU/Hurd grub-install crash.
19645 * util/grub-probe.c (probe): Try to access `path' only when it is not
19646 NULL.
19647
2f857f98
VS
196482009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19649
19650 Correct module naming.
19651
19652 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19653 (GRUB_MOD_INIT(efi_uga)): ... to this
19654 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19655 (GRUB_MOD_FINI(efi_uga)): ... to this
19656 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19657 (GRUB_MOD_INIT(efi_gop)): ... to this
19658 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19659 (GRUB_MOD_FINI(efi_gop)): ... to this
19660
c5448046
RM
196612009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19662
19663 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19664 translatable.
19665 (usage): Translate `arg' strings using gettext().
19666 Thanks to Jordi Mallach for the suggestion.
19667
c85184ad
VS
196682009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19669
19670 GOP support. Based on patch from Bean
19671 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19672
19673 * video/efi_gop.c: New file.
19674 * include/grub/efi/graphics_output.h: Likewise.
19675 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19676 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19677 variables.
19678 * conf/x86_64-efi.rmk: Likewise.
19679
8a4c48d8
VS
196802009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19681
19682 Rename efi_fb to efi_uga.
19683
19684 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19685 'efi_uga.mod'.
19686 (efi_fb_mod_SOURCES): Rename this ...
19687 (efi_uga_mod_SOURCES): ... to this.
19688 (efi_fb_mod_CFLAGS): Rename this ...
19689 (efi_uga_mod_CFLAGS): ... to this.
19690 (efi_fb_mod_LDFLAGS): Rename this ...
19691 (efi_uga_mod_LDFLAGS): ... to this.
19692 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19693 'efi_uga.mod'.
19694 (efi_fb_mod_SOURCES): Rename this ...
19695 (efi_uga_mod_SOURCES): ... to this.
19696 (efi_fb_mod_CFLAGS): Rename this ...
19697 (efi_uga_mod_CFLAGS): ... to this.
19698 (efi_fb_mod_LDFLAGS): Rename this ...
19699 (efi_uga_mod_LDFLAGS): ... to this.
19700 * video/efi_fb.c: Move this ...
19701 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19702
fb6c1a7b
RM
197032009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19704
19705 * po/README: New file. Explain our PO file workflow.
19706
3bc7896c
RM
197072009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19708
19709 * po/ChangeLog: Remove. Move relevant entries back to ...
19710 * ChangeLog: ... here.
19711 * po/ca.po: Remove (now handled by TLP).
19712 * po/id.po: Likewise.
19713 * po/zh_CN.po: Likewise.
19714 * Makefile.in (LINGUAS): Initialize in a way that supports
19715 empty set.
19716
9ed4841d
RM
197172009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19718
19719 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19720 reliing on po/LINGUAS.
19721 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19722 (po/%.po): ... this.
19723
0ad46fd7 197242009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
19725
19726 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19727 (main): Use `program_name' instead of nonexistent `progname'.
19728
e30dd392
FZ
197292009-11-26 Felix Zielcke <fzielcke@z-51.de>
19730
19731 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19732 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19733
7656de4f
RM
197342009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19735
19736 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19737 commit.
19738 * conf/i386-efi.rmk: Likewise.
19739 * conf/i386-ieee1275.rmk: Likewise.
19740 * conf/powerpc-ieee1275.rmk: Likewise.
19741 * conf/sparc64-ieee1275.rmk: Likewise.
19742 * conf/x86_64-efi.rmk: Likewise.
19743
db77c4d4
FZ
197442009-11-26 Felix Zielcke <fzielcke@z-51.de>
19745
19746 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19747
a755bb04
FZ
197482009-11-26 Felix Zielcke <fzielcke@z-51.de>
19749
19750 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19751
8a4c07fd
RM
197522009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19753
19754 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19755 (grub_mkdevicemap_SOURCES): New variable.
19756 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19757 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19758 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19759 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19760 (grub_mkdevicemap_SOURCES): Remove.
19761 * conf/i386-efi.rmk: Likewise.
19762 * conf/i386-ieee1275.rmk: Likewise.
19763 * conf/i386-pc.rmk: Likewise.
19764 * conf/powerpc-ieee1275.rmk: Likewise.
19765 * conf/sparc64-ieee1275.rmk: Likewise.
19766 * conf/x86_64-efi.rmk: Likewise.
19767 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19768 (usage): Fix strings to use `program_name'.
19769 (main): Initialize gettext.
19770 * util/grub-editenv.c: Likewise.
19771 * util/grub-emu.c: Likewise.
19772 * util/grub-fstest.c: Likewise.
19773 * util/grub-mkdevicemap.c: Likewise.
19774 * util/grub-mkfont.c: Likewise.
19775 * util/grub-mkrelpath.c: Likewise.
19776 * util/grub-pe2elf.c: Likewise.
19777 * util/grub-probe.c: Likewise.
19778 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19779 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19780 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19781
19782 * util/misc.c: Include `"progname.h"'.
19783 (progname): Remove variable.
19784 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19785
6f61ed55
FZ
197862009-11-25 Felix Zielcke <fzielcke@z-51.de>
19787
19788 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19789 printf and print a newline after the menuentry header line.
19790 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19791
f022876b
FZ
197922009-11-25 Felix Zielcke <fzielcke@z-51.de>
19793
19794 autoconf >= 2.60 support $(localedir).
19795
19796 * INSTALL: Note that autoconf 2.60 is required.
19797 * configure.ac (AC_PREREQ): Bump to 2.60.
19798 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19799 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19800
6717926e
YB
198012009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19802
19803 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19804 aclocal is run.
19805
08806a54
RM
198062009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19807
19808 * normal/main.c (grub_normal_read_line): Fix off-by-one
19809 buffer overflow.
19810
13b33fba
RM
198112009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19812
19813 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19814 "parser.grub" in grub_command_execute() call.
19815
4a8572e9
CPE
198162009-11-24 Carles Pina i Estany <carles@pina.cat>
19817
19818 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19819 * conf/i386-efi.rmk: Likewise.
19820 * conf/i386-ieee1275.rmk: Likewise.
19821 * conf/i386-pc.rmk: Likewise.
19822 * conf/powerpc-ieee1275.rmk: Likewise.
19823 * conf/sparc64-ieee1275.rmk: Likewise.
19824 * conf/x86_64-efi.rmk: Likewise.
19825 * gettext/gettex.c: Include <grub/i18n.h>.
19826 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19827 here ...
19828 * include/grub/i18n.h: ... to here
19829 * include/grub/i18n.h: ... to here.
19830 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 19831 (grub_gettext_dummy): Move above user.
4a8572e9 19832
bee48093
FZ
198332009-11-24 Felix Zielcke <fzielcke@z-51.de>
19834
19835 * util/Makefile.in (install-local): Convert a `for' into a normal
19836 shell expansion.
19837
a031e91c
RM
198382009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19839
19840 * autogen.sh: Add automake call.
19841 * config.guess: Remove.
19842 * config.sub: Likewise.
19843 * install-sh: Likewise.
19844
26bec39d
FZ
198452009-11-24 Felix Zielcke <fzielcke@z-51.de>
19846
19847 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19848
8e2532fd
FZ
198492009-11-24 Felix Zielcke <fzielcke@z-51.de>
19850
19851 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19852 function to a normal shell `for'.
19853
fefa1b7d
FZ
198542009-11-24 Felix Zielcke <fzielcke@z-51.de>
19855
19856 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19857
4501250b
FZ
198582009-11-24 Felix Zielcke <fzielcke@z-51.de>
19859
19860 * util/grub-mkrelpath.c: New file.
19861 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19862 (grub_mkrelpath_SOURCES): New variable.
19863 * include/grub/util/misc.h: New function prototype.
19864 * util/misc.c (make_system_path_relative_to_its_root): New function.
19865
19866 * util/grub-mkconfig_lib.in (bindir): New variable.
19867 (grub_mkrelpath): Likewise.
19868 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19869
19870 * util/probe.c (probe): Make the file path relative to its root.
19871 Change a info message to use the GRUB path. Enable again the
19872 check if we can read the file with GRUB facilities.
19873
19874 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19875 to its root.
19876
11d9778b
FZ
198772009-11-24 Felix Zielcke <fzielcke@z-51.de>
19878
19879 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19880 platform.
19881
4465287d
FZ
198822009-11-24 Felix Zielcke <fzielcke@z-51.de>
19883
19884 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19885 strncmp().
19886
62b47f22
FZ
198872009-11-24 Felix Zielcke <fzielcke@z-51.de>
19888
19889 * util/getroot.c (grub_util_is_dmraid): New function.
19890 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19891 devices as normal ones, not as LVM.
19892
1eafb9b9 198932009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
19894
19895 * conf/common.rmk: Add grub-gettext_lib target and updates
19896 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19897 LDFLAGS.
19898 * gettext/gettext.c: New file. (Reads mo files).
19899 * include/grub/file.h (grub_file_pread): New prototype.
19900 * include/grub/i18n.h (_): New prototype.
19901 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19902 prototypes.
19903 * kern/misc.c (grub_gettext_dummy): New function.
19904 * normal/menu_text.c: Include <grub/i18n.h>.
19905 * normal/menu_text.c (print_timeout): Gettexttize string.
19906 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
19907 * po/POTFILES: Add `normal/menu_text.c'.
19908 * po/ca.po: Add new translations.
c3ea6bd4
CPE
19909 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19910 gettext module and defines locale_dir and lang in grub.cfg.
19911 * NEWS: Add gettext support.
19912
0fdb2568
RM
199132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19914
19915 * util/hostdisk.c: Include `<grub/i18n.h>'.
19916 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19917 (make_device_name): Rewrite using asprintf.
19918 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19919 (find_system_device): If a device is not found, generate one just
19920 by reusing the OS path name.
19921 (read_device_map): Make it permissible for device.map not to exist.
19922
f515aa62
RM
199232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19924
19925 * script/sh/execute.c: Move from here ...
19926 * script/execute.c: ... to here. Update all users.
19927 * script/sh/function.c: Move from here ...
19928 * script/function.c: ... to here. Update all users.
19929 * script/sh/lexer.c: Move from here ...
19930 * script/lexer.c: ... to here. Update all users.
19931 * script/sh/main.c: Move from here ...
19932 * script/main.c: ... to here. Update all users.
19933 * script/sh/parser.y: Move from here ...
19934 * script/parser.y: ... to here. Update all users.
19935 * script/sh/script.c: Move from here ...
19936 * script/script.c: ... to here. Update all users.
19937
f84b481b
RM
199382009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19939
19940 * configure.ac: Detect all `emu' platforms. Define
19941 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19942 --enable-grub-emu logic. Disable include/grub/machine
19943 symlink on `emu' platforms.
19944
19945 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19946 * gensymlist.sh.in: Likewise.
19947
19948 * include/grub/i386/coreboot/machine.h: Remove file.
19949 * include/grub/i386/efi/machine.h: Likewise.
19950 * include/grub/i386/ieee1275/machine.h: Likewise.
19951 * include/grub/i386/pc/machine.h: Likewise.
19952 * include/grub/i386/qemu/machine.h: Likewise.
19953 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19954 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19955 * include/grub/x86_64/efi/machine.h: Likewise.
19956
19957 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19958 * commands/halt.c: Likewise.
19959 * commands/reboot.c: Likewise.
19960 * include/grub/autoefi.h: Likewise.
19961 * include/grub/i386/at_keyboard.h: Likewise.
19962 * include/grub/i386/kernel.h: Likewise.
19963 * include/grub/i386/loader.h: Likewise.
19964 * include/grub/i386/pc/memory.h: Likewise.
19965 * kern/dl.c: Likewise.
19966 * kern/i386/coreboot/init.c: Likewise.
19967 * loader/i386/bsd.c: Likewise.
19968 * loader/i386/linux.c: Likewise.
19969 * loader/multiboot_loader.c: Likewise.
19970 * term/i386/pc/serial.c: Likewise.
19971 * term/usb_keyboard.c: Likewise.
19972
19973 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19974 `<grub/machine/machine.h>'
19975 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19976 * util/misc.c: Remove `<grub/machine/machine.h>' and
19977 `<grub/machine/time.h>'.
19978
19979 * Makefile.in (enable_grub_emu): Remove variable.
19980 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19981
19982 * conf/any-emu.rmk: New file.
19983 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19984 (grub_emu_init.c): Move from here ...
19985 * conf/any-emu.rmk: ... to here.
19986
19987 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19988 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19989 * conf/any-emu.rmk: ... to here.
19990
4efeab03
RM
199912009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19992
19993 * include/grub/parser.h (grub_parser_register): Document need
19994 of `name' parameter.
19995 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19996 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19997 "sh" to "grub".
19998
ea1dd8bf
RM
199992009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20000
20001 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
20002 `$(XGETTEXT)'.
20003 * include/grub/i18n.h (N_): New macro.
20004 * util/mkisofs/mkisofs.h: Likewise.
20005 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
20006 around N_().
20007 (usage): Use gettext() to translate help strings when printing them.
20008
0c140626
RM
200092009-11-23 Robert Millan <rmh.grub@aybabtu.com>
20010
20011 Based on patch from Bean
20012 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
20013
20014 * video/efi_fb.c: New file.
20015 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
20016 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
20017 variables.
20018 * conf/x86_64-efi.rmk: Likewise.
20019
87d58298
RM
200202009-11-22 Robert Millan <rmh.grub@aybabtu.com>
20021
20022 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
20023 * util/i386/pc/grub-setup.c: Likewise.
20024
994cc3a3
ST
200252009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20026
20027 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
20028 <hurd/fs.h>
20029 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
20030 file_get_storage_info to implement grub_guess_root_device.
20031
26a61d6a
FZ
200322009-11-21 Felix Zielcke <fzielcke@z-51.de>
20033
20034 * Makefile.in (target): Use make's builtin $(shell) function
20035 instead of calling directly $(SHELL) to create the locale directories,
20036 inside the $(foreach) function.
20037
74ff1dd5
FZ
200382009-11-21 Felix Zielcke <fzielcke@z-51.de>
20039
20040 * util/grub-mkrescue.in: Print an error and usage if output option
20041 has not been given.
20042
0b787d0e
FZ
200432009-11-21 Felix Zielcke <fzielcke@z-51.de>
20044
20045 Patch from Loïc Minier <loic.minier@ubuntu.com>.
20046 * util/grub.d/30_os-prober.in: Cope with Linux entries where
20047 root and /boot are on different devices.
20048
1164b270
RM
200492009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20050
20051 Fix build for srcdir != objdir.
20052
20053 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
20054 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
20055 $(srcdir).
20056 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
20057 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
20058 reference for input.
20059
13774a2f
RM
200602009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20061
20062 * util/grub-mkrescue.in: Use source directory direcly (without copiing
20063 or hardlinking it). Remove -J option, Joliet is not compatible with
20064 multiple source directories.
20065
efda854e
RM
200662009-11-21 Carles Pina i Estany <carles@pina.cat>
200672009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20068
20069 * util/grub-mkrescue.in: Recognize `--override-directory' option.
20070 (process_input_dir): New function. Process an arbitrary input
20071 directory.
20072 Misc adjustments to support both "override mode" and system-wide mode.
20073
6c09890c
FZ
200742009-11-20 Felix Zielcke <fzielcke@z-51.de>
20075
20076 * configure.ac (UNIFONT_BDF): Rename to ...
20077 (FONT_SOURCE): ... this. Update all users.
20078
a797824f
FZ
200792009-11-20 Felix Zielcke <fzielcke@z-51.de>
20080
20081 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
20082 to the list of unifont files to look for.
20083
cd4f42b0
RM
200842009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20085
20086 Patch from Joe Auricchio <jauricchio@gmail.com>
20087 * commands/minicmd.c (grub_mini_cmd_clear): New function.
20088 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
20089 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
20090
393c783d
FZ
200912009-11-19 Felix Zielcke <fzielcke@z-51.de>
20092
20093 * Makefile.in (install-local): Add a missing backslash.
20094
b2f1e327
FZ
200952009-11-19 Felix Zielcke <fzielcke@z-51.de>
20096
20097 * include/grub/x86_64/io.h: New file.
20098
f577f7a0
RM
200992009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20100
20101 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
20102 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
20103 Include `"progname.h"'.
20104 (main): Initialize gettext.
20105 * util/i386/pc/grub-setup.c: Gettexttize.
20106 * util/i386/pc/grub-mkimage.c: Likewise.
20107
20108 * Makefile.in (po/*.po): Redefine as ...
20109 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
20110
3bc7896c
RM
20111 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
20112
c37943b6
RM
201132009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20114
20115 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
20116 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
20117 (program_name): Remove.
20118 (main): Initialize gettext support.
6323f705
RM
20119 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
20120 Include `<libintl.h>'.
20121 (_): New macro.
c37943b6
RM
20122
20123 * util/mkisofs/eltorito.c: Gettexttize.
20124 * util/mkisofs/joliet.c: Likewise.
20125 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
20126 * util/mkisofs/multi.c: Likewise.
20127 * util/mkisofs/rock.c: Likewise.
20128 * util/mkisofs/tree.c: Likewise.
20129 * util/mkisofs/write.c: Likewise.
20130
3bc7896c
RM
20131 * po/POTFILES: Update with new files.
20132
5ce77c6e
RM
201332009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20134
20135 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
20136 * util/mkisofs/iso9660.h: Likewise.
20137 * util/mkisofs/joliet.c: Likewise.
20138 * util/mkisofs/mkisofs.c: Likewise.
20139 * util/mkisofs/mkisofs.h: Likewise.
20140 * util/mkisofs/rock.c: Likewise.
20141 * util/mkisofs/tree.c: Likewise.
20142 * util/mkisofs/write.c: Likewise.
20143
20144 * util/mkisofs/eltorito.c (rcsid): Remove.
20145 * util/mkisofs/hash.c: Likewise.
20146 * util/mkisofs/joliet.c: Likewise.
20147 * util/mkisofs/name.c: Likewise.
20148 * util/mkisofs/rock.c: Likewise.
20149 * util/mkisofs/tree.c: Likewise.
20150 * util/mkisofs/write.c: Likewise.
20151
1dabbc77
RM
201522009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20153
20154 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
20155 instead of static allocation.
20156 * util/mkisofs/match.h: Likewise.
20157
633877cb
RM
201582009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20159
3bc7896c
RM
20160 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
20161 and `util/grub.d/10_linux.in'.
633877cb
RM
20162 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
20163 translatable Shell files.
20164
af1c0c85
RM
201652009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20166
20167 * Makefile.in ($(srcdir)/aclocal.m4): New target.
20168
769ae37b
RM
201692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20170
20171 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 20172 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
20173 * util/grub.d/10_kfreebsd.in (bindir): New variable.
20174 Add gettext initialization.
20175 (kfreebsd_entry): Make menuentry output translatable.
20176
201772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20178
20179 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
20180 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
20181 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
20182 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
20183 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 20184 * po/LINGUAS: New file.
769ae37b
RM
20185
201862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20187
20188 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
20189 other things).
20190 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
20191 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
20192 bindtextdomain() calls for gettext initialization.
20193
201942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20195
20196 * gnulib/progname.c: New file (imported from Gnulib).
20197 * gnulib/progname.h: Likewise.
20198 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20199 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
20200 (usage): Replace `progname' with `program_name'.
20201 (main): Use set_program_name() for program name initialization.
20202
202032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20204
20205 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
20206 from here ...
20207 * Makefile.in (CPPFLAGS): ... to here.
20208
202092009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20210
20211 * aclocal.m4: Move from here ...
20212 * acinclude.m4: ... to here.
20213 * autogen.sh: Add call to `aclocal'.
20214 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
20215
202162009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20217
20218 * Makefile.in (CLEANFILES): Add `po/*.mo'.
20219 (LINGUAS): New variable.
20220 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
20221 (install-local): Install MO files.
20222 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
20223 * include/grub/i18n.h: New file.
3bc7896c
RM
20224 * po/POTFILES: New file.
20225 * po/ca.po: New file.
769ae37b
RM
20226 * util/grub.d/10_linux.in (bindir): New variable.
20227 Add gettext initialization.
20228 (linux_entry): Make menuentry output translatable.
20229 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
20230 (usage): Make --help output translatable.
20231 (main): Initialize gettext.
20232
02c0a6ad
RM
202332009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20234
20235 * import_gcry.py: New file (written by Vladimir with minor
20236 adjustments).
20237 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
20238 ciphers.
20239 * INSTALL: Document that Python is required for bootstrap.
20240
202412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20242
20243 Import ciphers from libgcrypt 1.4.4.
20244
20245 * lib/libgcrypt/cipher/ChangeLog
20246 * lib/libgcrypt/cipher/ac.c
20247 * lib/libgcrypt/cipher/arcfour.c
20248 * lib/libgcrypt/cipher/bithelp.h
20249 * lib/libgcrypt/cipher/blowfish.c
20250 * lib/libgcrypt/cipher/camellia-glue.c
20251 * lib/libgcrypt/cipher/camellia.c
20252 * lib/libgcrypt/cipher/camellia.h
20253 * lib/libgcrypt/cipher/cast5.c
20254 * lib/libgcrypt/cipher/cipher.c
20255 * lib/libgcrypt/cipher/crc.c
20256 * lib/libgcrypt/cipher/des.c
20257 * lib/libgcrypt/cipher/dsa.c
20258 * lib/libgcrypt/cipher/ecc.c
20259 * lib/libgcrypt/cipher/elgamal.c
20260 * lib/libgcrypt/cipher/hash-common.c
20261 * lib/libgcrypt/cipher/hash-common.h
20262 * lib/libgcrypt/cipher/hmac-tests.c
20263 * lib/libgcrypt/cipher/md.c
20264 * lib/libgcrypt/cipher/md4.c
20265 * lib/libgcrypt/cipher/md5.c
20266 * lib/libgcrypt/cipher/primegen.c
20267 * lib/libgcrypt/cipher/pubkey.c
20268 * lib/libgcrypt/cipher/rfc2268.c
20269 * lib/libgcrypt/cipher/rijndael-tables.h
20270 * lib/libgcrypt/cipher/rijndael.c
20271 * lib/libgcrypt/cipher/rmd.h
20272 * lib/libgcrypt/cipher/rmd160.c
20273 * lib/libgcrypt/cipher/rsa.c
20274 * lib/libgcrypt/cipher/seed.c
20275 * lib/libgcrypt/cipher/serpent.c
20276 * lib/libgcrypt/cipher/sha1.c
20277 * lib/libgcrypt/cipher/sha256.c
20278 * lib/libgcrypt/cipher/sha512.c
20279 * lib/libgcrypt/cipher/tiger.c
20280 * lib/libgcrypt/cipher/twofish.c
20281 * lib/libgcrypt/cipher/whirlpool.c
20282
af2f93ac
RM
202832009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20284
20285 Fix build for systems without error().
20286
20287 * gnulib/error.c: New file (imported from Gnulib).
20288 * gnulib/error.h: Likewise.
20289 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
20290 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
20291 (this variable is now used by error()).
20292
73fb3dd5
FZ
202932009-11-16 Felix Zielcke <fzielcke@z-51.de>
20294
814f5e96
FZ
20295 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
20296 instead of relying that char is signed.
73fb3dd5 20297
a691ca33
VS
202982009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20299
20300 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
20301 blocksize different from specified.
20302 (grub_pxefs_read): Likewise.
20303
2af8f0f4
FZ
203042009-11-16 Felix Zielcke <fzielcke@z-51.de>
20305
20306 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
20307
20308 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
20309 (grub_ata_readwrite): Likewise. Update 2 format strings.
20310 (grub_atapi_read): Likewise.
20311
20312 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
20313 * conf/i386.rmk (pkglib_MODULES): ... to here ...
20314 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
20315 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
20316 (ata_mod_LDFLAGS): Move from here ...
20317 * conf/i386.rmk: ... to here ...
20318 * conf/x86_64-efi.rmk: ... and here.
20319 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
20320 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
20321
83bdecaf
RM
203222009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20323
20324 Relicense multiboot.h, with RMS' blessing.
20325
20326 * include/multiboot.h: Change to X11 license.
20327
fd6fd3d7
RM
203282009-11-15 Robert Millan <rmh.grub@aybabtu.com>
20329
20330 Support --version in grub-mkisofs.
20331
20332 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
20333 (OPTION_VERSION): New macro.
20334 (ld_options): Recognize --version.
20335 (usage): Move `program_name' from here ...
20336 (program_name): ... to here. Add `static' qualifier.
20337 (main): Recognize `OPTION_VERSION'.
20338
16a88c49
FZ
203392009-11-15 Felix Zielcke <fzielcke@z-51.de>
20340
20341 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
20342 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
20343
a4158476
RM
203442009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20345
20346 Fix help2man generation for mkisofs.
20347
20348 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
20349 (usage): Send output to stdout (rather than stderr).
20350
fc2208b0
RM
203512009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20352
20353 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
20354 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20355 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
20356 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20357 (bin_SCRIPTS): Add `grub-mkfloppy'.
20358 (grub_mkfloppy_SOURCES): New variable.
20359
20360 * util/grub-mkrescue.in: New file.
20361 * util/i386/pc/grub-mkfloppy.in: New file.
20362
20363 * util/i386/coreboot/grub-mkrescue.in: Remove.
20364 * util/i386/pc/grub-mkrescue.in: Remove.
20365
8d0edf4a
RM
203662009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20367
20368 * include/grub/multiboot.h (struct grub_multiboot_header): Move
20369 from here ...
20370 * include/multiboot.h (struct multiboot_header): ... to here. Update
20371 all users.
20372 * include/grub/multiboot.h (struct grub_multiboot_info): Move
20373 from here ...
20374 * include/multiboot.h (struct multiboot_info): ... to here. Update
20375 all users.
20376 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
20377 from here ...
20378 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
20379 Update all users.
20380 * include/grub/multiboot.h (struct grub_mod_list): Move
20381 from here ...
20382 * include/multiboot.h (struct multiboot_mod_list): ... to here.
20383 Update all users.
20384
a73f5969
RM
203852009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20386
20387 * include/multiboot2.h (multiboot_word): Rename from this ...
20388 (multiboot2_word): ... to this. Update all users.
20389 (multiboot_header): Rename from this ...
20390 (multiboot2_header): ... to this. Update all users.
20391 (multiboot_tag_header): Rename from this ...
20392 (multiboot2_tag_header): ... to this. Update all users.
20393 (multiboot_tag_start): Rename from this ...
20394 (multiboot2_tag_start): ... to this. Update all users.
20395 (multiboot_tag_name): Rename from this ...
20396 (multiboot2_tag_name): ... to this. Update all users.
20397 (multiboot_tag_module): Rename from this ...
20398 (multiboot2_tag_module): ... to this. Update all users.
20399 (multiboot_tag_memory): Rename from this ...
20400 (multiboot2_tag_memory): ... to this. Update all users.
20401 (multiboot_tag_unused): Rename from this ...
20402 (multiboot2_tag_unused): ... to this. Update all users.
20403 (multiboot_tag_end): Rename from this ...
20404 (multiboot2_tag_end): ... to this. Update all users.
20405
1c8927f0
RM
204062009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20407
20408 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
20409 this platform we should support Multiboot1 first.
20410
20411 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20412 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
20413 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
20414
6e1e0d89
RM
204152009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20416
20417 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
20418 of write calls (converting them to fwrite() if they aren't already).
20419 (get_torito_desc): Likewise.
20420 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
20421
7f2b34d8
RM
204222009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20423
20424 * util/i386/pc/grub-install.in: Move from here ...
20425 * util/grub-install.in: ... to here. Update all users.
20426
c0ef3311
CW
204272009-11-11 Colin Watson <cjwatson@ubuntu.com>
20428
20429 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
20430
e1f240ff
RM
204312009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20432
20433 Support for El Torito without floppy emulation.
20434
20435 * util/mkisofs/eltorito.c: Include `<errno.h>'.
20436 (init_boot_catalog): Improve error handling.
20437 (get_torito_desc): Don't use floppy emulation unless requested by
20438 user. Patch boot information table when requested via
20439 `-boot-info-table'.
20440 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
20441 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
20442 (use_boot_info_table): New variables.
20443 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
20444 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
20445 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
20446 `--eltorito-emul-floppy'.
20447 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
20448 and `OPTION_ELTORITO_EMUL_FLOPPY'.
20449 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
20450 (use_boot_info_table, get_731): New prototypes.
20451 * util/mkisofs/write.c (get_731): New function.
20452
af7d4de5
FZ
204532009-11-11 Felix Zielcke <fzielcke@z-51.de>
20454
20455 Fix the generation of the man page.
20456
20457 * util/pc/i386/grub-install.in: Source
20458 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20459
2c55dbc0
RM
204602009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20461
20462 Large file support for grub-mkisofs.
20463
20464 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
20465 * util/mkisofs/mkisofs.c (next_extent, last_extent)
20466 (session_start): Upgrade type to `uint64_t'. Update all users.
20467 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
20468 (struct directory_entry): Upgrade type of `starting_block' and
20469 `size' to `uint64_t'. Update all users.
20470 (struct deferred): Remove unused structure.
20471 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
20472 Update all users.
20473 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
20474 file is larger than `UINT32_MAX'.
20475 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
20476 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
20477 return value.
20478 (struct deferred_write): Upgrade type of `extent' and `size' to
20479 `uint64_t'. Update all users.
20480 (last_extent_written): Upgrade type to `uint64_t'. Update all
20481 users.
20482 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20483 Update all users. Upgrade type of `remain' to `int64_t' and
20484 `use' to `size_t'. Use error() to handle fread() errors.
20485 (write_files): Rely on write_one_file() rather than calling
20486 xfwrite() directly.
20487
6a9cead5
FZ
204882009-11-09 Felix Zielcke <fzielcke@z-51.de>
20489
20490 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20491
4825d790
RM
204922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20493
20494 * util/mkisofs/fnmatch.c: Remove.
20495 * util/mkisofs/getopt1.c: Likewise.
20496 * util/mkisofs/getopt.c: Likewise.
20497 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20498 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20499 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20500 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20501 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20502
20503 * configure.ac: Detect `mingw32msvc' host_os.
20504 Check for lstat(), getuid() and getgid().
20505
20506 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20507 instances of `u_char' with `uint8_t'.
20508
20509 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20510 [!HAVE_GETUID] (getuid): New function (stub).
20511 [!HAVE_GETGID] (getgid): Likewise.
20512 [!HAVE_LSTAT] (lstat): Likewise.
20513 [!S_IROTH] (S_IROTH): New macro (dummy).
20514 [!S_IRGRP] (S_IRGRP): Likewise.
20515
84b860d8
RM
205162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20517
20518 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20519 conditional expression).
20520
66e9b712
RM
205212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20522
20523 Import from Gnulib.
20524
20525 * gnulib/fnmatch.c: New file.
20526 * gnulib/fnmatch.h: Likewise.
20527 * gnulib/fnmatch_loop.c: Likewise.
20528 * gnulib/getopt.c: Likewise.
20529 * gnulib/getopt.h: Likewise.
20530 * gnulib/getopt1.c: Likewise.
20531 * gnulib/getopt_int.h: Likewise.
20532 * gnulib/gettext.h: Likewise.
20533
34f4a5b0
RM
205342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20535
20536 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20537 * normal/handler.c (read_handler_list): Likewise.
20538
ac451143
RM
205392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20540
20541 Misc cleanup.
20542
20543 * kern/command.c (grub_register_command_prio): Use
20544 grub_zalloc() instead of explicitly zeroing data.
20545 * kern/list.c: Include `<grub/mm.h>'.
20546 (grub_named_list_find): Replace `0' with `NULL'.
20547 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20548 (fs_module_list): Change type to `grub_named_list_t'. Update all
20549 users.
20550 * normal/dyncmd.c (read_command_list): Add space between function
20551 call and parenthesis.
20552 * normal/handler.c (read_handler_list): Likewise.
20553
4089b167
RM
205542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20555
20556 * normal/auth.c (punishment_delay): Moved from here ...
20557 (grub_auth_strcmp): ... to here (inside function).
20558
325f5037
RM
205592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20560
20561 * include/grub/list.h (struct grub_named_list): Remove `const'
20562 qualifier from `name'.
20563 (struct grub_prio_list): Likewise.
20564
7aea29a3
RM
205652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20566
20567 * normal/auth.c: Include `<grub/time.h>'.
20568 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20569
3fd6f044
RM
205702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20571
20572 * normal/auth.c (punishment_delay): New variable.
20573 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20574 (grub_auth_check_authentication): Punish failed login attempts with
20575 an incremental (2^N) delay.
20576
a4cd68e4
RM
205772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20578
20579 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20580 path with $(srcdir).
20581
7ad12f43
VS
205822009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20585
c1129f03
RM
205862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20587
20588 * util/i386/coreboot/grub-mkrescue.in: New file.
20589 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20590 variables.
20591
20592 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20593 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20594 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20595 requirements.
20596 * util/mkisofs/defaults.h: New file.
20597 * util/mkisofs/eltorito.c: Likewise.
20598 * util/mkisofs/exclude.h: Likewise.
20599 * util/mkisofs/fnmatch.c: Likewise.
20600 * util/mkisofs/getopt.c: Likewise.
20601 * util/mkisofs/getopt1.c: Likewise.
20602 * util/mkisofs/hash.c: Likewise.
20603 * util/mkisofs/include/fctldefs.h: Likewise.
20604 * util/mkisofs/include/mconfig.h: Likewise.
20605 * util/mkisofs/include/prototyp.h: Likewise.
20606 * util/mkisofs/include/statdefs.h: Likewise.
20607 * util/mkisofs/iso9660.h: Likewise.
20608 * util/mkisofs/joliet.c: Likewise.
20609 * util/mkisofs/match.c: Likewise.
20610 * util/mkisofs/match.h: Likewise.
20611 * util/mkisofs/mkisofs.c: Likewise.
20612 * util/mkisofs/mkisofs.h: Likewise.
20613 * util/mkisofs/multi.c: Likewise.
20614 * util/mkisofs/name.c: Likewise.
20615 * util/mkisofs/rock.c: Likewise.
20616 * util/mkisofs/tree.c: Likewise.
20617 * util/mkisofs/write.c: Likewise.
20618
ec8bb77d
VS
206192009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20620
20621 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20622 being insecure.
20623
3716b12c
RM
206242009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20625
20626 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20627 `grub-mkimage' (and use $0 when possible).
20628
b97b7b91
RM
206292009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20630
20631 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20632 error message for excessively large memory map.
20633
04114812
RM
206342009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20635
20636 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20637 executable bit.
20638
e4eb2373
RM
206392009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20640
20641 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20642 message for coreboot users.
20643
c926e1d5 206442009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20645
20646 Fix build with GNU gold.
20647
20648 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20649 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20650 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20651 link addresses.
20652 * aclocal.m4: Likewise.
20653
86e5b1db 206542009-11-04 Felix Zielcke <fzielcke@z-51.de>
20655
20656 * configure.ac (AC_PREREQ): Bump to 2.59d.
20657 * INSTALL: Make it more clear when Autoconf and Ruby are
20658 needed and when to run `./autogen.sh'.
20659
246cd78f 206602009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20661
20662 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20663 OSes.
20664
4f9dfb37 206652009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20666
20667 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20668
b82bd5e1 206692009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20670
20671 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20672 giving it to GNU Mach.
20673
ff1a9bca 206742009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20675
20676 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20677 GNU partition number to get internal GRUB partition number.
20678
61697d9c 206792009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20680
20681 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20682 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20683
a50569e1 206842009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20685
20686 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20687 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20688 case.
20689
5b153867 206902009-11-01 Felix Zielcke <fzielcke@z-51.de>
20691
20692 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20693
d9e2cd70 206942009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20695
20696 Fix build problem.
20697
20698 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20699 `-isystem=$(srcdir)/include'.
20700
805111a4 207012009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20702
20703 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20704 checked (grub-install doesn't currently rely on it).
20705
fa6e945f 207062009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20707
20708 Revert SVN r2660.
20709
20710 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20711 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20712 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20713 * conf/i386-ieee1275.rmk: Likewise.
20714 * conf/i386-pc.rmk: Likewise.
20715 * conf/powerpc-ieee1275.rmk: Likewise.
20716 * conf/sparc64-ieee1275.rmk: Likewise.
20717 * conf/x86_64-efi.rmk: Likewise.
20718
cee15086 207192009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20720
20721 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20722
95b9239e 207232009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20724
20725 * include/grub/misc.h: Stop checking for APPLE_CC.
20726
2ed19dfd 207272009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20728
20729 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20730 doesn't cause an infinite call loop.
20731
fdcdde19 207322009-10-28 Felix Zielcke <fzielcke@z-51.de>
20733
20734 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20735 strings.
20736
cefabfe1 207372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20738
20739 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20740 variable.
20741 * Makefile.in: Likewise.
20742
ed96ab6d 207432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20744
20745 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20746
0579b753 207472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20748
20749 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20750
478df409 207512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20752
20753 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20754
083d1679 207552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20756
20757 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20758 from here ...
20759 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20760
5947ae32 207612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20762
20763 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20764 in $(MAKEINFO) invocation. This makes it clear in output that
20765 errors are being ignored.
20766
94180ff6 207672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20768
20769 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20770 from here ...
20771 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20772 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20773 * conf/i386-ieee1275.rmk: Likewise.
20774 * conf/i386-pc.rmk: Likewise.
20775 * conf/powerpc-ieee1275.rmk: Likewise.
20776 * conf/sparc64-ieee1275.rmk: Likewise.
20777 * conf/x86_64-efi.rmk: Likewise.
20778
9031b03a 207792009-10-26 Colin Watson <cjwatson@ubuntu.com>
20780
20781 * util/grub-editenv.c (main): If only a command is given, use
20782 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20783 (usage): FILENAME is now optional and has a default.
20784
e4f6809b 207852009-10-26 Colin Watson <cjwatson@ubuntu.com>
20786
20787 Improve grub-mkconfig performance when there are several menu
20788 entries on a single filesystem.
20789
20790 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20791 prepare_grub_to_access_device.
20792 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20793 * util/grub.d/30_os-prober.in: Likewise.
20794
67937d4d 207952009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20796
20797 * util/grub.d/10_freebsd.in: Remove.
20798 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20799 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20800
ee3756cc 208012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20802
5c35048e 20803 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 20804
4dea1c6f 208052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20806
20807 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20808 grub_util_error() call.
20809
042484d7 208102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20811
20812 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20813 `reserved_first_sector' member.
20814 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20815 `reserved_first_sector' to 1.
20816 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20817 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20818 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20819 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20820 filesystems which begin at first sector.
20821 (options): New option --skip-fs-probe.
20822 (main): Handle --skip-fs-probe and pass it to setup().
20823
d64448a7 208242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20825
20826 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20827 (memset): Fix function prototype.
20828
508d42ec 208292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
208302009-10-25 Vasily Averin <vvs@parallels.com>
20831
20832 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20833 `dirent.direntlen == 0'.
20834
b240e30c 208352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20836
20837 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20838 `cpio'.
20839 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20840
346e7fbe 208412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20842
20843 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20844 `__trampoline_setup' and `__ucmpdi2'.
20845 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20846 that libgcc provides.
20847
cdb308b0 208482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20849
20850 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20851 * include/grub/sparc64/libgcc.h (memset): Likewise.
20852 * include/grub/misc.h (memset, memcmp): New function prototypes.
20853
fb26abc2 208542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20855
20856 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20857 `cpio'.
20858 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20859
f6693890 208602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20861
20862 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20863 * docs/grub.cfg: Compensate for recent change in multiboot
20864 loader (since 2009-08-14 it won't pass filename to payload).
20865 * util/grub.d/10_hurd.in: Likewise.
20866
0933cdc0 208672009-10-21 Felix Zielcke <fzielcke@z-51.de>
20868
20869 * config.guess: Update to latest version from config git
20870 repository.
20871 * config.sub: Likewise.
20872
3b2fe8c2 208732009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20874
20875 Fix build on sparc64.
20876
20877 * configure.ac: Perform checks for libgcc symbols before
20878 adding `-nostdlib' to LDFLAGS.
20879
46695a62 208802009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20881
20882 Let user specify OpenBSD root device.
20883
20884 * loader/i386/bsd.c (openbsd_root): New variable.
20885 (openbsd_opts): New option 'root'.
20886 (OPENBSD_ROOT_ARG): New macro.
20887 (grub_openbsd_boot): Use 'openbsd_root'.
20888 (grub_cmd_openbsd): Fill 'openbsd_root'.
20889
d2b6b7fc 208902009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20891
20892 * NEWS: Misc adjustments.
20893
421bd7ac 208942009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20895
20896 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20897
f1d29d87 208982009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20899
20900 * configure.ac: Bump version to 1.97.
20901
6f3cd880 209022009-10-16 Colin Watson <cjwatson@ubuntu.com>
20903
20904 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20905 -mno-3dnow on x86 architectures. Some toolchains enable these
20906 features by default, but they rely on registers that aren't enabled
20907 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20908
035f7122 209092009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20910
20911 Make entry text a bit more readable.
20912
20913 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20914
44998e58 209152009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20916
20917 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20918
cd2851b3 209192009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20920
20921 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20922 operations.
20923
c6f3b249 209242009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20925
20926 * configure.ac: Add missing dollar.
20927
6b5886ba 209282009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20929
20930 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20931
20932 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20933 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20934 exports.
20935 * include/grub/sparc64/libgcc.h: Likewise. Use
20936 preprocessor conditionals.
20937
e9d66f6d 209382009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20939
20940 * conf/common.rmk (grub-dumpbios): Remove rule.
20941 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20942 * util/grub-dumpbios.in: Remove file.
20943
9155bc17 209442009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20945
20946 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20947 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20948
20949 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20950 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20951 users.
20952
20953 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20954 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20955 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20956 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20957 users.
20958
bf7f7a18 209592009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20960
20961 * term/tparm.c: Switch to GPLv3.
20962
86564c26 209632009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20964
20965 * include/grub/i386/cpuid.h: Add header protection.
20966
5c936493 209672009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20968
20969 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20970
20971 * include/grub/i386/cpuid.h: New file.
20972 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20973 (has_longmode): Rename to ...
20974 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20975 `static' attribute.
20976 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20977 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20978 on a CPU that doesn't implement AMD64 instruction set.
20979
186e7cf2 209802009-10-06 Colin Watson <cjwatson@ubuntu.com>
20981
20982 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20983 that version.texi is rebuilt on version number changes.
20984
83b65c4a 209852009-10-06 Colin Watson <cjwatson@ubuntu.com>
20986
20987 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20988 Fixes bug #27602.
20989
d244281c 209902009-10-06 Colin Watson <cjwatson@ubuntu.com>
20991
20992 * util/i386/pc/grub-install.in: Source
20993 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20994 that the --grub-probe option will work.
20995 * util/sparc64/ieee1275/grub-install.in: Likewise.
20996
da25306d 209972009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20998
20999 * configure.ac: Bump version to 1.97~beta4.
21000
e8ee83c0 210012009-10-03 Robert Millan <rmh.grub@aybabtu.com>
21002
21003 Resync grub-mkdevicemap in x86_64-efi.
21004
21005 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
21006 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
21007 `util/devicemap.c'.
21008
50dcabcf 210092009-10-01 Colin Watson <cjwatson@ubuntu.com>
21010
21011 * util/grub-editenv.c (create_envblk_file): Write new block with a
21012 .new suffix and then rename it into place, to ensure atomic
21013 creation.
21014
0e51c3a7 210152009-09-28 Robert Millan <rmh.grub@aybabtu.com>
21016
21017 Do not automatically install headers.
21018
21019 * Makefile.in (include_DATA): Remove. Update all users.
21020
31299a95 210212009-09-26 Robert Millan <rmh.grub@aybabtu.com>
21022
21023 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
21024 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
21025
21026 * util/osdetect.lua: Remove.
21027 * script/lua/lauxlib.c: Likewise.
21028 * script/lua/ldebug.c: Likewise.
21029 * script/lua/grub_main.c: Likewise.
21030 * script/lua/lauxlib.h: Likewise.
21031 * script/lua/ldebug.h: Likewise.
21032 * script/lua/ltablib.c: Likewise.
21033 * script/lua/liolib.c: Likewise.
21034 * script/lua/lstrlib.c: Likewise.
21035 * script/lua/lualib.h: Likewise.
21036 * script/lua/ldo.c: Likewise.
21037 * script/lua/ldump.c: Likewise.
21038 * script/lua/ldo.h: Likewise.
21039 * script/lua/loslib.c: Likewise.
21040 * script/lua/lundump.c: Likewise.
21041 * script/lua/grub_lib.c: Likewise.
21042 * script/lua/ldblib.c: Likewise.
21043 * script/lua/lundump.h: Likewise.
21044 * script/lua/lmem.c: Likewise.
21045 * script/lua/grub_lib.h: Likewise.
21046 * script/lua/lmathlib.c: Likewise.
21047 * script/lua/lstate.c: Likewise.
21048 * script/lua/ltm.c: Likewise.
21049 * script/lua/lvm.c: Likewise.
21050 * script/lua/lmem.h: Likewise.
21051 * script/lua/lstate.h: Likewise.
21052 * script/lua/ltm.h: Likewise.
21053 * script/lua/ltable.c: Likewise.
21054 * script/lua/lvm.h: Likewise.
21055 * script/lua/llex.c: Likewise.
21056 * script/lua/lgc.c: Likewise.
21057 * script/lua/grub_lua.h: Likewise.
21058 * script/lua/loadlib.c: Likewise.
21059 * script/lua/lfunc.c: Likewise.
21060 * script/lua/lopcodes.c: Likewise.
21061 * script/lua/lparser.c: Likewise.
21062 * script/lua/ltable.h: Likewise.
21063 * script/lua/llex.h: Likewise.
21064 * script/lua/lgc.h: Likewise.
21065 * script/lua/lfunc.h: Likewise.
21066 * script/lua/lbaselib.c: Likewise.
21067 * script/lua/lopcodes.h: Likewise.
21068 * script/lua/lparser.h: Likewise.
21069 * script/lua/lzio.c: Likewise.
21070 * script/lua/linit.c: Likewise.
21071 * script/lua/lobject.c: Likewise.
21072 * script/lua/llimits.h: Likewise.
21073 * script/lua/lstring.c: Likewise.
21074 * script/lua/lzio.h: Likewise.
21075 * script/lua/lapi.c: Likewise.
21076 * script/lua/lcode.c: Likewise.
21077 * script/lua/lua.h: Likewise.
21078 * script/lua/lobject.h: Likewise.
21079 * script/lua/lstring.h: Likewise.
21080 * script/lua/lapi.h: Likewise.
21081 * script/lua/lcode.h: Likewise.
21082 * script/lua/luaconf.h: Likewise.
21083
cb8a2c38 210842009-09-26 Colin Watson <cjwatson@ubuntu.com>
21085
21086 * docs/grub.texi (Command-line and menu entry commands): Document
21087 date and echo commands.
21088
6b9b6276 210892009-09-24 Pavel Roskin <proski@gnu.org>
21090
21091 * include/grub/kernel.h (struct grub_module_header): Remove
21092 `grub_module_header_types'. Make `type' unsigned. Make `size'
21093 32-bit on all platforms.
21094 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
21095 8-bit field. Use grub_host_to_target32() for `size'.
21096 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
21097 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
21098 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
21099
4e5a02a7 211002009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21101
21102 Fix "lost keypress" bug in at_keyboard.
21103
21104 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
21105 Checks for readyness of input buffer (without flushing it).
21106 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
21107 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
21108
c6dcedf6 211092009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21110
21111 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
21112 size check within GRUB_MACHINE_PCBIOS section.
21113
74c958b1 211142009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21115
21116 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
21117 return value.
21118 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
21119 KEYBOARD_ISREADY check.
21120 (grub_at_keyboard_checkkey): Rename to ...
21121 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
21122 Remove gratuitous cast.
21123
ff420223 211242009-09-23 Colin Watson <cjwatson@ubuntu.com>
21125
21126 * configure.ac: Call AC_PROG_MKDIR_P.
21127 * Makefile.in (docs/stamp-vti): Create docs directory. Create
21128 version.texi in $(builddir) rather than $(srcdir).
21129 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
21130 to makeinfo's @include search path.
21131
d96875df 211322009-09-23 Felix Zielcke <fzielcke@z-51.de>
21133
21134 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
21135
9b3f8365 211362009-09-23 Felix Zielcke <fzielcke@z-51.de>
21137
21138 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
21139 for `*.dpkg-new'.
21140
c44c90db 211412009-09-21 Colin Watson <cjwatson@ubuntu.com>
21142
21143 Build info documentation. Some code borrowed from Automake.
21144
21145 * configure.ac: Check for makeinfo.
21146 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
21147 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
21148 docs/version.texi.
21149 (MOSTLYCLEANFILES): Add vti.tmp.
21150 (docs/version.texi, docs/stamp-vti): Update automatically.
21151 (docs/grub.info): Build info documentation. Use --force and ignore
21152 errors for now.
21153 (all-local): Add $(INFOS).
21154 (install-local): Install info files.
21155 (uninstall): Uninstall info files.
21156 * docs/version.texi: Remove from revision control. This file is
21157 automatically generated on build now.
21158 * gendistlist.sh: Add `*.info'.
21159
e0b37bb5 211602009-09-21 Felix Zielcke <fzielcke@z-51.de>
21161
21162 * kern/term.c: Fix indentation.
21163
5a78865b 211642009-09-21 Felix Zielcke <fzielcke@z-51.de>
21165
21166 * util/hostdisk.c: Fix a comment.
21167
dace7e8a 211682009-09-20 Robert Millan <rmh.grub@aybabtu.com>
21169
21170 Fix regression introduced in r2539.
21171
21172 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
21173 to 0xA1.
21174
a83d079b 211752009-09-19 Colin Watson <cjwatson@ubuntu.com>
21176
21177 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 21178 os-prober. Under normal operation, it does not print anything to
21179 stderr; if it does, we need to debug it, and throwing away stderr
21180 makes that excessively difficult.
a83d079b 21181
be94a509 211822009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
21183
21184 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
21185
63f745e8 211862009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21187
21188 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
21189 AC_LANG_PROGRAM from autoconf.
21190 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
21191 prototypes (fixes warning).
21192
21193 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
21194 `--disable-werror' was used.
21195
bbb2a70f 211962009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21197
21198 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
21199 uninitialized `lastaddr'.
21200
77c24f1d 212012009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21202
0f0b8c87 21203 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 21204
07197f23 212052009-09-14 Colin Watson <cjwatson@ubuntu.com>
21206
21207 * commands/test.c (get_fileinfo): Return immediately if
21208 grub_fs_probe fails.
21209
dabf1798 212102009-09-14 José Martínez <xosemp@gmail.com>
21211
21212 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
21213
d52109a7 212142009-09-14 Colin Watson <cjwatson@ubuntu.com>
21215
21216 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
21217 output.
21218
56532179 212192009-09-13 Robert Millan <rmh.grub@aybabtu.com>
21220
21221 * configure.ac: Remove --enable-grub-pe2elf. Only build
21222 grub-pe2elf when needed by the build system itself.
21223 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
21224
8ef070f5 212252009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21226
21227 * configure.ac: Bump version to 1.97~beta3.
21228 * docs/version.texi: Likewise.
21229
61229557 212302009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21231
21232 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
21233 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
21234 from here ...
21235 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
21236 (grub_linux_setup_video): ... to here (with some adjustments).
21237
5c9f8d84 212382009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21239
21240 Fix memory corruption issue (spotted by Colin Watson).
21241
21242 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
21243 causing returned size to be stored in an incorrect memory location.
21244 Fix use of uninitialized value when storing the returned size.
21245
e8f5d6e9 212462009-09-12 Yves Blusseau <blusseau@zetam.org>
21247
21248 Change clean rules to properly remove files
21249
21250 * genmk.rb: add new clean rules
21251 * Makefile.in (clean): add the new targets
21252 (mostlyclean): likewise
21253
cda2a409 212542009-09-11 Colin Watson <cjwatson@ubuntu.com>
21255
21256 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
21257 to grub_uint64_t.
21258 * fs/ntfs.c (init_file): Understand 64-bit sizes for
21259 non-resident files.
21260
86695375 212612009-09-11 Colin Watson <cjwatson@ubuntu.com>
21262
21263 * configure.ac: Don't look for help2man when cross-compiling. Fixes
21264 part of bug #27349.
21265
8aa1541a 212662009-09-10 Felix Zielcke <fzielcke@z-51.de>
21267
21268 * util/grub-mkconfig.in: Make the created config mode 400 and
21269 print a warning if it fails.
21270
48d9bb0a 212712009-09-10 Robert Millan <rmh.grub@aybabtu.com>
21272
21273 * util/grub.d/40_custom.in: Ask user to type custom entries below
21274 comment, rather than below 'exec tail' line.
21275
3b0521be 212762009-09-10 Colin Watson <cjwatson@ubuntu.com>
21277
21278 * util/grub.d/40_custom.in: Make sure that the explanatory text is
21279 visible in grub.cfg.
21280
50051d55 212812009-09-10 Colin Watson <cjwatson@ubuntu.com>
21282
21283 * util/grub.d/40_custom.in: Make it a little clearer how to use this
21284 file.
21285
c0d34387 212862009-09-10 Felix Zielcke <fzielcke@z-51.de>
21287
21288 * docs/grub.cfg: Add an example menu entry for memtest86+.
21289
80a608f3 212902009-09-09 Felix Zielcke <fzielcke@z-51.de>
21291
a2094832 21292 * config.guess: Update to latest version from config git.
80a608f3 21293 * config.sub: Likewise.
21294
99423078 212952009-09-08 Colin Watson <cjwatson@ubuntu.com>
21296
21297 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
21298 unknown-command case. Fixes bug #27320.
21299
44454e4c 213002009-09-08 Felix Zielcke <fzielcke@z-51.de>
21301
21302 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
21303 `help' if the command exists.
21304
e30d87ad 213052009-09-06 Robert Millan <rmh.grub@aybabtu.com>
21306
21307 * INSTALL: Require GCC 4.1.3 or later.
21308
9a86f1ec 213092009-09-06 Yves Blusseau <blusseau@zetam.org>
21310
21311 * Makefile.in (RMKFILES): add i386-qemu.rmk
21312 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
21313 $(srcdir)/stamp-h.in
21314
7f26d466 213152009-09-05 Robert Millan <rmh.grub@aybabtu.com>
21316
21317 * util/grub-probe.c (probe): Comment out buggy codepath, which
21318 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
21319 should be re-enabled after 1.97.
21320
3a613259 213212009-09-05 Felix Zielcke <fzielcke@z-51.de>
21322
21323 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
21324 find searches for.
21325
197f76c7 213262009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21327
21328 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
21329 unnecessary calls to grub_error.
21330
70ba68ce 213312009-09-04 Colin Watson <cjwatson@ubuntu.com>
21332
21333 * NEWS: Mention `keystatus' and Unicode fonts.
21334
4ff0d7a4 213352009-09-04 Robert Millan <rmh.grub@aybabtu.com>
21336
21337 * configure.ac: Bump version to 1.97~beta2.
21338 * docs/version.texi: Likewise.
21339
77c55a87 213402009-09-03 Colin Watson <cjwatson@ubuntu.com>
21341
21342 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
21343 containing unwind information in some cases where it previously did
21344 not. Use -fno-dwarf2-cfi-asm if available to restore the old
21345 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
21346 discussion.
21347
f79572cd 213482009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
21349
21350 Embedding loadenv module into grub-emu
21351
21352 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
21353 commands/loadenv.c
21354 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
21355 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
21356 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
21357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
21358 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
21359 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
21360
93a81088 213612009-09-03 Magnus Granberg <zorry@ume.nu>
21362
21363 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
21364 include -fPIE in the default specs.
21365 * configure.ac: Check if pie_possible is yes and add -fno-PIE
21366 to TARGET_CFLAGS.
21367
160034b2 213682009-09-03 Felix Zielcke <fzielcke@z-51.de>
21369
21370 * INSTALL: Note that GNU Bison 2.3 or later is required.
21371
087c07c4 213722009-09-03 Colin Watson <cjwatson@ubuntu.com>
21373
21374 * kern/i386/pc/startup.S: Fix typo.
21375
cbf978c0 213762009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21377
21378 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
21379 according to GCS.
21380
213812009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 21382
21383 * docs/grub.texi (Naming convention): Describe one-based partition
21384 numbering.
21385 (Device syntax): Likewise.
21386 (File name syntax): Likewise.
21387 (Block list syntax): Likewise.
21388 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
21389 menu.lst.
21390 (File name syntax): Likewise.
21391 (Command-line and menu entry commands): Document acpi, blocklist,
21392 crc, export, insmod, keystatus, ls, set, and unset commands.
21393
f3e8cdfd 213942009-09-02 Colin Watson <cjwatson@ubuntu.com>
21395
21396 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
21397 to avoid implying that only one of --shift, --ctrl, or --alt may be
21398 used.
21399
c0bc232b 214002009-09-02 Colin Watson <cjwatson@ubuntu.com>
21401
21402 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
21403 rather than comparing against S_IFREG, which will almost never work.
21404
aa0f752d 214052009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21406
21407 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
21408 (write_blocklists): Likewise.
21409
ecb3166a 214102009-09-01 Colin Watson <cjwatson@ubuntu.com>
21411
21412 * script/lua/grub_lua.h (fputs): Supply a format string as the first
21413 argument to grub_printf.
21414
c403a125 214152009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 21416
21417 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 21418 non GNU test.
31aba781 21419
b5e7312c 214202009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21421
21422 * kern/file.c (grub_file_read): Spelling fix
21423
fe00f472 214242009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21425
21426 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
21427 loading of headers in some cases.
21428
cc55302e 214292009-08-30 Robert Millan <rmh.grub@aybabtu.com>
21430
21431 * configure.ac: Bump version to 1.97~beta1.
21432 * docs/version.texi: Likewise.
21433
5c90cdd2 214342009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 21435
21436 * include/grub/i386/xnu.h: Add license header.
21437 include grub/err.h explicitly.
21438
c90edae4 214392009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21440
21441 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
21442 to `ufs' in the vfs.root.mountfrom kernel parameter.
21443
d8888b5c 214442009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21445
21446 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
21447
21448 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
21449 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
21450
21451 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
21452 `ARRAY_SIZE' macro.
21453
6f07b921 214542009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21455
21456 * kern/file.c (grub_file_read): Check offset.
21457 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
21458 * fs/jfs.c (grub_jfs_read_file): Likewise.
21459 * fs/ntfs.c (grub_ntfs_read): Likewise.
21460 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
21461 * fs/minix.c (grub_minix_read_file): Correct offset check.
21462 * fs/ufs.c (grub_ufs_read_file): Likewise.
21463
b4f34077 214642009-08-28 Colin Watson <cjwatson@ubuntu.com>
21465
21466 * term/i386/pc/console.c (bios_data_area): Cast
21467 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
21468
e7c69859 214692009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21470
21471 1-bit optimised blitters.
21472
21473 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
21474 prototype.
21475 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21476 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21477 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21478 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21479 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21480 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21481 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
21482 function.
21483 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21484 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21485 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21486 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21487 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21488 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21489 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21490 when possible.
21491 * video/video.c (grub_video_get_blit_format): Return
21492 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21493
a57da43f 214942009-08-28 Colin Watson <cjwatson@ubuntu.com>
21495
21496 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21497 the first argument to grub_printf.
21498
4cbe67e5 214992009-08-28 Colin Watson <cjwatson@ubuntu.com>
215002009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21501
21502 Add `getkeystatus' terminal method. Add a new `keystatus' command
21503 to query it.
21504
21505 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21506 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21507 modifier key bitmasks.
21508 (struct grub_term_input): Add `getkeystatus' member.
21509 (grub_getkeystatus): Add prototype.
21510 * kern/term.c (grub_getkeystatus): New function.
21511
21512 * include/grub/i386/pc/memory.h
21513 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21514 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21515 Data Area layout.
21516 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21517 (grub_console_term_input): Set `getkeystatus' member.
21518 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21519 constants.
21520 (grub_usb_keyboard_getreport): Likewise.
21521 (grub_usb_keyboard_checkkey): Likewise.
21522 (grub_usb_keyboard_getkeystatus): New function.
21523 (grub_usb_keyboard_term): Set `getkeystatus' member.
21524
21525 * commands/keystatus.c: New file.
21526 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21527 (keystatus_mod_SOURCES): New variable.
21528 (keystatus_mod_CFLAGS): Likewise.
21529 (keystatus_mod_LDFLAGS): Likewise.
21530 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21531 commands/keystatus.c.
21532 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21533 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21534 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21536 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21537 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 21538
6e2a9085 215392009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 Split befs.mod and afs.mod into *_be.mod and *.mod
21542
21543 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21544 (grub_fstest_SOURCES): Likewise.
21545 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21546 (afs_be_mod_SOURCES): New variable.
21547 (afs_be_mod_CFLAGS): Likewise.
21548 (afs_be_mod_LDFLAGS): Likewise.
21549 (befs_be_mod_SOURCES): Likewise.
21550 (befs_be_mod_CFLAGS): Likewise.
21551 (befs_be_mod_LDFLAGS): Likewise.
21552 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21553 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21554 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21555 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21556 (grub_emu_SOURCES): Likewise.
21557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21558 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21559 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21560 * fs/afs_be.c: New file.
21561 * fs/befs_be.c: New file.
21562 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21563 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21564 (U16): Replaced with ...
21565 (grub_afs_to_cpu16): ...this. All users updated.
21566 (U32): Replaced with ...
21567 (grub_afs_to_cpu32): ...this. All users updated.
21568 (U64): Replaced with ...
21569 (grub_afs_to_cpu64): ...this. All users updated.
21570 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21571 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 21572 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 21573 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21574 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21575 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21576 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21577 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21578 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21579 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21580 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21581
32a71655 215822009-08-26 Bean <bean123ch@gmail.com>
21583
21584 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21585 64-bit number.
21586 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21587 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21588 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21589
552bf6c5 215902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21591
21592 NetBSD memory map support.
21593
21594 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21595 (grub_netbsd_btinfo_mmap_header): New structure.
21596 (grub_netbsd_btinfo_mmap_entry): Likewise.
21597 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21598
1ae2078c 215992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21600
21601 Enable bsd.mod on coreboot.
21602
21603 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21604 (bsd_mod_SOURCES): New variable.
21605 (bsd_mod_CFLAGS): Likewise.
21606 (bsd_mod_LDFLAGS): Likewise.
21607 (bsd_mod_ASFLAGS): Likewise.
21608 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21609 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21610
beefc598 216112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21612
21613 Cleanup NetBSD root support.
21614
21615 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21616 grub_bsd_get_device.
21617 Fix typo.
21618
3b76e68b 216192009-08-25 Felix Zielcke <fzielcke@z-51.de>
21620
21621 * util/grub.d/00_header.in: Move check for the video backend of
21622 gfxterm from here ...
21623 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21624 a suitable video backend.
21625
aea664ea 216262009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21627
21628 Fix breakage in grub-setup.
21629
21630 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21631 "msdos_partition_map".
21632
ff747d50 216332009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21634
21635 Fix breakage in normal/auth.c.
21636
21637 * normal/auth.c (grub_iswordseparator): New function.
21638
e7e1f93f 216392009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21640
21641 Authentication support.
21642
21643 * commands/password.c: New file.
21644 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21645 (password_mod_SOURCES): New variable.
21646 (password_mod_CFLAGS): Likewise.
21647 (password_mod_LDFLAGS): Likewise.
21648 (normal_mod_SOURCES): Add normal/auth.c.
21649 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21650 normal/auth.c.
21651 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21652 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21653 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21655 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21656 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21657 * include/grub/auth.h: New file.
21658 * include/grub/err.h (grub_err_t): New enum value
21659 GRUB_ERR_ACCESS_DENIED.
21660 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21661 'users'.
21662 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21663 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21664 users updated.
21665 * normal/auth.c: New file.
21666 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21667 (grub_cmdline_run): Don't allow to go to command line without
21668 authentication.
21669 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21670 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21671 menuentry without superuser rights.
21672 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21673 user isn't a superuser.
21674
70f1161d 216752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21676
21677 Save space by inlining misc.c functions.
21678
21679 * kern/misc.c (grub_iswordseparator): Made static.
21680 * kern/misc.c (grub_strcat): Moved from here ...
21681 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21682 * kern/misc.c (grub_strncat): Moved from here ...
21683 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21684 * kern/misc.c (grub_strcasecmp): Moved from here ...
21685 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21686 * kern/misc.c (grub_strncasecmp): Moved from here ...
21687 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21688 * kern/misc.c (grub_isalpha): Moved from here ...
21689 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21690 * kern/misc.c (grub_isdigit): Moved from here ...
21691 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21692 * kern/misc.c (grub_isgraph): Moved from here ...
21693 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21694 * kern/misc.c (grub_tolower): Moved from here ...
21695 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21696
48e40bff 216972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21698
21699 * script/sh/function.c (grub_script_function_find): Cut error message
21700 not to flood terminal.
21701 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21702 limit.
21703 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21704
c385bfc3 217052009-08-24 Colin Watson <cjwatson@ubuntu.com>
21706
21707 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21708 `report' grub_uint8_t *.
21709 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21710 Use a 50-millisecond timeout rather than just repeating
21711 grub_usb_keyboard_getreport 50 times.
21712 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21713
2d21e3e8 217142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21715
21716 Rename *_partition_map to part_*
21717
21718 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21719 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21720 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21721 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21722 All users updated.
21723 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21724 All users updated.
21725 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21726 * util/grub-probe.c (probe_partmap): Don't transform partition name
21727 to get module name.
21728
dd103c4e 217292009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21730
21731 Fix OpenBSD and NetBSD support.
21732
21733 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21734 memory address conflict.
21735 (OPENBSD_MMAP_ACPI): New definition.
21736 (OPENBSD_MMAP_NVS): Likewise.
21737 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21738 and OPENBSD_MMAP_NVS.
21739 Add memory map terminator
21740 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 21741 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 21742
16c84d74 217432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21744
21745 Let user specify NetBSD root device.
21746
21747 * loader/i386/bsd.c (netbsd_root): New variable.
21748 (netbsd_opts): New option 'root'.
21749 (NETBSD_ROOT_ARG): New macro.
21750 (grub_netbsd_boot): Use 'netbsd_root'.
21751 (grub_bsd_unload): Free 'netbsd_root'.
21752 (grub_cmd_netbsd): Fill 'netbsd_root'.
21753
adb29902 217542009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 Support for 64-bit NetBSD.
21757
21758 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21759 point when booting non-FreeBSD.
21760
f5ae9f74 217612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21762
21763 Support --no-smp and --no-acpi for NetBSD.
21764
21765 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21766 (NETBSD_AB_NOACPI): Likewise.
21767 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21768 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21769
de74f136 217702009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21771
21772 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21773 errors.
21774 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21775 errors. Call grub_error when needed.
21776
e9a925da 217772009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21778
21779 * commands/search.c (search_fs): Try searching without autoload first.
21780 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21781 filesystem module explicitly for faster booting.
21782
5174302b 217832009-08-23 Colin Watson <cjwatson@ubuntu.com>
21784
21785 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21786
c8c80635 217872009-08-23 Colin Watson <cjwatson@ubuntu.com>
21788
21789 * util/grub.d/30_os-prober.in: Disable os-prober if
21790 `GRUB_DISABLE_OS_PROBER' was set to true.
21791
71acf5e5 217922009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21793
21794 * partmap/pc.c: Rename to ...
21795 * partmap/msdos.c: ... this. Update all users.
21796 (grub_pc_partition_map): Rename to ...
21797 (grub_msdos_partition_map): ... this. Update all users.
21798
21799 * parttool/pcpart.c: Rename to ...
21800 * parttool/msdospart.c: ... this. Update all users.
21801
21802 * include/grub/pc_partition.h: Rename to ...
21803 * include/grub/msdos_partition.h: ... this. Update all users.
21804 (grub_pc_partition_bsd_entry): Rename to ...
21805 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21806 (grub_pc_partition_disk_label): Rename to ...
21807 (grub_msdos_partition_disk_label): ... this. Update all users.
21808 (grub_pc_partition_entry): Rename to ...
21809 (grub_msdos_partition_entry): ... this. Update all users.
21810 (grub_pc_partition_mbr): Rename to ...
21811 (grub_msdos_partition_mbr): ... this. Update all users.
21812 (grub_pc_partition): Rename to ...
21813 (grub_msdos_partition): ... this. Update all users.
21814 (grub_pc_partition_is_empty): Rename to ...
21815 (grub_msdos_partition_is_empty): ... this. Update all users.
21816 (grub_pc_partition_is_extended): Rename to ...
21817 (grub_msdos_partition_is_extended): ... this. Update all users.
21818 (grub_pc_partition_is_bsd): Rename to ...
21819 (grub_msdos_partition_is_bsd): ... this. Update all users.
21820
21821 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21822 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21823 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21824 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21825 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21826 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21827 (gpt_mod_LDFLAGS): Rename to ...
21828 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21829 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21830 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21831 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21832 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21833 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21834 (part_gpt_mod_LDFLAGS): ... this.
21835 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21836 `pcpart.mod' to `msdospart.mod'.
21837 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21838 to ...
21839 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21840 (msdospart_mod_LDFLAGS): ... this.
21841
c11fded5 218422009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21843
21844 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21845 (openbsd_opts): Likewise.
21846 (netbsd_opts): Likewise.
21847 (freebsd_flags): Added 0 terminator.
21848 (openbsd_flags): Likewise.
21849 (netbsd_flags): Likewise.
21850 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21851 (grub_cmd_freebsd): Transformed into extended command.
21852 (grub_cmd_openbsd): Likewise.
21853 (grub_cmd_netbsd): Likewise.
21854 (cmd_freebsd): Changed type to grub_extcmd_t.
21855 (cmd_openbsd): Likewise.
21856 (cmd_netbsd): Likewise.
21857 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21858 grub_cmd_openbsd as extended commands.
21859 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21860 cmd_netbsd and cmd_openbsd
21861
11d1c769 218622009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21863
21864 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21865
7a9094e5 218662009-08-21 Pavel Roskin <proski@gnu.org>
21867
5496c37e 21868 * Makefile.in (install-local): When checking if a file is in the
21869 build directory, use "test -e" to detect symlinks.
21870
7a9094e5 21871 * Makefile.in (install-local): Remove all files in
21872 $(DESTDIR)$(pkglibdir) before installing new files there.
21873
e53cea11 218742009-08-18 Felix Zielcke <fzielcke@z-51.de>
21875
21876 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21877 grub-mkelfimage.
21878
9aced544 218792009-08-18 Felix Zielcke <fzielcke@z-51.de>
21880
21881 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21882 explicitly specified by the user.
21883
b7da6bab 218842009-08-18 Pavel Roskin <proski@gnu.org>
21885
21886 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21887 grub_uint8_t pointer for data.
21888 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21889 Likewise.
21890 * video/fb/fbutil.c: Remove unnecessary casts.
21891
19f1b335 218922009-08-17 Michal Suchanek <hramrach@centrum.cz>
21893
21894 VBE cleanup.
21895
21896 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21897 (grub_vbe_set_video_mode): Save active mode info
21898 only after setting the mode.
21899 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21900 second argument.
21901
2f467aa9 219022009-08-17 Michal Suchanek <hramrach@centrum.cz>
21903
21904 Rename variables for clarity.
21905
21906 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21907 (active_vbe_mode_info): ... this. All users updated.
21908 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21909 All users updated.
21910 (initial_mode): Rename to ...
21911 (initial_vbe_mode): ... this. All users updated.
21912 (mode_in_use): Rename to ..
21913 (vbe_mode_in_use): ... this. All users updated.
21914 (mode_list): Rename to ..
21915 (vbe_mode_list): ... this. All users updated.
21916 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21917 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21918 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21919 'mode_list_size' to 'vbe_mode_list_size'.
21920 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21921 'best_mode_info' to 'best_vbe_mode_info' and
21922 'best_mode' to 'best_vbe_mode'
21923
6025fcd7 219242009-08-17 Michal Suchanek <hramrach@centrum.cz>
21925
21926 Remove duplicate grub_video_fb_get_video_ptr.
21927
21928 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21929 (grub_video_fb_get_video_ptr): ... this.
21930 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21931 * video/fb/fbutil.c: Add comment about addressing.
21932 (get_data_ptr): Rename to ...
21933 (grub_video_fb_get_video_ptr): ... this. All users updated.
21934 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21935
cc8c6faf 219362009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21937
21938 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21939 grub_dprintf() that was just added.
21940
08aa61f0 219412009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21942
21943 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21944 (DEFAULT_VIDEO_MODE): Remove macros.
21945 (grub_linux_boot): Remove assumption that Linux has FB support,
21946 and use "text" as default video mode.
21947
7cef4f75 219482009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21949
21950 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21951 grub_dprintf.
21952 * fs/fat.c (grub_fat_read_data): Likewise.
21953
e1f39873 219542009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21955
21956 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21957 payload.
21958 (grub_module): Likewise.
21959
c166d79e 219602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21961
21962 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21963 mbi->cmdline but free playground.
21964
c60cee8e 219652009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21966
21967 Handle group offset on UFS1.
21968
21969 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21970 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21971
c0d8b5d4 219722009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21973
21974 Split ufs.mod into ufs1.mod and ufs2.mod.
21975
21976 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21977 (grub_fstest_SOURCES): Likewise.
21978 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21979 (ufs_mod_SOURCES): Remove.
21980 (ufs_mod_CFLAGS): Likewise.
21981 (ufs_mod_LDFLAGS): Likewise.
21982 (ufs1_mod_SOURCES): New variable.
21983 (ufs1_mod_CFLAGS): Likewise.
21984 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 21985 (ufs2_mod_SOURCES): New variable.
21986 (ufs2_mod_CFLAGS): Likewise.
21987 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 21988 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21989 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21990 Likewise.
21991 (grub_emu_SOURCES): Likewise.
21992 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21993 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21994 (grub_setup_SOURCES): Likewise.
21995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21996 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21997 (grub_setup_SOURCES): Likewise.
21998 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21999 Likewise.
22000 * fs/ufs2.c: New file.
22001 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
22002
d3539132 220032009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
22004
22005 Framebuffer split.
22006
22007 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
22008 subsystem at the end.
22009 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
22010 (video_fb_mod_SOURCES): New variable.
22011 (video_fb_mod_CFLAGS): Likewise.
22012 (video_fb_mod_LDFLAGS): Likewise.
22013 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
22014 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
22015 * video/i386/pc/vbeblit.c: Moved from here ...
22016 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
22017 * video/i386/pc/vbefill.c: Moved from here ...
22018 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
22019 * video/i386/pc/vbeutil.c: Moved from here ...
22020 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
22021 * include/grub/i386/pc/vbeblit.h: Moved from here ...
22022 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
22023 * include/grub/i386/pc/vbefill.h: Moved from here ...
22024 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
22025 * include/grub/i386/pc/vbeutil.h: Moved from here ...
22026 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
22027 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
22028 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
22029 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
22030 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
22031 (grub_video_adapter): Added 'get_info_and_fini'.
22032 (grub_video_get_info_and_fini): New prototype.
22033 (grub_video_set_mode): make modestring const char *.
22034 * loader/i386/linux.c (grub_linux_setup_video): Use
22035 grub_video_get_info_and_fini.
22036 (grub_linux_boot): Move modesetting just before booting.
22037 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
22038 grub_video_get_info_and_fini.
22039 * video/i386/pc/vbe.c: Moved framebuffer part ...
22040 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
22041 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
22042 grub_video_fbstd_colors and grub_video_fb_set_palette.
22043 (grub_video_vbe_init): Clear 'framebuffer' variable and use
22044 grub_video_fb_init.
22045 (grub_video_vbe_fini): Use grub_video_fb_fini.
22046 (grub_video_vbe_setup): Use framebuffer.render_target instead of
22047 render_target and use grub_video_fb_set_active_render_target and
22048 grub_video_fb_set_palette.
22049 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
22050 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
22051 (grub_video_vbe_adapter): Use framebuffer.
22052 * video/video.c (grub_video_get_info_and_fini): New function.
22053 (grub_video_set_mode): Make modestring const char *.
22054 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
22055 values are already initialised.
22056
d404ee56 220572009-08-14 Pavel Roskin <proski@gnu.org>
22058
22059 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
22060 ABS and APPLE_CC.
22061 * boot/i386/pc/diskboot.S: Likewise.
22062 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
22063 sectors allow compilation on MacOSX.
22064 * conf/i386-pc.rmk: Enable unconditional compilation of
22065 lnxboot.img.
22066
9a10df16 220672009-08-13 Colin Watson <cjwatson@ubuntu.com>
22068
22069 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
22070 * util/grub.d/00_header.in: Enter interruptible sleep if
22071 GRUB_HIDDEN_TIMEOUT is set.
22072
be3c9ca7 220732009-08-13 Yves Blusseau <blusseau@zetam.org>
22074
22075 * include/grub/symbol.h: Add the LOCAL macro.
22076 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
22077 starting with "L_".
22078
1f9e557e 220792009-08-13 Pavel Roskin <proski@gnu.org>
22080
9ca62843 22081 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
22082 any modern compilers we support.
22083
1f9e557e 22084 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
22085 Use local labels starting with "L_" so that Apple assembler
22086 knows they are local.
22087
81623db6 220882009-08-10 Robert Millan <rmh.grub@aybabtu.com>
22089
22090 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
22091 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
22092 (bsd_kernel_types): ... this enum.
22093
22094 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
22095 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
22096 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
22097
22098 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
22099 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
22100 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
22101 messages.
22102
f5d35e7a 221032009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22104
22105 * util/grub-dumpdevtree: Moved from here ...
22106 * util/i386/efi/grub-dumpdevtree: ... to here.
22107 (hexify): New function. Converts a string to its hex version.
22108 Generate hex versions of "efi" and "device-properties" by calling
22109 hexify() on the ASCII strings rather than by hardcoding numbers.
22110
d1e1d527 221112009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22112
22113 * fs/jfs.c: Update copyright year.
22114
1ebbe064 221152009-08-08 Felix Zielcke <fzielcke@z-51.de>
22116
22117 * util/grub.d/00_header.in: Fix a comment.
22118 * util/grub.d/10_linux.in: Likewise.
22119 * util/grub.d/10_windows.in: Likewise.
22120 * util/grub.d/10_hurd.in: Likewise.
22121
a78c8d24 221222009-08-08 Felix Zielcke <fzielcke@z-51.de>
22123
22124 * util/grub-mkconfig.in: Allow the user to specify the used font
22125 with GRUB_FONT.
22126
29a6b9e8 221272009-08-08 Pavel Roskin <proski@gnu.org>
22128
b5f16cc4 22129 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
22130 available, xfs.mod needs it now.
22131
2f5cb827 22132 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
22133 the "g" modifier in sed when the intention is to strip something
22134 once. This fixes comparison of kernels with multiple dashes.
22135
29a6b9e8 22136 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
22137 on it. Add missing space before closing bracket. Fix
22138 misleading formatting.
22139
892a3d98 221402009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22141
22142 * docs/grub.texi: Major overhaul. Remove all sections that are
22143 specific to GRUB Legacy, or mostly composed of Legacy-specific
22144 information.
22145
ed94253f 221462009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22147
22148 * docs/version.texi: New file. Provides version information for
22149 grub.texi.
22150
126d6628 221512009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22152
22153 * docs/grub.texi: Update CVS information to SVN.
22154 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
22155
998b5aa9 221562009-08-07 Felix Zielcke <fzielcke@z-51.de>
22157
22158 * util/grub-mkconfig.in: Remove a wrong `fi'.
22159
818e094a 221602009-08-07 Felix Zielcke <fzielcke@z-51.de>
22161
22162 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
22163 (grub_jfs_uuid): New function.
22164 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
22165
b969c52f 221662009-08-07 Felix Zielcke <fzielcke@z-51.de>
22167
22168 * util/grub-mkconfig_lib.in (font_path): Move the functionality
22169 of it to ...
22170 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
22171 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
22172
7a4894cc 221732009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22174
22175 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
22176 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
22177 Update all users.
22178
22179 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
22180 not just "vmlinu[zx]".
22181 Moved from here ...
22182 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
22183 all users.
22184
22185 * util/grub.d/10_linux.in (find_latest): Moved from here ...
22186 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
22187 all users.
22188
4e2171f8 221892009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22190
22191 * util/grub.d/10_freebsd.in: Use an absolute device path for
22192 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
22193
6dcfcb32 221942009-08-06 Felix Zielcke <fzielcke@z-51.de>
22195
22196 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
22197 handling of multiple abstraction modules.
22198
f56a8756 221992009-08-04 Robert Millan <rmh.grub@aybabtu.com>
22200
22201 Fix a bug resulting in black screen when loading Linux using a
22202 packed video mode.
22203
22204 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
22205 function.
22206
22207 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
22208 (grub_vbe_bios_getset_dac_palette_width): New function.
22209 (grub_vbe_bios_get_dac_palette_width)
22210 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
22211 grub_vbe_bios_getset_dac_palette_width()).
22212
22213 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
22214 check for return status.
22215 (grub_vbe_get_video_mode_info): When getting information for a packed
22216 mode (<= 8 bpp), obtain DAC palette width using
22217 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
22218 {red,green,blue}_mark_size.
22219
222671b2 222202009-08-04 Felix Zielcke <fzielcke@z-51.de>
22221
ecb1a6d9 22222 * commands/search.c (options): Fix help output to match actual code.
222671b2 22223
f84114f5 222242009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
22225
22226 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
22227 of homegrown code.
22228
bd288a20 222292009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 22230
22231 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
22232 on XFS or ReiserFS.
22233
8aab5e25 222342009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22235
22236 Support Apple partition map with sector size different from 512 bytes.
22237
22238 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
22239 (apple_partition_map_iterate): Respect 'aheader.blocksize'
22240 and 'apart.partmap_size'.
22241
6ad6258a 222422009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
222432009-08-01 Robert Millan <rmh.grub@aybabtu.com>
22244
22245 Fix cpuid command.
22246
22247 * commands/i386/cpuid.c (options): New variable.
22248 (grub_cmd_cpuid): Return real error.
22249 (GRUB_MOD_INIT(cpuid)): Declare options.
22250
67459bc6 222512009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
22252
22253 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
22254 valid.
22255
fbc6ab54 222562009-07-31 Bean <bean123ch@gmail.com>
22257
22258 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
22259 log2_inode.
22260 (grub_fshelp_node): Move inode field to the end.
22261 (grub_xfs_data): Remove inode field.
22262 (grub_xfs_inode_block): Calculate inode size using sblock.
22263 (grub_xfs_inode_offset): Likewise.
22264 (grub_xfs_read_inode): Calculate inode size using sblock.
22265 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
22266 (grub_xfs_iterate_dir): Calculate inode size using sblock.
22267 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
22268 to match inode size.
22269 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
22270 not accessible when data is null.
22271 (grub_xfs_open): Likewise.
22272
f45d6cfc 222732009-07-31 Bean <bean123ch@gmail.com>
22274
22275 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
22276 Don't change pv->disk if it's already set.
22277
22278 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
22279 (grub_raid_register): ... here.
22280 (grub_raid_rescan): Removed.
22281
22282 * include/grub/raid.h (grub_raid_rescan): Removed.
22283
22284 * util/grub-fstest.c: Remove include file <grub/raid.h>.
22285 (fstest): Replace grub_raid_rescan with module fini function followed
22286 by init function.
22287
22288 * util/grub-probe.c: Add include file <grub/raid.h>.
22289 (probe_raid_level): New function.
22290 (probe): Detect abstraction by walking the disk device, support two
22291 level of abstraction (LVM on RAID) when detecting partition map.
22292
24443b5a 222932009-07-31 Pavel Roskin <proski@gnu.org>
22294
22295 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
22296 to grub_zalloc(), it was erroneous.
22297 Reported by Bean <bean123ch@gmail.com>
22298
a275d9e7 222992009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
22300
22301 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 22302 embedding zone, not only the first one.
a275d9e7 22303
56c5a47f 223042009-07-29 Joe Auricchio <jauricchio@gmail.com>
22305
22306 * term/gfxterm.c (clear_char): New function.
22307 (grub_virtual_screen_setup): Use clear_char.
22308 (scroll_up): Likewise.
22309 (grub_virtual_screen_cls): Likewise.
22310
67bb323a 223112009-07-29 Felix Zielcke <fzielcke@z-51.de>
22312
22313 * util/deviceiter.c (get_acceleraid_disk_name): New static
22314 function.
22315 (grub_util_iterate_devices): Handle Accelraid devices.
22316 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
22317
388a7c75 223182009-07-28 Robert Millan <rmh.grub@aybabtu.com>
22319
22320 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
22321 separator for the suggested gfxpayload string (';' collides with the
22322 parser and needs escaping).
22323
3bb7abcf 223242009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22325
22326 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
22327 Clear direction flag before jumping to OS.
22328 (grub_multiboot2_real_boot): Likewise.
22329
2ddd36d7 223302009-07-28 Felix Zielcke <fzielcke@z-51.de>
22331
22332 * util/i386/pc/grub-install: Fix parsing of --disk-module
22333 option.
22334
c521b62b 223352009-07-28 Felix Zielcke <fzielcke@z-51.de>
22336
22337 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
22338 when embedding.
22339
880e0a0c 223402009-07-26 Felix Zielcke <fzielcke@z-51.de>
22341
22342 * util/grub-mkconfig.in (package_version): New variable.
22343 Use it do display the version.
22344
2366e356 223452009-07-25 Felix Zielcke <fzielcke@z-51.de>
22346
22347 * kern/file.c (grub_file_open): Revert to previous check with
22348 grub_errno.
22349
7ad8c80e 223502009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22351
22352 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
22353 from help line. It's out of sync with code.
22354
72b9658b 223552009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22356
22357 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
22358 entries on failed boot.
22359
77435277 223602009-07-25 Felix Zielcke <fzielcke@z-51.de>
22361
22362 * kern/file.c (grub_file_open): Fix an error check.
22363
fcaa8b21 223642009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
22365
35d16c74 22366 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
22367 partition map couldn't be identified.
fcaa8b21 22368
48904cd1 223692009-07-23 Pavel Roskin <proski@gnu.org>
22370
ef3c317f 22371 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
22372 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
22373 case of little endian words becomes just an optimization.
22374 Respect const modifier.
ad8ea1f4 22375 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 22376
48904cd1 22377 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
22378 to avoid loss of upper bits if align is unsigned and shorter
22379 than addr.
22380
260c9a89 223812009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22382
22383 UUID support for UFS
22384
22385 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
22386 (grub_ufs_uuid): New function.
22387 (grub_ufs_fs): add .uuid
22388
f76ce889 223892009-07-21 Pavel Roskin <proski@gnu.org>
22390
22391 * kern/dl.c (grub_dl_check_header): Make static.
22392
6a6cbcaf 223932009-07-21 Felix Zielcke <fzielcke@z-51.de>
22394
22395 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
22396 add drivemap for Vista. It breaks Windows 7.
22397
cffcddb2 223982009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22399
22400 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
22401 128 bytes
22402
1ef44b80 224032009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 Add BFS support
22406
22407 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
22408 (grub_fstest_SOURCES): Likewise.
22409 (pkglib_MODULES): Add befs.mod.
22410 (befs_mod_SOURCES): New variable.
22411 (befs_mod_CFLAGS): Likewise.
22412 (befs_mod_LDFLAGS): Likewise.
22413 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22414 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22415 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22416 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22417 (grub_setup_SOURCES): Likewise.
22418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22419 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22420 (grub_setup_SOURCES): Likewise.
22421 * fs/befs.c: New file.
22422 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
22423 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
22424 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
22425 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
22426 (B_KEY_INDEX_ALIGN): New declaration.
22427 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
22428 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
22429 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
22430 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
22431 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
22432 (grub_afs_mount) [MODE_BFS]: Likewise.
22433 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
22434 (grub_afs_fs): Use GRUB_AFS_FSNAME
22435 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
22436 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
22437 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
22438 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
22439
4f253044 224402009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
22441
22442 * util/getroot.c (find_root_device): Add support for MacOSX.
22443 * util/hostdisk.c: Likewise.
22444
57a55913 224452009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22446
22447 * font/font.c (find_glyph): Check whether a font is present to avoid
22448 segmentation fault.
75421ca9 22449
224502009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 22451
22452 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
22453
e98cd0c2 224542009-07-20 Pavel Roskin <proski@gnu.org>
22455
22456 * configure.ac: Trim excessively wordy excuses.
22457
1d2d169a 224582009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22459
22460 Add symlink, mtime and label support to AtheFS.
22461
22462 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
22463 (grub_afs_iterate_dir): Handle symlinks.
22464 (grub_afs_open): Use grub_afs_read_symlink.
22465 (grub_afs_dir): Likewise.
22466 Pass mtime.
22467 (grub_afs_label): New function.
22468 (grub_afs_fs): Add grub_afs_label.
22469 (grub_afs_read_symlink): New function.
22470
186f3189 224712009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22472
22473 Fix AtheFS support.
22474
22475 * fs/afs.c: Fix comments style.
22476 (grub_afs_blockrun): Declare as packed.
22477 (grub_afs_datastream): Likewise.
22478 (grub_afs_bnode): Likewise.
22479 (grub_afs_btree): Likewise.
22480 (grub_afs_sblock): Likewise.
22481 Declare `name' as char.
22482 (grub_afs_inode): Declare as packed.
22483 Change void *vnode to grub_uint32_t unused.
22484 (grub_afs_iterate_dir): Check that key_size is positive.
22485 (grub_afs_mount): Don't read superblock twice.
75421ca9 22486 (grub_afs_dir): Don't free node in case of error,
186f3189 22487 grub_fshelp_find_file already handles this.
22488 (grub_afs_open): Likewise.
22489
5680109e 224902009-07-19 Pavel Roskin <proski@gnu.org>
22491
22492 * Makefile.in: Remove LIBLZO and enable_lzo.
22493 * conf/i386-pc.rmk: Remove lzo support.
22494 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22495 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22496 support.
22497 * kern/i386/pc/lzo1x.S: Remove.
22498 * kern/i386/pc/startup.S: Remove lzo support.
22499 * util/i386/pc/grub-mkimage.c: Likewise.
22500
ac70fa32 225012009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22502
22503 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22504 * fs/xfs.c (grub_xfs_dir): Likewise.
22505 * fs/afs.c (grub_afs_dir): Likewise.
22506 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22507 (grub_iso9660_open): Likewise.
22508 * fs/jfs.c (grub_jfs_open): Likewise.
22509 * fs/ext2.c (grub_ext2_dir): Likewise.
22510 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22511 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 22512
eab58da2 225132009-07-16 Pavel Roskin <proski@gnu.org>
22514
d2838156 22515 * configure.ac: Never add "-c" to CFLAGS.
22516
55c70904 22517 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22518
43e6200c 22519 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22520 grub_cv_cc_efiemu should be used.
22521
ce7a733d 22522 * configure.ac: Typo fixes.
22523
eab58da2 22524 * kern/mm.c (grub_zalloc): New function.
22525 (grub_debug_zalloc): Likewise.
22526 * include/grub/mm.h: Declare grub_zalloc() and
22527 grub_debug_zalloc().
22528 * util/misc.c (grub_zalloc): New function.
22529 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22530 instead of grub_malloc(), remove unneeded initializations.
22531 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22532 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22533 * commands/parttool.c (grub_cmd_parttool): Likewise.
22534 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22535 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22536 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22537 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22538 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22539 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22540 (grub_cmd_efiemu_pnvram): Likewise.
22541 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22542 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22543 (grub_iso9660_iterate_dir): Likewise.
22544 * fs/jfs.c (grub_jfs_opendir): Likewise.
22545 * fs/ntfs.c (list_file): Likewise.
22546 (grub_ntfs_mount): Likewise.
22547 * kern/disk.c (grub_disk_open): Likewise.
22548 * kern/dl.c (grub_dl_load_core): Likewise.
22549 * kern/elf.c (grub_elf_file): Likewise.
22550 * kern/env.c (grub_env_context_open): Likewise.
22551 (grub_env_set): Likewise.
22552 (grub_env_set_data_slot): Likewise.
22553 * kern/file.c (grub_file_open): Likewise.
22554 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22555 * loader/i386/multiboot.c (grub_module): Likewise.
22556 * loader/xnu.c (grub_xnu_create_key): Likewise.
22557 (grub_xnu_create_value): Likewise.
22558 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22559 (read_config_file): Likewise.
22560 * normal/menu_entry.c (make_screen): Likewise.
22561 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22562 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22563 * script/sh/script.c (grub_script_parse): Likewise.
22564 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22565 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22566 * video/readers/png.c (grub_png_output_byte): Likewise.
22567 (grub_video_reader_png): Likewise.
22568
830afef7 225692009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 22570
22571 Enable all targets that can be built by default
22572
830afef7 22573 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 22574 grub-mkfont and grub-fstest if they can be built
22575
ee293aee 225762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 Fix hang and segmentation fault in grub-emu-usb
22579
22580 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22581 * util/usb.c (grub_libusb_devices): likewise
22582 (grub_libusb_init): rename to ...
22583 (GRUB_MOD_INIT (libusb)):...this
22584 (grub_libusb_fini): rename to ..
22585 (GRUB_MOD_FINI (libusb)):...this
22586 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22587 * include/grub/disk.h (grub_raid_init): removed, it's useless
22588 (grub_raid_fini): likewise
22589 (grub_lvm_init): likewise
22590 (grub_lvm_fini): likewise
22591 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22592 by grub_init_all
22593
94414221 225942009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22595
22596 Fix libusb
22597
22598 * Makefile.in (LIBUSB): new macro
22599 * genmk.rb (Utility/print_tail): new method
22600 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22601 (top level): call util.print_tail at the end.
22602
59ade63d 226032009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22604
22605 Make FreeBSD accept zpool.cache
22606
22607 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22608 type is /boot/zfs/zpool.cache
22609
a58da8c7 226102009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22611
22612 Fix 64-bit efiemu
22613
22614 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22615 correct wrong typedef
22616 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22617
20591577 226182009-07-15 Pavel Roskin <proski@gnu.org>
22619
560ca572 22620 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22621 * kern/disk.c (struct grub_disk_cache): Likewise.
22622
e8e8e4fd 22623 * commands/probe.c (options): Typo fix.
22624
fde24e10 22625 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22626 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22627 accordingly.
22628 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22629
379c54c1 22630 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22631 the end of "Error" to make the message more readable.
22632
7bd8f5bf 22633 * boot/i386/pc/boot.S (kernel_segment): Remove.
22634 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22635 for destination.
22636
40b132c5 22637 * boot/i386/pc/boot.S (boot_version): Remove.
22638 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22639 Remove.
22640
20591577 22641 * include/grub/i386/pc/boot.h: Sort all offsets.
22642 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22643 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22644 * boot/i386/pc/boot.S: Assert location of every offset listed in
22645 include/grub/i386/pc/boot.h.
22646
2df32b2c 226472009-07-13 Pavel Roskin <proski@gnu.org>
22648
44b5d879 22649 * include/grub/i386/coreboot/machine.h: Rename
22650 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22651 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22652 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22653
17dc3751 22654 * kern/dl.c: Force native word size to suppress warnings when
22655 compiling grub-emu.
22656
2df32b2c 22657 * kern/device.c (grub_device_iterate): Change struct part_ent to
22658 hold the name, not a pointer to it. Use one grub_malloc() per
22659 partition, not two. Free partition_name if grub_malloc() fails.
22660 Set ents to NULL only before grub_partition_iterate() is called.
22661
75c59f59 226622009-07-11 Bean <bean123ch@gmail.com>
22663
22664 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22665 childname.
22666
0ae1bf88 226672009-07-10 Bean <bean123ch@gmail.com>
226682009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22669
22670 * kern/ieee1275/openfw.c (grub_children_iterate)
22671 (grub_devalias_iterate): Fix size evaluation for property or path
22672 strings, which was broken since r2132.
22673
8279cade 226742009-07-07 Pavel Roskin <proski@gnu.org>
22675
7d8a52d3 22676 * commands/search.c (search_file): Merge into ...
22677 (search_fs): ... this. Accept search type as argument.
22678 (grub_cmd_search): Pass search type to search_fs().
22679
25f9a05a 22680 * include/grub/util/console.h: New file.
22681 * util/console.c: Use it instead of grub/machine/console.h.
22682 * util/grub-emu.c: Likewise.
22683
8279cade 22684 * lib/arg.c (find_long_option): Remove.
22685 (find_long): Add `len' argument, make `s' const char *.
22686 (grub_arg_parse): Parse long options in place, not in a
22687 temporary buffer.
22688
4a11b60f 226892009-07-06 Pavel Roskin <proski@gnu.org>
22690
99f68041 22691 * commands/search.c (search_fs): Fix potential NULL pointer
22692 dereference.
22693
4a11b60f 22694 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22695 function pointer.
22696
e110f4de 226972009-07-06 Daniel Mierswa <impulze@impulze.org>
22698
22699 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22700 comparison.
22701
46eeb6a2 227022009-07-05 Pavel Roskin <proski@gnu.org>
22703
bab74958 22704 * include/grub/i386/linux.h (struct linux_kernel_params):
22705 Restore padding3, it's still needed.
22706
46eeb6a2 22707 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22708 FreeBSD.
22709 * util/osdetect.lua: Likewise.
22710
b4a1dc79 227112009-07-05 Bean <bean123ch@gmail.com>
22712
22713 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22714
22715 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22716 (grub_lua_getenv): Likewise.
22717 (grub_lua_setenv): Likewise.
22718 (save_errno): New function.
22719 (push_result): Likewise.
22720 (grub_lua_enum_device): Likewise.
22721 (grub_lua_enum_file): Likewise.
22722 (grub_lua_file_open): Likewise.
22723 (grub_lua_file_close): Likewise.
22724 (grub_lua_file_seek): Likewise.
22725 (grub_lua_file_read): Likewise.
22726 (grub_lua_file_getline): Likewise.
22727 (grub_lua_file_getsize): Likewise.
22728 (grub_lua_file_getpos): Likewise.
22729 (grub_lua_file_eof): Likewise.
22730 (grub_lua_file_exist): Likewise.
22731 (grub_lua_add_menu): Likewise.
22732
22733 * script/lua/grub_lua.h (isupper): New inline function.
22734 (islower): Likewise.
22735 (ispunct): Likewise.
22736 (isxdigit): Likewise.
22737 (strcspn): Change to normal function.
22738 (strpbkr): New function declaration.
22739 (memchr): Likewise.
22740
22741 * script/lua/grub_main.c (scan_str): New function.
22742 (strcspn): Likewise.
22743 (strpbrk): Likewise.
22744 (memchr): Likewise.
22745
22746 * script/lua/linit.c (lualibs): Enable the string library.
22747
22748 * util/osdetect.lua: New file.
22749
2da92295 227502009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22751
22752 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22753 `capabilities' member.
22754
b2582ec9 227552009-07-02 Pavel Roskin <proski@gnu.org>
22756
22757 * genparttoollist.sh: Add missing newline at the end.
22758
32622956 227592009-07-01 Pavel Roskin <proski@gnu.org>
22760
87a7339e 22761 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22762
d23af54e 22763 * util/hostdisk.c (open_device): Remove `const' from
22764 `sysctl_size', as sysctlbyname() can change it (in this case it
22765 doesn't actually happen).
22766
c94b18a9 22767 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22768 using signed long int constants.
22769
c6cd3ef0 22770 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22771 constant to avoid a warning on FreeBSD.
22772
0df63420 22773 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22774 where it's needed.
22775
999577f1 22776 * Makefile.in: Install include/grub/machine symlink.
22777
6f41557f 22778 * Makefile.in: When installing symlinks, use "cp -fR", which
22779 works on FreeBSD and MacOSX.
22780 From Yves Blusseau <cl7m42e02@sneakemail.com>
22781
c8d22988 22782 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22783 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22784
1b96e952 22785 * util/misc.c: Move grub_reboot() and grub_halt() ...
22786 * util/grub-emu.c: ... here. Make main_env static.
22787 * include/grub/util/misc.h: Remove main_env.
22788
2ef0084d 22789 * kern/mm.c: Use correct format to print size_t.
22790
32622956 22791 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22792 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22793 * kern/powerpc/dl.c: Likewise.
22794 * kern/sparc64/dl.c: Likewise.
22795 * kern/x86_64/dl.c: Likewise.
22796
3f7f0cd0 227972009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22798
22799 Fix grub-emu build on sparc64-ieee1275.
22800
75421ca9 22801 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 22802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22803
211d06b5 228042009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22805
22806 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22807 (grub_reboot, grub_halt): New functions.
22808
22809 * util/i386/pc/misc.c: Delete. Update all users.
22810 * util/sparc64/ieee1275/misc.c: Likewise.
22811 * util/powerpc/ieee1275/misc.c: Likewise.
22812
aaf53e3c 228132009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22814
22815 * conf/i386.rmk (setjmp_mod_SOURCES)
22816 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22817 * conf/common.rmk (setjmp_mod_SOURCES)
22818 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22819 to use $(target_cpu).
22820 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22821 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22822 * conf/powerpc-ieee1275.rmk: Likewise.
22823 * conf/sparc64-ieee1275.rmk: Likewise.
22824
22825 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22826 $(target_cpu) for kern/$(target_cpu)/dl.c.
22827 * conf/i386-efi.rmk: Likewise.
22828 * conf/i386-ieee1275.rmk: Likewise.
22829 * conf/x86_64-efi.rmk: Likewise.
22830 * conf/i386-coreboot.rmk: Likewise.
22831 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22832 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22833 kern/$(target_cpu)/cache.S.
22834 * conf/sparc64-ieee1275.rmk: Likewise.
22835
a337130b 228362009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22837
22838 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22839 type to `grub_uint8_t', and adjust `padding9' accordingly.
22840
c6fe4d53 228412009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22842
b09db61d 22843 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22844
c6fe4d53 22845 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22846 assembly in final jump, using register constraints.
22847
b09db61d 22848 (grub_linux_boot): For text mode, initialize `have_vga' using
22849 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22850
22851 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22852 right before the final jump.
22853
22854 Set `video_mode' to 0x3.
22855
22856 Document initialization of `video_page', `video_mode' and
22857 `video_ega_bx'.
22858
28333ad0 228592009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22860
22861 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22862 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 22863 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 22864
02164e1b 228652009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22866
22867 Fix build on Debian / sparc.
22868
22869 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22870
18b6c557 228712009-06-28 Pavel Roskin <proski@gnu.org>
22872
85f2aab6 22873 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22874 fix a warning.
22875
18b6c557 22876 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22877
ad760f81 228782009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22879
22880 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22881 `err'.
22882
87a4623b 228832009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22884
22885 Revert r2338.
22886
22887 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22888 file can't be opened. grub_file_open() is already supposed to set
75421ca9 22889 grub_errno / grub_errmsg appropriately.
87a4623b 22890 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22891
8231fb77 228922009-06-27 Pavel Roskin <proski@gnu.org>
228932009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22894
22895 * include/grub/dl.h: Include grub/elf.h.
22896 (struct grub_dl): Add symtab field.
22897 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22898 GRUB_MODULES_MACHINE_READONLY.
22899 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22900 of the header for read-only modules.
22901 (grub_dl_unload): Free mod->symtab for read-only modules.
22902 * kern/i386/dl.c: Use mod->symtab.
22903 * kern/powerpc/dl.c: Likewise.
22904 * kern/sparc64/dl.c: Likewise.
22905 * kern/x86_64/dl.c: Likewise.
22906
22907 * conf/i386-qemu.rmk: New file.
22908 * kern/i386/qemu/startup.S: Likewise.
22909 * kern/i386/qemu/mmap.c: Likewise.
22910 * boot/i386/qemu/boot.S: Likewise.
22911 * include/grub/i386/qemu/time.h: Likewise.
22912 * include/grub/i386/qemu/serial.h: Likewise.
22913 * include/grub/i386/qemu/kernel.h: Likewise.
22914 * include/grub/i386/qemu/console.h: Likewise.
22915 * include/grub/i386/qemu/boot.h: Likewise.
22916 * include/grub/i386/qemu/init.h: Likewise.
22917 * include/grub/i386/qemu/machine.h: Likewise.
22918 * include/grub/i386/qemu/loader.h: Likewise.
22919 * include/grub/i386/qemu/memory.h: Likewise.
22920
22921 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22922 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22923 [qemu] (pkglib_IMAGES): Add `boot.img'.
22924 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22925 [qemu] (boot_img_FORMAT): New variables.
22926 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22927 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22928 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22929 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22930 [qemu] (kernel_img_FORMAT): New variables.
22931
22932 * configure.ac: Recognise `i386-qemu'.
22933
22934 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22935 (for no compression).
22936 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22937 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22938 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22939 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22940 ifdefs).
22941
97fe384e 229422009-06-27 Pavel Roskin <proski@gnu.org>
22943
22944 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22945 read.
22946 * efiemu/prepare32.c: Likewise.
22947 * efiemu/prepare64.c: Likewise.
22948
c402ab17 229492009-06-26 Pavel Roskin <proski@gnu.org>
22950
22951 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22952 * include/grub/elf.h: Define symbols without "32" or "64" based
22953 on GRUB_TARGET_WORDSIZE.
22954 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22955 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22956 ELF definitions.
22957 * efiemu/loadcore64.c: Likewise.
22958 * loader/i386/bsd32.c: Likewise.
22959 * loader/i386/bsd64.c: Likewise.
22960 * kern/dl.c: Remove own ELF definitions.
22961 * util/i386/efi/grub-mkimage.c: Likewise.
22962
9bbdfd4d 229632009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22964
22965 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22966 segment 0x0 unconditionally, because the reference generated by
22967 GAS is an absolute address.
22968
a42ce6e9 229692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22970
22971 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22972 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22973
c952cf92 229742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22975
22976 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22977 indexes. Check for -f explicitly.
cc3752ad 22978 (search_file): Improve error message.
22979 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 22980
132a0a59 229812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22982
22983 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22984 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22985
387a140c 229862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22987
22988 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22989 * conf/i386-ieee1275.rmk: Likewise.
22990 * conf/i386-coreboot.rmk: Likewise.
22991
22992 * kern/i386/pc/startup.S (grub_stop): Remove function.
22993 * kern/i386/ieee1275/startup.S: Likewise.
22994 * kern/i386/coreboot/startup.S: Likewise.
22995 * kern/i386/misc.S (grub_stop): New function.
22996
41da9665 229972009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22998
22999 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
23000 * kern/i386/realmode.S (real_to_prot): ... to here.
23001
bf337234 230022009-06-22 Robert Millan <rmh.grub@aybabtu.com>
23003
23004 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
23005 with `kernel.img'.
23006 (kernel_elf_SOURCES): Rename to ...
23007 (kernel_img_SOURCES): ... this.
23008 (kernel_elf_HEADERS): Rename to ...
23009 (kernel_img_HEADERS): ... this. Update all users.
23010 (kernel_elf_ASFLAGS): Rename to ...
23011 (kernel_img_ASFLAGS): ... this.
23012 (kernel_elf_CFLAGS): Rename to ...
23013 (kernel_img_CFLAGS): ... this.
23014 (kernel_elf_LDFLAGS): Rename to ...
23015 (kernel_img_LDFLAGS): ... this.
23016 * conf/i386-coreboot.rmk: Likewise.
23017 * conf/powerpc-ieee1275.rmk: Likewise.
23018
23019 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
23020 with "kernel.img".
23021
f52196ff 230222009-06-21 Pavel Roskin <proski@gnu.org>
23023
c3cee413 23024 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
23025 to match nested functions.
23026 * loader/sparc64/ieee1275/linux.c: Likewise.
23027
f52196ff 23028 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
23029
58750afc 230302009-06-21 Robert Millan <rmh.grub@aybabtu.com>
23031
23032 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
23033 all i386 platforms.
23034
15355c7d 230352009-06-21 Robert Millan <rmh.grub@aybabtu.com>
23036
23037 Fix asm file handling on ELF, and remove workarounds.
23038
23039 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 23040 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 23041 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
23042 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
23043
3f3ec72b 230442009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
23045
23046 Load BSD ELF modules
23047
23048 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
23049 and loader/i386/bsd64.c
23050 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
23051 (FREEBSD_MODTYPE_ELF_MODULE): New definition
23052 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
23053 (grub_freebsd_load_elfmodule32): New declaration
23054 (grub_freebsd_load_elfmoduleobj64): Likewise
23055 (grub_freebsd_load_elf_meta32): Likewise
23056 (grub_freebsd_load_elf_meta64): Likewise
23057 (grub_freebsd_add_meta): Likewise
23058 (grub_freebsd_add_meta_module): Likewise
23059 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
23060 (grub_freebsd_add_meta_module): Likewise and move module-specific
23061 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
23062 (grub_cmd_freebsd): Add elf-kernel specific parts
23063 based on grub_freebsd_add_meta_module
23064 (grub_cmd_freebsd_module): Add type parsing moved from
23065 grub_freebsd_add_meta_module
23066 (grub_cmd_freebsd_module_elf): New function
23067 (cmd_freebsd_module_elf): New variable
23068 (GRUB_MOD_INIT): Register freebsd_module_elf
23069 * loader/i386/bsd32.c: New file
23070 * loader/i386/bsd64.c: Likewise
23071 * loader/i386/bsdXX.c: Likewise
23072 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
23073 (grub_elf64_load): Likewise
23074 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
23075 All users updated
23076 (grub_elf64_load_hook_t): Likewise
23077
0db15301 230782009-06-21 Colin Watson <cjwatson@ubuntu.com>
23079
23080 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
23081 variable.
23082 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
23083 don't write a menu entry for recovery mode.
23084
546796c1 230852009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23086
23087 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
23088 after it's no longer needed.
23089
cd7310d5 230902009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23091
23092 * include/grub/i386/loader.h (grub_linux_prot_size)
23093 (grub_linux_tmp_addr, grub_linux_real_addr)
23094 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
23095 GRUB_MACHINE_PCBIOS.
23096 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
23097 common grub_util_info() call to ...
23098 (generate_image): ... here.
23099 Fix use of uninitialized memory, comparison of signed with
23100 unsigned integers and memory leak.
23101 Remove bogus module address message.
23102
ab32d3b5 231032009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23104
23105 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
23106 grub_raid_register
23107 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
23108
024ef597 231092009-06-19 Pavel Roskin <proski@gnu.org>
23110
23111 * configure.ac: Remove stray AC_MSG_CHECKING.
23112
3ac72b51 231132009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
23114
23115 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 23116
e14cd814 231172009-06-18 Pavel Roskin <proski@gnu.org>
23118
23119 * conf/common.rmk: Add fs_file.mod.
23120 * disk/fs_file.c: New file.
23121 * include/grub/disk.h (enum grub_disk_dev_id): Add
23122 GRUB_DISK_DEVICE_FILE_ID.
23123
26586d98 231242009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23125
23126 Fix build with Apple's toolchain. Part 2
23127
23128 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
23129 a fake start
23130
26de2bcd 231312009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23132
23133 Fix build with Apple's toolchain. Part 1
23134
23135 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
23136 for long calls
23137 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 23138 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 23139 Apple's toolchain
23140
09b3490b 231412009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23142
23143 Fix warnings
23144
23145 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
23146 (decomp_block): initialize ch
23147 use grub_memcpy instead of memcpy
23148
c22a006a 231492009-06-17 Pavel Roskin <proski@gnu.org>
23150
d3638678 23151 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
23152 version, use declarations needed to use vga_text as the startup
23153 console.
23154
c22a006a 23155 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
23156 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
23157 the kernel.
23158 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
23159 and grub_at_keyboard_fini(), it's done on module load and
23160 unload.
23161
05b129e0 231622009-06-17 Felix Zielcke <fzielcke@z-51.de>
23163
23164 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
23165 file can't be found.
23166 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23167
cf24ed9e 231682009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23169
23170 Fix newline handling
23171
23172 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 23173 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 23174 (grub_script_yylex): don't segfault on unterminated script
23175 newline terminates command and variable
23176
74aa8e4b 231772009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23178
23179 avoid double grub_adjust_range call. Bug reported by David Simner
23180
23181 * kern/disk.c (grub_disk_write): change to raw disk access before
23182 calling disk_read
23183
1bd265f3 231842009-06-17 Colin Watson <cjwatson@ubuntu.com>
23185
23186 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
23187 spaces, for the benefit of help2man.
23188 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23189
a2d08c06 231902009-06-16 Pavel Roskin <proski@gnu.org>
23191
23192 * kern/i386/halt.c: Include grub/machine/init.h.
23193 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
23194
b97bcb19 231952009-06-16 Felix Zielcke <fzielcke@z-51.de>
23196
23197 * util/grub.d/30_os-prober.in: Use ${root} in the generated
23198 drivemap menuentry.
23199
0644f96c 232002009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
23201
23202 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
23203 `echo' command.
23204
3ef17a2e 232052009-06-16 Pavel Roskin <proski@gnu.org>
23206
23207 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
23208 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
23209 save %dx, we only need %dl and we never change it.
23210 * boot/i386/pc/cdboot.S: Don't set the root drive.
23211 * boot/i386/pc/pxeboot.S: Likewise.
23212 * include/grub/i386/pc/boot.h: Remove
23213 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
23214 GRUB_BOOT_MACHINE_DRIVE_CHECK.
23215 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
23216 * kern/i386/pc/init.c (make_install_device): Remove references
23217 to grub_root_drive.
23218 * kern/i386/pc/startup.S: Likewise.
23219 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
23220
693fe637 232212009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23222
23223 xnu_uuid command
23224
23225 * commands/xnu_uuid.c: new file
23226 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
23227 (xnu_uuid_mod_SOURCES): new variable
23228 (xnu_uuid_mod_CFLAGS): likewise
23229 (xnu_uuid_mod_LDFLAGS): likewise
23230 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23231 * conf/i386-ieee1275.rmk: likewise
23232 * conf/i386-pc.rmk: likewise
23233 * conf/powerpc-ieee1275.rmk: likewise
23234 * conf/sparc64-ieee1275.rmk: likewise
23235 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
23236
c9da87d0 232372009-06-16 Pavel Roskin <proski@gnu.org>
23238
23239 * configure.ac: Avoid '==' in test command, it's not portable.
23240
9c6f4596 232412009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23242
23243 Probe command
23244
23245 * commands/probe.c: new file
23246 * conf/common.rmk (pkglib_MODULES): add probe.mod
23247 (probe_mod_SOURCES): new variable
23248 (probe_mod_CFLAGS): likewise
23249 (probe_mod_LDFLAGS): likewise
23250 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23251 * conf/i386-ieee1275.rmk: likewise
23252 * conf/i386-pc.rmk: likewise
23253 * conf/powerpc-ieee1275.rmk: likewise
23254 * conf/sparc64-ieee1275.rmk: likewise
23255
70b7f9fd 232562009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
23257
23258 Fix handling of string like \"hello\" and "a
23259 b"
23260
23261 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
23262 (grub_script_yylex): fix parsing of quoting, escaping and newline
23263
71c79a6b 232642009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
23265
dd74360c 23266 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 23267 handling
dd74360c 23268
0644f96c 232692009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 23270
23271 * util/grub-mkconfig.in: Fix parsing of --output option.
23272
e40893c3 232732009-06-12 Pavel Roskin <proski@gnu.org>
23274
23275 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
23276 genmk.rb don't need to be generated or installed.
23277
3a1acfe2 232782009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23279
23280 * commands/i386/pc/drivemap_int13h.S: add more comments
23281
3a4575d4 232822009-06-11 Pavel Roskin <proski@gnu.org>
23283
0658e928 23284 * Makefile.in (uninstall): Uninstall manuals.
23285
ca0388f0 23286 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
23287 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
23288 and update-grub_lib in two places.
23289 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
23290
e3b27c39 23291 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
23292 a compiler warning.
23293
3a4575d4 23294 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
23295 `entry_lo' to fix variable shadowing.
23296
af1f4f55 232972009-06-11 Christian Franke <franke@computer.org>
23298
23299 * kern/misc.c (__enable_execute_stack): Add missing return type
23300 to prevent gcc warning.
23301
5225e649 233022009-06-11 Felix Zielcke <fzielcke@z-51.de>
23303
23304 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
23305
7d83bd47 233062009-06-11 Pavel Roskin <proski@gnu.org>
23307
c1cb63ba 23308 * Makefile.in: Don't rely on any scripts being executable.
23309 Always use $(SHELL) to run shell scripts.
23310
7d83bd47 23311 * configure.ac: Always define ___main if using -nostdlib. This
23312 fixes tests on Cygwin.
23313
948f48e7 233142009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
23315
23316 UDF fix
23317
7d83bd47 23318 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 23319 is in bytes and not in blocks
7d83bd47 23320
8ada9bc1 233212009-06-11 Pavel Roskin <proski@gnu.org>
23322
23323 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
23324 warning.
23325
25ad2323 233262009-06-11 Felix Zielcke <fzielcke@z-51.de>
23327
23328 * util/grub.d/30_os-prober.in: Fix a comment. Source
23329 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
23330 to set the root device. Place drivemap command in the generated
23331 chain entry.
23332
e65acb0c 233332009-06-11 Pavel Roskin <proski@gnu.org>
23334
23335 * configure.ac: Remove host_m32. Issues with 64-bit utilities
23336 have long been resolved.
23337
f285fe2d 233382009-06-11 Colin Watson <cjwatson@ubuntu.com>
23339
bd47b0b5 23340 * util/grub.d/10_linux.in: Capitalise "Linux".
23341
f285fe2d 23342 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
23343
a0c62e4e 233442009-06-11 Pavel Roskin <proski@gnu.org>
23345
b6783cb2 23346 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
23347 fix a gcc warning and ensure that the function won't ever exit.
23348
dde032e8 23349 * kern/i386/ieee1275/init.c: Add missing prototype for
23350 grub_stop_floppy().
23351
22cd079d 23352 * loader/ieee1275/multiboot2.c [__i386__]: Include
23353 grub/cpu/multiboot.h.
23354
a0c62e4e 23355 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
23356 casts to short - they are not portable and cause warnings. Fix
23357 use of uninitialized values in input_buf. Use ARRAY_SIZE.
23358
63963d17 233592009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
23360
23361 Drivemap fixes
23362
23363 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
23364 new function
23365 (grub_get_root_biosnumber_saved): new variable
23366 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
23367 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 23368 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 23369 %dx after the call if necessary
23370 * conf/common.rmk (pkglib_MODULES): remove boot.mod
23371 (boot_mod_SOURCES): remove
23372 (boot_mod_CFLAGS): remove
23373 (boot_mod_LDFLAGS): remove
23374 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
23375 (boot_mod_SOURCES): new variable
23376 (boot_mod_CFLAGS): likewise
23377 (boot_mod_LDFLAGS): likewise
23378 * conf/i386-efi.rmk: likewise
23379 * conf/i386-ieee1275.rmk: likewise
23380 * conf/i386-pc.rmk: likewise
23381 * conf/powerpc-ieee1275.rmk: likewise
23382 * conf/sparc64-ieee1275.rmk: likewise
23383 * conf/x86_64-efi.rmk: likewise
23384 * include/grub/i386/pc/biosnum.h: new file
23385 * lib/i386/pc/biosnum.c: likewise
23386 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
23387 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
23388 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 23389
33abf7ae 233902009-06-10 Pavel Roskin <proski@gnu.org>
23391
5ac35b35 23392 * io/gzio.c (test_header): Don't reuse one buffer for all data.
23393 Use separate variables. Read only the file size at the end, but
23394 not the checksum that we don't use.
23395
5c5215d5 23396 * kern/file.c (grub_file_read): Use void pointer for the buffer.
23397 Adjust all callers.
23398
27d5fef7 23399 * kern/ieee1275/openfw.c: Remove libc includes.
23400 * kern/ieee1275/cmain.c: Likewise.
23401 * include/grub/ieee1275/ieee1275.h: Likewise.
23402
33abf7ae 23403 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
23404 compiler warnings.
23405
19d50c2b 234062009-06-10 Felix Zielcke <fzielcke@z-51.de>
23407
23408 * Makefile.in: Remove all trailing whitespace.
23409 * conf/i386-pc.rmk: Likewise.
23410 * conf/powerpc-ieee1275.rmk: Likewise.
23411 * conf/sparc64-ieee1275.rmk: Likewise.
23412 * docs/grub.texi: Likewise.
23413 * docs/texinfo.tex: Likewise.
23414 * disk/fs_uuid.c: Likewise.
23415 * disk/lvm.c: Likewise.
23416 * disk/scsi.c: Likewise.
23417 * disk/ata.c: Likewise.
23418 * disk/ieee1275/ofdisk.c: Likewise.
23419 * disk/i386/pc/biosdisk.c: Likewise.
23420 * disk/host.c: Likewise.
23421 * disk/raid.c: Likewise.
23422 * disk/efi/efidisk.c: Likewise.
23423 * disk/usbms.c: Likewise.
23424 * disk/memdisk.c: Likewise.
23425 * disk/loopback.c: Likewise.
23426 * kern/powerpc/dl.c: Likewise.
23427 * kern/device.c: Likewise.
23428 * kern/dl.c: Likewise.
23429 * kern/sparc64/dl.c: Likewise.
23430 * kern/ieee1275/ieee1275.c: Likewise.
23431 * kern/term.c: Likewise.
23432 * kern/fs.c: Likewise.
23433 * kern/i386/dl.c: Likewise.
23434 * kern/i386/pc/startup.S: Likewise.
23435 * kern/i386/pc/init.c: Likewise.
23436 * kern/i386/pc/mmap.c: Likewise.
23437 * kern/i386/pc/lzo1x.S: Likewise.
23438 * kern/i386/ieee1275/init.c: Likewise.
23439 * kern/i386/realmode.S: Likewise.
23440 * kern/i386/tsc.c: Likewise.
23441 * kern/partition.c: Likewise.
23442 * kern/corecmd.c: Likewise.
23443 * kern/file.c: Likewise.
23444 * kern/efi/efi.c: Likewise.
23445 * kern/efi/init.c: Likewise.
23446 * kern/efi/mm.c: Likewise.
23447 * kern/main.c: Likewise.
23448 * kern/err.c: Likewise.
23449 * kern/env.c: Likewise.
23450 * kern/disk.c: Likewise.
23451 * kern/generic/millisleep.c: Likewise.
23452 * kern/generic/rtc_get_time_ms.c: Likewise.
23453 * kern/misc.c: Likewise.
23454 * kern/parser.c: Likewise.
23455 * genmk.rb: Likewise.
23456 * configure.ac: Likewise.
23457 * boot/i386/pc/diskboot.S: Likewise.
23458 * boot/i386/pc/pxeboot.S: Likewise.
23459 * boot/i386/pc/boot.S: Likewise.
23460 * boot/i386/pc/lnxboot.S: Likewise.
23461 * boot/i386/pc/cdboot.S: Likewise.
23462 * parttool/pcpart.c: Likewise.
23463 * video/readers/tga.c: Likewise.
23464 * video/video.c: Likewise.
23465 * video/bitmap.c: Likewise.
23466 * lib/envblk.c: Likewise.
23467 * lib/i386/setjmp.S: Likewise.
23468 * fs/xfs.c: Likewise.
23469 * fs/afs.c: Likewise.
23470 * fs/fat.c: Likewise.
23471 * fs/ntfs.c: Likewise.
23472 * fs/udf.c: Likewise.
23473 * fs/affs.c: Likewise.
23474 * fs/iso9660.c: Likewise.
23475 * fs/hfs.c: Likewise.
23476 * fs/fshelp.c: Likewise.
23477 * fs/ext2.c: Likewise.
23478 * fs/jfs.c: Likewise.
23479 * fs/reiserfs.c: Likewise.
23480 * fs/hfsplus.c: Likewise.
23481 * fs/minix.c: Likewise.
23482 * fs/cpio.c: Likewise.
23483 * fs/sfs.c: Likewise.
23484 * fs/ufs.c: Likewise.
23485 * efiemu/prepare.c: Likewise.
23486 * efiemu/loadcore_common.c: Likewise.
23487 * efiemu/runtime/efiemu.sh: Likewise.
23488 * efiemu/runtime/efiemu.S: Likewise.
23489 * efiemu/runtime/efiemu.c: Likewise.
23490 * efiemu/pnvram.c: Likewise.
23491 * efiemu/main.c: Likewise.
23492 * efiemu/i386/pc/cfgtables.c: Likewise.
23493 * efiemu/i386/loadcore64.c: Likewise.
23494 * efiemu/i386/loadcore32.c: Likewise.
23495 * efiemu/loadcore.c: Likewise.
23496 * efiemu/symbols.c: Likewise.
23497 * efiemu/mm.c: Likewise.
23498 * include/grub/autoefi.h: Likewise.
23499 * include/grub/datetime.h: Likewise.
23500 * include/grub/term.h: Likewise.
23501 * include/grub/hfs.h: Likewise.
23502 * include/grub/lvm.h: Likewise.
23503 * include/grub/i386/tsc.h: Likewise.
23504 * include/grub/i386/linux.h: Likewise.
23505 * include/grub/i386/xnu.h: Likewise.
23506 * include/grub/i386/efiemu.h: Likewise.
23507 * include/grub/i386/pc/biosdisk.h: Likewise.
23508 * include/grub/i386/pc/memory.h: Likewise.
23509 * include/grub/i386/pc/vbe.h: Likewise.
23510 * include/grub/parttool.h: Likewise.
23511 * include/grub/video.h: Likewise.
23512 * include/grub/memory.h: Likewise.
23513 * include/grub/fs.h: Likewise.
23514 * include/grub/partition.h: Likewise.
23515 * include/grub/xnu.h: Likewise.
23516 * include/grub/efi/api.h: Likewise.
23517 * include/grub/efi/pe32.h: Likewise.
23518 * include/grub/efi/memory.h: Likewise.
23519 * include/grub/multiboot.h: Likewise.
23520 * include/grub/usbdesc.h: Likewise.
23521 * include/grub/multiboot2.h: Likewise.
23522 * include/grub/acpi.h: Likewise.
23523 * include/grub/efiemu/efiemu.h: Likewise.
23524 * include/grub/disk.h: Likewise.
23525 * include/grub/ieee1275/ieee1275.h: Likewise.
23526 * include/grub/net.h: Likewise.
23527 * include/grub/machoload.h: Likewise.
23528 * include/grub/macho.h: Likewise.
23529 * include/multiboot.h: Likewise.
23530 * genmoddep.awk: Likewise.
23531 * normal/main.c: Likewise.
23532 * normal/menu_entry.c: Likewise.
23533 * normal/menu_viewer.c: Likewise.
23534 * normal/completion.c: Likewise.
23535 * normal/cmdline.c: Likewise.
23536 * normal/misc.c: Likewise.
23537 * normal/datetime.c: Likewise.
23538 * bus/usb/usbtrans.c: Likewise.
23539 * bus/usb/ohci.c: Likewise.
23540 * bus/usb/uhci.c: Likewise.
23541 * bus/usb/usb.c: Likewise.
23542 * mmap/efi/mmap.c: Likewise.
23543 * mmap/i386/pc/mmap_helper.S: Likewise.
23544 * mmap/i386/pc/mmap.c: Likewise.
23545 * mmap/i386/mmap.c: Likewise.
23546 * mmap/i386/uppermem.c: Likewise.
23547 * mmap/mmap.c: Likewise.
23548 * commands/acpi.c: Likewise.
23549 * commands/echo.c: Likewise.
23550 * commands/blocklist.c: Likewise.
23551 * commands/loadenv.c: Likewise.
23552 * commands/usbtest.c: Likewise.
23553 * commands/boot.c: Likewise.
23554 * commands/parttool.c: Likewise.
23555 * commands/search.c: Likewise.
23556 * commands/cat.c: Likewise.
23557 * commands/i386/pc/play.c: Likewise.
23558 * commands/i386/pc/drivemap.c: Likewise.
23559 * commands/i386/pc/vbeinfo.c: Likewise.
23560 * commands/i386/pc/acpi.c: Likewise.
23561 * commands/i386/pc/vbetest.c: Likewise.
23562 * commands/ls.c: Likewise.
23563 * commands/cmp.c: Likewise.
23564 * commands/test.c: Likewise.
23565 * commands/efi/acpi.c: Likewise.
23566 * commands/gptsync.c: Likewise.
23567 * commands/help.c: Likewise.
23568 * partmap/amiga.c: Likewise.
23569 * partmap/apple.c: Likewise.
23570 * partmap/acorn.c: Likewise.
23571 * partmap/pc.c: Likewise.
23572 * partmap/sun.c: Likewise.
23573 * partmap/gpt.c: Likewise.
23574 * script/sh/lexer.c: Likewise.
23575 * script/sh/function.c: Likewise.
23576 * font/font.c: Likewise.
23577 * font/font_cmd.c: Likewise.
23578 * loader/powerpc/ieee1275/linux.c: Likewise.
23579 * loader/efi/chainloader.c: Likewise.
23580 * loader/multiboot_loader.c: Likewise.
23581 * loader/macho.c: Likewise.
23582 * loader/i386/multiboot.c: Likewise.
23583 * loader/i386/linux.c: Likewise.
23584 * loader/i386/pc/linux.c: Likewise.
23585 * loader/i386/pc/multiboot2.c: Likewise.
23586 * loader/i386/pc/chainloader.c: Likewise.
23587 * loader/i386/pc/xnu.c: Likewise.
23588 * loader/i386/bsd_trampoline.S: Likewise.
23589 * loader/i386/efi/linux.c: Likewise.
23590 * loader/i386/multiboot_elfxx.c: Likewise.
23591 * loader/i386/bsd_helper.S: Likewise.
23592 * loader/i386/bsd.c: Likewise.
23593 * loader/i386/linux_trampoline.S: Likewise.
23594 * loader/i386/xnu_helper.S: Likewise.
23595 * loader/i386/xnu.c: Likewise.
23596 * loader/i386/bsd_pagetable.c: Likewise.
23597 * loader/i386/multiboot_helper.S: Likewise.
23598 * loader/xnu.c: Likewise.
23599 * loader/xnu_resume.c: Likewise.
23600 * io/gzio.c: Likewise.
23601 * term/efi/console.c: Likewise.
23602 * term/terminfo.c: Likewise.
23603 * term/ieee1275/ofconsole.c: Likewise.
23604 * term/i386/pc/serial.c: Likewise.
23605 * term/i386/pc/vesafb.c: Likewise.
23606 * term/i386/pc/vga.c: Likewise.
23607 * term/usb_keyboard.c: Likewise.
23608 * term/gfxterm.c: Likewise.
23609 * aclocal.m4: Likewise.
23610 * util/lvm.c: Likewise.
23611 * util/grub.d/30_os-prober.in: Likewise.
23612 * util/grub.d/10_hurd.in: Likewise.
23613 * util/console.c: Likewise.
23614 * util/grub-macho2img.c: Likewise.
23615 * util/grub-probe.c: Likewise.
23616 * util/hostfs.c: Likewise.
23617 * util/i386/pc/grub-mkimage.c: Likewise.
23618 * util/i386/pc/grub-setup.c: Likewise.
23619 * util/i386/efi/grub-mkimage.c: Likewise.
23620 * util/grub-mkconfig.in: Likewise.
23621 * util/raid.c: Likewise.
23622 * util/resolve.c: Likewise.
23623 * util/grub-mkdevicemap.c: Likewise.
23624 * util/grub-emu.c: Likewise.
23625 * util/getroot.c: Likewise.
23626 * util/hostdisk.c: Likewise.
23627 * util/usb.c: Likewise.
23628 * util/grub-editenv.c: Likewise.
23629 * util/misc.c: Likewise.
23630
d2d49665 236312009-06-10 Felix Zielcke <fzielcke@z-51.de>
23632
23633 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23634 `genparttoollist.sh'.
23635 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23636 Add `*.sh' to the list find searches for and change `mdate.sh'
23637 to `mdate-sh'.
23638
fe052e37 236392009-06-10 Pavel Roskin <proski@gnu.org>
23640
2763ac18 23641 * include/grub/multiboot2.h: Provide compatibility defines for
23642 multiboot2.h.
23643 * include/multiboot2.h: Include stdint.h only if needed, using
23644 angle brackets.
23645 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23646 grub/multiboot2.h.
23647 * loader/ieee1275/multiboot2.c: Likewise.
23648 * loader/multiboot2.c: Likewise.
23649 * loader/multiboot_loader.c: Likewise.
23650
437e6adc 23651 * configure.ac: Use -nostdlib when probing for the target. It
23652 should not be required to have libc for the target.
23653
06a6836c 23654 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23655 they fail without libc headers for the target.
23656 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23657 exports.
23658 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23659 preprocessor conditionals.
23660
fe052e37 23661 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23662 build system doesn't need to be aware of the tar.c internals.
23663
afd22553 236642009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 23665
afd22553 23666 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 23667
6b787c4f 236682009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23669
23670 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23671 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23672
236732009-06-09 Felix Zielcke <fzielcke@z-51.de>
23674
23675 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 23676 aren't available if ata.mod gets used.
6b787c4f 23677
473d1e45 236782009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 23679
473d1e45 23680 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 23681 initialising controller.
473d1e45 23682 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 23683
255a27d4 236842009-06-08 Felix Zielcke <fzielcke@z-51.de>
23685
23686 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23687 to choose between ata and biosdisk module on i386-pc.
23688
473d1e45 236892009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 23690
d55842d8 23691 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23692 Subclass and Programming Interface fields in terms of the 3 byte
23693 Class Code register.
23694 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23695
fa5db0b1 23696 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23697 interface is OHCI. Add grub_dprintf for symmetry with
23698 bus/usb/uhci.c.
23699 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23700 interface is UHCI. Add interf variable for programming
23701 interface. Print interface with class/subclass.
23702
c0947beb 23703 * bus/usb/ohci.c: Set interf with correct field.
23704
69da8877 23705 * bus/usb/uhci.c: Remove unneeded doubled lines.
23706 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23707 Remove whitespace inside comment.
23708
9e172e30 237092009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23710
23711 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23712 as fallback an equivalent option without depth.
23713
de65ee2b 237142009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23715
23716 Not fail if unable to retrieve C/H/S on LBA disks
23717
473d1e45 23718 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 23719 if unable to retrieve C/H/S on LBA disks
23720
b57ea2c9 237212009-06-08 Pavel Roskin <proski@gnu.org>
23722
23723 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23724 about aliasing.
23725
af361263 237262009-06-08 Felix Zielcke <fzielcke@z-51.de>
23727
23728 * Makefile.in (uninstall): Remove all $lib_DATA files.
23729
4c9ec6b3 237302009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23731
23732 Bugfix: install on partitionless device
23733
23734 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23735 is a whole disk
23736
e76fc924 237372009-06-08 Felix Zielcke <fzielcke@z-51.de>
23738
23739 * Makefile.in (uninstall): Remove all $include_DATA files.
23740
ba5a0d05 237412009-06-08 Felix Zielcke <fzielcke@z-51.de>
23742
23743 * commands/true.c: New file. Implement the true and false commands.
23744 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23745 (true_mod_SOURCES): New variable.
23746 (true_mod_CFLAGS): Likewise.
23747 (true_mod_LDFLAGS): Likewise.
23748
c8048e32 237492009-06-05 Colin D Bennett <colin@gibibit.com>
23750
23751 Optimized font character lookup using binary search instead of linear
23752 search. Fonts now are required to have the character index ordered by
23753 code point.
23754
23755 * font/font.c (load_font_index): Verify that fonts have ordered
23756 character indices.
23757 (find_glyph): Use binary search instead of linear search to find a
23758 character in a font.
23759
408305be 237602009-06-05 Michael Scherer <misc@mandriva.org>
23761
23762 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23763 uses case sensitive btree.
23764 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23765 only for case insensitive filesystems.
23766
8ee1e0d9 237672009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23768
23769 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23770 * conf/common.rmk (search_mod_CFLAGS): likewise
23771
a9966eb1 237722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23773
473d1e45 23774 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 23775 compensate a compiler bug
23776
9e7100fb 237772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23778
473d1e45 23779 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 23780 instead of '\b'
473d1e45 23781
ede21d71 237822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23783
23784 Definitions for creating asm symbols with Apple's CC
23785
23786 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23787 [APPLE_CC] (VARIABLE): likewise
23788
9dbf7653 237892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23790
23791 Disable lnxboot.img when compiled
23792 with Apple's CC
23793
23794 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23795 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23796 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23797 [! APPLE_CC] (CODE_LENG): skip
23798 [! APPLE_CC] (setup_sects): likewise
23799 [! APPLE_CC]: skip filling
473d1e45 23800
e93cdc3d 238012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23802
23803 Address in trampolines based on 32-bit registers when compiled
23804 with Apple's CC
23805
473d1e45 23806 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 23807 for addresses
23808 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23809
6c688477 238102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23811
23812 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23813
23814 * kern/misc.c [APPLE_CC] (memcpy): new function
23815 [APPLE_CC] (memmove): likewise
23816 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 23817 (memcpy): define alias conditionally on !APPLE_CC
6c688477 23818 (memset): likewise
23819 (abort): likewise
23820 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23821 APPLE_CC are defined
23822 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23823 (grub_assert_fail): make prototype conditional
23824
e37ffc5c 238252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23826
23827 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23828
473d1e45 23829 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23830 grub-macho2img
e37ffc5c 23831 (CLEANFILES): add grub-macho2img
23832 (grub_macho2img_SOURCES): new variable
23833 * kern/i386/pc/startup.S (bss_start): new variable
23834 (bss_end): likewise
23835 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23836 * util/grub-macho2img.c: new file
23837
cf00df31 238382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23839
23840 Use objconv when compiling with Apple's CC
23841
23842 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23843 (efiemu64.o): likewise
23844 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23845 when compiling with Apple's CC
23846 (efiemu64_s.o): likewise
23847 * configure.ac: check for objconv when compiling with Apple's CC
23848 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 23849
d119a20c 238502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23851
23852 Define segment as well as section when compiling with
23853 Apple's CC
23854
23855 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23856 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23857 (efiemu_convert_pointer): likewise
23858 (efiemu_set_virtual_address_map): likewise
23859 (efiemu_convert_pointer): likewise
23860 (efiemu_getcrc32): likewise
23861 (init_crc32_table): likewise
23862 (reflect): likewise
23863 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23864 (GRUB_MOD_DEP): likewise
473d1e45 23865
c8600122 238662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23867
23868 Allow a compilation without -mcmodel=large
23869
23870 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23871 when compiled without -mcmodel=large
473d1e45 23872 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 23873 without -mcmodel=large
473d1e45 23874 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 23875 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 23876
e8df1d4e 238772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23878
23879 Remove nested functions in efiemu core
23880
23881 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 23882
cc6c3ac1 238832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23884
23885 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23886
23887 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23888 temporary storage
473d1e45 23889 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23890 using Apple's CC
cc6c3ac1 23891 (grub_cpu_is_tsc_supported): likewise
23892 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 23893
3e325901 238942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23895
23896 Absolute addressing through constant with Apple's cc
23897
23898 * kern/i386/pc/startup.S: Define necessary constants
23899 and address through it when using ABS with Apple's CC
23900 * boot/i386/pc/diskboot.S: likewise
23901 * boot/i386/pc/boot.S: likewise
23902 * boot/i386/pc/lnxboot.S: likewise
23903 * boot/i386/pc/cdboot.S: likewise
23904 * mmap/i386/pc/mmap_helper.S: likewise
23905 * commands/i386/pc/drivemap_int13h.S: likewise
23906
2b167a72 239072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23908
23909 Check if compiler is apple cc
23910
23911 * Makefile.in (ASFLAGS): new variable
23912 (TARGET_ASFLAGS): likewise
23913 (TARGET_MODULE_FORMAT): likewise
23914 (TARGET_APPLE_CC): likewise
23915 (OBJCONV): likewise
23916 (TARGET_IMG_CFLAGS): likewise
23917 (TARGET_CPPFLAGS): add includedir
23918 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23919 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23920 Check for linker script only if compiler isn't Apple's CC
23921 (TARGET_MODULE_FORMAT): set
23922 (TARGET_APPLE_CC): likewise
23923 (TARGET_ASFLAGS): likewise
23924 (ASFLAGS): likewise
23925 Check for objcopy only if compiler isn't Apple's CC
23926 Check for BSS symbol only if compiler isn't Apple's CC
23927 * genmk.rb: adapt nm options if we use Apple's utils
23928 * aclocal.m4 (grub_apple_cc): new test
23929 (grub_apple_target_cc): likewise
473d1e45 23930
fb14123e 239312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23932
23933 Simplify sed expressions and improve awk
23934
23935 * Makefile.in (install-local): simplify sed expression
23936 * gencmdlist.sh: likewise
23937 * genmoddep.awk: avoid adding module as a dependency of itself
23938
5b889789 239392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23940
23941 Add missing start symbols
23942
23943 * boot/i386/pc/boot.S: add start
fb14123e 23944 * boot/i386/pc/pxeboot.S: likewise
473d1e45 23945
fd2bf2e3 239462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23947
23948 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 23949
23950 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 23951 (relocate_addresses): consider both r_addend and value at offset
23952 (make_mods_section): zerofill modinfo and header
23953 (convert_elf): write prefix here
473d1e45 23954
5389763d 239552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23956
23957 Use .asciz instead of .string
23958
23959 * i386/pc/diskboot.S: use .asciz instead of .string
23960 * i386/pc/boot.S: likewise
23961 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23962 (GRUB_MOD_NAME): likewise
473d1e45 23963
3eb5ed4e 239642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23965
23966 gfxpayload support
23967
23968 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23969 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23970 (grub_video_setup): remove
23971 (grub_video_set_mode): new prototype
23972 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23973 (vid_mode): remove
23974 (linux_vesafb_res): compile only on PCBIOS
23975 (grub_linux_boot): support gfxpayload
23976 * loader/i386/pc/xnu.c (video_hook): new function
23977 (grub_xnu_set_video): support gfxpayload
23978 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23979 (DEFAULT_VIDEO_HEIGHT): likewise
23980 (DEFAULT_VIDEO_FLAGS): likewise
23981 (DEFAULT_VIDEO_MODE): new definition
23982 (video_hook): new function
23983 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 23984 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 23985 loading xnu
23986 * video/video.c (grub_video_setup): removed
473d1e45 23987 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 23988 grub_video_setup
23989
4b0e1143 239902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23991
23992 Avoid calling biosdisk in drivemap
23993
23994 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23995 (revparse_biosdisk): likewise
23996 (list_mappings): derive name from id directly
23997 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 23998
fda6cb98 239992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24000
24001 Script fixes
24002
24003 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
24004 (grub_lexer_param): add tokenonhold
24005 (grub_script_create_cmdline): remove cmdline. All callers updated
24006 (grub_script_function_create): make functionname
24007 grub_script_arg. All callers updated
24008 (grub_script_execute_argument_to_string): new prototype
24009 * kern/parser.c (state_transitions): reorder
24010 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 24011 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 24012 make global
24013 (grub_script_execute_cmdline): use new format
24014 * script/sh/function.c (grub_script_function_create): make functionname
24015 grub_script_arg. All callers updated
473d1e45 24016 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 24017 (grub_script_yylex): remove
24018 (grub_script_yylex2): renamed to ...
24019 (grub_script_yylex): ...renamed
24020 parse the expressions like a${b}c
24021 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
24022 (GRUB_PARSER_TOKEN_VAR): remove
24023 (GRUB_PARSER_TOKEN_NAME): likewise
24024 ("if"): declare as typeless
24025 ("while"): likewise
24026 ("function"): likewise
24027 ("else"): likewise
24028 ("then"): likewise
24029 ("fi"): likewise
24030 (text): remove
24031 (argument): likewise
24032 (script): accept empty scripts and make exit on error
24033 (arguments): use GRUB_PARSER_TOKEN_ARG
24034 (function): likewise
24035 (command): move error handling to script
24036 (menuentry): move grub_script_lexer_ref before
473d1e45 24037 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 24038 argument. All callers updated
24039
f4448a07 240402009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24041
24042 Prevent GRUB from probing floppies during boot.
24043
24044 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
24045 * commands/search.c (options): Add --no-floppy.
24046 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
24047 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
24048 --no-floppy when searching for UUIDs.
24049
2bf5885a 240502009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24051
24052 Simplify the code duplication in commands/search.c.
24053
24054 * commands/search.c (search_label, search_fs_uuid): Merge into ...
24055 (search_fs): ... this. Update all users.
24056
f6fd460a 240572009-06-03 Felix Zielcke <fzielcke@z-51.de>
24058
24059 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
24060
cbb3c83e 240612009-05-28 Pavel Roskin <proski@gnu.org>
24062
57788cfd 24063 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
24064 Remove the original symlink explicitly.
24065
cbb3c83e 24066 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
24067 just one slash. That's how grub_fshelp_find_file() does it.
24068
cd0d5e30 240692009-05-26 Pavel Roskin <proski@gnu.org>
24070
f0f8bbe2 24071 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
24072 to `str'.
24073
cd0d5e30 24074 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
24075 possibly unused.
24076
8c2cab51 240772009-05-25 Christian Franke <franke@computer.org>
24078
24079 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
24080 register.
24081 (grub_atapi_identify): Add wait after drive select.
24082 (grub_ata_identify): Do more strict status register check before
24083 calling grub_atapi_identify (). Suppress error message if status
24084 register is 0x00 after command failure. Add status register
24085 check after PIO read to avoid bogus identify due to stuck DRQ.
24086 Thanks to Pavel Roskin for testing.
24087 (grub_device_initialize): Remove unsafe status register check.
24088 Thanks to 'phcoder' for problem report and patch.
24089 Prevent sign extension in debug message.
24090
230c0ad6 240912009-05-23 Colin D Bennett <colin@gibibit.com>
24092
24093 Cleaned up `include/grub/normal.h'. Grouped prototypes by
24094 definition file, and functions defined in `normal/menu.c' have had
24095 their prototypes moved to `include/grub/menu.h' for consistency.
24096
24097 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
24098 from normal.h.
24099 (grub_menu_get_entry): Likewise.
24100 (grub_menu_get_timeout): Likewise.
24101 (grub_menu_set_timeout): Likewise.
24102 (grub_menu_execute_entry): Likewise.
24103 (grub_menu_execute_with_fallback): Likewise.
24104 (grub_menu_entry_run): Likewise.
24105
24106 * include/grub/normal.h: Re-ordered and grouped function
24107 prototypes by file that the function is defined in.
24108 (grub_menu_execute_callback): Removed; moved to menu.h.
24109 (grub_menu_get_entry): Likewise.
24110 (grub_menu_get_timeout): Likewise.
24111 (grub_menu_set_timeout): Likewise.
24112 (grub_menu_execute_entry): Likewise.
24113 (grub_menu_execute_with_fallback): Likewise.
24114 (grub_menu_entry_run): Likewise.
24115 (grub_menu_addentry): Renamed from this ...
24116 (grub_normal_add_menu_entry): ... to this.
24117
24118 * normal/main.c (grub_menu_addentry): Renamed from this ...
24119 (grub_normal_add_menu_entry): ... to this.
24120
24121 * script/sh/execute.c (grub_script_execute_menuentry): Update
24122 reference to renamed grub_menu_addentry function.
24123
861f03a5 241242009-05-23 Felix Zielcke <fzielcke@z-51.de>
24125
24126 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
24127
96b1619a 241282009-05-22 Pavel Roskin <proski@gnu.org>
24129
bf6a5fb2 24130 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
24131 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
24132 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
24133 compiling for the i386 targets, but not for the utilities.
24134
96b1619a 24135 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
24136 to grub_uint8_t.
24137 (grub_root_drive): Likewise.
24138 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
24139 remove alignment.
24140 (grub_root_drive): Change size to byte.
24141 (grub_start_addr): Remove.
24142 (grub_end_addr): Likewise.
24143 (grub_apm_bios_info): Likewise.
24144
b729776b 241452009-05-21 Felix Zielcke <fzielcke@z-51.de>
24146
24147 * normal/i386: Remove.
24148 * normal/powerpc: Likewise.
24149 * normal/sparc64: Likewise.
24150 * normal/x86_64: Likewise.
24151
0a15ce80 241522009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
24153
24154 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 24155 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 24156 * loader/i386/xnu_helper.S: Likewise
d6da58e6 24157
33db9015 241582009-05-18 Colin D Bennett <colin@gibibit.com>
24159
d6da58e6 24160 Display error messages when parsing a Lua statement fails.
24161 Previously, executing a syntactically invalid statement like
24162 ")foo" or "bar;" would silently fail.
33db9015 24163
24164 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 24165 (grub_lua_parse_line): Improved reporting of Lua parser and
24166 execution errors.
33db9015 24167
46422c89 241682009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24169
24170 Remove -Werror which causes build to fail on some systems
24171
24172 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
24173 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
24174 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 24175
22f53a96 241762009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24177
24178 trampoline for linux on 64-bit platform
24179
18f547ad 24180 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
24181 loader/i386/efi/linux_trampoline.S
24182 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 24183 declaration
d6da58e6 24184 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
24185 here
22f53a96 24186 * loader/i386/linux_trampoline.S: moved here
d6da58e6 24187 * loader/i386/efi/linux.c (allocate_pages): reserve space for
24188 trampoline
22f53a96 24189 (jumpvector): removed
24190 (grub_linux_trampoline_start): new declaration
24191 (grub_linux_trampoline_end): likewise
24192 (grub_linux_boot): use trampoline when on 64-bit platform
24193 * loader/i386/linux.c: likewise
24194
cb5a0f40 241952009-05-16 Pavel Roskin <proski@gnu.org>
24196
24197 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
24198 const to avoid a warning.
24199 (grub_lua_setenv): Likewise.
24200 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
24201 lmsg to fix a warning.
24202
334f2c28 242032009-05-16 Felix Zielcke <fzielcke@z-51.de>
24204
24205 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 24206 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24207 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
24208 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24209 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24210 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24211 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24212 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 24213
59e5d3ec 242142009-05-16 Felix Zielcke <fzielcke@z-51.de>
24215
24216 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
24217
9d87a1ba 242182009-05-16 Bean <bean123ch@gmail.com>
24219
24220 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
24221 (lua_mod_SOURCES): New variable.
24222 (lua_mod_CFLAGS): Likewise.
24223 (lua_mod_LDFLAGS): Likewise.
24224
24225 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
24226 (setjmp_mod_SOURCES): New variable.
24227 (setjmp_mod_CFLAGS): Likewise.
24228 (setjmp_LDFLAGS): Likewise.
24229
24230 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
24231 (setjmp_mod_SOURCES): New variable.
24232 (setjmp_mod_CFLAGS): Likewise.
24233 (setjmp_LDFLAGS): Likewise.
24234
24235 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24236 (setjmp_mod_SOURCES): New variable.
24237 (setjmp_mod_CFLAGS): Likewise.
24238 (setjmp_LDFLAGS): Likewise.
24239
24240 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24241 (setjmp_mod_SOURCES): New variable.
24242 (setjmp_mod_CFLAGS): Likewise.
24243 (setjmp_LDFLAGS): Likewise.
24244
24245 * normal/i386/setjmp.S: Moved from here ...
24246 * lib/i386/setjmp.S: ... Moved here
24247 * normal/x86_64/setjmp.S: Moved from here ...
24248 * lib/x86_64/setjmp.S: ... Moved here
24249 * normal/powerpc/setjmp.S: Moved from here ...
24250 * lib/powerpc/setjmp.S: ... Moved here
24251 * normal/sparc64/setjmp.S: Moved from here ...
24252 * lib/sparc64/setjmp.S: ... Moved here
24253
24254 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
24255 returns_twice in mingw.
24256
24257 * script/lua/grub_lib.c: New file.
24258 * script/lua/grub_lib.h: Likewise.
24259 * script/lua/grub_lua.h: Likewise.
24260 * script/lua/grub_main.c: Likewise.
24261 * script/lua/lapi.c: Likewise.
24262 * script/lua/lapi.h: Likewise.
24263 * script/lua/lauxlib.c: Likewise.
24264 * script/lua/lauxlib.h: Likewise.
24265 * script/lua/lbaselib.c: Likewise.
24266 * script/lua/lcode.c: Likewise.
24267 * script/lua/lcode.h: Likewise.
24268 * script/lua/ldblib.c: Likewise.
24269 * script/lua/ldebug.c: Likewise.
24270 * script/lua/ldebug.h: Likewise.
24271 * script/lua/ldo.c: Likewise.
24272 * script/lua/ldo.h: Likewise.
24273 * script/lua/ldump.c: Likewise.
24274 * script/lua/lfunc.c: Likewise.
24275 * script/lua/lfunc.h: Likewise.
24276 * script/lua/lgc.c: Likewise.
24277 * script/lua/lgc.h: Likewise.
24278 * script/lua/linit.c: Likewise.
24279 * script/lua/liolib.c: Likewise.
24280 * script/lua/llex.c: Likewise.
24281 * script/lua/llex.h: Likewise.
24282 * script/lua/llimits.h: Likewise.
24283 * script/lua/lmathlib.c: Likewise.
24284 * script/lua/lmem.c: Likewise.
24285 * script/lua/lmem.h: Likewise.
24286 * script/lua/loadlib.c: Likewise.
24287 * script/lua/lobject.c: Likewise.
24288 * script/lua/lobject.h: Likewise.
24289 * script/lua/lopcodes.c: Likewise.
24290 * script/lua/lopcodes.h: Likewise.
24291 * script/lua/loslib.c: Likewise.
24292 * script/lua/lparser.c: Likewise.
24293 * script/lua/lparser.h: Likewise.
24294 * script/lua/lstate.c: Likewise.
24295 * script/lua/lstate.h: Likewise.
24296 * script/lua/lstring.c: Likewise.
24297 * script/lua/lstring.h: Likewise.
24298 * script/lua/lstrlib.c: Likewise.
24299 * script/lua/ltable.c: Likewise.
24300 * script/lua/ltable.h: Likewise.
24301 * script/lua/ltablib.c: Likewise.
24302 * script/lua/ltm.c: Likewise.
24303 * script/lua/ltm.h: Likewise.
24304 * script/lua/lua.h: Likewise.
24305 * script/lua/luaconf.h: Likewise.
24306 * script/lua/lualib.h: Likewise.
24307 * script/lua/lundump.c: Likewise.
24308 * script/lua/lundump.h: Likewise.
24309 * script/lua/lvm.c: Likewise.
24310 * script/lua/lvm.h: Likewise.
24311 * script/lua/lzio.c: Likewise.
24312 * script/lua/lzio.h: Likewise.
24313
5e898c9d 243142009-05-16 Bean <bean123ch@gmail.com>
24315
24316 * include/grub/kernel.h (grub_module_header_types): Add type
24317 OBJ_TYPE_CONFIG.
24318
24319 * kern/main.c (grub_load_config): New function.
24320 (grub_main): Call grub_load_config to read boot config.
24321
24322 * grub-mkimage (generate_image): New parameter config_path.
24323 (options): New option --config.
24324 (main): Parse --config option, and pass it to generate_image.
24325
cf353a47 243262009-05-14 Christian Franke <franke@computer.org>
24327
24328 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
24329 This fixes build on Cygwin.
24330
3834887f 243312009-05-14 Pavel Roskin <proski@gnu.org>
24332
24333 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
24334 jump. This saves two bytes, so the typical case of 2 swapped
24335 drives would fit 32 bytes.
24336
8090fc01 243372009-05-13 Pavel Roskin <proski@gnu.org>
24338
ac963883 24339 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
24340 grub_uint32_t to avoid a warning.
24341
8090fc01 24342 * loader/i386/linux.c (allocate_pages): When assigning
24343 real_mode_mem, cast through grub_size_t to fix a warning. The
24344 code already makes sure that the value would fit a pointer.
24345 (grub_linux_setup_video): Cast render_target->data to
24346 grub_size_t to fix a warning.
24347
18f547ad 243482009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 24349
24350 * commands/i386/pc/drivemap.c: New file - implement drivemap
24351 command.
24352 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
24353 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
24354
6f6a8b28 243552009-05-13 Pavel Roskin <proski@gnu.org>
24356
24357 * util/i386/pc/grub-setup.c (setup): Remove unused variable
24358 embedding_area_exists.
24359
15fbf4c4 243602009-05-13 Robert Millan <rmh.grub@aybabtu.com>
24361
24362 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
24363 it easier to understand / work with.
59978c8a 24364 Improve warning messages for cases where there's no embedding area,
24365 or when it is too small (or core.img too large).
15fbf4c4 24366
238e871f 243672009-05-13 Pavel Roskin <proski@gnu.org>
24368
0ab3a9a4 24369 * loader/i386/pc/multiboot2.c: Add necessary includes for
24370 grub_multiboot2_real_boot().
24371
a2c8c5f8 24372 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
24373 PX record is always little-endian. We only need the lower 2
24374 bytes of the mode.
24375
faec96af 24376 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
24377 facilitate code reuse.
24378 (grub_cpio_mount): Use "struct head", not a char buffer. This
24379 fixes a warning reported by gcc 4.4.
24380
238e871f 24381 * kernel/disk.c (grub_disk_read): Use void pointer for the
24382 buffer.
24383 (grub_disk_write): Use const void pointer for the buffer.
24384 Adjust all callers. Remove unnecessary casts.
24385
901d2f0c 243862009-05-10 Robert Millan <rmh.grub@aybabtu.com>
24387
24388 * util/i386/pc/grub-install.in: Update copyright year.
24389
18f547ad 243902009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 24391
24392 gptsync
24393
24394 * commands/gptsync.c: new file
24395 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
24396 (gptsync_mod_SOURCES): new variable
24397 (gptsync_mod_CFLAGS): likewise
24398 (gptsync_mod_LDFLAGS): likewise
18f547ad 24399 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 24400 new definition
24401 (GRUB_PC_PARTITION_TYPE_HFS): likewise
24402 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
24403 * conf/i386-ieee1275.rmk: likewise
24404 * conf/i386-pc.rmk: likewise
24405 * conf/powerpc-ieee1275.rmk: likewise
24406
b4ba690a 244072009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24408
24409 Fixed grub-emu
24410
24411 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
24412 (grub_dl_ref): likewise
24413
317e1a44 244142009-05-08 Robert Millan <rmh.grub@aybabtu.com>
24415
24416 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
24417 split in two functions (one for msdos and one for gpt).
24418
041b8094 244192009-05-08 Pavel Roskin <proski@gnu.org>
24420
752473c2 24421 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
24422 not modified.
24423
041b8094 24424 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
24425 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
24426 Initialize them with -1. Add sanity check for bad1. Eliminate
24427 nerr variable.
24428
172800ce 244292009-05-08 David S. Miller <davem@davemloft.net>
24430
24431 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
24432
29aa5e81 244332009-05-06 Robert Millan <rmh.grub@aybabtu.com>
24434
24435 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 24436 existence.
29aa5e81 24437
96613b62 244382009-05-05 Felix Zielcke <fzielcke@z-51.de>
24439
24440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 24441 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 24442
eef73c8a 244432009-05-05 David S. Miller <davem@davemloft.net>
24444
24445 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
24446
119494b5 244472009-05-05 Pavel Roskin <proski@gnu.org>
24448
24449 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
24450 of grub_dl_ref() and grub_dl_unref().
24451 * commands/parttool.c: Remove preprocessor conditionals around
24452 grub_dl_ref() and grub_dl_unref().
24453 * fs/affs.c: Likewise.
24454 * fs/afs.c: Likewise.
24455 * fs/cpio.c: Likewise.
24456 * fs/ext2.c: Likewise.
24457 * fs/fat.c: Likewise.
24458 * fs/hfs.c: Likewise.
24459 * fs/hfsplus.c: Likewise.
24460 * fs/iso9660.c: Likewise.
24461 * fs/jfs.c: Likewise.
24462 * fs/minix.c: Likewise.
24463 * fs/ntfs.c: Likewise.
24464 * fs/reiserfs.c: Likewise.
24465 * fs/sfs.c: Likewise.
24466 * fs/udf.c: Likewise.
24467 * fs/ufs.c: Likewise.
24468 * fs/xfs.c: Likewise.
24469 * include/grub/dl.h: Likewise.
24470 * loader/xnu.c: Likewise.
24471
de5fd76e 244722009-05-04 Pavel Roskin <proski@gnu.org>
24473
24474 * commands/acpi.c: Remove unused variable my_mod.
24475 * partmap/amiga.c: Likewise.
24476 * partmap/apple.c: Likewise.
24477 * partmap/gpt.c: Likewise.
24478 * partmap/pc.c: Likewise.
24479 * partmap/sun.c: Likewise.
24480 * term/gfxterm.c: Likewise.
24481 * term/i386/pc/vesafb.c: Likewise.
24482 * term/i386/pc/vga.c: Likewise.
24483
983598ad 244842009-05-04 David S. Miller <davem@davemloft.net>
24485
24486 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24487 pointer args to grub_ieee1275_get_property().
24488
8aadec43 24489 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24490
9554b15e 24491 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24492 devices, and do not traverse down under controller nodes.
24493
67e23c90 24494 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24495 (grub_ofdisk_open): Use it to un-escape "," characters.
24496 * kern/disk.c (find_part_sep): New.
24497 (grub_disk_open): Use it to find the first non-escaped ','
24498 character in the disk name.
24499 * util/ieee1275/devicemap.c (escape_of_path): New.
24500 (grub_util_emit_devicemap_entry): Use it.
24501 * util/sparc64/ieee1275/grub-install.in: Update script to
24502 strip partition specifiers properly by not triggering on
24503 '\' escaped ',' characters.
24504
74bfdd2f 245052009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24506
24507 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24508 to 0x300.
24509 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24510 resolutions.
24511 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24512 on documentation from Wikipedia).
24513
4241d2b1 245142009-05-04 Pavel Roskin <proski@gnu.org>
24515
24516 * disk/ata.c: Spelling fixes.
24517 * disk/raid.c: Likewise.
24518 * disk/usbms.c: Likewise.
24519 * disk/dmraid_nvidia.c: Likewise.
24520 * kern/ieee1275/openfw.c: Likewise.
24521 * kern/ieee1275/init.c: Likewise.
24522 * kern/ieee1275/cmain.c: Likewise.
24523 * boot/i386/pc/cdboot.S: Likewise.
24524 * video/readers/png.c: Likewise.
24525 * video/i386/pc/vbe.c: Likewise.
24526 * fs/udf.c: Likewise.
24527 * fs/hfs.c: Likewise.
24528 * fs/reiserfs.c: Likewise.
24529 * efiemu/runtime/efiemu.c: Likewise.
24530 * efiemu/main.c: Likewise.
24531 * efiemu/mm.c: Likewise.
24532 * include/grub/elf.h: Likewise.
24533 * include/grub/xnu.h: Likewise.
24534 * include/grub/usbdesc.h: Likewise.
24535 * include/grub/usb.h: Likewise.
24536 * include/grub/script_sh.h: Likewise.
24537 * include/grub/lib/LzmaEnc.h: Likewise.
24538 * include/grub/efiemu/efiemu.h: Likewise.
24539 * include/grub/command.h: Likewise.
24540 * normal/menu.c: Likewise.
24541 * normal/main.c: Likewise.
24542 * normal/datetime.c: Likewise.
24543 * bus/usb/uhci.c: Likewise.
24544 * mmap/i386/uppermem.c: Likewise.
24545 * mmap/mmap.c: Likewise.
24546 * commands/acpi.c: Likewise.
24547 * commands/test.c: Likewise.
24548 * partmap/apple.c: Likewise.
24549 * font/font.c: Likewise.
24550 * loader/sparc64/ieee1275/linux.c: Likewise.
24551 * loader/macho.c: Likewise.
24552 * loader/i386/bsd_trampoline.S: Likewise.
24553 * loader/i386/bsd.c: Likewise.
24554 * loader/xnu.c: Likewise.
24555 * term/i386/pc/vesafb.c: Likewise.
24556 * term/usb_keyboard.c: Likewise.
24557 * util/resolve.c: Likewise.
24558 * util/getroot.c: Likewise.
24559
0cfc0083 245602009-05-04 Felix Zielcke <fzielcke@z-51.de>
24561
24562 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24563
7c1d00cd 245642009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24565
24566 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24567 build error.
24568
b01f0548 245692009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24570
24571 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24572 parameter only available on BIOS.
24573
ecc3eb22 245742009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24575
24576 Removed wrong semicolon in declaration
24577
24578 * grub/misc.h (grub_dprintf): remove semicolon
24579
112972a9 245802009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24581
24582 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24583 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24584 is done by grub_cmd_linux() now).
24585 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24586 restore video to text mode.
24587 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24588 indicates lack of "vga=" parameter. "vga=0" is mapped to
24589 `GRUB_LINUX_VID_MODE_NORMAL'.
24590
afd5c115 245912009-05-04 Felix Zielcke <fzielcke@z-51.de>
24592
24593 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24594 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24595 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 24596 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 24597 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24598 `grub_script.tab.c'.
24599
24600 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24601 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24603 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24604 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24605
faa517ce 24606 * Makefile.in: Remove duplicated 2008 in Copyright line.
24607
ae0c0bdc 246082009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24609
473d1e45 24610 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 24611 unconditionally.
24612 * include/grub/util/misc.h (grub_util_warn): New declaration.
24613
24614 * util/i386/pc/grub-install.in: Understand --force and pass it down
24615 to grub-setup.
24616
24617 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24618 down to setup().
24619 (setup): Improve error messages and add warnings when requested to
24620 install in odd layouts. Refuse to install using blocklists unless
24621 --force was set.
24622
18f547ad 246232009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 24624
24625 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24626
6d260daa 246272009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24628
24629 Updated copyright year
24630
24631 * fs/hfsplus.c: updated copyright year
18f547ad 24632
69f853f8 246332009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24634
24635 HFS+ UUID
24636
18f547ad 24637 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 24638 in the space previously used by unused3
24639 (grub_hfsplus_uuid): new function
24640 (grub_hfsplus_fs): added uuid field
24641
4c402e73 246422009-05-03 Pavel Roskin <proski@gnu.org>
24643
24644 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24645 suppress warnings. It's no longer needed.
24646 * disk/host.c: Likewise.
24647 * disk/ata_pthru.c: Likewise.
24648 * disk/loopback.c: Likewise.
24649 * hook/datehook.c: Likewise.
24650 * parttool/pcpart.c: Likewise.
24651 * fs/i386/pc/pxe.c: Likewise.
24652 * fs/ntfscomp.c: Likewise.
24653 * efiemu/main.c: Likewise.
24654 * mmap/mmap.c: Likewise.
24655 * commands/crc.c: Likewise.
24656 * commands/hexdump.c: Likewise.
24657 * commands/hdparm.c: Likewise.
24658 * commands/acpi.c: Likewise.
24659 * commands/echo.c: Likewise.
24660 * commands/minicmd.c: Likewise.
24661 * commands/blocklist.c: Likewise.
24662 * commands/memrw.c: Likewise.
24663 * commands/loadenv.c: Likewise.
24664 * commands/usbtest.c: Likewise.
24665 * commands/lsmmap.c: Likewise.
24666 * commands/boot.c: Likewise.
24667 * commands/parttool.c: Likewise.
24668 * commands/configfile.c: Likewise.
24669 * commands/search.c: Likewise.
24670 * commands/ieee1275/suspend.c: Likewise.
24671 * commands/cat.c: Likewise.
24672 * commands/i386/pc/pxecmd.c: Likewise.
24673 * commands/i386/pc/play.c: Likewise.
24674 * commands/i386/pc/halt.c: Likewise.
24675 * commands/i386/pc/vbeinfo.c: Likewise.
24676 * commands/i386/pc/vbetest.c: Likewise.
24677 * commands/lspci.c: Likewise.
24678 * commands/date.c: Likewise.
24679 * commands/handler.c: Likewise.
24680 * commands/ls.c: Likewise.
24681 * commands/test.c: Likewise.
24682 * commands/cmp.c: Likewise.
24683 * commands/efi/loadbios.c: Likewise.
24684 * commands/efi/fixvideo.c: Likewise.
24685 * commands/halt.c: Likewise.
24686 * commands/help.c: Likewise.
24687 * commands/reboot.c: Likewise.
24688 * hello/hello.c: Likewise.
24689 * script/sh/main.c: Likewise.
24690 * loader/xnu.c: Likewise.
24691 * term/terminfo.c: Likewise.
24692 * term/i386/pc/serial.c: Likewise.
24693 * term/usb_keyboard.c: Likewise.
24694
515b5079 246952009-05-03 David S. Miller <davem@davemloft.net>
24696
24697 * normal/menu.c: Include grub/parser.h
24698
dfc31a22 246992009-05-03 Pavel Roskin <proski@gnu.org>
24700
2fee74f1 24701 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24702 not char*.
24703 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24704 Suggested by Javier Martín <lordhabbit@gmail.com>
24705
dfc31a22 24706 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24707 efiemu??.o doesn't exist.
24708 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24709 copying.
24710
18f547ad 247112009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 24712
24713 FreeBSD 64-bit support
24714
18f547ad 24715 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 24716 and loader/i386/bsd_trampoline.S
24717 (bsd_mod_ASFLAGS): new variable
24718 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24719 (FREEBSD_MODTYPE_KERNEL64): likewise
24720 (grub_bsd64_trampoline_start): likewise
24721 (grub_bsd64_trampoline_end): likewise
24722 (grub_bsd64_trampoline_selfjump): likewise
24723 (grub_bsd64_trampoline_gdt): likewise
24724 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24725 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24726 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24727 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 24728 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 24729 of "attrib" member
24730 * loader/i386/bsd_pagetable.c: new file
24731 * loader/i386/bsd_trampoline.S: likewise
24732 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24733 (ALIGN_VAR): likewise
24734 (entry_hi): new variable
24735 (kern_end_mdofs): likewise
24736 (is_64bit): likewise
24737 (grub_freebsd_add_meta): use ALIGN_VAR
24738 (grub_e820_mmap): new declaration
24739 (grub_freebsd_add_mmap): new function
24740 (grub_freebsd_add_meta_module): support 64 bit kernels
24741 (grub_freebsd_list_modules): use ALIGN_VAR
24742 (gdt_descriptor): new declaration
24743 (grub_freebsd_boot): support 64 bit kernels
24744 (grub_bsd_elf64_hook): new function
24745 (grub_bsd_load_elf): support elf64
24746
038c5720 247472009-05-03 Bean <bean123ch@gmail.com>
24748
24749 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24750 after we get the result of if statement.
24751
fc45fb58 247522009-05-03 Bean <bean123ch@gmail.com>
24753
24754 * Makefile.in (enable_efiemu): New variable.
24755
24756 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24757 set.
24758 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24759 path.
24760 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24761 path, add -mno-red-zone option.
24762 (efiemu64_s.o): Likewise.
24763 (efiemu64.o): Use macro $^ for source file.
24764
24765 * configure.ac (--enable-efiemu): New option.
24766
bbee0f2b 247672009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24768
24769 xnu support
24770
24771 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24772 (pkglib_MODULES): add xnu.mod
24773 (xnu_mod_SOURCES): new variable
24774 (xnu_mod_CFLAGS): likewise
24775 (xnu_mod_LDFLAGS): likewise
24776 (xnu_mod_ASFLAGS): likewise
24777 * conf/i386-pc.rmk: likewise
24778 * conf/x86_64-efi.rmk: likewise
7dd4a573 24779 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 24780 new declaration
24781 * include/grub/i386/macho.h: new file
24782 * include/grub/i386/xnu.h: likewise
24783 * include/grub/macho.h: likewise
24784 * include/grub/machoload.h: likewise
24785 * include/grub/x86_64/macho.h: likewise
24786 * include/grub/x86_64/xnu.h: likewise
24787 * include/grub/xnu.h: likewise
24788 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24789 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24790 * loader/i386/efi/xnu.c: new file
24791 * loader/i386/pc/xnu.c: likewise
24792 * loader/i386/xnu.c: likewise
24793 * loader/i386/xnu_helper.S: likewise
24794 * loader/macho.c: likewise
24795 * loader/xnu.c: likewise
24796 * loader/xnu_resume.c: likewise
24797 * util/grub-dumpdevtree: likewise
24798 * include/grub/i386/pit.h: include grub/err.h
24799 (grub_pit_wait): export
24800 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 24801
5caf964d 248022009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24803
24804 Efiemu
7dd4a573 24805
5caf964d 24806 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 24807 _linux_efi, linux_efi.
24808 new files in grub-emu
5caf964d 24809 new targets efiemu32.o and efiemu64.o
24810 * loader/linux_normal_efiemu.c: likewise
24811 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 24812 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 24813 files to copy
24814 * include/grub/autoefi.h: new file
7dd4a573 24815 * include/grub/i386/efiemu.h: likewise
5caf964d 24816 * include/grub/i386/pc/efiemu.h: likewise
24817 * include/grub/efi/api.h: add LL suffix when necessary
24818 new definitions relating to tables
24819 * include/grub/efiemu/efiemu.h: new file
24820 * include/grub/efiemu/runtime.h: likewise
24821 * efiemu/prepare.c: likewise
24822 * efiemu/loadcore_common.c: likewise
24823 * efiemu/loadcore64.c: likewise
24824 * efiemu/runtime/efiemu.sh: likewise
24825 * efiemu/runtime/efiemu.S: likewise
24826 * efiemu/runtime/efiemu.c: likewise
24827 * efiemu/runtime/config.h: likewise
24828 * efiemu/prepare32.c: likewise
24829 * efiemu/main.c: likewise
24830 * efiemu/modules/pnvram.c: likewise
24831 * efiemu/modules/i386: likewise
24832 * efiemu/modules/i386/pc: likewise
24833 * efiemu/modules/acpi.c: likewise
24834 * efiemu/i386/pc/cfgtables.c: likewise
24835 * efiemu/i386/loadcore64.c: likewise
24836 * efiemu/i386/loadcore32.c: likewise
24837 * efiemu/prepare64.c: likewise
24838 * efiemu/loadcore.c: likewise
24839 * efiemu/symbols.c: likewise
24840 * efiemu/mm.c: likewise
24841 * efiemu/loadcore32.c: likewise
7dd4a573 24842
248432009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 24844
24845 ACPI spoofing
24846
24847 * commands/acpi.c: new file
24848 * commands/i386/pc/acpi.c: likewise
24849 * commands/efi/acpi.c: likewise
24850 * include/grub/acpi.h: likewise
24851 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24852 (acpi_mod_SOURCES): new variable
24853 (acpi_mod_CFLAGS): likewise
24854 (acpi_mod_LDFLAGS): likewise
24855 * conf/i386-efi.rmk: likewise
24856 * conf/x86_64-efi.rmk: likewise
24857
7dd4a573 248582009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 24859
24860 Missing part from mmap patch
24861
24862 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24863 (grub_mmap_unregister)
24864 (grub_mmap_free_and_unregister): use grub_mmap_register
24865
7dd4a573 248662009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 24867
24868 Mmap services
24869
24870 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24871 * loader/i386/linux.c (find_mmap_size): likewise
24872 (allocate_pages): likewise
24873 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24874 (grub_fill_multiboot_mmap): likewise
24875 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24876 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24877 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24878 (OPENBSD_MMAP_RESERVED): likewise
24879 * include/grub/i386/pc/memory.h: include grub/memory.h
24880 (grub_lower_mem): removed
24881 (grub_upper_mem): likewise
24882 (GRUB_MACHINE_MEMORY_ACPI): new definition
24883 (GRUB_MACHINE_MEMORY_NVS): likewise
24884 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24885 (GRUB_MACHINE_MEMORY_HOLE): likewise
24886 (grub_machine_mmap_register): likewise
24887 (grub_machine_mmap_unregister): likewise
24888 (grub_machine_get_upper): likewise
24889 (grub_machine_get_lower): likewise
24890 (grub_machine_get_post64): likewise
24891 * include/grub/i386/efi/memory.h: new file
24892 * include/grub/x86_64/efi/memory.h: likewise
24893 * include/grub/efi/memory.h: likewise
24894 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24895 (mmap_mod_SOURCES): new variable
24896 (mmap_mod_LDFLAGS): likewise
24897 (mmap_mod_ASFLAGS): likewise
24898 * conf/i386-coreboot.rmk: likewise
24899 * conf/i386-ieee1275.rmk: likewise
24900 * conf/i386-efi.rmk: likewise
24901 * conf/x86_64-efi.rmk: likewise
24902 * include/grub/types.h (UINT_TO_PTR): new macro
24903 (PTR_TO_UINT32): likewise
24904 (PTR_TO_UINT64): likewise
24905 * include/grub/memory.h: new file
24906 * mmap/i386/pc/mmap.c: likewise
24907 * mmap/i386/pc/mmap_helper.S: likewise
24908 * mmap/i386/uppermem.c: likewise
24909 * mmap/mmap.c: likewise
24910 * mmap/efi/mmap.c: likewise
7dd4a573 24911 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 24912 grub_upper_mem
24913 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24914 (grub_upper_mem): likewise
24915 (grub_machine_init): don't use grub_upper_mem,
24916 make grub_lower_mem local
24917 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24918 grub_mmap_iterate and grub_mmap_get_upper
24919 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24920
d558e6b5 249212009-05-02 Bean <bean123ch@gmail.com>
24922
24923 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24924 script/sh/parser.y.
24925 (pkglib_MODULES): Add normal.mod and sh.mod.
24926 (normal_SOURCES): New variable.
24927 (normal_mod_CFLAGS): Likewise.
24928 (normal_mod_LDFLAGS): Likewise.
24929 (sh_mod_SOURCES): Likewise.
24930 (sh_mod_CFLAGS): Likewise.
24931 (sh_mod_LDFLAGS): Likewise.
24932
24933 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24934 script/sh/lexer.c_DEPENDENCIES.
24935 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24936 kern/rescue_reader.c and kern/rescue_parser.c.
24937 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24938 (grub_emu_SOURCES): Change source files.
24939 (pkglib_MODULES): Remove normal.mod.
24940 (normal_SOURCES): Removed.
24941 (normal_mod_CFLAGS): Likewise.
24942 (normal_mod_LDFLAGS): Likewise.
24943 * conf/i386-coreboot.rmk: Likewise.
24944 * conf/i386-efi.rmk: Likewise.
24945 * conf/i386-ieee1276.rmk: Likewise.
24946 * conf/powerpc-ieee1275.rmk: Likewise.
24947 * conf/sparc64-ieee1275.rmk: Likewise.
24948 * conf/x86_64-efi.rmk: Likewise.
24949
24950 * include/grub/command.h (grub_command_execute): New inline function.
24951
24952 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24953
24954 * include/grub/normal.h: Remove <grub/setjmp.h>.
24955 (grub_fs_module_list): Moved to normal/autofs.c.
24956 (grub_exit_env): Removed.
24957 (grub_command_execute): Likewise.
24958 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24959 parameter script.
24960 (read_command_list): New function declaration.
24961 (read_fs_list): Likewise.
24962
24963 * include/parser.h: Include <grub/reader.h>.
24964 (grub_parser_split_cmdline): Change type of getline parameter.
24965 (grub_parser): New structure.
24966 (grub_parser_class): New variable.
24967 (grub_parser_execute): New function declaration.
24968 (grub_register_rescue_parser): Likewise.
24969 (grub_parser_register): New inline function.
24970 (grub_parser_unregister): Likewise.
24971 (grub_parser_get_current): Likewise.
24972 (grub_parser_set_current): Likewise.
24973
24974 * include/grub/reader.h: New file.
24975 * kern/reader.c: Likewise.
24976 * kern/rescue_parser.c: Likewise.
24977 * kern/rescue_reader.c: Likewise.
24978 * normal/autofs.c: Likewise.
24979 * normal/dyncmd.c: Likewise.
24980
24981 * include/grub/rescue.h: Removed.
24982 * normal/command.h: Likewise.
24983
24984 * include/grub/script.h: Moved to ...
24985 * include/grub/script_sh.h: ... Moved here.
24986 * normal/execute.c: Moved to ...
24987 * script/sh/execute.c: ... Moved here.
24988 * normal/function.c: Moved to ...
24989 * script/sh/function.c: ... Moved here.
24990 * normal/lexer.c: Moved to ...
24991 * script/sh/lexer.c: ... Moved here.
24992 * normal/parser.y: Moved to ...
24993 * script/sh/parser.y: ... Moved here.
24994 * normal/script.c: Moved to ...
24995 * script/sh/script.c: ... Moved here.
24996
24997 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24998 <grub/reader.h>.
24999 (grub_exit_env): Removed.
25000 (fs_module_list): Moved to normal/autofs.c.
25001 (grub_file_getline): Don't handle comment here.
25002 (free_menu): Skip removed field entry->commands.
25003 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
25004 script parameter.
25005 (read_config_file): Removed nested parameter, change getline function.
25006 (grub_enter_normal_mode): Removed.
25007 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
25008 (read_command_list): Likewise.
25009 (autoload_fs_module): Moved to normal/autofs.c.
25010 (read_fs_list): Likewise.
25011 (reader_nested): New variable.
25012 (grub_normal_execute): Run parser.sh to switch to sh parser.
25013 (grub_cmd_rescue): Removed.
25014 (cmd_normal): Removed.
25015 (grub_cmd_normal): Unregister itself at the beginning. Don't register
25016 rescue command.
25017 (grub_cmdline_run): New function.
25018 (grub_normal_reader_init): Likewise.
25019 (grub_normal_read_line): Likewise.
25020 (grub_env_write_pager): Likewise.
25021 (cmdline): New variable.
25022 (grub_normal_reader): Likewise.
25023 (GRUB_MOD_INIT): Register normal reader and set as current, register
25024 pager hook, register normal command with grub_register_command_prio,
25025 so that it won't show up in command.lst.
25026 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
25027 grub_fs_autoload_hook.
25028
25029 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
25030 (grub_menu_execute_entry): Replace grub_script_execute with
25031 grub_parser_execute, change parameter to grub_command_execute.
25032
25033 * normal/menu_text.c: Remove <grub/script.h>.
25034
25035 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
25036 and <grub/parser.h>.
25037 (run): Change editor_getline to use new parser interface. Change
25038 parameter to grub_command_execute.
25039
25040 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
25041 <grub/reader.h> and <grub/parser.h>.
25042 (grub_load_normal_mode): Execute normal command.
25043 (grub_main): Call grub_register_core_commands,
25044 grub_register_rescue_parser and grub_register_rescue_reader, use
25045 grub_reader_loop to enter input loop.
25046
7dd4a573 25047 * kern/parser.c (grub_parser_split_cmdline): Change type of
25048 getline parameter.
d558e6b5 25049 (grub_parser_class): New variable.
25050 (grub_parser_execute): New function.
25051
25052 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
25053 * loader/multiboot2.c: Likewise.
25054 * loader/sparc64/ieee1275/linux.c: Likewise.
25055
25056 * util/grub-emu.c (read_command_list): New dummy function.
25057
18db813d 250582009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25059
25060 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
25061 count to 16 for CCISS and IDA.
25062
6c67de15 250632009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25064
25065 * normal/menu_text.c (grub_wait_after_message): Print a newline
25066 after waiting for user input.
25067
25068 * loader/i386/linux.c: Include `<grub/normal.h>'.
25069 (grub_cmd_linux): Improve the error message about `ask' mode, by
25070 waiting for user input so it's not missed (we can do this, since
25071 user requested interaction).
25072
d9dc87b0 250732009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25074
25075 Added missing lst to grub-mkrescue
25076
25077 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
25078 and ${input_dir}/parttool.lst
25079
ac8a2baa 250802009-04-30 David S. Miller <davem@davemloft.net>
25081
ad22a610 25082 * util/hostdisk.c (device_is_wholedisk): New function.
25083 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
25084 zero only if device_is_wholedisk() returns true.
25085
6966215d 25086 * util/hostdisk.c (convert_system_partition_to_system_disk):
25087 Handle virtual disk devices named /dev/vdiskX as found on sparc
25088 and powerpc.
25089
ac8a2baa 25090 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
25091 lettered partition specifier is found, convert to numbered.
25092
979b4fb4 250932009-04-29 David S. Miller <davem@davemloft.net>
25094
e2bf39b2 25095 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
25096 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25097
3c64e104 25098 * normal/command.c: Add missing newline at end of file.
25099
979b4fb4 25100 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
25101 warnings.
25102 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
25103 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
25104 grub_ofdisk_read): Likewise, and deal similarly with the fact that
25105 ihandles have a 32-bit type but need to be stored in a "void *".
25106
136d9f82 251072009-04-28 Pavel Roskin <proski@gnu.org>
25108
9459c306 25109 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
25110 not disk. Adjust all dependencies.
2e08a26a 25111 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 25112 grub_disk_close().
25113
136d9f82 25114 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
25115 parent's partition, don't copy it by reference, as it gets freed
25116 on close.
25117
7dd4a573 251182009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 25119
25120 Preboot hooks support
25121
25122 * commands/boot.c (struct grub_preboot_t): new declaration
25123 (preboots_head): new variable
25124 (preboots_tail): likewise
25125 (grub_loader_register_preboot_hook): new function
25126 (grub_loader_unregister_preboot_hook): likewise
25127 (grub_loader_set): launch preboot hooks
25128 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
25129 (grub_loader_register_preboot_hook): new declaration
25130 (grub_loader_unregister_preboot_hook): likewise
25131
5af922b5 251322009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25133
25134 Warning fix
25135
7dd4a573 25136 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 25137 calling grub_dprintf
25138
a5562c30 251392009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
25140
25141 Bug and warning fixes
25142
7dd4a573 25143 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 25144 declaration
25145 * commands/test.c (test_parse): fixed bug with file tests and corrected
25146 declaration of find_file
25147
4006f85c 251482009-04-26 Pavel Roskin <proski@gnu.org>
25149
25150 * Makefile.in: Don't install empty manual pages if help2man is
25151 missing. Use help2man option for output, not shell redirection.
25152
5c77c3de 251532009-04-26 David S. Miller <davem@davemloft.net>
25154
25155 * util/grub-mkdevicemap.c (make_device_map): Add missing
25156 NESTED_FUNC_ATTR to process_device().
25157
033b10a8 251582009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25159
25160 Test command
25161
25162 * commands/test.c: rewritten to use bash-like test
25163
e4343593 251642009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25165
25166 Parttool autoloading and improvements
25167
7dd4a573 25168 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 25169 (parttool.lst): new target
25170 * genmk.rb: generate parttool-*
25171 (CLEANFILES): add #{parttool}
25172 (PARTTOOLFILES): new variable
25173 * genparttoollist.sh: new file
7dd4a573 25174 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 25175 (grub_pcpart_type): likewise
25176 * commands/parttool.c (helpmsg): new variable
25177 (grub_cmd_parttool): output help if not enough arguments are supplied
25178 autoload modules
25179 (GRUB_MOD_INIT(parttool)): use helpmsg
25180
0d312500 251812009-04-24 David S. Miller <davem@davemloft.net>
25182
7dd4a573 25183 Avoiding opening same device multiple times in device iterator.
0d312500 25184
25185 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 25186 and use it to build a list of partitions in iterate_disk() and
0d312500 25187 iterate_partition().
25188
ac20caff 25189 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
25190 on disk->data.
25191
0dcf7495 25192 * disk/ieee1275/nand.c (grub_nand_iterate): Return
25193 grub_devalias_iterate() result instead of unconditional 0.
25194 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
25195 Also, capture hook return value, either directly or via
25196 grub_children_iterate(), and propagate to caller.
25197 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
25198 grub_children_iterate): Return value is now 'int' instead of
25199 'grub_err_t'.
25200 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
25201 like a proper iterator, stopping when hooks return non-zero.
25202 (grub_devalias_iterate): Likewise.
25203
c8c08833 252042009-04-23 David S. Miller <davem@davemloft.net>
25205
25206 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
25207
f01005a8 252082009-04-22 David S. Miller <davem@davemloft.net>
25209
25210 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
25211 is larger than address_cells, use that value for address_cells too.
25212
4e8269da 25213 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
25214 IEEE1275_MAX_PATH_LEN): Define.
25215 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
25216 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
25217 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
25218 'devtype'. Explicitly NULL terminate devalias expansion.
25219
a1447506 25220 * util/sparc64/ieee1275/misc.c: New file.
25221 * util/sparc64/ieee1275/grub-setup.c: New file.
25222 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
25223 * util/sparc64/ieee1275/grub-mkimage.c: New file.
25224 * util/sparc64/ieee1275/grub-install.in: New file.
25225 * util/ieee1275/ofpath.c: New file.
25226 * util/ieee1275/devicemap.c: New file.
25227 * util/devicemap.c: New file.
25228 * util/deviceiter.c: New file.
25229 * kern/sparc64/ieee1275/init.c: New file.
25230 * include/grub/util/ofpath.h: New file.
25231 * include/grub/util/deviceiter.h: New file.
25232 * util/grub-mkdevicemap.c: Include deviceiter.h.
25233 Implement using grub_util_emit_devicemap_entry and
25234 grub_util_iterate_devices.
25235 * conf/i386-corebook.rmk: Build util/deviceiter.c and
25236 util/devicemap.c into grub-mkdevicemap
25237 * conf/i386-efi.rmk: Likewise.
25238 * conf/i386-ieee1275.rmk: Likewise.
25239 * conf/i386-pc.rmk: Likewise.
25240 * conf/powerpc-ieee1275.rmk: Likewise.
25241 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
25242 images and installation utilities. Build kernel as image
25243 instead of as elf binary. Use common rules as much as possible.
25244
7dd4a573 252452009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 25246
25247 Correct GPT definition
25248
7dd4a573 25249 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 25250 of "attrib" member
25251
c6c5219f 252522009-04-19 Felix Zielcke <fzielcke@z-51.de>
25253
25254 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
25255
0552ff9f 252562009-04-19 David S. Miller <davem@davemloft.net>
25257
25258 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
25259 (grub_rescue_cmd_linux): Rename to...
25260 (grub_cmd_linux): and fix prototype.
25261 (grub_rescue_cmd_initrd): Rename to...
25262 (grub_cmd_initrd): and fix prototype.
25263 (cmd_linux, cmd_initrd): New.
25264 (GRUB_MOD_INIT(linux)): Use grub_register_command().
25265 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
25266
d1a282fc 252672009-04-17 Pavel Roskin <proski@gnu.org>
25268
07c5039f 25269 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
25270 format.
25271 (grub_ohci_transfer): Likewise.
25272
b012002d 25273 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
25274
1bc09c35 25275 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
25276 return without a value. Fix inconsistent indentation.
25277
e0ff9126 25278 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
25279 match struct grub_fs.
25280
d1a282fc 25281 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
25282 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
25283 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25284 * commands/lspci.c (grub_lspci_iter): Likewise.
25285
a96df3f2 252862009-04-16 Bean <bean123ch@gmail.com>
25287
25288 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
25289 value.
25290
41bb0fe9 252912009-04-15 Pavel Roskin <proski@gnu.org>
25292
25293 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
25294 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
25295 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
25296 definitions.
25297
596c6970 252982009-04-15 Felix Zielcke <fzielcke@z-51.de>
25299
25300 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 25301 that no multiple data or metadata areas are supported and `Unknown
596c6970 25302 metadata header'.
25303
7dd4a573 253042009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 25305
25306 Move loader out of the kernel
25307
25308 * kern/loader.c: moved to ...
25309 * commands/boot.c: ... moved here
25310 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
25311 * commands/boot.c (grub_cmd_boot): moved here. All users updated
25312 * include/grub/kernel.h (grub_machine_fini): export
25313 * include/grub/loader.h (grub_loader_is_loaded): update declaration
25314 (grub_loader_set): likewise
25315 (grub_loader_unset): likewise
25316 (grub_loader_boot): likewise
25317 * conf/common.rmk: new module boot.mod
25318 (pkglib_MODULES): add boot.mod
25319 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
25320 (grub_emu_SOURCES): likewise
25321 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
25322 (grub_emu_SOURCES): likewise
25323 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
25324 (grub_emu_SOURCES): likewise
25325 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
25326 (grub_emu_SOURCES): likewise
25327 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
25328 (grub_emu_SOURCES): likewise
7dd4a573 25329 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
25330 (grub_emu_SOURCES): likewise
0d5d5653 25331 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 25332 (grub_emu_SOURCES): likewise
0d5d5653 25333
7dd4a573 253342009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 25335
25336 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 25337
5999d619 25338 * kern/misc.c (grub_itoa): Removed function
25339 (grub_ltoa): likewise
25340 (grub_vsprintf): use grub_lltoa
25341
7dd4a573 253422009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 25343
25344 Restore grub-emu
25345
25346 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
25347 * conf/i386-coreboot.rmk: likewise
25348 * conf/i386-ieee1275.rmk: likewise
25349 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25350
20318222 253512009-04-15 Felix Zielcke <fzielcke@z-51.de>
25352
25353 * INSTALL: Add that `./autogen.sh' needs to be run before
25354 `./configure.'.
25355
d05f0df3 253562009-04-14 Bean <bean123ch@gmail.com>
25357
25358 * Makefile.in (pkglib_DATA): Add handler.lst.
25359 (handler.lst): New rule.
25360
25361 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
25362 * conf/i386-coreboot.rmk: Likewise.
25363 * conf/i386-ieee1275.rmk: Likewise.
25364 * conf/i386-efi.rmk: Likewise.
25365 * conf/x86_64-efi.rmk: Likewise.
25366 * conf/powerpc-ieee1275.rmk: Likewise.
25367 * conf/sparc64-ieee1275.rmk: Likewise.
25368
25369 * genhandlerlist.sh: New file.
25370
25371 * genmk.rb: Add rules to generate handler.lst.
25372
25373 * include/grub/normal.h (grub_file_getline): New function definition.
25374 (read_handler_list): Likewise.
25375 (free_handler_list): Likewise.
25376
25377 * include/grub/term.h (grub_term_register_input): Add name parameter
25378 for auto generation of handler.lst.
25379 (grub_term_register_output): Likewise.
25380
25381 * normal/handler.c: New file.
25382
25383 * normal/main.c (get_line): Renamed to grub_file_getline.
25384 (read_config_file): Use the newly renamed grub_file_getline.
25385 (read_command_list): Likewise.
25386 (read_fs_list): Likewise.
25387 (grub_normal_execute): Call read_handler_list to parse handler.lst.
25388 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
25389
25390 * term/efi/console.c (grub_console_init): Add name parameter for auto
25391 generation of handler.lst.
25392 * term/gfxterm.c: Likewise.
25393 * term/i386/pc/at_keyboard.c: Likewise.
25394 * term/i386/pc/console.c: Likewise.
25395 * term/i386/pc/serial.c: Likewise.
25396 * term/i386/pc/vesafb.c: Likewise.
25397 * term/i386/pc/vga.c: Likewise.
25398 * term/i386/pc/vga_text.c: Likewise.
25399 * term/ieee1275/ofconsole.c: Likewise.
25400 * term/usb_keyboard.c: Likewise.
25401
33c846be 254022009-04-14 Bean <bean123ch@gmail.com>
25403
25404 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
25405 properly with null character.
25406
4484e01e 254072009-04-14 Felix Zielcke <fzielcke@z-51.de>
25408
25409 * configure: Remove.
25410 * config.h.in: Likewise.
f93d668e 25411 * stamp-h.in: Likewise.
4484e01e 25412 * DISTLIST: Likewise.
25413 * conf/common.mk: Likewise.
25414 * conf/i386-coreboot.mk: Likewise.
25415 * conf/i386-efi.mk: Likewise.
25416 * conf/i386-ieee1275.mk: Likewise.
25417 * conf/i386.mk: Likewise.
25418 * conf/i386-pc.mk: Likewise.
25419 * conf/powerpc-ieee1275.mk: Likewise.
25420 * conf/sparc64-ieee1275.mk: Likewise.
25421 * conf/x86_64-efi.mk: Likewise.
25422
25423 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
25424 develop on GRUB.
25425
7dd4a573 254262009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 25427 David S. Miller <davem@davemloft.net>
25428
25429 * util/hostdisk.c (make_device_name): Fix buffer length
25430 calculations.
25431
e25b5a8c 254322009-04-14 Felix Zielcke <fzielcke@z-51.de>
25433
25434 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
25435 <sys/param.h> and <sys/sysctl.h>.
25436 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
25437 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
25438 opening the device and reset them afterwards.
25439
1f1f580c 254402009-04-13 Pavel Roskin <proski@gnu.org>
25441
25442 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
25443 Reported by John Stanley <jpsinthemix@verizon.net>
25444
7ebc2d6b 254452009-04-13 Robert Millan <rmh@aybabtu.com>
25446
25447 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 25448 that name for menuentries when appropriate.
7ebc2d6b 25449
d8ba3667 254502009-04-13 Felix Zielcke <fzielcke@z-51.de>
25451
25452 * util/grub.d/10_freebsd.in: Add a missing `fi'.
25453
cba416eb 254542009-04-13 Robert Millan <rmh@aybabtu.com>
25455
25456 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
25457 to Linux, simply abort telling the user it's no longer supported.
25458
a547a745 254592009-04-13 Felix Zielcke <fzielcke@z-51.de>
25460
25461 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 25462 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 25463 `freebsd_loadenv' only when devices.hints exist.
25464
232a769c 254652009-04-13 Pavel Roskin <proski@gnu.org>
25466
25467 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
25468
c3012039 254692009-04-13 Felix Zielcke <fzielcke@z-51.de>
25470
25471 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
25472 partition number.
25473 (grub_drive): Likewise.
25474
234022fe 254752009-04-13 David S. Miller <davem@davemloft.net>
25476
25477 * kern/sparc64/ieee1275/ieee1275.c: New file.
25478 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
25479 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
25480 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
25481 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
25482 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25483 grub_ieee1275_alloc_physmem): Declare new exported functions.
25484
d8e1836c 25485 * include/grub/sparc64/ieee1275/loader.h: New file.
25486 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25487 * include/grub/sparc64/kernel.h: Likewise.
25488 * loader/sparc64/ieee1275/linux.c: Likewise.
25489
96bd81ec 25490 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25491 (grub_fstest_SOURCES): Likewise.
25492
6a4737e5 25493 * util/hostdisk.c (make_device_name): Do not make any assumptions
25494 about the length of drive names.
25495
1d7a72fd 25496 * kern/dl.c (grub_dl_load_file): Close file immediately when
25497 we are done using it.
25498
56bc2471 254992009-04-12 David S. Miller <davem@davemloft.net>
25500
25501 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25502 values. Noticed by Pavel Roskin.
25503
df38d0bb 25504 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25505 target compiler.
7dd4a573 25506
e382e93a 25507 * genmk.rb: Add more flexible image type specification, also
25508 pass --strip-unneeded to objcopy.
25509 * conf/i386-pc.rmk: Use *_FORMAT.
25510 * conf/i386-pc.mk: Rebuilt.
25511
f5dbbca9 25512 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25513 (OFDISK_HASH_SZ): Define.
25514 (ofdisk_hash): New hash table.
25515 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25516 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25517 instead of device phandle which is not unique.
25518
91c88b12 25519 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25520 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25521 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25522 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25523 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25524 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25525 GRUB_KERNEL_MACHINE_DATA_END): Define.
25526 (grub_kernel_image_size, grub_total_module_size): Declare.
25527
5b5d4aa5 255282009-04-12 Pavel Roskin <proski@gnu.org>
25529
7dd4a573 25530 * configure.ac: Change the logic when we check for target tools.
25531 Do it when the target is specified and it's different from the
25532 specified value of the host.
5b5d4aa5 25533
c91e1793 255342009-04-11 Felix Zielcke <fzielcke@z-51.de>
25535
25536 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25537 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25538 GNU/kFreeBSD. Check if a device is a character device. Use
25539 DIOCGMEDIASIZE to get the size.
25540 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25541 support for GNU/kFreeBSD.
25542 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25543 is a character device instead of a block device. Add support for
25544 FreeBSD device names.
25545
25546 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25547 is a character device instead of a block device.
25548
25549 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25550 is a character device instead of a block device.
25551
b1ac8644 255522009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25553
25554 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25555 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25556 FreeBSD. Check if a device is a character device. Use
25557 DIOCGMEDIASIZE to get the size.
25558 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25559 support for FreeBSD.
25560 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25561 is a character device instead of a block device. Add support for
25562 FreeBSD device names.
25563
25564 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25565 a character device instead of a block device.
25566 (grub_util_check_char_device): New function.
25567
25568 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25569 a character device instead of a block device.
25570
25571 * include/grub/util/getroot.h (grub_util_check_char_device): New
25572 prototype.
25573
a3f7515a 255742009-04-11 David S. Miller <davem@davemloft.net>
25575
25576 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25577 static libgcc.
25578 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25579 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25580 function, if present.
25581 (__bswapdi2): Likewise.
25582
0d44993d 25583 * include/grub/sparc64/ieee1275/boot.h: New file.
25584 * boot/sparc64/ieee1275/boot.S: Likewise.
25585 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25586
ed3d2bc2 25587 * kern/misc.c (grub_ltoa): New function.
25588 (grub_vsprintf): Use it to format 'long' integers.
25589
d3bfb59c 255902009-04-10 David S. Miller <davem@davemloft.net>
25591
25592 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25593 slots are of type grub_ieee1275_cell_t.
25594 (grub_nand_read): Likewise.
25595 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25596 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25597 macros are used to compare values in arg/ret block of the call.
25598 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25599 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25600 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25601 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25602 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25603 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25604 grub_ieee1275_close, grub_ieee1275_set_property,
25605 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25606 grub_ieee1275_cell_t.
25607 * kern/ieee1275/openfw.c (grub_map): Likewise.
25608 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25609 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25610
450e2238 25611 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25612 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25613 (grub_devalias_iterate): Likewise.
25614
7dd4a573 256152009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 25616
25617 UFS improvements
25618
25619 * fs/ufs.c (INODE_NBLOCKS): new definition
25620 (struct grub_ufs_dirent): added fields for non-BSD dirents
25621 (grub_ufs_get_file_block): fixed double indirect handling
25622 (grub_ufs_lookup_symlink): use more robust way to determine whether
25623 symlink is inline
25624 (grub_ufs_find_file): support for non-BSD dirents
25625 (grub_ufs_dir): support for non-BSD dirents
25626
e7e6862a 256272009-04-10 Bean <bean123ch@gnail.com>
25628
25629 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25630 attribute, otherwise the size would be wrong for i386 platform.
25631
25632 * include/grub/pci.h (grub_pci_read_word): New inline function.
25633 (grub_pci_read_byte): Likewise.
25634 (grub_pci_write): Likewise.
25635 (grub_pci_write_word): Likewise.
25636 (grub_pci_write_byte): Likewise.
25637
25638 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25639
25640 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25641 (find_framebuf): Scan pci to locate the frame buffer address.
25642
25643 * commands/efi/fixvideo.c: New file.
25644
25645 * commands/efi/loadbios.c: Likewise.
25646
25647 * commands/memrw.c: Likewise.
25648
25649 * util/grub-dumpbios.in: Likewise.
25650
25651 * conf/common.rmk (grub-dumpbios): New utility.
25652 (pkglib_MODULES): New module memrw.mod.
25653 (memrw_mod_SOURCE): New macro.
25654 (memrw_mod_CFLAGS): Likewise.
25655 (memrw_mod_LDFLAGS): Likewise.
25656
7dd4a573 25657 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25658 fixvideo.mod.
25659 (loadbios_mod_SOURCE): New macro.
25660 (loadbios_mod_CFLAGS): Likewise.
25661 (loadbios_mod_LDFLAGS): Likewise.
25662 (fixvideo_mod_SOURCE): Likewise.
25663 (fixvideo_mod_CFLAGS): Likewise.
25664 (fixvideo_mod_LDFLAGS): Likewise.
25665
7dd4a573 25666 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25667 fixvideo.mod.
25668 (loadbios_mod_SOURCE): New macro.
25669 (loadbios_mod_CFLAGS): Likewise.
25670 (loadbios_mod_LDFLAGS): Likewise.
25671 (fixvideo_mod_SOURCE): Likewise.
25672 (fixvideo_mod_CFLAGS): Likewise.
25673 (fixvideo_mod_LDFLAGS): Likewise.
25674
af63ada2 256752009-04-08 Felix Zielcke <fzielcke@z-51.de>
25676
25677 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25678
c2cdde70 256792009-04-07 David S. Miller <davem@davemloft.net>
25680
25681 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25682 support for R_SPARC_OLO10 relocations. Fix compile warning for
25683 R_SPARC_WDISP30 case.
ea3f72cf 25684 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 25685
761319cf 256862009-04-06 Pavel Roskin <proski@gnu.org>
25687
1007d1f5 25688 * include/grub/misc.h (ARRAY_SIZE): New macro.
25689 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25690 New macro.
25691 * loader/i386/linux.c (allocate_pages): Use free_pages().
25692 (grub_linux_unload): Don't use free_pages().
25693 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25694 wrong index. Treat all other modes as text modes.
25695 (grub_cmd_linux): Initialize vid_mode unconditionally to
25696 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25697
761319cf 25698 * commands/help.c (print_command_help): Use cmd->prio, not
25699 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25700
ea761d40 257012009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 25702
ea761d40 25703 Parttool
25704
25705 * parttool/pcpart.c: new file
25706 * commands/parttool.c: likewise
25707 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25708 (parttool_mod_SOURCES): new variable
25709 (parttool_mod_CFLAGS): likewise
25710 (parttool_mod_LDFLAGS): likewise
25711 (pcpart_mod_SOURCES): likewise
25712 (pcpart_mod_CFLAGS): likewise
25713 (pcpart_mod_LDFLAGS): likewise
7dd4a573 25714 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 25715 and parttool/pcpart.c
25716 * conf/i386-efi.rmk: likewise
25717 * conf/i386-ieee1275.rmk: likewise
25718 * conf/i386-pc.rmk: likewise
25719 * conf/powerpc-ieee1275.rmk: likewise
25720 * conf/sparc64-ieee1275.rmk: likewise
25721 * conf/x86_64-ieee1275.rmk: likewise
25722
05aaebfb 257232009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25724
25725 Support for mtime and further expandability of dir command
25726
25727 * include/grub/lib/datetime.h: moved to ...
7dd4a573 25728 * include/grub/datetime.h: ... moved here and added
05aaebfb 25729 declaration of grub_unixtime2datetime. All users updated
7dd4a573 25730 * include/grub/fs.h: new syntax for dir and mtime functions in
25731 struct grub_fs
05aaebfb 25732 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25733 and GRUB_FSHELP_FLAGS_MASK
25734 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25735 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25736 (grub_ext2_mtime): new function
25737 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25738 (grub_hfsplus_mtime): new function
25739 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25740 (GRUB_UFS_ATTR_FILE): likewise
25741 (GRUB_UFS_ATTR_LNK): likewise
25742 (struct grub_ufs_sblock): new fields mtime
25743 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25744 all users updated
25745 (grub_ufs_dir): mtime support
25746 (grub_ufs_mtime): new function
25747 * fs/affs.c (grub_affs_dir): use new dir syntax
25748 * fs/afs.c (grub_afs_dir): likewise
25749 * fs/cpio.c (grub_cpio_dir): likewise
25750 * fs/fat.c (grub_fat_find_dir): likewise
25751 * fs/hfs.c (grub_hfs_dir): likewise
25752 * fs/iso9660.c (grub_iso9660_dir): likewise
25753 * fs/jfs.c (grub_jfs_dir): likewise
25754 * fs/minix.c (grub_minix_dir): likewise
25755 * fs/ntfs.c (grub_ntfs_dir): likewise
25756 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25757 * fs/sfs.c (grub_sfs_dir): likewise
25758 * fs/xfs.c (grub_xfs_dir): likewise
25759 * util/hostfs.c (grub_hostfs_dir): likewise
25760 * lib/datetime.c: moved to ...
25761 * normal/datetime.c: ... moved here
25762 (grub_unixtime2datetime): new function
25763 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 25764 * normal/completion.c (iterate_dir): use new dir syntax
25765 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 25766 last modification time of a volume
7dd4a573 25767 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 25768 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 25769 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 25770 (normal_mod_SOURCES): likewise
25771 (datetime_mod_SOURCES): Removed lib/datetime.c
25772 * conf/i386-efi.rmk: likewise
7dd4a573 25773 * conf/i386-ieee1275.rmk: likewise
05aaebfb 25774 * conf/i386-pc.rmk: likewise
25775 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25776 * conf/sparc64-ieee1275.rmk: likewise
25777 * conf/x86_64-efi.rmk: likewise
05aaebfb 25778
8a7e1a14 257792009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25780
25781 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 25782
25783 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 25784 on grub_fat_find_dir
25785 (grub_fat_find_dir): use grub_fat_iterate_dir
25786 (grub_fat_label): likewise
25787
04186a9c 257882009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25789
7dd4a573 25790 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 25791 and command.h
25792 remove extraneous kernel_elf_HEADERS
25793
da4c0bb6 257942009-04-04 Bean <bean123ch@gnail.com>
25795
25796 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25797
25798 * util/misc.c: Likewise.
25799
54ad9555 258002009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25801
25802 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25803 instead of grub_printf.
25804
7a6bf9f2 258052009-04-03 Robert Millan <rmh@aybabtu.com>
25806
25807 * loader/i386/linux.c (grub_linux_setup_video): Fill
25808 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25809 values from `mode info' structure instead of hardcoded
25810 values.
25811
3fcc2083 258122009-04-01 Pavel Roskin <proski@gnu.org>
25813
25814 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25815 unused now.
25816 * genmk.rb: Likewise.
25817 * configure.ac: Likewise.
25818
5ec9740b 258192009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25820
25821 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25822 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25823
5270cec8 258242009-04-01 David S. Miller <davem@davemloft.net>
25825
25826 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 25827 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 25828 (grub_setjmp): Mark with 'returns_twice' attribute.
25829 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25830 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25831 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25832
9c3dd854 258332009-04-01 Robert Millan <rmh@aybabtu.com>
25834
25835 Reapply fix from 2008-07-28 which was accidentally reverted; also
25836 perform the same fix to a similar check in same function.
25837
25838 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25839 with the same number are found, just use issue a warning with
25840 grub_dprintf(), as this error has been reported to be non-fatal.
25841
0d818b7e 258422009-03-31 Pavel Roskin <proski@gnu.org>
25843
25844 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25845 for cross-compilation.
25846
95646d92 258472009-03-30 Robert Millan <rmh@aybabtu.com>
25848
25849 Fix i386-ieee1275 build.
25850
25851 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25852 Remove declaration.
25853
6a003ed1 258542009-03-30 Pavel Roskin <proski@gnu.org>
25855
25856 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25857 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25858 zero-terminated, rely only on the strlen value. Fix comparison
25859 of strings differing in length.
25860
92f33540 258612009-03-30 Robert Millan <rmh@aybabtu.com>
25862
25863 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25864 checking for abi version. Improve error messages on BIOS to notify
25865 user about `linux16' command.
25866
a8c48fd5 258672009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25868
f968172e 25869 Leak fixes
a8c48fd5 25870
f968172e 25871 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25872 in case of collision
25873 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 25874
9c323f09 258752009-03-29 Robert Millan <rmh@aybabtu.com>
25876
25877 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25878 set `vid_mode' accordingly.
25879 (grub_linux_boot): Process `vid_mode' and set video mode.
25880
ae68f423 258812009-03-29 Robert Millan <rmh@aybabtu.com>
25882
25883 * util/grub.d/10_linux.in (linux_entry): New function.
25884 Factorize generation of Linux boot entries.
25885
5709cfc4 258862009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25887
25888 Make the format of Environment Block plain text. The boot loader
25889 part is not tested well yet.
7dd4a573 25890
5709cfc4 25891 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25892 (buffer): Removed.
25893 (envblk): Likewise.
25894 (usage): Remove "info" and "clear". Add "unset". Update the
25895 description of "set", as this does not delete variables any
25896 longer.
25897 (create_envblk_file): Complete rewrite.
25898 (open_envblk_file): Likewise.
25899 (cmd_info): Removed.
25900 (cmd_list): Likewise.
25901 (cmd_set): Likewise.
25902 (cmd_clear): Likewise.
25903 (list_variables): New function.
25904 (write_envblk): Likewise.
25905 (set_variables): Likewise.
25906 (unset_variables): Likewise.
25907 (main): Complete rewrite.
25908
25909 * commands/loadenv.c (buffer): Removed.
25910 (envblk): Likewise.
25911 (open_envblk_file): New function.
25912 (read_envblk_file): Complete rewrite.
25913 (grub_cmd_load_env): Likewise.
25914 (grub_cmd_list_env): Likewise.
25915 (struct blocklist): New struct.
25916 (free_blocklists): New function.
25917 (check_blocklists): Likewise.
25918 (write_blocklists): Likewise.
25919 (grub_cmd_save_env): Complete rewrite.
25920
25921 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25922 a plain text signature.
25923 (GRUB_ENVBLK_MAXLEN): Removed.
25924 (struct grub_envblk): Complete rewrite.
25925 (grub_envblk_find): Removed.
25926 (grub_envblk_insert): Likewise.
25927 (grub_envblk_open): New prototype.
25928 (grub_envblk_set): Likewise.
25929 (grub_envblk_delete): Put const to VALUE.
25930 (grub_envblk_iterate): Put const to NAME and VALUE.
25931 (grub_envblk_close): New prototype.
25932 (grub_envblk_buffer): New inline function.
25933 (grub_envblk_size): Likewise.
25934
25935 * lib/envblk.c: Include grub/mm.h.
25936 (grub_env_find): Removed.
25937 (grub_envblk_open): New function.
25938 (grub_envblk_close): Likewise.
25939 (escaped_value_len): Likewise.
25940 (find_next_line): Likewise.
25941 (grub_envblk_insert): Removed.
25942 (grub_envblk_set): New function.
25943 (grub_envblk_delete): Complete rewrite.
25944 (grub_envblk_iterate): Likewise.
25945
a9368fd3 259462009-03-28 Robert Millan <rmh@aybabtu.com>
25947
25948 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25949 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25950 variables. Use 16-bit loader.
25951 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25952 loader.
25953 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25954 (grub_linux16_boot): ... this. Update all users.
25955 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25956 (grub_linux_boot): ... this. Update all users.
25957
25958 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25959 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25960 commands to `linux16' and `initrd16'.
25961 (GRUB_MOD_FINI(linux)): Rename to ...
25962 (GRUB_MOD_FINI(linux16)): ... this.
25963
e4dd5a7e 259642009-03-24 Pavel Roskin <proski@gnu.org>
25965
25966 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25967 not just for compilation.
25968
c04d6e05 259692009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25970
25971 Move multiboot helper out of kernel
25972
25973 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25974 `loader/i386/multiboot_helper.S'.
25975 * conf/i386-coreboot.rmk: Likewise
25976 * conf/i386-ieee1275.rmk: Likewise
25977
25978 * kern/i386/loader.S: Move multiboot helpers from here...
25979 * loader/i386/multiboot_helper.S: ...moved here
25980 * include/grub/i386/loader.h: Move declarations of multiboot
25981 helpers from here...
25982 * include/grub/i386/multiboot.h: ...moved here
25983 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25984
42a5b3fc 259852009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25986
25987 * kern/env.c (grub_env_context_open): Added an argument to specify
25988 whether a new context inherits exported variables from current
25989 one. This is useful when making a sandbox to interpret a config
25990 file.
25991 All callers updated.
25992
25993 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25994
b28bbc4e 259952009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25996
25997 * kern/env.c (grub_env_context_close): Fix memory leaks.
25998
f04f02e4 259992009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
26000
26001 * normal/main.c (grub_normal_execute): Added an argument
26002 BATCH to specify if an interactive interface should be provided
26003 after reading a config file.
26004 All callers updated.
26005 (read_command_list): Prevent being executed twice.
26006 (read_fs_list): Likewise.
26007
42a5b3fc 26008 * include/grub/normal.h (grub_normal_execute): Updated the
26009 prototype.
f04f02e4 26010
41473ac2 260112009-03-22 Pavel Roskin <proski@gno.org>
26012
fbc00b0c 26013 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
26014 _start.
26015 * kern/i386/pc/startup.S: Likewise.
26016 * kern/i386/efi/startup.S: Likewise.
26017 * kern/i386/ieee1275/startup.S: Likewise.
26018 * kern/i386/coreboot/startup.S: Likewise.
26019 * kern/x86_64/efi/startup.S: Likewise.
26020
41473ac2 26021 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
26022 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
26023 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
26024
2274cc8f 260252009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
26026
26027 Bugfixes in multiboot for bugs uncovered by solaris kernel.
26028
26029 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
26030 limit detection.
26031 Use vaddr of correct segment for entry_point.
26032
b1b797cb 260332009-03-21 Bean <bean123ch@gmail.com>
26034
26035 * commands/blocklist.c: Add include file <grub/command.h>, remove
26036 <grub/normal.h> and <grub/arg.h>.
26037 (grub_cmd_blocklist): Use the new command interface.
26038 (GRUB_MOD_INIT): Likewise.
26039 (GRUB_MOD_FINI): Likewise.
26040 * commands/boot.c: Likewise.
26041 * commands/cat.c: Likewise.
26042 * commands/cmp.c: Likewise.
26043 * commands/configfile.c: Likewise.
26044 * commands/crc.c: Likewise.
26045 * commands/echo.c: Likewise.
26046 * commands/halt.c: Likewise.
26047 * commands/handler.c: Likewise.
26048 * commands/hdparm.c: Likewise.
26049 * commands/help.c: Likewise.
26050 * commands/hexdump.c: Likewise.
26051 * commands/loadenv.c: Likewise.
26052 * commands/ls.c: Likewise.
26053 * commands/lsmmap.c: Likewise.
26054 * commands/lspci.c: Likewise.
26055 * commands/loadenv.c: Likewise.
26056 * commands/read.c: Likewise.
26057 * commands/reboot.c: Likewise.
26058 * commands/search.c: Likewise.
26059 * commands/sleep.c: Likewise.
26060 * commands/test.c: Likewise.
26061 * commands/usbtest.c: Likewise.
26062 * commands/videotest.c: Likewise.
26063 * commands/i386/cpuid.c: Likewise.
26064 * commands/i386/pc/halt.c: Likewise.
26065 * commands/i386/pc/play.c: Likewise.
26066 * commands/i386/pc/pxecmd.c: Likewise.
26067 * commands/i386/pc/vbeinfo.c: Likewise.
26068 * commands/i386/pc/vbetest.c: Likewise.
26069 * commands/ieee1275/suspend.c: Likewise.
26070 * disk/loopback.c: Likewise.
26071 * font/font_cmd.c: Likewise.
26072 * hello/hello.c: Likewise.
26073 * loader/efi/appleloader.c: Likewise.
26074 * loader/efi/chainloader.c: Likewise.
26075 * loader/i386/bsd.c: Likewise.
26076 * loader/i386/efi/linux.c: Likewise.
26077 * loader/i386/ieee1275/linux.c: Likewise.
26078 * loader/i386/linux.c: Likewise.
26079 * loader/i386/pc/chainloader.c: Likewise.
26080 * loader/i386/pc/linux.c: Likewise.
26081 * loader/powerpc/ieee1275/linux.c: Likewise.
26082 * loader/multiboot_loader.c: Likewise.
26083 * term/gfxterm.c: Likewise.
26084 * term/i386/pc/serial.c: Likewise.
26085 * term/terminfo.c: Likewise.
26086
26087 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
26088 * term/i386/pc/vga.c: Likewise.
26089 * video/readers/jpeg.c: Likewise.
26090 * video/readers/png.c: Likewise.
26091 * video/readers/tga.c: Likewise.
26092
26093 * util/grub-fstest (cmd_loopback): Removed.
26094 (cmd_blocklist): Likewise.
26095 (cmd_ls): Likewise.
26096 (grub_register_command): Likewise.
26097 (grub_unregister_command): Likewise.
26098 (execute_command): Use grub_command_find to locate command and execute
26099 it.
26100
26101 * include/grub/efi/chainloader.h: Removed.
26102 * loader/efi/chainloader_normal.c: Likewise.
26103 * loader/i386/bsd_normal.c: Likewise.
26104 * loader/i386/pc/chainloader_normal.c: Likewise.
26105 * loader/i386/pc/multiboot_normal.c: Likewise.
26106 * loader/linux_normal.c: Likewise.
26107 * loader/multiboot_loader_normal.c: Likewise.
26108 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26109
26110 * gencmdlist.sh: Scan new registration command grub_register_extcmd
26111 and grub_register_command_p1.
26112
26113 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
26114 kern/command.c, lib/arg.c and commands/extcmd.c.
26115 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
26116 (minicmd_mod_SOURCES): New variable.
26117 (minicmd_mod_CFLAGS): Likewise.
26118 (minicmd_mod_LDFLAGS): Likewise.
26119 (extcmd_mod_SOURCES): Likewise.
26120 (extcmd_mod_CFLAGS): Likewise.
26121 (extcmd_mod_LDFLAGS): Likewise.
26122 (boot_mod_SOURCES): Removed.
26123 (boot_mod_CFLAGS): Likewise.
26124 (boot_mod_LDFLAGS): Likewise.
26125
26126 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
26127 kern/corecmd.c.
26128 (kernel_img_HEADERS): Add command.h.
26129 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
26130 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
26131 and lib/arg.c.
26132 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
26133 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
26134 remove the corresponding normal mode command.
26135 (normal_mod_SOURCES): Remove normal/arg.c.
26136 * conf/i386-coreboot.rmk: Likewise.
26137 * conf/i386-efi.rmk: Likewise.
26138 * conf/i386-ieee1275.rmk: Likewise.
26139 * conf/powerpc-ieee1275.rmk: Likewise.
26140 * conf/x86_64-efi.rmk: Likewise.
26141
26142 * include/grub/arg.h: Move from here ...
26143 * include/grub/lib/arg.h: ... to here.
26144
26145 * normal/arg.c: Move from here ...
26146 * lib/arg.c: ... to here.
26147
26148 * commands/extcmd.c: New file.
26149 * commands/minicmd.c: Likewise.
26150 * include/grub/command.h: Likewise.
26151 * include/grub/extcmd.h: Likewise.
26152 * kern/command.c: Likewise.
26153 * kern/corecmd.c: Likewise.
26154
26155 * kern/list.c (grub_list_iterate): Return int instead of void.
26156 (grub_list_insert): New function.
26157 (grub_prio_list_insert): Likewise.
26158
26159 * kern/rescue.c (grub_rescue_command): Removed.
26160 (grub_rescue_command_list): Likewise.
26161 (grub_rescue_register_command): Likewise.
26162 (grub_rescue_unregister_command): Likewise.
26163 (grub_rescue_cmd_boot): Move to minicmd.c
26164 (grub_rescue_cmd_help): Likewise.
26165 (grub_rescue_cmd_info): Likewise.
26166 (grub_rescue_cmd_boot): Likewise.
26167 (grub_rescue_cmd_testload): Likewise.
26168 (grub_rescue_cmd_dump): Likewise.
26169 (grub_rescue_cmd_rmmod): Likewise.
26170 (grub_rescue_cmd_lsmod): Likewise.
26171 (grub_rescue_cmd_exit): Likewise.
26172 (grub_rescue_print_devices): Moved to corecmd.c.
26173 (grub_rescue_print_files): Likewise.
26174 (grub_rescue_cmd_ls): Likewise.
26175 (grub_rescue_cmd_insmod): Likewise.
26176 (grub_rescue_cmd_set): Likewise.
26177 (grub_rescue_cmd_unset): Likewise.
7d074e3c 26178 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 26179 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 26180 commands, remove grub_rescue_register_command calls.
b1b797cb 26181
7d074e3c 26182 * normal/command.c (grub_register_command): Removed.
b1b797cb 26183 (grub_unregister_command): Likewise.
26184 (grub_command_find): Likewise.
26185 (grub_iterate_commands): Likewise.
26186 (rescue_command): Likewise.
26187 (export_command): Moved to corecmd.c.
26188 (set_command): Removed.
26189 (unset_command): Likewise.
26190 (insmod_command): Likewise.
26191 (rmmod_command): Likewise.
26192 (lsmod_command): Likewise.
26193 (grub_command_init): Likewise.
26194
26195 * normal/completion.c (iterate_command): Use cmd->prio to check for
26196 active command.
26197 (complete_arguments): Use grub_extcmd_t structure to find options.
26198 (grub_normal_do_completion): Change function grub_iterate_commands to
26199 grub_command_iterate.
26200
26201 * normal/execute.c (grub_script_execute_cmd): No need to parse
26202 argument here.
26203
26204 * normal/main.c (grub_dyncmd_dispatcher): New function.
26205 (read_command_list): Register unload commands as dyncmd.
26206 (grub_cmd_normal): Use new command interface, register rescue,
26207 unregister normal at entry, register normal, unregister rescue at exit.
26208
26209 * include/grub/list.h (grub_list_test_t): New type.
26210 (grub_list_iterate): Return int instead of void.
26211 (grub_list_insert): New function.
26212 (GRUB_AS_NAMED_LIST_P): New macro.
26213 (GRUB_AS_PRIO_LIST): Likewise.
26214 (GRUB_AS_PRIO_LIST_P): Likewise.
26215 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
26216 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
26217 (grub_prio_list): New structure.
26218 (grub_prio_list_insert): New function.
26219 (grub_prio_list_remove): New inline function.
26220
26221 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
26222 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
26223 (GRUB_COMMAND_FLAG_MENU): Likewise.
26224 (GRUB_COMMAND_FLAG_BOTH): Likewise.
26225 (GRUB_COMMAND_FLAG_TITLE): Likewise.
26226 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
26227 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
26228 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
26229 (grub_command): Likewise.
26230 (grub_register_command): Likewise.
26231 (grub_command_find): Likewise.
26232 (grub_iterate_commands): Likewise.
26233 (grub_command_init): Likewise.
26234 (grub_arg_parse): Likewise.
26235 (grub_arg_show_help): Likewise.
26236
26237 * include/grub/rescue.h (grub_rescue_register_command): Removed.
26238 (grub_rescue_unregister_command): Likewise.
26239
26240 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
26241 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
26242 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
26243
26244 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
26245 grub_rescue_cmd_initrd.
26246 * include/grub/i386/loader.h: Likewise.
26247 * include/grub/x86_64/loader.h: Likewise.
26248
26249 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
26250
1f4147aa 262512009-03-21 Bean <bean123ch@gmail.com>
26252
26253 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
26254 instead of stat in mingw environment.
26255
26256 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
26257
26258 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
26259
26260 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
26261 AC_CONFIG_LINKS.
26262
2156d5ba 262632009-03-21 Bean <bean123ch@gmail.com>
26264
26265 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
26266 out of range error.
26267
177b82ca 262682009-03-18 Michel Dänzer <michel@daenzer.net>
26269
26270 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
26271 checking inode flags for EXT4_EXTENTS_FLAG.
26272
14aad807 262732009-03-18 Robert Millan <rmh@aybabtu.com>
26274
26275 * loader/i386/linux.c: Include `<grub/video.h>' and
26276 `<grub/i386/pc/vbe.h>'..
26277 (grub_linux_setup_video): New function. Loosely based on the EFI one.
26278 (grub_linux32_boot): Attempt to configure video settings with
26279 grub_linux_setup_video().
26280 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
26281 to avoid grub_console_fini() which would step out of graphical mode
26282 unconditionally.
26283
8cf83a27 262842009-03-14 Robert Millan <rmh@aybabtu.com>
26285
26286 Fix build on powerpc.
26287 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
26288
40164e75 262892009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
26290
26291 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
26292 background image command.
26293
c58bc32a 262942009-03-12 Colin D Bennett <colin@gibibit.com>
26295
26296 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
26297 (grub_gfxterm_putchar): Extract pairs of identical calls to
26298 draw_cursor out of conditional blocks.
26299
5415144a 263002009-03-11 Pavel Roskin <proski@gnu.org>
26301
26302 * fs/hfs.c (grub_hfs_strncasecmp): New function.
26303 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
26304
6394042e 263052009-03-11 Robert Millan <rmh@aybabtu.com>
26306
26307 * loader/i386/multiboot_elfxx.c
26308 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
26309
b7b50e5f 263102009-03-11 Felix Zielcke <fzielcke@z-51.de>
26311
26312 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
26313 `kern/handler.c'.
26314
1ca7fc96 263152009-03-11 Robert Millan <rmh@aybabtu.com>
26316
26317 * loader/i386/multiboot.c (code_size): New variable.
26318 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 26319 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 26320 4-byte alignment to MBI and others by increasing
7d074e3c 26321 `boot_loader_name_length' appropriately.
1ca7fc96 26322
26323 * loader/i386/multiboot_elfxx.c
26324 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
26325
a83ea1d2 263262009-03-09 Felix Zielcke <fzielcke@z-51.de>
26327
26328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
26329 `fs/ext2.c'.
26330
aa9f3bff 263312009-03-08 Robert Millan <rmh@aybabtu.com>
26332
26333 Make loader/i386/linux.c usable on i386-pc again.
26334
26335 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
26336 memory to heap.
26337 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
26338 `#error' stanza.
26339
d8b3b60e 263402009-03-07 Bean <bean123ch@gmail.com>
26341
26342 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
26343 allocation.
26344
b362c9e9 263452009-03-06 Robert Millan <rmh@aybabtu.com>
26346
26347 Fix display issue on terminals with screen size other than 80x25
26348 (e.g. gfxterm with resolution higher than 640x480).
26349
26350 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 26351 position relative to the center of the terminal instead of relying
b362c9e9 26352 on a hardcoded offset.
26353
9304eef1 263542009-03-04 Robert Millan <rmh@aybabtu.com>
26355
26356 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
26357 installed.
26358
26359 * Makefile.in (host_kernel): New variable.
26360 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
26361 scripts instead of just the windows one.
26362 * configure.ac: Initialize and AC_SUBST `host_kernel'.
26363
eabc95fb 263642009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 26365
26366 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
26367 `kern/handler.c'.
26368 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26369 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26370 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26372 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26373 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26374
ceb1223c 263752009-03-04 Felix Zielcke <fzielcke@z-51.de>
26376
26377 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
26378 or if there's no space for the disk label and print the partition number on a
26379 invalid magic.
26380
4910684a 263812009-03-04 Felix Zielcke <fzielcke@z-51.de>
26382
26383 * util/misc.c: Include <time.h>.
26384 (grub_millisleep): New function.
26385
7e9ca17a 263862009-03-04 Bean <bean123ch@gmail.com>
26387
26388 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
26389 another option -mno-red-zone.
26390
26391 * commands/handler.c: Change module description.
26392
26393 * kern/handler.c: Add missing space at the end of description line.
26394
26395 * kern/list.c: Likewise.
26396
f501677c 263972009-03-03 Robert Millan <rmh@aybabtu.com>
26398
26399 Move more components to the relocation area, and fix mbi pointer
26400 handling to use the destination rather than the origin (thanks to
26401 Vladimir Serbinenko for spotting).
26402
26403 * loader/i386/multiboot.c (mbi_dest): New variable.
26404 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
26405 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
26406 relocation area.
26407
9902d047 264082009-03-01 Bean <bean123ch@gmail.com>
26409
50fb7002 26410 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 26411 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
26412 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
26413 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
26414
26415 * loader/i386/efi/linux.c (acpi_guid): New variable.
26416 (acpi_guid): Likewise.
26417 (EBDA_SEG_ADDR): New constant.
26418 (LOW_MEM_ADDR): Likewise.
26419 (FAKE_EBDA_SEG): Likewise.
26420 (fake_bios_data): New function.
26421 (grub_linux_boot): Call fake_bios_data.
26422
71b9f361 264232009-03-01 Bean <bean123ch@gmail.com>
26424
26425 * commands/terminal.c: Removed.
26426
26427 * commands/handler.c: New file.
26428
26429 * include/grub/list.h: Likewise.
26430
26431 * include/grub/handler.h: Likewise.
26432
26433 * kern/list.c: Likewise.
26434
26435 * kern/handler.c: Likewise.
26436
26437 * kern/term.h: Include header file <grub/handler.h>.
26438 (grub_term_input): Move next field to the beginning.
26439 (grub_term_output): Likewise.
26440 (grub_term_input_class): New variable.
26441 (grub_term_output_class): Likewise.
26442 (grub_term_register_input): Changed to inline function.
26443 (grub_term_register_output): Likewise.
26444 (grub_term_unregister_input): Likewise.
26445 (grub_term_unregister_output): Likewise.
26446 (grub_term_set_current_input): Likewise.
26447 (grub_term_set_current_output): Likewise.
26448 (grub_term_get_current_input): Likewise.
26449 (grub_term_get_current_output): Likewise.
26450 (grub_term_iterate_input): Removed.
26451 (grub_term_iterate_output): Likewise.
26452
26453 * kern/term.c (grub_term_list_input): Removed.
26454 (grub_term_list_output): Likewise.
26455 (grub_term_input_class): New variable.
26456 (grub_term_output_class): Likewise.
50fb7002 26457 (grub_cur_term_input): Change variable as macro.
71b9f361 26458 (grub_cur_term_output): Likewise.
26459 (grub_term_register_input): Removed.
26460 (grub_term_register_output): Likewise.
26461 (grub_term_unregister_input): Likewise.
26462 (grub_term_unregister_output): Likewise.
26463 (grub_term_set_current_input): Likewise.
26464 (grub_term_set_current_output): Likewise.
26465 (grub_term_iterate_input): Likewise.
26466 (grub_term_iterate_output): Likewise.
26467 (grub_term_get_current_input): Likewise.
26468 (grub_term_get_current_output): Likewise.
26469
26470 * util/grub-editenv.c: Include header file <grub/handler.h>.
26471 (grub_term_get_current_input): Removed.
26472 (grub_term_get_current_output): Likewise.
26473 (grub_term_input_class): New variable.
50fb7002 26474 (grub_term_output_class): Likewise.
71b9f361 26475
26476 * util/grub-fstest.c (grub_term_get_current_input): Removed.
26477 (grub_term_get_current_output): Likewise.
26478 (grub_term_input_class): New variable.
50fb7002 26479 (grub_term_output_class): Likewise.
71b9f361 26480
26481 * util/grub-probe.c (grub_term_get_current_input): Removed.
26482 (grub_term_get_current_output): Likewise.
26483 (grub_term_input_class): New variable.
50fb7002 26484 (grub_term_output_class): Likewise.
71b9f361 26485
26486 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26487 (grub_term_get_current_output): Likewise.
26488 (grub_term_input_class): New variable.
50fb7002 26489 (grub_term_output_class): Likewise.
71b9f361 26490
26491 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26492 (terminal_mod_SOURCES): Likewise.
26493 (terminal_mod_CFLAGS): Likewise.
26494 (terminal_mod_LDFLAGS): Likewise.
26495
26496 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26497 handler.c.
26498 (kernel_img_SOURCES): Add list.c and handler.c.
26499 (kernel_img_HEADERS): Add list.h and handler.h.
26500
26501 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26502 handler.c.
26503 (kernel_mod_SOURCES): Add list.c and handler.c.
26504 (kernel_mod_HEADERS): Add list.h and handler.h.
26505
26506 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26507 handler.c.
26508 (kernel_elf_SOURCES): Add list.c and handler.c.
26509 (kernel_elf_HEADERS): Add list.h and handler.h.
26510
26511 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26512 handler.c.
26513 (kernel_elf_SOURCES): Add list.c and handler.c.
26514 (kernel_elf_HEADERS): Add list.h and handler.h.
26515
26516 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26517 handler.c.
26518 (kernel_mod_SOURCES): Add list.c and handler.c.
26519 (kernel_mod_HEADERS): Add list.h and handler.h.
26520
26521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26522 handler.c.
26523 (kernel_elf_SOURCES): Add list.c and handler.c.
26524 (kernel_elf_HEADERS): Add list.h and handler.h.
26525
8a31787f 265262009-02-27 Robert Millan <rmh@aybabtu.com>
26527
26528 Factorize elf32 / elf64 code in Multiboot loader. This will
26529 prevent it from getting out of sync again.
26530
26531 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26532 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26533 grub_multiboot_load_elf64): Move from here ...
26534 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26535 grub_multiboot_load_elf): ... to here (new file).
26536
51cd3dfc 265372009-02-27 Robert Millan <rmh@aybabtu.com>
26538
26539 * util/grub.d/10_linux.in: Rename "single-user mode" to
26540 "recovery mode".
26541
6e8c9c3a 265422009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26543
26544 Don't leak in SCSI code.
26545 * disk/scsi.c (grub_scsi_close): free `scsi'.
26546
4b6bf4f9 265472009-02-27 Robert Millan <rmh@aybabtu.com>
26548
26549 * loader/i386/pc/multiboot.c: Move from here ...
26550 * loader/i386/multiboot.c: ... to here. Update all users.
26551
b9413424 265522009-02-27 Robert Millan <rmh@aybabtu.com>
26553
26554 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26555 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26556
50fb7002 265572009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 26558
26559 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26560 b-tree.
26561
8cc50345 265622009-02-27 Robert Millan <rmh@aybabtu.com>
26563
26564 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26565 `0x' qualifier as 0 when base is specified as parameter).
26566
6e09b8b7 265672009-02-24 Bean <bean123ch@gmail.com>
26568
26569 * configure.ac: Check for -mcmodel=large in x86_64 target.
26570
26571 * include/grub/efi/api.h (efi_call_10): New macro.
26572 (efi_wrap_10): New function.
26573
26574 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26575 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26576 (GRUB_PE32_REL_BASED_LOW): Likewise.
26577 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26578 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26579 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26580 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26581 (GRUB_PE32_REL_BASED_REL): Likewise.
26582 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26583 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26584 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26585
26586 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26587 issue.
26588
26589 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26590 (efi_wrap_10): New function.
26591
26592 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26593
26594 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26595 MB/MBP model (NV chipset).
26596 (devdata_devs): Add devpath_5 to the list.
26597
26598 * load/i386/efi/linux.c (video_base): Remove variable.
26599 (RGB_MASK): New macro.
26600 (RGB_MAGIC): Likewise.
26601 (LINE_MIN): Likewise.
26602 (LINE_MAX): Likewise.
26603 (FBTEST_STEP): Likewise.
26604 (FBTEST_COUNT): Likewise.
26605 (fb_list): New variable.
26606 (grub_find_video_card): Remove function.
26607 (find_framebuf): New function.
26608 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26609 line length.
26610
26611 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26612 problem for x86_64.
26613
74b21bee 266142009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26615
26616 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26617
26618 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26619 coding tool name.
26620
a455f472 266212009-02-22 Robert Millan <rmh@aybabtu.com>
26622
26623 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26624 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26625 in our relocation, instead of using it directly from heap. Also
26626 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26627
6374daf3 266282009-02-21 Robert Millan <rmh@aybabtu.com>
26629
26630 Implement USB keyboard support (based on patch by Marco Gerards)
26631
26632 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26633 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26634 (usb_keyboard_mod_LDFLAGS): New variables.
26635
26636 * term/usb_keyboard.c: New file.
26637
8fa4ea70 266382009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26639
26640 Corrected wrong declaration
26641
26642 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26643
353976ac 266442009-02-14 Christian Franke <franke@computer.org>
26645
26646 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26647 (grub_lspci_iter): Print class code and programming interface byte.
26648
6aa1169b 266492009-02-14 Christian Franke <franke@computer.org>
26650
26651 * gendistlist.sh: Ignore `.svn' directories.
26652
265372ca 266532009-02-14 Felix Zielcke <fzielcke@z-51.de>
26654
26655 * fs/fat.c: Add 2009 to Copyright line.
26656
9ff516f3 266572009-02-14 Christian Franke <franke@computer.org>
26658
26659 * commands/hdparm.c: New file. Provides `hdparm' command
26660 which sends ATA commands via grub_disk_ata_pass_through ().
26661
26662 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26663
26664 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26665 and <grub/cpu/io.h> to include/grub/ata.h.
26666 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26667 (GRUB_CDROM_SECTOR_SIZE): Remove.
26668 (GRUB_ATA_*): Move to include/grub/ata.h.
26669 (GRUB_ATAPI_*): Likewise.
26670 (enum grub_ata_commands): Likewise.
26671 (enum grub_ata_timeout_milliseconds): Likewise.
26672 (struct grub_ata_device): Likewise.
26673 (grub_ata_regset): Likewise.
26674 (grub_ata_regget): Likewise.
26675 (grub_ata_regset2): Likewise.
26676 (grub_ata_regget2): Likewise.
26677 (grub_ata_check_ready): Likewise.
26678 (grub_ata_wait_not_busy): Remove static, exported in
26679 include/grub/ata.h.
26680 (grub_ata_wait_drq): Likewise.
26681 (grub_ata_pio_read): Likewise.
26682
26683 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26684 function for hdparm.mod.
26685
26686 * include/grub/ata.h: New file, contains declarations from
26687 disk/ata.c.
26688 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26689
26690 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26691 (grub_disk_ata_pass_through): New exported variable.
26692
26693 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26694
772e23da 266952009-02-13 Colin D Bennett <colin@gibibit.com>
26696
26697 Support multiple fallback entries, and provide an API to support
26698 executing default+fallback menu entries. Renamed the `terminal' menu
26699 viewer to `text'.
26700
26701 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26702 variable declaration.
26703 (grub_menu_execute_callback): New structure declaration.
26704 (grub_menu_execute_callback_t): New typedef.
26705 (grub_menu_execute_with_fallback): New function declaration.
26706 (grub_menu_get_entry): Likewise.
26707 (grub_menu_get_timeout): Likewise.
26708 (grub_menu_set_timeout): Likewise.
26709
26710 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26711
26712 * normal/menu.c (grub_wait_after_message): Moved to
26713 `normal/menu_text.c'.
26714 (draw_border): Likewise.
26715 (print_message): Likewise.
26716 (print_entry): Likewise.
26717 (print_entries): Likewise.
26718 (grub_menu_init_page): Likewise.
26719 (get_entry_number): Likewise.
26720 (print_timeout): Likewise.
26721 (run_menu): Likewise.
26722 (grub_menu_execute_entry): Likewise.
26723 (show_text_menu): Likewise.
26724 (get_and_remove_first_entry_number): New function.
26725 (grub_menu_execute_with_fallback): Likewise.
26726 (get_entry): Renamed to ...
26727 (grub_menu_get_entry): .. this and made it global.
26728 (get_timeout): Renamed to ...
26729 (grub_menu_get_timeout): ... this and made it global.
26730 (set_timeout): Renamed to ...
26731 (grub_menu_set_timeout): ... this and made it global.
26732 (grub_normal_terminal_menu_viewer): Renamed to ...
26733 (grub_normal_text_menu_viewer): ... this.
26734
26735 * normal/menu_text.c: New file. Extracted text-menu-specific code
26736 from normal/menu.c.
26737
26738 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26739 (normal_mod_SOURCES): Likewise.
26740
26741 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26742 (normal_mod_SOURCES): Likewise.
26743
26744 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26745 (normal_mod_SOURCES): Likewise.
26746
26747 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26748 (normal_mod_SOURCES): Likewise.
26749
26750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26751 (normal_mod_SOURCES): Likewise.
26752
26753 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26754 (normal_mod_SOURCES): Likewise.
26755
26756 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26757 (normal_mod_SOURCES): Likewise.
26758
16ac430e 267592009-02-11 Robert Millan <rmh@aybabtu.com>
26760
26761 * util/grub.d/00_header.in: Update old reference to `font' command.
26762
06ff20fc 267632009-02-10 Felix Zielcke <fzielcke@z-51.de>
26764
26765 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26766
26767 Based on patch from Javier Martín.
26768
96da9407 267692009-02-09 Felix Zielcke <fzielcke@z-51.de>
26770
26771 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 26772 to avoid false positives with FAT.
96da9407 26773 (grub_fstest_SOURCES): Likewise.
26774 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26775 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26777 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26778 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26779 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26780
6dca6fe4 267812009-02-09 Felix Zielcke <fzielcke@z-51.de>
26782
06ff20fc 26783 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 26784 bpb.version_specific.fat12_or_fat16.fstype and
26785 bpb.version_specific.fat32.fstype.
26786
2550c62f 267872009-02-08 Robert Millan <rmh@aybabtu.com>
26788
be110b30 26789 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 26790
56978920 267912009-02-08 Robert Millan <rmh@aybabtu.com>
26792
26793 * Makefile.in (host_os, host_cpu): New variables.
26794 (target_os): Remove. Update all users.
26795
d64399b5 267962009-02-08 Marco Gerards <marco@gnu.org>
26797
26798 * Makefile.in (enable_grub_emu_usb): New variable.
26799 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26800 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26801 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26802 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26803 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26804 `usbtest.mod' and `usbms.mod'.
26805 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26806 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26807 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26808 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26809 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26810 variables.
26811
26812 * disk/usbms.c: New file.
26813
26814 * include/grub/usb.h: Likewise.
26815
26816 * include/grub/usbtrans.h: Likewise.
26817
26818 * include/grub/usbdesc.h: Likewise.
26819
26820 * bus/usb/usbtrans.c: Likewise.
26821
26822 * bus/usb/ohci.c: Likewise.
26823
26824 * bus/usb/uhci.c: Likewise.
26825
26826 * bus/usb/usbhub.c: Likewise.
26827
26828 * bus/usb/usb.c: Likewise.
26829
26830 * commands/usbtest.c: Likewise.
26831
26832 * util/usb.c: Likewise.
50fb7002 26833
d64399b5 26834 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26835
26836 * configure.ac: Test for libusb presence.
50fb7002 26837
d64399b5 26838 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26839
2b40d6bb 268402009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26841
26842 * kern/mm.c: Add more comments.
26843
73a4ce81 268442009-02-08 Robert Millan <rmh@aybabtu.com>
26845
26846 Patch from Javier Martín.
26847 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26848 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26849
f821ce59 268502009-02-08 Robert Millan <rmh@aybabtu.com>
26851
26852 * fs/cpio.c: Split tar functionality to ...
26853 * fs/tar.c: ... here (new file). Update all users.
26854
aebfc4b0 268552009-02-07 Robert Millan <rmh@aybabtu.com>
26856
26857 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26858 backward-incompatible features.
26859
26860 Based on patch from Javier Martín, with some adjustments.
26861
50fb7002 268622009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 26863
26864 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26865
0bb5115e 268662009-02-07 Robert Millan <rmh@aybabtu.com>
26867
26868 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26869 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26870 after the RAID stuff.
26871
38a0f8e7 268722009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26873
50fb7002 26874 Fixes problem when running vbetest command as reported by
38a0f8e7 26875 Vladimir Serbinenko <phcoder@gmail.com>.
26876
26877 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26878
3143cc1c 268792009-02-04 Felix Zielcke <fzielcke@z-51.de>
26880
26881 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26882 /dev/md/NpN style mdraid devices.
26883
9cba6fce 268842009-02-03 Felix Zielcke <fzielcke@z-51.de>
26885
26886 * util/unifont2pff.rb: Remove.
26887
e507a2c1 268882009-02-03 Felix Zielcke <fzielcke@z-51.de>
26889
26890 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26891 `#'.
26892
d2c2b4cd 268932009-02-03 Felix Zielcke <fzielcke@z-51.de>
26894
26895 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26896 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26897 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26898 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26900 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26901 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26902
b4315fb0 269032009-02-02 Christian Franke <franke@computer.org>
26904
26905 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26906
de3aa260 269072009-02-01 Felix Zielcke <fzielcke@z-51.de>
26908
7c3ff286 26909 * INSTALL: Note that we now require at least autoconf 2.59 and
26910 that LZO is optional.
de3aa260 26911
825a182b 269122009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26913
26914 Base on patch on bug #24154 created by Tomas Tintera
26915 <trosos@seznam.cz>.
26916
26917 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26918
a69ef770 269192009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26920
7c3ff286 26921 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 26922 <bero@arklinux.org>.
26923
26924 * normal/parser.y (script_init): Add missing semicolon.
26925
6fa42fa6 269262009-01-31 Colin D Bennett <colin@gibibit.com>
26927
7c3ff286 26928 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 26929 (free_menu_entry_classes): Added.
26930 (grub_normal_menu_addentry): Added class property handling.
26931 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26932 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26933
26934 * normal/menu_viewer.c: New file.
26935
26936 * normal/menu.c (run_menu_entry): Renamed to ...
26937 (grub_menu_execute_entry): ... this and made it as global.
26938 (grub_menu_run): Renamed to ...
26939 (show_text_menu): ... this and made it local.
26940 (show_text_menu): Adapt to new function names.
26941 (grub_normal_terminal_menu_viewer): New global variable.
26942
26943 * include/grub/menu.h: New file.
26944
26945 * include/grub/menu_viewer.h: New file.
26946
26947 * include/grub/normal.h: Added include to grub/menu.h.
26948 (grub_menu_entry): Moved to include/grub/menu.h.
26949 (grub_menu_entry_t): Likewise.
26950 (grub_menu): Likewise.
26951 (grub_menu_t): Likewise.
26952 (grub_normal_terminal_menu_viewer): Added.
26953 (grub_menu_execute_entry): Likewise.
26954 (grub_menu_run): Removed.
26955
26956 * DISTLIST: Added include/grub/menu.h.
26957 Added include/grub/menu_viewer.h.
26958 Added normal/menu_viewer.c.
26959
269602009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26961
26962 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26963 arglist for menutitle arguments.
26964
26965 * normal/main.c (grub_normal_menu_addentry): Likewise.
26966
26967 * normal/parser.y (menuentry): Likewise.
26968
26969 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26970
26971 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26972 (grub_script_create_cmdmenu): Likewise.
26973
26974 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26975
26976 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26977 changes.
26978
26979 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26980
26981 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26982
26983 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26984
26985 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26986
26987 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26988
26989 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26990
56192c23 269912009-01-30 Christian Franke <franke@computer.org>
26992
26993 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26994 in option help text.
26995
d72521b3 269962009-01-27 Pavel Roskin <proski@gnu.org>
26997
26998 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26999
994b5e84 270002009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
27001
27002 * commands/lsmmap.c: Add include to grub/machine/memory.h.
27003
27004 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
27005
27006 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
27007 unregister function.
27008
6a7eab2c 270092009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
27010
27011 * disk/scsi.c (grub_scsi_read): Fix sign problem.
27012
27013 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
27014
27015 * util/grub-mkfont.c (usage): Fix typo.
27016
27017 * util/elf/grub-mkimage.c (load_modules): Fix warning.
27018
1806b56e 270192009-01-26 Daniel Mierswa <impulze@impulze.org>
27020
3fb18f09 27021 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
27022
336e1fb9 27023 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
27024
1806b56e 27025 * kern/misc.c (grub_strcasecmp): New function.
27026 (grub_strcasecmp): Use grub_size_t instead of int for length.
27027 Fix return value.
27028 * include/grub/misc.h: Update function prototypes.
27029
580b2a0f 270302009-01-26 Robert Millan <rmh@aybabtu.com>
27031
27032 * configure.ac: Fix cross-compilation check.
ef257b36 27033
d31c24f1 270342009-01-22 Christian Franke <franke@computer.org>
27035
27036 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
27037 (precision) digit string. Allow `.format2' without `format1' (width).
27038 Limit input chars for `%s' output to `format2' if specified. This is
27039 compatible with standard printf ().
27040
3138b44c 270412009-01-22 Christian Franke <franke@computer.org>
27042
27043 * disk/ata.c (grub_ata_wait_status): Replace by ...
27044 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
27045 other status bits may be invalid while BSY is asserted.
27046 (grub_ata_check_ready): New function.
27047 (grub_ata_cmd): Removed.
27048 (grub_ata_wait_drq): New function.
27049 (grub_ata_strncpy): Remove inline.
27050 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
27051 and error check now done by grub_ata_wait_drq ().
27052 (grub_ata_pio_write): Likewise.
27053 (grub_atapi_identify): Set DEV before check for !BSY. Use
27054 grub_ata_wait_drq () to wait for data.
27055 (grub_ata_device_initialize): Add status register check to
27056 detect missing SATA slave devices. Add debug messages.
27057 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
27058 (grub_atapi_packet): Set DEV before check for !BSY. Replace
27059 transfer loop by grub_ata_pio_write ().
27060 (grub_ata_identify): Set DEV before check for !BSY. Use
27061 grub_ata_wait_drq () to wait for data.
ef257b36 27062 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 27063 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
27064 read/write in one loop. Fix invalid command on write. Fix incomplete
27065 command on (size % batch) == 0. Add missing error check after write of
27066 last block. Add debug messages.
27067 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
27068
59a64ef6 270692009-01-19 Christian Franke <franke@computer.org>
27070
27071 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
27072 (GRUB_ATAPI_IREASON_*): Likewise.
27073 (grub_ata_pio_write): Fix timeout error return.
27074 (grub_atapi_identify): Add grub_ata_wait () after cmd.
27075 (grub_atapi_wait_drq): New function.
27076 (grub_atapi_packet): New parameter `size'.
27077 Use grub_atapi_wait_drq () and direct write instead of
27078 grub_ata_pio_write ().
27079 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
27080 reads the number of bytes requested by the device for each DRQ
27081 assertion.
27082 (grub_atapi_write): Remove old implementation, return not
27083 implemented instead.
27084
1cfe20b3 270852009-01-19 Christian Franke <franke@computer.org>
27086
27087 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
27088 of 512 to calculate data size.
27089 (grub_scsi_read12): Likewise.
27090 (grub_scsi_write10): Likewise.
27091 (grub_scsi_write12): Likewise.
27092 (grub_scsi_read): Adjust size according to blocksize.
27093 Add checks for invalid blocksize and unaligned transfer.
27094
bee5fe5d 270952009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
27096
27097 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
27098
ef257b36 27099 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 27100 width glyphs.
27101
3e643f8c 271022009-01-19 Robert Millan <rmh@aybabtu.com>
27103
27104 * config.guess: Update to latest version from config git.
27105 * config.sub: Likewise.
27106
4fa80998 271072009-01-17 Felix Zielcke <fzielcke@z-51.de>
27108
27109 * Makefile.in: Change font compilation to use new grub-mkfont instead
27110 of java version.
27111
27112 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
27113 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
27114 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27115 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27116 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
27117 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
27118 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
27119 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
27120 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27121
7086085b 271222009-01-16 Christian Franke <franke@computer.org>
27123
27124 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
27125 (enum grub_ata_timeout_milliseconds): New enum.
27126 (grub_ata_wait_status): Add parameter milliseconds.
27127 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
27128 recovery from timed-out commands.
27129 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
27130 return grub_errno instead of REG_ERROR.
27131 (grub_ata_pio_write): Add parameter milliseconds.
27132 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
27133 Pass milliseconds to grub_ata_wait_status () and
27134 grub_ata_pio_read ().
27135 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
27136 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
27137 grub_ata_wait_status (). Fix IDENTIFY timeout check.
27138 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
27139 It is not suitable for device detection, because DEV bit is ignored,
27140 the command may run too long, and not all devices set the signature
27141 properly.
27142 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
27143 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
27144 Fix device selection, DEV bit must be set first to address the registers
27145 of the correct device.
27146 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
27147 grub_ata_pio_read/write ().
27148 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
27149 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
27150
4a412913 271512009-01-13 Carles Pina i Estany <carles@pina.cat>
27152
27153 * util/grub-editenv.c (main): Use fseeko(), not fseek().
27154
7795c55e 271552009-01-13 Bean <bean123ch@gmail.com>
d913988c 27156
27157 * util/grub-mkfont.c (write_font): forget to remove some debug code.
27158
7795c55e 271592009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 27160
27161 * Makefile.in: (enable_grub_mkfont): New variable.
27162 (freetype_cflags): Likewise.
27163 (freetype_libs): Likewise.
27164
27165 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
27166 (grub_mkfont_SOURCES): New variable.
27167 (grub_mkfont_CFLAGS): Likewise.
27168 (grub_mkfont_LDFLAGS): Likewise.
27169
27170 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
27171 library if `--enable-grub-mkfont' is requested.
27172 (enable_grub_mkfont): New variable.
27173 (freetype_cflags): Likewise.
27174 (freetype_libs): Likewise.
27175
27176 * util/grub-mkfont.c: New file.
27177
093af1fe 271782009-01-12 Christian Franke <franke@computer.org>
27179
27180 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
27181 mode check. Fix setting of compat_use[].
27182
f36cc108 271832009-01-10 Robert Millan <rmh@aybabtu.com>
27184
27185 Update a few copyright years which we forgot to do in 2008 (only for
27186 files whose changes made in 2008 were copyright-significant)
27187
27188 * Makefile.in: Add 2008 to Copyright line.
27189 * disk/ieee1275/ofdisk.c: Likewise.
27190 * disk/efi/efidisk.c: Likewise.
27191 * kern/dl.c: Likewise.
27192 * kern/sparc64/ieee1275/init.c: Likewise.
27193 * kern/mm.c: Likewise.
27194 * kern/efi/mm.c: Likewise.
27195 * boot/i386/pc/boot.S: Likewise.
27196 * genfslist.sh: Likewise.
27197 * fs/iso9660.c: Likewise.
27198 * fs/hfs.c: Likewise.
27199 * fs/jfs.c: Likewise.
27200 * fs/minix.c: Likewise.
27201 * fs/ufs.c: Likewise.
27202 * gensymlist.sh.in: Likewise.
27203 * genkernsyms.sh.in: Likewise.
27204 * include/grub/misc.h: Likewise.
27205 * include/grub/types.h: Likewise.
27206 * include/grub/symbol.h: Likewise.
27207 * include/grub/elf.h: Likewise.
27208 * include/grub/kernel.h: Likewise.
27209 * include/grub/disk.h: Likewise.
27210 * include/grub/dl.h: Likewise.
27211 * include/grub/i386/linux.h: Likewise.
27212 * include/grub/i386/pc/biosdisk.h: Likewise.
27213 * include/grub/efi/api.h: Likewise.
27214 * include/grub/efi/pe32.h: Likewise.
27215 * include/grub/util/misc.h: Likewise.
27216 * normal/execute.c: Likewise.
27217 * normal/arg.c: Likewise.
27218 * normal/completion.c: Likewise.
27219 * normal/lexer.c: Likewise.
27220 * normal/parser.y: Likewise.
27221 * normal/misc.c: Likewise.
27222 * commands/i386/pc/vbeinfo.c: Likewise.
27223 * commands/hexdump.c: Likewise.
27224 * commands/terminal.c: Likewise.
27225 * commands/ls.c: Likewise.
27226 * commands/help.c: Likewise.
27227 * partmap/pc.c: Likewise.
27228 * loader/efi/chainloader.c: Likewise.
27229 * loader/multiboot_loader.c: Likewise.
27230 * loader/i386/pc/multiboot2.c: Likewise.
27231 * term/efi/console.c: Likewise.
27232 * term/i386/pc/serial.c: Likewise.
27233 * util/lvm.c: Likewise.
27234 * util/console.c: Likewise.
27235 * util/i386/efi/grub-mkimage.c: Likewise.
27236 * util/raid.c: Likewise.
27237
7f02114b 272382009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
27239
27240 * commands/videotest.c: Removed include to grub/machine/memory.h.
27241
27242 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
27243 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
27244 (video_mod_SOURCES): Removed.
27245 (video_mod_CFLAGS): Likewise.
27246 (video_mod_LDFLAGS): Likewise.
27247 (gfxterm_mod_SOURCES): Likewise.
27248 (gfxterm_mod_CFLAGS): Likewise.
27249 (gfxterm_mod_LDFLAGS): Likewise.
27250 (videotest_mod_SOURCES): Likewise.
27251 (videotest_mod_CFLAGS): Likewise.
27252 (videotest_mod_LDFLAGS): Likewise.
27253 (bitmap_mod_SOURCES): Likewise.
27254 (bitmap_mod_CFLAGS): Likewise.
27255 (bitmap_mod_LDFLAGS): Likewise.
27256 (tga_mod_SOURCES): Likewise.
27257 (tga_mod_CFLAGS): Likewise.
27258 (tga_mod_LDFLAGS): Likewise.
27259 (jpeg_mod_SOURCES): Likewise.
27260 (jpeg_mod_CFLAGS): Likewise.
27261 (jpeg_mod_LDFLAGS): Likewise.
27262 (png_mod_SOURCES): Likewise.
27263 (png_mod_CFLAGS): Likewise.
27264 (png_mod_LDFLAGS): Likewise.
27265
27266 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
27267 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
27268 (video_mod_SOURCES): Added.
27269 (video_mod_CFLAGS): Likewise.
27270 (video_mod_LDFLAGS): Likewise.
27271 (videotest_mod_SOURCES): Likewise.
27272 (videotest_mod_CFLAGS): Likewise.
27273 (videotest_mod_LDFLAGS): Likewise.
27274 (bitmap_mod_SOURCES): Likewise.
27275 (bitmap_mod_CFLAGS): Likewise.
27276 (bitmap_mod_LDFLAGS): Likewise.
27277 (tga_mod_SOURCES): Likewise.
27278 (tga_mod_CFLAGS): Likewise.
27279 (tga_mod_LDFLAGS): Likewise.
27280 (jpeg_mod_SOURCES): Likewise.
27281 (jpeg_mod_CFLAGS): Likewise.
27282 (jpeg_mod_LDFLAGS): Likewise.
27283 (png_mod_SOURCES): Likewise.
27284 (png_mod_CFLAGS): Likewise.
27285 (png_mod_LDFLAGS): Likewise.
27286 (gfxterm_mod_SOURCES): Likewise.
27287 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 27288 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 27289
27290 * term/gfxterm.c: Removed include to grub/machine/memory.h,
27291 grub/machine/console.h.
27292
644fff97 272932009-01-04 Jerone Young <jerone@gmail.com>
27294
27295 Make on screen instructions clearer
27296
27297 Based on patch created by Jidanni <jidanni@jidanni.org>
27298
27299 * normal/menu.c: print clearer instructions on the screen
27300
1e901a75 273012009-01-02 Colin D Bennett <colin@gibibit.com>
27302
27303 New font engine.
34c44600 27304
1e901a75 27305 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
27306 build system and fixed gfxterm.c to work with different sized fonts.
27307
27308 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 27309
1e901a75 27310 * configure: Re-generated.
34c44600 27311
1e901a75 27312 * DISTLIST: Removed font/manager.c.
27313 Added font/font.c.
27314 Added font/font_cmd.c.
34c44600 27315
1e901a75 27316 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
27317 compilation.
34c44600 27318
1e901a75 27319 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 27320
27321 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 27322
27323 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 27324
1e901a75 27325 * normal/menu.c: Likewise.
34c44600 27326
1e901a75 27327 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
27328 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 27329
1e901a75 27330 * include/grub/font.h: Replaced with new file.
34c44600 27331
1e901a75 27332 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
27333 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
27334 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
27335 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
27336 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 27337 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 27338 fg_red, fg_green, fg_blue, fg_alpha.
27339 (grub_video_adapter): Removed blit_glyph.
34c44600 27340 (grub_video_blit_glyph): Removed.
27341
1e901a75 27342 * font/manager.c: Removed file.
34c44600 27343
27344 * font/font.c: New file.
27345
1e901a75 27346 * font/font_cmd.c: Likewise.
34c44600 27347
1e901a75 27348 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 27349
1e901a75 27350 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
27351 (grub_video_vbe_map_rgba): Likewise.
27352 (grub_video_vbe_unmap_color_int): Likewise.
27353 (grub_video_vbe_blit_glyph): Removed.
27354 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 27355
1e901a75 27356 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
27357 (get_pixel): Likewise.
34c44600 27358 (set_pixel): Likewise.
27359
1e901a75 27360 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 27361
1e901a75 27362 * term/gfxterm.c: Adapted to new font engine.
34c44600 27363
1e901a75 27364 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 27365
1e901a75 27366 * term/i386/pc/vga.c: Likewise.
34c44600 27367
1e901a75 27368 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 27369
1e901a75 27370 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 27371
1e901a75 27372 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27373
1e901a75 27374 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27375
1e901a75 27376 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 27377
1e901a75 27378 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 27379
1e901a75 27380 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 27381
1e901a75 27382 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 27383
1e901a75 27384 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27385
27386 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 27387
1e901a75 27388 * util/grub-mkconfig_lib.in: Changed font extension.
27389
278922e8 273902008-12-28 Felix Zielcke <fzielcke@z-51.de>
27391
27392 * util/getroot.c (grub_util_get_grub_dev): Add support for
27393 /dev/md/dNNpNN style partitionable mdraid devices.
27394
3ced05cf 273952008-12-12 Alex Smith <alex@alex-smith.me.uk>
27396
27397 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
27398 at a time limit of the PXE TFTP API correctly.
27399 (grub_pxefs_close): Likewise.
27400
7fd0ee30 274012008-11-29 Robert Millan <rmh@aybabtu.com>
27402
34c44600 27403 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 27404 grub_ata_device_initialize() calls.
27405
34c44600 274062008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 27407
27408 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
27409 iteration failed.
27410 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
27411
89313780 274122008-11-28 Robert Millan <rmh@aybabtu.com>
27413
27414 Fix build on powerpc-ieee1275. Based on patch created by
27415 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
27416 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27417 `kern/ieee1275/mmap.c'.
27418 * include/grub/powerpc/ieee1275/memory.h: New file.
27419
15257703 27420 Provide grub-install on coreboot.
27421 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
27422 (grub_install_SOURCES): New variable.
27423 * util/i386/pc/grub-install.in: Add a few condition checks to make it
27424 usable on coreboot.
27425
9fc5388a 274262008-11-25 Felix Zielcke <fzielcke@z-51.de>
27427
27428 * util/grub-fstest.c (grub_term_get_current_input): Change return type
27429 to `grub_term_input_t'.
27430 (grub_term_get_current_output): Change return type to
27431 `grub_term_output_t'.
27432
bc3a2f31 274332008-11-22 Robert Millan <rmh@aybabtu.com>
27434
34c44600 27435 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 27436 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
27437 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
27438 grub_vga_text_cls().
27439
80fc88f2 27440 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 27441 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 27442
cbf36fd3 27443 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
27444 to 0x200000 (avoids trouble with some OFW implementations, and matches
27445 with the one in Yaboot).
27446 Reported by Manoel Abranches
27447
73e8e268 274482008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 27449
27450 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
27451 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
27452
73e8e268 27453 * util/grub-mkconfig_lib.in (grub_warn): New function.
27454 (convert_system_path_to_grub_path): Use grub_warn() when issuing
27455 warnings, to obtain consistent formatting.
27456 * util/grub.d/00_header.in: Likewise.
27457 * util/update-grub_lib.in: Likewise.
27458
e94045a1 27459 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 27460 Move comment text to `#error' stanza.
e94045a1 27461
79d29fd7 27462 Harmonize ieee1275's grub_available_iterate() with the generic
27463 grub_machine_mmap_iterate() interface (fixes a recently-introduced
27464 build problem on i386-ieee1275):
27465 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
27466 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
27467 parameter `type'. Update all users of this function.
27468 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
27469 `kern/ieee1275/mmap.c'.
27470 * kern/ieee1275/init.c
27471 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
27472 with ...
27473 (grub_machine_mmap_iterate): ... this.
27474 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
27475 return type to `grub_err_t'. Update all implementations of this
27476 function prototype.
27477 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
27478 Likewise.
27479
60d6b16e 27480 Add `lsmmap' command (lists firmware-provided memory map):
27481 * commands/lsmmap.c: New file.
27482 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27483 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27484 variables.
27485 * conf/powerpc-ieee1275.rmk: Likewise.
27486 * conf/i386-coreboot.rmk: Likewise.
27487 * conf/i386-ieee1275.rmk: Likewise.
27488
ebaaf49b 274892008-11-19 Robert Millan <rmh@aybabtu.com>
27490
27491 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 27492 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27493 constraints to initrd allocation (based on code from
27494 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27495 for Linux to find it.
ebaaf49b 27496
dfab719f 274972008-11-14 Robert Millan <rmh@aybabtu.com>
27498
27499 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27500 order to cope with duplicate slashes.
27501
10fc3eb9 275022008-11-14 Robert Millan <rmh@aybabtu.com>
27503
27504 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27505 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27506 don't want to mess with lower memory, because it is used in the Linux
27507 loader.
27508
27509 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 27510 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 27511 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27512 is in our heap (probably as a result of it being corrupted during
2f2a3442 27513 decompression). Add #error instance with comment to explain why this
27514 loader isn't currently usable on PC/BIOS.
10fc3eb9 27515
e2e07847 275162008-11-14 Robert Millan <rmh@aybabtu.com>
27517
27518 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 27519 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 27520
fe8e8d69 275212008-11-12 Robert Millan <rmh@aybabtu.com>
27522
27523 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27524
27525 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27526 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27527 from here ...
27528 * include/grub/i386/pc/memory.h: ... to here.
27529
976b07d0 275302008-11-12 Robert Millan <rmh@aybabtu.com>
27531
27532 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27533 split).
27534
27535 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27536 (grub_console_cur_color, grub_console_real_putchar)
27537 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27538 (grub_console_setcolorstate, grub_console_setcolor)
27539 (grub_console_getcolor): Move from here ...
27540 * include/grub/i386/vga_common.h: ... to here (new file).
27541
27542 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27543 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27544 `<grub/i386/io.h>'.
27545 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27546 `<grub/i386/vga_common.h>'.
27547
76679cd3 275482008-11-12 Robert Millan <rmh@aybabtu.com>
27549
27550 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27551 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27552 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27553 variables.
27554 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27555 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27556
27557 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27558 grub_console_init() with call to grub_vga_text_init().
27559 (grub_machine_fini): Replace call to
27560 grub_console_fini() with call to grub_vga_text_fini() and
27561 grub_at_keyboard_fini().
27562
27563 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27564 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27565 (grub_console_setcolorstate, grub_console_setcolor)
27566 (grub_console_getcolor): New function prototypes.
27567
27568 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27569 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27570 (grub_vga_text_setcursor): Static-ize.
27571 (grub_vga_text_term): New structure.
27572 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27573
27574 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27575 (grub_console_cur_color, grub_console_standard_color)
27576 (grub_console_normal_color, grub_console_highlight_color)
27577 (map_char, grub_console_putchar, grub_console_getcharwidth)
27578 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27579 (grub_console_getcolor): Move from here ...
27580 * term/i386/vga_common.c: ... to here (same function names).
27581
95b841d3 275822008-11-12 Robert Millan <rmh@aybabtu.com>
27583
27584 Use newly-added Multiboot support in coreboot.
27585
27586 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27587 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27588
27589 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27590 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27591 (codestart): Store the MBI in `startup_multiboot_info' when we're
27592 being loaded using Multiboot.
27593
27594 * kern/i386/coreboot/init.c (grub_machine_init): Move
27595 grub_at_keyboard_init() call to beginning of function (useful for
27596 debugging). Call grub_machine_mmap_init() before attempting to use
27597 grub_machine_mmap_iterate().
27598 (grub_lower_mem, grub_upper_mem): Move from here ...
27599 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27600 here (new file).
27601
27602 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27603 function prototype.
27604
761ca975 276052008-11-12 Robert Millan <rmh@aybabtu.com>
27606
27607 Fix a regression introduced by the at_keyboard.mod split. Because
27608 some terminals are default on some platforms and non-default on
27609 others, the first terminal being registered determines which is
27610 going to be default.
27611
27612 * kern/term.c (grub_term_register_input): If this is the first
27613 terminal being registered, set it as the current one.
27614 (grub_term_register_output): Likewise.
27615
27616 * term/efi/console.c (grub_console_init): Do not call
27617 grub_term_set_current_output() or grub_term_set_current_input().
27618 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27619 * term/i386/pc/console.c (grub_console_init): Likewise.
27620 (grub_console_fini): Do not call grub_term_set_current_input()
27621 (but leave grub_term_set_current_output() to restore text mode).
27622
6c529df7 276232008-11-10 Robert Millan <rmh@aybabtu.com>
27624
27625 * util/grub.d/00_header.in: Add backward compatibility check for
27626 versions of terminal.mod that don't understand `terminal_input' or
27627 `terminal_output'.
27628
132e4113 276292008-11-09 Robert Millan <rmh@aybabtu.com>
27630
27631 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27632 `terminal_input' / `terminal_output', not `terminal'.
27633
ac293d50 276342008-11-08 Robert Millan <rmh@aybabtu.com>
27635
27636 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 27637 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 27638
0025933a 276392008-11-08 Robert Millan <rmh@aybabtu.com>
27640
27641 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 27642 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 27643 members. Update all users.
27644 * util/console.c (grub_ncurses_term): Split in ...
27645 (grub_ncurses_term_input): ... this, and ...
27646 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 27647 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 27648
37c86336 276492008-11-08 Robert Millan <rmh@aybabtu.com>
27650
27651 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27652 (PKGDATA): Add $(pkgdata_SRCDIR).
27653 (pkglib_BUILDDIR): New variable.
27654 (pkgdata_SRCDIR): New variable.
27655 (build_env.mk): New target.
27656 (include_DATA): New variable.
27657 (install-local): Install $(include_DATA) files in $(includedir).
27658
b6c15a2d 276592008-11-07 Pavel Roskin <proski@gnu.org>
27660
d99d46f1 27661 * gendistlist.sh: Use C locale for sorting to ensure consistent
27662 output on all systems.
27663
b6c15a2d 27664 * util/grub.d/00_header.in: Remove incorrect space before
27665 "serial".
27666
c32ee8c9 276672008-11-07 Robert Millan <rmh@aybabtu.com>
27668
27669 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27670 per specification.
27671 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27672 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27673 (based on find_multi_boot1_header).
27674 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27675 using find_multi_boot2_header(), and abort if neither Multiboot or
27676 Multiboot headers were found.
27677
651c29b7 276782008-11-07 Robert Millan <rmh@aybabtu.com>
27679
27680 Modularize at_keyboard.mod:
27681
27682 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27683 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27684 (at_keyboard_mod_LDFLAGS): New variables.
27685
27686 Actual terminal split:
27687
27688 * include/grub/term.h (struct grub_term): Split in ...
27689 (struct grub_term_input): ... this, and ...
27690 (struct grub_term_output): ... this. Update all users.
27691 (grub_term_set_current): Split in ...
27692 (grub_term_set_current_input): ... this, and ...
27693 (grub_term_set_current_output): ... this.
27694 (grub_term_get_current): Split in ...
27695 (grub_term_get_current_input): ... this, and ...
27696 (grub_term_get_current_output): ... this.
27697 (grub_term_register): Split in ...
27698 (grub_term_register_input): ... this, and ...
27699 (grub_term_register_output): ... this.
27700 (grub_term_unregister): Split in ...
27701 (grub_term_unregister_input): ... this, and ...
27702 (grub_term_unregister_output): ... this.
27703 (grub_term_iterate): Split in ...
27704 (grub_term_iterate_input): ... this, and ...
27705 (grub_term_iterate_output): ... this.
27706
27707 * kern/term.c (grub_term_list): Split in ...
27708 (grub_term_list_input): ... this, and ...
27709 (grub_term_list_output): ... this. Update all users.
27710 (grub_cur_term): Split in ...
27711 (grub_cur_term_input): ... this, and ...
27712 (grub_cur_term_output): ... this. Update all users.
27713 (grub_term_set_current): Split in ...
27714 (grub_term_set_current_input): ... this, and ...
27715 (grub_term_set_current_output): ... this.
27716 (grub_term_get_current): Split in ...
27717 (grub_term_get_current_input): ... this, and ...
27718 (grub_term_get_current_output): ... this.
27719 (grub_term_register): Split in ...
27720 (grub_term_register_input): ... this, and ...
27721 (grub_term_register_output): ... this.
27722 (grub_term_unregister): Split in ...
27723 (grub_term_unregister_input): ... this, and ...
27724 (grub_term_unregister_output): ... this.
27725 (grub_term_iterate): Split in ...
27726 (grub_term_iterate_input): ... this, and ...
27727 (grub_term_iterate_output): ... this.
27728
27729 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27730 a check for input and one for output (and only attempt to get keys
27731 from user when input works).
27732
27733 * util/grub-probe.c (grub_term_get_current): Split in ...
27734 (grub_term_get_current_input): ... this, and ...
27735 (grub_term_get_current_output): ... this.
27736 * util/grub-fstest.c: Likewise.
27737 * util/i386/pc/grub-setup.c: Likewise.
27738 * util/grub-editenv.c: Likewise.
27739
27740 Portability adjustments:
27741
27742 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27743 `term/i386/pc/at_keyboard.c'.
27744 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27745 grub_keyboard_controller_init() (now handled by terminal .init).
27746 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27747 grub_at_keyboard_init().
27748 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27749 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27750 at_keyboard.mod via input terminal interface).
27751 * include/grub/i386/coreboot/console.h: Convert into a stub for
27752 `<grub/i386/pc/console.h>'.
27753
27754 Migrate full terminals to new API:
27755
27756 * term/efi/console.c (grub_console_term): Split into ...
27757 (grub_console_term_input): ... this, and ...
27758 (grub_console_term_output): ... this. Update all users.
27759 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27760 (grub_ofconsole_init): Split into ...
27761 (grub_ofconsole_init_input): ... this, and ...
27762 (grub_ofconsole_init_output): ... this.
27763 (grub_ofconsole_term): Split into ...
27764 (grub_ofconsole_term_input): ... this, and ...
27765 (grub_ofconsole_term_output): ... this. Update all users.
27766 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27767 (grub_serial_term_input): ... this, and ...
27768 (grub_serial_term_output): ... this. Update all users.
27769 * term/i386/pc/console.c (grub_console_term): Split into ...
27770 (grub_console_term_input): ... this, and ...
27771 (grub_console_term_output): ... this. Update all users.
27772 (grub_console_term_input): Only enable it on PC/BIOS platform.
27773 (grub_console_init): Remove grub_keyboard_controller_init() call.
27774
27775 Migrate input terminals to new API:
27776
27777 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27778 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27779 i386-specific anyway).
27780 (grub_console_checkkey): Rename to ...
27781 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27782 users.
27783 (grub_keyboard_controller_orig): New variable.
27784 (grub_console_getkey): Rename to ...
27785 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27786 users.
27787 (grub_keyboard_controller_init): Static-ize. Save original
27788 controller value so that it can be restored ...
27789 (grub_keyboard_controller_fini): ... here (new function).
27790 (grub_at_keyboard_term): New structure.
27791 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27792 functions.
27793
27794 Migrate output terminals to new API:
27795
27796 * term/i386/pc/vga.c (grub_vga_term): Change type to
27797 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27798 members. Update all users.
27799 * term/gfxterm.c (grub_video_term): Change type to
27800 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27801 members. Update all users.
27802 * include/grub/i386/pc/console.h (grub_console_checkkey)
27803 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27804 etc).
27805
27806 Migrate `terminal' command and userland tools to new API:
27807
27808 * commands/terminal.c (grub_cmd_terminal): Split into ...
27809 (grub_cmd_terminal_input): ... this, and ...
27810 (grub_cmd_terminal_output): ... this.
27811 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27812 `terminal_input' and `terminal_output'.
27813 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27814 `terminal_input' / `terminal_output' API.
27815 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27816 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27817 provided ${GRUB_TERMINAL}, convert it).
27818
96e5d876 278192008-11-04 Robert Millan <rmh@aybabtu.com>
27820
27821 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27822 for FreeBSD.
27823 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27824
556f3775 278252008-11-03 Bean <bean123ch@gmail.com>
27826
27827 * kern/elf.c (grub_elf32_load): Revert to previous code.
27828 (grub_elf64_load): Likewise.
27829
27830 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27831
926b9823 278322008-11-01 Robert Millan <rmh@aybabtu.com>
27833
27834 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27835 (TARGET_CPPFLAGS): Likewise.
27836 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27837
1432e958 278382008-11-01 Carles Pina i Estany <carles@pina.cat>
27839
27840 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27841
dba3f844 278422008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 27843
27844 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27845 addition of objects until the code is not going to be able to fail.
27846
dba3f844 278472008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 27848
27849 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27850 (add a missing NULL check, and correct them by moving the pointer
27851 operations after the actual check).
27852
7ab28c21 278532008-10-29 Robert Millan <rmh@aybabtu.com>
27854
27855 * util/i386/pc/grub-install.in: Handle empty string as output from
27856 make_system_path_relative_to_its_root().
27857
1b7748eb 278582008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27859
27860 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27861 circular metadata worst case scenario. If the metadata is circular
27862 then copy the wrap in place.
27863 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27864 project lib/format_text/layout.h
27865 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27866
c9618ab2 278672008-10-03 Felix Zielcke <fzielcke@z-51.de>
27868
7a36edca 27869 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 27870
bf981c62 278712008-10-03 Felix Zielcke <fzielcke@z-51.de>
27872
27873 * util/update-grub_lib.in: Mention filename in warning message.
27874
6d994591 278752008-09-29 Felix Zielcke <fzielcke@z-51.de>
27876
27877 * NEWS: Update for rename of update-grub to grub-mkconfig.
27878
18ade780 278792008-09-29 Felix Zielcke <fzielcke@z-51.de>
27880
27881 * util/update-grub_lib.in: Copy to ...
27882 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 27883 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 27884 * util/update-grub.in: Rename to ...
27885 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27886 option. Add `--output' option to allow users to specify the generated
27887 configuration file. Default to stdout.
27888 (update_grub_dir): Rename to ...
27889 (grub_mkconfig_dir): ... this.
27890 (grub_cfg): Default to an empty string.
27891 * conf/common.rmk (update-grub): Rename to ...
27892 (grub-mkconfig): ... this.
27893 (update-grub_lib): Copy to ...
27894 (grub-mkconfig_lib): ... this.
27895 (update-grub_SCRIPTS): Copy to ...
27896 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27897 (update-grub_DATA): Rename to ...
27898 (grub-mkconfig_DATA): ... this.
27899
556ce6ac 279002008-09-28 Robert Millan <rmh@aybabtu.com>
27901
27902 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27903 to `modified'. Add the real `created' field.
27904 (grub_iso9660_uuid): Use `modified' rather than `created' for
27905 constructing the UUID.
27906
279072008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 27908
27909 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27910 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27911
92274e85 279122008-09-28 Bean <bean123ch@gmail.com>
27913
27914 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27915 Thanks to Christian Franke for finding this bug.
27916
add6f17a 279172008-09-25 Robert Millan <rmh@aybabtu.com>
27918
27919 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27920 instances of grub_util_get_disk_name() (see previous commit).
27921
d2a367b8 279222008-09-25 Robert Millan <rmh@aybabtu.com>
27923
27924 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27925 `util/i386/get_disk_name.c'.
27926 * conf/i386-efi.rmk: Likewise.
27927 * conf/x86_64-efi.rmk: Likewise.
27928 * conf/i386-coreboot.rmk: Likewise.
27929 * conf/i386-ieee1275.rmk: Likewise.
27930 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27931 `util/ieee1275/get_disk_name.c'.
27932 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27933 * util/ieee1275/get_disk_name.c: Remove file.
27934 * util/i386/get_disk_name.c: Remove file.
27935 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27936 "hd%d" for device.map entries, rather than using
27937 grub_util_get_disk_name().
27938
81a06771 279392008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 27940
27941 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27942 warning.
27943 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27944
5a004279 279452008-09-24 Carles Pina i Estany <carles@pina.cat>
27946
27947 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27948 Changed to 0x5100.
27949 (GRUB_TERM_PPAGE): Changed to 0x4900.
27950
397093d3 279512008-09-24 Robert Millan <rmh@aybabtu.com>
27952
27953 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27954 macros (they were i386-pc specific).
27955 * include/grub/sparc64/ieee1275/console.h: Likewise.
27956 * include/grub/efi/console.h: Likewise.
27957
a91b6c7c 279582008-09-22 Bean <bean123ch@gmail.com>
27959
27960 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27961 resident and in attribute list.
27962
27963 * include/grub/ntfs.h (BMP_LEN): Removed.
27964
c40fd116 279652008-09-22 Bean <bean123ch@gmail.com>
27966
81a06771 27967 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 27968 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27969
27970 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27971 error occurs, as grub_disk_open will call grub_disk_close, which will
27972 call p->close (scsi).
27973
81a06771 279742008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 27975
27976 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27977 (AC_PREREQ): Bumped to 2.59.
27978 (AC_TRY_COMPILE): Replace obsolete macro with ...
27979 (AC_COMPILE_IFELSE): ... this.
27980 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27981 (AC_LINK_IFELSE): ... this.
27982
5dc43410 279832008-09-21 Felix Zielcke <fzielcke@z-51.de>
27984
27985 * autogen.sh: Add a call to `gendistlist.sh'.
27986
9035dce4 279872008-09-19 Christian Franke <franke@computer.org>
27988
27989 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27990 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27991 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27992 Export __enable_execute_stack() to modules.
27993 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27994 New function.
27995
7fd75377 279962008-09-09 Felix Zielcke <fzielcke@z-51.de>
27997
040030b3 27998 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27999 Sort the list.
28000
280012008-09-09 Felix Zielcke <fzielcke@z-51.de>
28002
28003 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 28004 #include <grub/util/hostdisk.h>.
28005
89d5ffcf 280062008-09-08 Robert Millan <rmh@aybabtu.com>
28007
28008 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
28009 segments when their filesz is zero (grub_file_read() interprets
81a06771 28010 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 28011 Use `lowest_segment' rather than 0 for calculating the current
28012 segment load address.
28013
40da438f 280142008-09-08 Robert Millan <rmh@aybabtu.com>
28015
28016 * util/hostdisk.c (open_device): Replace a grub_util_info() call
28017 with grub_dprintf("hostdisk", ...), as it was so verbose that it
28018 clobbered useful information.
28019
ddbf5556 280202008-09-08 Robert Millan <rmh@aybabtu.com>
28021
28022 * include/grub/util/biosdisk.h: Move to ...
28023 * include/grub/util/hostdisk.h: ... here. Update all users.
28024 * util/biosdisk.c: Move to ...
28025 * util/hostdisk.c: ... here. Update all users.
28026
783d0f48 280272008-09-07 Robert Millan <rmh@aybabtu.com>
28028
28029 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
28030 variables.
28031 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
28032 and length can be stored directly in the `mbi->mmap_addr' and
28033 `mbi->mmap_length' struct fields.
28034
548e2ea5 280352008-09-07 Robert Millan <rmh@aybabtu.com>
28036
28037 * conf/i386.rmk: New file. Provides declaration for building
28038 `cpuid.mod'.
28039 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
28040 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
28041 variables.
28042 Include `conf/i386.mk'.
28043 * conf/i386-efi.rmk: Likewise.
28044 * conf/x86_64-efi.rmk: Likewise.
28045 * conf/i386-coreboot.rmk: Likewise.
28046 * conf/i386-ieee1275.rmk: Likewise.
28047
0ea85a37 280482008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
28049
28050 Based on patch created by Colin D Bennett <colin@gibibit.com>.
28051 Adds optimization support for BGR based modes.
28052
28053 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
28054 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28055 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28056 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28057 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28058 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28059 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28060 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28061 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28062 (grub_video_i386_vbeblit_index_index): Likewise.
28063 (grub_video_i386_vbeblit_replace_directN): Added.
28064 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28065 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28066 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28067 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28068 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28069 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 28070 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 28071 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28072 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28073 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28074 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28075 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28076 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
28077
28078 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
28079 (grub_video_i386_vbefill_R8G8B8): Likewise.
28080 (grub_video_i386_vbefill_index): Likewise.
28081 (grub_video_i386_vbefill_direct32): Added.
28082 (grub_video_i386_vbefill_direct24): Likewise.
28083 (grub_video_i386_vbefill_direct16): Likewise.
28084 (grub_video_i386_vbefill_direct8): Likewise.
28085
81a06771 28086 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 28087 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
28088 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
28089 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
28090 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
28091 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 28092
0ea85a37 28093 * video/video.c (grub_video_get_blit_format): Updated to use new
28094 blit formats. Added handling for 16 bit color modes.
81a06771 28095
28096 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 28097 fillers.
28098 (common_blitter): Updated to use new blitters.
28099
28100 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
28101 Removed.
28102 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28103 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28104 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28105 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28106 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28107 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28108 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28109 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28110 (grub_video_i386_vbeblit_index_index): Likewise.
28111 (grub_video_i386_vbeblit_replace_directN): Added.
28112 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28113 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28114 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28115 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28116 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28117 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
28118 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
28119 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28120 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28121 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28122 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28123 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28124 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 28125
0ea85a37 28126 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
28127 (grub_video_i386_vbefill_R8G8B8): Likewise.
28128 (grub_video_i386_vbefill_index): Likewise.
28129 (grub_video_i386_vbefill_direct32): Added.
28130 (grub_video_i386_vbefill_direct24): Likewise.
28131 (grub_video_i386_vbefill_direct16): Likewise.
28132 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 28133
0ea85a37 28134 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
28135 types.
81a06771 28136
0ea85a37 28137 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
28138 types.
81a06771 28139
0ea85a37 28140 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
28141 blitter types.
81a06771 28142
0ea85a37 28143 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
28144 types.
28145
e8a83df6 281462008-09-06 Felix Zielcke <fzielcke@z-51.de>
28147
28148 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
28149 RAID level 1.
28150
6bcd8ee5 281512008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 28152
6bcd8ee5 28153 * fs/iso9660.c (grub_iso9660_date): New structure.
28154 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
28155 (grub_iso9660_uuid): New function.
c375ae58 28156
59261157 281572008-09-05 Bean <bean123ch@gmail.com>
28158
28159 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
28160
28161 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
28162 insensitive bit for names in Win32 and Win32 & DOS namespace.
28163
28164 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
28165
28166 * include/grub/types.h (LONG_MAX): Likewise.
28167
58b6645a 281682008-09-04 Felix Zielcke <fzielcke@z-51.de>
28169
4ee55921 28170 * util/getroot.c: Include <config.h>.
28171 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
28172 add support for /dev/md/N devices and handle LVM double dash escaping.
28173
281742008-09-04 Felix Zielcke <fzielcke@z-51.de>
28175
28176 * config.guess: Update to latest version from config git.
28177 * config.sub: Likewise.
58b6645a 28178
9124f65d 281792008-09-03 Robert Millan <rmh@aybabtu.com>
28180
28181 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
28182 `disk->total_sectors'.
28183
81a06771 281842008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 28185
28186 * include/grub/normal.h: Fixed incorrect comment for
28187 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
28188
81a06771 281892008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 28190
28191 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
28192 values with defines.
28193
28194 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
28195 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
28196 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
28197 (GRUB_VBE_MODEATTR_COLOR): Likewise.
28198 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
28199 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
28200 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
28201 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
28202 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
28203 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
28204 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
28205 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
28206 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
28207 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
28208 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
28209 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
28210 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
28211 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
28212 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
28213
93d5cbf8 282142008-08-31 Robert Millan <rmh@aybabtu.com>
28215
28216 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
28217 declaration.
28218 (grub_multiboot): Fix a few warnings.
28219
21751d50 282202008-08-31 Robert Millan <rmh@aybabtu.com>
28221
28222 * loader/i386/pc/multiboot.c: Update comment not to say that
28223 boot_device support is unimplemented.
28224
e27a75c5 282252008-08-31 Robert Millan <rmh@aybabtu.com>
28226
28227 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
28228 or memory map support are unimplemented.
28229
81a06771 282302008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 28231
28232 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
28233
81a06771 282342008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 28235
28236 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
28237 total video memory in 'vbeinfo' output; show color format details for
28238 each video mode.
28239
7c5d8d95 282402008-08-30 Pavel Roskin <proski@gnu.org>
28241
28242 * util/genmoddep.c: Remove for real this time.
28243 * DISTLIST: Remove util/genmoddep.c.
28244
4cebd25a 282452008-08-30 Robert Millan <rmh@aybabtu.com>
28246
28247 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
28248 as required by Multiboot spec (it was already 4-byte aligned, but
28249 only by chance).
28250
b497a269 282512008-08-29 Pavel Roskin <proski@gnu.org>
28252
e3925185 28253 * kern/powerpc/ieee1275/crt0.S: Rename to ...
28254 * kern/powerpc/ieee1275/startup.S: ... this.
28255 * conf/powerpc-ieee1275.rmk: Adjust for the above.
28256 * DISTLIST: Likewise.
28257
b497a269 28258 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
28259 grub/cpu/kernel.h. Add start label for consistency with other
28260 platforms. Add grub_prefix immediately after start. Add jump
28261 to the code after grub_prefix.
28262 * include/grub/powerpc/kernel.h: Provide valid values for
28263 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
28264
6e5a42fe 282652008-08-29 Bean <bean123ch@gmail.com>
28266
28267 * configure.ac: Change host_os to cygwin for mingw.
28268 (asprintf): New check for function.
28269
28270 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
28271 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
28272
28273 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 28274 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 28275 sync, sleep and grub_util_get_disk_size for mingw.
28276
28277 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
28278 to get size in mingw.
28279 (open_device): Use flag O_BINARY if it's defined.
28280 (find_root_device): Add dummy code for mingw.
28281
28282 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
28283 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
28284 (get_scsi_disk_name): Return 0 for mingw.
28285
28286 * util/hostfs.c: #include <grub/util/misc.h>.
28287 (grub_hostfs_open): Use "rb" flag to open file, use
28288 grub_util_get_disk_size to get disk size for mingw.
28289
28290 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
28291 (asprintf): New function if HAVE_ASPRINTF is not set.
28292 (sync): New function for mingw.
28293 (sleep): Likewise.
28294 (grub_util_get_disk_size): Likewise.
28295
ab3f2673 282962008-08-28 Pavel Roskin <proski@gnu.org>
28297
28298 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28299 kern/time.c.
28300
1c282483 283012008-08-28 Robert Millan <rmh@aybabtu.com>
28302
28303 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
28304
678e849c 283052008-08-28 Robert Millan <rmh@aybabtu.com>
28306
28307 Change find_grub_drive() syntax so it doesn't prevent it from
28308 detecting NULL names as errors.
28309
28310 * util/biosdisk.c (find_grub_drive): Move free slot search code
28311 from here ...
28312 (find_free_slot): ... to here.
28313 (read_device_map): Use find_free_slot() to search for free slots.
28314
965c75ca 283152008-08-27 Marco Gerards <marco@gnu.org>
28316
28317 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
28318 (scsi_mod_SOURCES): New variable.
28319 (scsi_mod_CFLAGS): Likewise
28320 (scsi_mod_LDFLAGS): Likewise.
28321
28322 * disk/scsi.c: New file.
28323
28324 * include/grub/scsi.h: Likewise.
28325
28326 * include/grub/scsicmd.h: Likewise.
28327
28328 * disk/ata.c: Include <grub/scsi.h>.
28329 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
28330 instead.
28331 (grub_ata_iterate): Skip ATAPI devices.
28332 (grub_ata_open): Only handle ATAPI devices.
28333 (struct grub_atapi_read): Removed.
28334 (grub_atapi_readsector): Likewise.
28335 (grub_ata_read): No longer handle ATAPI devices.
28336 (grub_ata_write): Likewise.
28337 (grub_atapi_iterate): New function.
28338 (grub_atapi_read): Likewise.
28339 (grub_atapi_write): Likewise.
28340 (grub_atapi_open): Likewise.
28341 (grub_atapi_close): Likewise.
28342 (grub_atapi_dev): New variable.
28343 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
28344 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
28345
28346 * include/grub/disk.h (enum grub_disk_dev_id): Add
28347 `GRUB_DISK_DEVICE_SCSI_ID'.
28348
c07ae501 283492008-08-26 Robert Millan <rmh@aybabtu.com>
28350
28351 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
28352 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
28353 descriptive.
28354
5ed20adc 283552008-08-23 Bean <bean123ch@gmail.com>
28356
28357 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
28358 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28359 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
28360 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
28361 dm_nv.mod.
28362 (raid5rec_mod_SOURCES): New macro.
28363 (raid5rec_mod_CFLAGS): Likewise.
28364 (raid5rec_mod_LDFLAGS): Likewise.
28365 (raid6rec_mod_SOURCES): Likewise.
28366 (raid6rec_mod_CFLAGS): Likewise.
28367 (raid6rec_mod_LDFLAGS): Likewise.
28368 (mdraid_mod_SOURCES): Likewise.
28369 (mdraid_mod_CFLAGS): Likewise.
28370 (mdraid_mod_LDFLAGS): Likewise.
28371 (dm_nv_mod_SOURCES): Likewise.
28372 (dm_nv_mod_CFLAGS): Likewise.
28373 (dm_nv_mod_LDFLAGS): Likewise.
28374
28375 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
28376 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28377 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28378
28379 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
28380 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28381
28382 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28383
28384 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28385
28386 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28387
28388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28389
28390 * disk/raid5_recover.c: New file.
28391
28392 * disk/raid6_recover.c: Likewise.
28393
28394 * disk/mdraid_linux.c: Likewise.
28395
28396 * disk/dmraid_nvidia.c: Likewise.
28397
28398 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
28399 ULONG_MAX.
28400
28401 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
28402 calculate the size of raid device.
28403 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
28404 different layout of raid5.
28405 (grub_raid_scan_device): Remove code specific to mdraid.
28406 (grub_raid_list): New variable.
28407 (free_array): New function.
28408 (grub_raid_register): Likewise.
28409 (grub_raid_unregister): Likewise.
28410 (grub_raid_rescan): Likewise.
28411 (GRUB_MOD_INIT): Don't iterate device here.
28412 (GRUB_MOD_FINI): Use free_array to release resource.
28413
28414 * include/grub/raid.h: Remove macro and structure specific to mdraid.
28415 (grub_raid5_recover_func_t): New function variable type.
28416 (grub_raid6_recover_func_t): Likewise.
28417 (grub_raid5_recover_func): New variable.
28418 (grub_raid6_recover_func): Likewise.
28419 (grub_raid_register): New function.
28420 (grub_raid_unregister): Likewise.
28421 (grub_raid_rescan): Likewise.
28422 (grub_raid_block_xor): Likewise.
28423
28424 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
28425 (CMD_CRC): New macro.
28426 (part): Removed.
28427 (read_file): Handle device as well as file.
28428 (cmd_crc): New function.
28429 (fstest): Handle multiple disks.
28430 (options): Remove part, raw and long, add root and diskcount.
28431 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 28432 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 28433 add handling for the new options, support multiple disks.
28434
28435 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
28436
29c18915 284372008-08-23 Bean <bean123ch@gmail.com>
28438
28439 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
28440
28441 * genfslist.sh: Ignore kernel.mod.
28442
28443 * genpartmaplist.sh: Likewise.
28444
8415f261 284452008-08-23 Robert Millan <rmh@aybabtu.com>
28446
28447 * util/getroot.c (find_root_device): Skip anything that starts with
28448 a dot, not just directories. This avoids things like /dev/.tmp.md0.
28449
d5a7dc5b 284502008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 28451
d5a7dc5b 28452 * util/update-grub.in (GRUB_GFXMODE): Export variable.
28453 * util/grub.d/00_header.in: Allow the administrator to change default
28454 gfxmode via ${GRUB_GFXMODE}.
28455
380cfbb4 284562008-08-21 Felix Zielcke <fzielcke@z-51.de>
28457
28458 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
28459
c9baafe7 284602008-08-21 Robert Millan <rmh@aybabtu.com>
28461
28462 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
28463 loader.
28464 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
28465 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
28466
e290bef2 284672008-08-20 Carles Pina i Estany <carles@pina.cat>
28468
28469 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
28470 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
28471
f9dbfc96 284722008-08-19 Robert Millan <rmh@aybabtu.com>
28473
28474 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
28475 (struct grub_virtual_screen): Remove `cursor_color'.
28476 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
28477 initialization.
28478 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
28479
dd6bd6ab 284802008-08-18 Robert Millan <rmh@aybabtu.com>
28481
28482 Unify (identical) linux_normal.c files.
28483 * loader/i386/efi/linux_normal.c: Move from here ...
28484 * loader/linux_normal.c: ... to here. Update all users.
28485 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28486 * loader/i386/ieee1275/linux_normal.c: Likewise.
28487
7f42f83e 284882008-08-18 Robert Millan <rmh@aybabtu.com>
28489
28490 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28491 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28492 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28493 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28494 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28495 New macros.
28496 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28497 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28498 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28499 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28500 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28501 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28502 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28503 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28504 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28505 portably using grub_getxy().
28506 Replace `-EFI' with `-bzImage' in boot message.
28507
38487ddb 285082008-08-17 Robert Millan <rmh@aybabtu.com>
28509
28510 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28511
deceb3ec 285122008-08-17 Robert Millan <rmh@aybabtu.com>
28513
28514 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28515
28516 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28517 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28518 (grub_machine_mmap_iterate): New function declaration.
28519 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28520 structure.
28521 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28522 macros.
28523
28524 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28525 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28526 Move e820 parsing from here ...
28527 * kern/i386/pc/mmap.c: New file.
28528 (grub_machine_mmap_iterate): ... to here.
28529
28530 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28531 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28532 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28533 (grub_available_iterate): Redeclare to return `void', and redeclare
28534 its hook to use grub_uint64_t as addr and size parameters, and rename
28535 to ...
28536 (grub_machine_mmap_iterate): ... this. Update all users.
28537
28538 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28539 to make it more readable. Rename to ...
28540 (grub_machine_mmap_iterate): ... this.
28541
28542 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28543 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28544 (grub_multiboot): Allocate an extra region after the payload, and fill
28545 it with a Multiboot memory map. Adjust a.out loader to calculate size
28546 with the extra space.
28547 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28548 with the extra space.
28549
f8aa0f43 285502008-08-17 Carles Pina i Estany <carles@pina.cat>
28551
9807deb9 28552 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 28553
605f5bb6 285542008-08-17 Felix Zielcke <fzielcke@z-51.de>
28555
28556 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28557 mdate-sh to the list `find' searches for.
28558 * DISTLIST: Regenerated.
28559
210db6c6 285602008-08-16 Felix Zielcke <fzielcke@z-51.de>
28561
28562 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28563 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 28564 genmoddep.awk, gensymlist.sh.in.
28565 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 28566 * DISTLIST: Regenerated.
48cdbfd4 28567 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 28568
1082b929 285692008-08-16 Robert Millan <rmh@aybabtu.com>
28570
28571 * disk/raid.c (grub_raid_init): Handle/report errors set by
28572 grub_device_iterate().
28573 * disk/lvm.c (grub_lvm_init): Likewise.
28574
42ce5170 285752008-08-15 Bean <bean123ch@gmail.com>
28576
28577 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28578 and datehook.mod.
28579 (datetime_mod_SOURCES): New macro.
28580 (datetime_mod_CFLAGS): Likewise.
28581 (datetime_mod_LDFLAGS): Likewise.
28582 (date_mod_SOURCES): Likewise.
28583 (date_mod_CFLAGS): Likewise.
28584 (date_mod_LDFLAGS): Likewise.
28585 (datehook_mod_SOURCES): Likewise.
28586 (datehook_mod_CFLAGS): Likewise.
28587 (datehook_mod_LDFLAGS): Likewise.
28588
28589 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28590 and datehook.mod.
28591 (datetime_mod_SOURCES): New macro.
28592 (datetime_mod_CFLAGS): Likewise.
28593 (datetime_mod_LDFLAGS): Likewise.
28594 (date_mod_SOURCES): Likewise.
28595 (date_mod_CFLAGS): Likewise.
28596 (date_mod_LDFLAGS): Likewise.
28597 (datehook_mod_SOURCES): Likewise.
28598 (datehook_mod_CFLAGS): Likewise.
28599 (datehook_mod_LDFLAGS): Likewise.
28600
28601 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28602 and datehook.mod.
28603 (datetime_mod_SOURCES): New macro.
28604 (datetime_mod_CFLAGS): Likewise.
28605 (datetime_mod_LDFLAGS): Likewise.
28606 (date_mod_SOURCES): Likewise.
28607 (date_mod_CFLAGS): Likewise.
28608 (date_mod_LDFLAGS): Likewise.
28609 (datehook_mod_SOURCES): Likewise.
28610 (datehook_mod_CFLAGS): Likewise.
28611 (datehook_mod_LDFLAGS): Likewise.
28612
28613 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28614 and datehook.mod.
28615 (datetime_mod_SOURCES): New macro.
28616 (datetime_mod_CFLAGS): Likewise.
28617 (datetime_mod_LDFLAGS): Likewise.
28618 (date_mod_SOURCES): Likewise.
28619 (date_mod_CFLAGS): Likewise.
28620 (date_mod_LDFLAGS): Likewise.
28621 (datehook_mod_SOURCES): Likewise.
28622 (datehook_mod_CFLAGS): Likewise.
28623 (datehook_mod_LDFLAGS): Likewise.
28624
28625 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28626 and datehook.mod.
28627 (datetime_mod_SOURCES): New macro.
28628 (datetime_mod_CFLAGS): Likewise.
28629 (datetime_mod_LDFLAGS): Likewise.
28630 (date_mod_SOURCES): Likewise.
28631 (date_mod_CFLAGS): Likewise.
28632 (date_mod_LDFLAGS): Likewise.
28633 (datehook_mod_SOURCES): Likewise.
28634 (datehook_mod_CFLAGS): Likewise.
28635 (datehook_mod_LDFLAGS): Likewise.
28636
28637 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28638
28639 * commands/date.c: New file.
28640
28641 * hook/datehook.c: Likewise.
28642
28643 * include/grub/lib/datetime.h: Likewise.
28644
28645 * include/grub/i386/cmos.h: Likewise.
28646
28647 * lib/datetime.c: Likewise.
28648
28649 * lib/i386/datetime.c: Likewise.
28650
28651 * lib/efi/datetime.c: Likewise.
28652
0e9242da 286532008-08-14 Robert Millan <rmh@aybabtu.com>
28654
28655 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28656 (grub_mkelfimage_SOURCES): New variable.
28657 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28658
28659 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28660 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28661 * conf/powerpc-ieee1275.rmk: Likewise.
28662 * conf/i386-ieee1275.rmk: Likewise.
28663
28664 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28665 * kern/i386/coreboot/init.c: Likewise.
28666
28667 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28668 with `<grub/cpu/kernel.h>'.
28669 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28670 to ...
28671 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28672 * kern/i386/coreboot/startup.S: Likewise.
28673
28674 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28675 (GRUB_MOD_GAP): Remove.
28676 * include/grub/powerpc/kernel.h: New file.
28677 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28678 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28679 * include/grub/i386/kernel.h: New file.
28680 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28681 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28682 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28683
28684 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28685 `grub-mkelfimage'.
28686 Use --directory when invoking grub_mkimage.
28687
28688 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28689 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28690 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28691 and GRUB_KERNEL_CPU_PREFIX.
28692
b86408f8 286932008-08-14 Felix Zielcke <fzielcke@z-51.de>
28694
d5e619ca 28695 * include/grub/err.h (grub_err_printf): New function prototype.
28696 * util/misc.c (grub_err_printf): New function.
28697 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28698 grub_printf.
28699 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 28700
7161f0e0 287012008-08-13 Robert Millan <rmh@aybabtu.com>
28702
28703 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28704
a1967522 287052008-08-13 Robert Millan <rmh@aybabtu.com>
28706
28707 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28708 boot entry.
28709
371458b5 287102008-08-12 Robert Millan <rmh@aybabtu.com>
28711
28712 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28713 of the relocation code from here ...
28714 (grub_multiboot): ... to here.
28715 (forward_relocator, backward_relocator): Move from here ...
28716 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28717 (grub_multiboot_backward_relocator): ... to here.
28718 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28719 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28720 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28721 (grub_multiboot_forward_relocator_end)
28722 (grub_multiboot_backward_relocator)
28723 (grub_multiboot_backward_relocator_end): New variables.
28724
05f9452b 287252008-08-12 Bean <bean123ch@gmail.com>
28726
28727 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28728
20024ab0 287292008-08-11 Robert Millan <rmh@aybabtu.com>
28730
28731 * kern/i386/linuxbios/startup.S: Move from here ...
28732 * kern/i386/coreboot/startup.S: ... to here.
28733
28734 * kern/i386/linuxbios/init.c: Move from here ...
28735 * kern/i386/coreboot/init.c: ... to here.
28736
28737 * kern/i386/linuxbios/table.c: Move from here ...
28738 * kern/i386/coreboot/mmap.c: ... to here.
28739
28740 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28741
e352e9cd 287422008-08-11 Robert Millan <rmh@aybabtu.com>
28743
28744 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28745 errors. Leave it to the upper layer to handle them.
28746
2d05bc6a 287472008-08-09 Christian Franke <franke@computer.org>
28748
28749 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28750 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28751 Install `grub.d/10_windows' only on Cygwin.
28752 * configure.ac: Add subst of `target_os'.
28753 Check `target_os' also before setting TARGET_OBJ2ELF.
28754 Add `--enable-grub-pe2elf'.
28755
042bd419 287562008-08-08 Robert Millan <rmh@aybabtu.com>
28757
28758 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28759 (grub_last_time): Change type to grub_uint64_t.
28760 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28761 (grub_disk_close): Likewise.
28762
28763 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28764 (run_menu): Migrate code from to using grub_get_time_ms().
28765
28766 * util/misc.c (grub_get_time_ms): New function.
28767
7f280db5 287682008-08-08 Marco Gerards <marco@gnu.org>
28769
28770 * disk/ata.c (grub_ata_regget): Change return type to
28771 `grub_uint8_t'.
28772 (grub_ata_regget2): Likewise.
28773 (grub_ata_wait_status): New function.
28774 (grub_ata_wait_busy): Removed function, updated all users to use
28775 `grub_ata_wait_status'.
28776 (grub_ata_wait_drq): Likewise.
28777 (grub_ata_cmd): New function.
28778 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28779 error handling.
28780 (grub_ata_pio_write): Add error handling.
28781 (grub_atapi_identify): Likewise.
28782 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28783 handling.
28784 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28785 handling. Actually use the detected registers. Reorder the
28786 detection logic such that it is easier to read.
28787 (grub_ata_pciinit): Do not assign the same ID to each controller.
28788 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28789 handling.
28790 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28791
28792 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28793
1fbc5e66 287942008-08-08 Marco Gerards <marco@gnu.org>
28795
28796 * NEWS: Update.
28797
819ce6c0 287982008-08-07 Bean <bean123ch@gmail.com>
28799
28800 * include/grub/x86_64/pci.h: New file.
28801
5c41d44d 288022008-08-07 Christian Franke <franke@computer.org>
28803
28804 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28805 (TIMER2_GATE): Likewise.
28806 (grub_pit_wait): Add enable/disable of the timer2 gate
28807 bit of port 0x61. This fixes a possible infinite loop.
28808
5ebc275d 288092008-08-07 Bean <bean123ch@gmail.com>
28810
28811 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28812 kern/i386/tsc.c and kern/i386/pit.c.
28813
28814 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28815 x86_64 platform.
28816
28817 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28818 <grub/i386/tsc.h>.
28819
28820 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28821
e383b3d0 288222008-08-07 Bean <bean123ch@gmail.com>
28823
28824 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28825
28826 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28827
28828 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28829 multiple inclusion. Add #include <grub/types.h>.
28830
1cbb58ac 288312008-08-06 Christian Franke <franke@computer.org>
28832
28833 * conf/common.rmk: Build and install `10_windows'.
28834 * util/grub.d/10_windows.in: New script.
28835
337f5a1e 288362008-08-06 Pavel Roskin <proski@gnu.org>
28837
28838 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28839
057bc4ac 288402008-08-06 Robert Millan <rmh@aybabtu.com>
28841
28842 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28843 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28844
2b99f123 288452008-08-06 Bean <bean123ch@gmail.com>
28846
28847 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28848 (grub_pxefs_fs_int): Remove dummy definition.
28849 (grub_pxefs_open): Use data->block_size to store the current block
28850 size setting.
28851 (grub_pxefs_read): Use block size stored in data->block_size. As the
28852 value of grub_pxe_blksize can be changed after the file is opened.
28853
9f0234cb 288542008-08-06 Bean <bean123ch@gmail.com>
28855
28856 * fs/i386/pc/pxe.c (curr_file): new variable.
28857 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28858 require the dummy internal file system anymore.
28859 (grub_pxefs_read): Removed.
28860 (grub_pxefs_close): Likewise.
28861 (grub_pxefs_fs_int): Likewise.
28862 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28863 connection when we switch file.
28864 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28865
a55d42e0 288662008-08-06 Robert Millan <rmh@aybabtu.com>
28867
28868 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28869 `halt.mod'.
28870 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28871 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28872
28873 * kern/i386/halt.c: New file.
28874 * kern/i386/reboot.c: Likewise.
28875 * include/grub/i386/reboot.h: Likewise.
28876 * include/grub/i386/halt.h: Likewise.
28877
28878 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28879 Include `<grub/cpu/halt.h>'.
28880 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28881 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28882
28883 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28884 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28885 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28886 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28887 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28888 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28889 from here ...
28890 * include/grub/i386/at_keyboard.h: ... to here.
28891
24371d26 288922008-08-05 Robert Millan <rmh@aybabtu.com>
28893
28894 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28895 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28896 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28897 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28898 `kern/generic/millisleep.c'.
28899
28900 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28901 instead of grub_get_rtc().
28902 (grub_tsc_init): Initialize `tsc_boot_time'.
28903
28904 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28905 (grub_machine_init): Use grub_tsc_init() rather than
28906 installing an RTC-based handler via grub_install_get_time_ms().
28907
28908 * kern/i386/pit.c: New file.
28909 * include/grub/i386/pit.h: Likewise.
28910
9e7007b3 289112008-08-05 Bean <bean123ch@gmail.com>
28912
28913 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28914
28915 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28916 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28917 (pxe_mod_SOURCES): New macro.
28918 (pxe_mod_CFLAGS): Likewise.
28919 (pxe_mod_LDFLAGS): Likewise.
28920 (pxecmd_mod_SOURCES): Likewise.
28921 (pxecmd_mod_CFLAGS): Likewise.
28922 (pxecmd_mod_LDFLAGS): Likewise.
28923
28924 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28925 (grub_pxe_call): Likewise.
28926
28927 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28928
28929 * commands/i386/pc/pxecmd.c: New file.
28930
9f0234cb 28931 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 28932
28933 * include/grub/i386/pc/pxe.h: Likewise.
28934
6977d49f 289352008-08-05 Bean <bean123ch@gmail.com>
28936
28937 * util/console.c (grub_console_cur_color): New variable.
28938 (grub_console_standard_color): Likewise.
28939 (grub_console_normal_color): Likewise.
28940 (grub_console_highlight_color): Likewise.
28941 (color_map): Likewise.
28942 (use_color): Likewise.
28943 (NUM_COLORS): New macro.
28944 (grub_ncurses_setcolorstate): Handle color properly.
28945 (grub_ncurses_setcolor): Don't change color here, just remember the
28946 settings, color will be set in grub_ncurses_setcolorstate.
28947 (grub_ncurses_getcolor): New function.
28948 (grub_ncurses_init): Initialize color pairs.
28949 (grub_ncurses_term): New member grub_ncurses_getcolor.
28950
9c2ff3ee 289512008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 28952
9c2ff3ee 28953 High resolution timer support. Implemented for x86 CPUs using TSC.
28954 Extracted generic grub_millisleep() so it's linked in only as needed.
28955 This requires a Pentium compatible CPU; if the RDTSC instruction is
28956 not supported, then it falls back on the generic grub_get_time_ms()
28957 implementation that uses the machine's RTC.
28958
28959 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28960 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28961 `kern/generic/millisleep.c'.
28962
28963 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28964 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28965
28966 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28967 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28968
28969 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28970
28971 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28972 `kern/generic/millisleep.c'.
28973
28974 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28975
28976 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28977
28978 * kern/generic/rtc_get_time_ms.c: New file.
28979
28980 * kern/generic/millisleep.c: New file.
337f5a1e 28981
9c2ff3ee 28982 * kern/misc.c: Don't include
28983 <kern/time.h> anymore.
28984 (grub_millisleep_generic): Removed.
28985
28986 * commands/sleep.c (grub_interruptible_millisleep): Uses
28987 grub_get_time_ms() instead of grub_get_rtc().
28988
28989 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28990 function.
28991 (grub_cpu_is_cpuid_supported): New inline function.
28992 (grub_cpu_is_tsc_supported): New inline function.
28993 (grub_tsc_init): New function prototype.
28994 (grub_tsc_get_time_ms): New function prototype.
28995
28996 * kern/i386/tsc.c (grub_get_time_ms): New file.
28997
28998 * include/grub/time.h: Include <grub/types.h.
28999 (grub_millisleep_generic): Removed.
29000 (grub_get_time_ms): New prototype.
29001 (grub_install_get_time_ms): New prototype.
29002 (grub_rtc_get_time_ms): New prototype.
29003
29004 * kern/time.c (grub_get_time_ms): New function.
29005 (grub_install_get_time_ms): New function.
29006
29007 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
29008 <grub/time.h> anymore.
29009 (grub_millisleep): Removed.
29010 (grub_machine_init): Call grub_tsc_init.
29011
29012 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
29013 get_time_ms() implementation.
29014
29015 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
29016 (ieee1275_get_time_ms): New function.
29017 (grub_machine_init): Install get_time_ms() implementation.
29018
29019 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
29020 (grub_machine_init): Call grub_tsc_init().
29021 (grub_millisleep): Removed.
bf06a93f 29022
9c2ff3ee 29023 * kern/ieee1275/init.c (grub_millisleep): Removed.
29024 (grub_machine_init): Install ieee1275_get_time_ms()
29025 implementation.
29026 (ieee1275_get_time_ms): New function.
29027 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
29028 real work.
29029
9ec92aaf 290302008-08-05 Marco Gerards <marco@gnu.org>
29031
29032 * disk/ata.c: Include <grub/pci.h>.
29033 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
29034 (grub_ata_initialize): Rewritten.
29035 (grub_ata_device_initialize): New function.
29036
8d23f507 290372008-08-04 Pavel Roskin <proski@gnu.org>
29038
29039 * kern/main.c: Include grub/mm.h.
29040
5e15ee3d 290412008-08-04 Robert Millan <rmh@aybabtu.com>
29042
29043 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
29044 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
29045 corruption problem).
29046
a9053f8f 290472008-08-04 Robert Millan <rmh@aybabtu.com>
29048
29049 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
29050 warnings introduced in my last commit.
29051
dd19c7d7 290522008-08-03 Robert Millan <rmh@aybabtu.com>
29053
29054 Make PCI available on all i386 architectures.
29055
29056 * include/grub/i386/pc/pci.h: Move from here ...
29057 * include/grub/i386/pci.h: ... to here.
29058
29059 * include/grub/i386/pc/pci.h: Remove.
29060 * include/grub/i386/efi/pci.h: Remove.
29061 * include/grub/x86_64/efi/pci.h: Remove.
29062
29063 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
29064 `<grub/cpu/pci.h>'.
29065
29066 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
29067 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
29068 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
29069
29070 * conf/i386-ieee1275.rmk: Likewise.
29071
e14a6184 290722008-08-03 Robert Millan <rmh@aybabtu.com>
29073
29074 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
29075 (grub_console_setcursor): Make it possible to set cursor off.
29076
52768e37 290772008-08-03 Robert Millan <rmh@aybabtu.com>
29078
29079 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
29080 of modules instead of assuming which platform provides what.
29081 * util/update-grub.in: Likewise.
29082
2d52f57f 290832008-08-03 Robert Millan <rmh@aybabtu.com>
29084
29085 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
29086 instead of `grub_install_dos_part' to determine whether a drive needs
29087 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 29088 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 29089
2a5cd121 290902008-08-02 Robert Millan <rmh@aybabtu.com>
29091
29092 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
29093
93808428 290942008-08-02 Robert Millan <rmh@aybabtu.com>
29095
29096 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
29097 of informational grub_dprintf() calls.
29098
3bd0a12a 290992008-08-02 Robert Millan <rmh@aybabtu.com>
29100
29101 * disk/memdisk.c (memdisk_size): Don't initialize.
29102 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
29103
29104 * include/grub/i386/pc/kernel.h
29105 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
29106 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
29107 (grub_memdisk_image_size, grub_arch_memdisk_addr)
29108 (grub_arch_memdisk_size): Remove.
29109
29110 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
29111 field (was only used to transfer a constant). Add `type' field to
29112 support multiple module types.
29113 (grub_module_iterate): New function.
29114
29115 * kern/device.c (grub_device_open): Do not hide error messages
29116 when grub_disk_open() fails. Use grub_print_error() instead.
29117
29118 * kern/i386/pc/init.c (grub_arch_modules_addr)
29119 (grub_arch_memdisk_size): Remove functions.
29120 (grub_arch_modules_addr): Return the module address in high memory
29121 (now that it isn't copied anymore).
29122
29123 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
29124 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
29125 decompression routine (grub_total_module_size already includes that
29126 now). Don't copy modules back to low memory.
29127
29128 * kern/main.c: Include `<grub/mm.h>'.
29129 (grub_load_modules): Split out (and use) ...
29130 (grub_module_iterate): ... this function, which iterates through
29131 module objects and runs a hook.
29132 Comment out grub_mm_init_region() call, as it would cause non-ELF
29133 modules to be overwritten.
29134
29135 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
29136 the memdisk image in its own region, make it part of the module list.
29137 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
29138 (main): Parse --memdisk|-m option, and pass user-provided path as
29139 parameter to generate_image().
29140 (add_segments): Pass `memdisk_path' down to load_modules().
29141 (load_modules): Embed memdisk image in module section when requested.
29142 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
29143 `header.type' instead of `header.offset'.
29144
29145 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
29146 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
29147 (memdisk_mod_LDFLAGS): New variables.
29148 * conf/i386-coreboot.rmk: Likewise.
29149 * conf/i386-ieee1275.rmk: Likewise.
29150
a927cc73 291512008-08-02 Robert Millan <rmh@aybabtu.com>
29152
29153 * loader/i386/pc/multiboot.c (playground, forward_relocator)
29154 (backward_relocator): New variables. Used to allocate and relocate
29155 the payload, respectively.
29156 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 29157 address, install the appropriate relocator code in each bound of
a927cc73 29158 the payload, and set the entry point such that
29159 grub_multiboot_real_boot() will jump to one of them.
29160
29161 * kern/i386/loader.S (grub_multiboot_payload_size)
29162 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29163 (grub_multiboot_payload_entry_offset): New variables.
29164 (grub_multiboot_real_boot): Set cpu context to what the relocator
29165 expects, and jump to the relocator instead of the payload.
29166
29167 * include/grub/i386/loader.h (grub_multiboot_payload_size)
29168 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29169 (grub_multiboot_payload_entry_offset): Export.
29170
b15d8a0c 291712008-08-01 Bean <bean123ch@gmail.com>
29172
29173 * normal/menu_entry.c (editor_getline): Don't return the original
29174 string as result, as it will be released by lexer once it has done
29175 using it.
29176
cdfb3d22 291772008-08-01 Robert Millan <rmh@aybabtu.com>
29178
29179 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
29180 within menuentries, not before them.
29181 util/grub.d/10_hurd.in: Likewise.
29182
9175e93d 291832008-08-01 Bean <bean123ch@gmail.com>
29184
29185 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
29186 (bufio_mod_SOURCES): New macro.
29187 (bufio_mod_CFLAGS): Likewise.
29188 (bufio_mod_LDFLAGS): Likewise.
29189
29190 * include/grub/bufio.h: New file.
29191
29192 * io/bufio.c: Likewise.
29193
29194 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
29195 (grub_video_reader_png): Use grub_buffile_open to open file.
29196
29197 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
29198 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
29199
29200 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
29201 (grub_video_reader_tga): Use grub_buffile_open to open file.
29202
29203 * font/manager.c: Include <grub/bufio.h>.
29204 (add_font): Use grub_buffile_open to open file.
29205
3d8383e7 292062008-07-31 Robert Millan <rmh@aybabtu.com>
29207
29208 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
29209 ELF segments, use a macro for arbitrarily accessing any of them instead
29210 of preparing a pointer that allows access to one at a time.
29211 (grub_multiboot_load_elf64): Likewise.
29212
16e641b6 292132008-07-31 Bean <bean123ch@gmail.com>
29214
29215 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
29216 GRUB_KERNEL_MACHINE_DATA_END.
29217
59198b72 292182008-07-30 Robert Millan <rmh@aybabtu.com>
29219
29220 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
29221 Increase from 0x50 to 0x60.
29222 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
29223 use UUIDs to identify the root drive for them. If that's not
29224 possible, abort.
29225 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
29226 check, for cross-disk installs.
29227
ae88bca3 292282008-07-30 Robert Millan <rmh@aybabtu.com>
29229
29230 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
29231 is non-empty, use it to set the `prefix' environment variable instead
29232 of the usual approach.
29233 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
29234 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
29235 environment variable instead of dummy make_install_device().
29236
29237 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
29238 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 29239 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 29240
29241 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
29242 New variable reference.
29243 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
29244 New macro. Defines offset of `grub_prefix' within startup.S (relative
29245 to `start').
29246 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
29247 section within startup.S (relative to `start').
29248 * include/grub/i386/coreboot/kernel.h: Likewise.
29249
29250 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
29251 Overwrite grub_prefix with its contents, at the beginning of the
29252 first segment.
29253 (main): Understand -p|--prefix.
29254
14f41dd1 292552008-07-30 Robert Millan <rmh@aybabtu.com>
29256
29257 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
29258
4ca049a3 292592008-07-30 Robert Millan <rmh@aybabtu.com>
29260
29261 * term/i386/pc/vga_text.c (grub_console_cls): Use
29262 grub_console_gotoxy() to go back to beginning of the screen.
29263 Found by Patrick Georgi <patrick.georgi@coresystems.de>
29264
2921d337 292652008-07-29 Christian Franke <franke@computer.org>
29266
29267 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29268 Add conversion of emulated mount points on Cygwin.
29269
b609876d 292702008-07-29 Christian Franke <franke@computer.org>
29271
29272 * util/update-grub.in: Add a check for admin
29273 group on Cygwin.
29274 Remove old `grub.cfg.new' before creation.
29275 Add `-f' to `mv' to handle the different filesystem
29276 semantics of Windows.
29277
e93e4679 292782008-07-29 Bean <bean123ch@gmail.com>
29279
29280 * normal/main.c (get_line): Fix buffer overflow bug.
29281
41694fd0 292822008-07-28 Robert Millan <rmh@aybabtu.com>
29283
29284 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
29285 (struct grub_apple_header): New struct. Describes the layout of
29286 the partmap header.
29287 (apple_partition_map_iterate): Check the header magic as well as the
29288 partition magic (which was already being checked).
29289
cfd0b4e6 292902008-07-28 Pavel Roskin <proski@gnu.org>
29291
29292 * genmk.rb: Add a warning to the beginning of the output that
29293 it's a generated file and should not be edited.
29294
93cce016 292952008-07-28 Robert Millan <rmh@aybabtu.com>
29296
29297 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29298 with the same number are found, just use issue a warning with
29299 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 29300
cd1df915 293012008-07-27 Robert Millan <rmh@aybabtu.com>
29302
29303 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
29304 information.
29305
b70a8427 293062008-07-27 Bean <bean123ch@gmail.com>
29307
29308 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
29309 (grub_fat_find_dir): Ignore case when comparing filename.
29310
8f5e379f 293112008-07-27 Bean <bean123ch@gmail.com>
29312
29313 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
29314 smallino, as it's more descriptive, and i8count can be confused with
29315 the other field count.
29316 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
29317 inode type.
29318
a85cd5a0 293192008-07-27 Bean <bean123ch@gmail.com>
29320
29321 * commands/crc.c: New file.
29322
29323 * lib/crc.c: Likewise.
29324
29325 * include/grub/lib/crc.h: Likewise.
29326
29327 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
29328
29329 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
29330 (hexdump): Move this function to ...
29331
29332 * lib/hexdump.c: ... here.
29333
29334 * include/grub/hexdump.h: Renamed to ...
29335
29336 * include/grub/lib/hexdump.h: ... this.
29337
29338 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
29339
29340 * util/grub-editenv.c: Likewise.
29341
29342 * include/envblk.h: Renamed to ...
29343
29344 * include/lib/envblk.h: ... this.
29345
29346 * util/envblk.c: Renamed to ...
29347
29348 * lib/envblk.c: ... this.
29349
29350 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
29351 lib/hexdump.c.
29352 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
29353 (pkglib_MODULES): Add crc.mod.
29354 (hexdump_mod_SOURCES): Add lib/hexdump.c.
29355 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
29356 (crc_mod_SOURCES): New macro.
29357 (crc_mod_CFLAGS): Likewise.
29358 (crc_mod_LDFLAGS): Likewise.
29359
29360 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
29361
29362 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29363
29364 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29365
29366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29367
29368 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29369
c298def0 293702008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 29371
29372 * commands/help.c: Include <grub/term.h>.
29373 (TERM_WIDTH): Removed. Updated all users.
29374
cc349fb3 293752008-07-27 Pavel Roskin <proski@gnu.org>
29376
29377 * util/getroot.c (find_root_device): Rephrase a comment to avoid
29378 spurious warnings about a comment within a comment.
29379
9051607e 293802008-07-25 Robert Millan <rmh@aybabtu.com>
29381
29382 * util/getroot.c (find_root_device): Skip devices that match
29383 /dev/dm-[0-9]. This lets the real device be found for any type of
29384 abstraction (LVM, EVMS, RAID..).
29385 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
29386 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
29387 device is found first, find_root_device() will now skip it.
29388
01453bfc 293892008-07-24 Pavel Roskin <proski@gnu.org>
29390
29391 * include/grub/types.h: Use __builtin_bswap32() and
29392 __builtin_bswap64() with gcc 4.3 and newer.
29393
6af9849f 293942008-07-24 Christian Franke <franke@computer.org>
29395
3a0fa256 29396 * util/i386/pc/grub-install.in: If `--debug' is specified,
29397 pass `--verbose' to grub-setup.
29398 Abort script if make_system_path_relative_to_its_root() fails.
29399
7810e747 294002008-07-24 Bean <bean123ch@gmail.com>
29401
29402 * configure.ac: Fixed a bug caused by the previous cygwin patch,
29403 variable `target_platform' should be `platform'.
29404
42290e17 294052008-07-24 Bean <bean123ch@gmail.com>
29406
51cc5193 29407 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 29408 (grub_png_init_fixed_block): New function.
29409 (grub_png_decode_image_data): Handle fixed huffman code compression.
29410
2a8a80e4 294112008-07-24 Bean <bean123ch@gmail.com>
29412
29413 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
29414 (grub_pe2elf_SOURCES): New macro.
29415 (CLEANFILES): Add grub-pe2elf.
29416
29417 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
29418 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
29419 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
29420 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
29421 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
29422 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
29423 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
29424 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
29425 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
29426 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
29427 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
29428 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
29429 (GRUB_PE32_DT_FUNCTION): Likewise.
29430 (GRUB_PE32_REL_I386_DIR32): Likewise.
29431 (GRUB_PE32_REL_I386_REL32): Likewise.
29432 (grub_pe32_symbol): New structure.
29433 (grub_pe32_reloc): Likewise.
29434
29435 * util/grub-pe2elf.c: New file.
29436
29437 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
29438 start symbol in non pc platform.
29439
29440 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
29441
29442 The following patches are from Christian Franke.
29443
29444 * include/grub/dl.h: Remove .previous, gas supports this only
29445 for ELF format.
29446
29447 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
29448 Remove .type, gas supports this only for ELF format.
29449
29450 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
29451 nullbytes in symbol table. This fixes an infinite loop if table is
29452 zero filled.
29453
29454 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
29455 TARGET_IMG_LDFLAGS and EXEEXT.
29456
29457 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
29458 TARGET_IMG_LDFLAGS_AC.
29459 (grub_CHECK_STACK_ARG_PROBE): New function.
29460
29461 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
29462
29463 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
29464
29465 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
29466 to set TARGET_IMG_LD* accordingly.
29467 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
29468 Add call to grub_CHECK_STACK_ARG_PROBE.
29469 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
29470
29471 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
29472
29473 * genmk.rb: Add EXEEXT to CLEANFILES.
29474
12ccdb75 294752008-07-23 Robert Millan <rmh@aybabtu.com>
29476
29477 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
29478 define the codes for arrows and lines used for the menu).
29479 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
29480 as well.
29481
29482 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29483 fonts, because the latter are too slow.
29484
18eeaf04 294852008-07-21 Bean <bean123ch@gmail.com>
29486
29487 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29488 a20. Run keyboard test last, as it will cause macbook to halt.
29489
b095e2ad 294902008-07-18 Pavel Roskin <proski@gnu.org>
29491
29492 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29493 load foreign architecture modules correctly anyway. Keep
29494 support for loading host architecture modules, whether we
29495 compile them or not.
29496
737feb35 294972008-07-17 Pavel Roskin <proski@gnu.org>
29498
3f4ce737 29499 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29500 change target_cpu. The compiler default can mismatch target_cpu
29501 in any case.
29502
4ad2d049 29503 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29504 * kern/efi/efi.c: Likewise.
29505
f6130a12 29506 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29507 target compiler is functional.
29508 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29509 are set up.
29510
58393a2d 29511 * configure.ac: Default to efi platform for x86_64-apple. Allow
29512 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29513 adjustments from the rest, only do them if target is not
29514 explicitly given. Merge other adjustments with the final sanity
29515 check. Remove an extraneous check for supported CPU. Be
29516 specific which CPU and which platform is not supported.
29517
737feb35 29518 * configure.ac: Default to pc platform for x86_64.
29519
546f966a 295202008-07-17 Robert Millan <rmh@aybabtu.com>
29521
29522 Partial LinuxBIOS -> Coreboot rename.
29523
29524 * conf/i386-linuxbios.rmk: Renamed to ...
29525 * conf/i386-coreboot.rmk: ... this.
29526 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29527 * configure.ac: Accept "coreboot" as input platform (but maintain
29528 compatibility with "linuxbios").
29529 * include/grub/i386/linuxbios: Renamed to ...
29530 * include/grub/i386/coreboot: ... this.
29531
20011694 295322008-07-17 Bean <bean123ch@gmail.com>
29533
29534 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 29535 (appleldr_mod_SOURCE): New variable.
20011694 29536 (appleldr_mod_CFLAGS): Likewise.
29537 (appleldr_mod_LDFLAGS): Likewise.
29538 (pci_mod_SOURCES): Likewise.
29539 (pci_mod_CFLAGS): Likewise.
29540 (pci_mod_LDFLAGS): Likewise.
29541 (lspci_mod_SOURCES): Likewise.
29542 (lspci_mod_CFLAGS): Likewise.
29543 (lspci_mod_LDFLAGS): Likewise.
29544
29545 * conf/x86_64-efi.rmk: New file.
29546
29547 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29548 macro.
29549 (grub_efidisk_write): Likewise.
29550
29551 * include/efi/api.h (efi_call_0): New macro.
29552 (efi_call_1): Likewise.
29553 (efi_call_2): Likewise.
29554 (efi_call_3): Likewise.
29555 (efi_call_4): Likewise.
29556 (efi_call_5): Likewise.
29557 (efi_call_6): Likewise.
29558
29559 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29560 grub_rescue_cmd_chainloader.
29561
29562 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29563 (grub_pe32_optional_header): Change some fields based on i386 or
29564 x86_64 platform.
29565 (GRUB_PE32_PE32_MAGIC): Likewise.
29566
29567 * include/grub/efi/uga_draw.h: New file.
29568
29569 * include/grub/elf.h (STN_ABS): New constant.
29570 (R_X86_64_NONE): Relocation constant for x86_64.
29571 (R_X86_64_64): Likewise.
29572 (R_X86_64_PC32): Likewise.
29573 (R_X86_64_GOT32): Likewise.
29574 (R_X86_64_PLT32): Likewise.
29575 (R_X86_64_COPY): Likewise.
29576 (R_X86_64_GLOB_DAT): Likewise.
29577 (R_X86_64_JUMP_SLOT): Likewise.
29578 (R_X86_64_RELATIVE): Likewise.
29579 (R_X86_64_GOTPCREL): Likewise.
29580 (R_X86_64_32): Likewise.
29581 (R_X86_64_32S): Likewise.
29582 (R_X86_64_16): Likewise.
29583 (R_X86_64_PC16): Likewise.
29584 (R_X86_64_8): Likewise.
29585 (R_X86_64_PC8): Likewise.
29586
29587 * include/grub/i386/efi/pci.h: New file.
29588
29589 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29590 Change it value based on platform.
29591 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29592 (GRUB_E820_RAM): Likewise.
29593 (GRUB_E820_RESERVED): Likewise.
29594 (GRUB_E820_ACPI): Likewise.
29595 (GRUB_E820_NVS): Likewise.
29596 (GRUB_E820_EXEC_CODE): Likewise.
29597 (GRUB_E820_MAX_ENTRY): Likewise.
29598 (grub_e820_mmap): New structure.
29599 (linux_kernel_header): Change the efi field according to different
29600 kernel version, also field from linux_kernel_header.
29601
29602 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29603
29604 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29605 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29606 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29607 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29608 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29609 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29610 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29611 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29612 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29613 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29614
29615 * include/grub/x86_64/efi/kernel.h: New file.
29616
29617 * include/grub/x86_64/efi/loader.h: Likewise.
29618
29619 * include/grub/x86_64/efi/machine.h: Likewise.
29620
29621 * include/grub/x86_64/efi/pci.h: Likewise.
29622
29623 * include/grub/x86_64/efi/time.h: Likewise.
29624
29625 * include/grub/x86_64/linux.h: Likewise.
29626
29627 * include/grub/x86_64/setjmp.h: Likewise.
29628
29629 * include/grub/x86_64/time.h: Likewise.
29630
29631 * include/grub/x86_64/types.h: Likewise.
29632
29633 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29634 GRUB_TARGET_SIZEOF_VOID_P.
29635
29636 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29637 (grub_efi_locate_handle): Likewise.
29638 (grub_efi_open_protocol): Likewise.
29639 (grub_efi_set_text_mode): Likewise.
29640 (grub_efi_stall): Likewise.
29641 (grub_exit): Likewise.
29642 (grub_reboot): Likewise.
29643 (grub_halt): Likewise.
29644 (grub_efi_exit_boot_services): Likewise.
29645 (grub_get_rtc): Likewise.
29646
29647 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29648 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29649 (grub_efi_allocate_pages): Wrap efi calls.
29650 (grub_efi_free_pages): Wrap efi calls.
29651 (grub_efi_get_memory_map): Wrap efi calls.
29652
29653 * kern/x86_64/dl.c: New file.
29654
29655 * kern/x86_64/efi/callwrap.S: Likewise.
29656
29657 * kern/x86_64/efi/startup.S: Likewise.
29658
29659 * loader/efi/appleloader.c: Likewise.
29660
29661 * loader/efi/chainloader.c (cmdline): New variable.
29662 (grub_chainloader_unload): Wrap efi calls.
29663 (grub_chainloader_boot): Likewise.
29664 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29665 command line.
29666
29667 * loader/efi/chainloader_normal.c (chainloader_command):
29668 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29669 command line.
29670
29671 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29672 method.
29673 (grub_e820_add_region): New function.
29674 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29675 booting.
29676 (grub_find_video_card): New function.
29677 (grub_linux_setup_video): New function.
29678 (grub_rescue_cmd_linux): Probe for video information.
29679
29680 * normal/x86_64/setjmp.S: New file.
29681
29682 * term/efi/console.c (map_char): New function.
29683 (grub_console_putchar): Map unicode char.
29684 (grub_console_checkkey): Wrap efi calls.
29685 (grub_console_getkey): Likewise.
29686 (grub_console_getwh): Likewise.
29687 (grub_console_gotoxy): Likewise.
29688 (grub_console_cls): Likewise.
29689 (grub_console_setcolorstate): Likewise.
29690 (grub_console_setcursor): Likewise.
29691
29692 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29693
59652a20 296942008-07-16 Pavel Roskin <proski@gnu.org>
29695
ef294055 29696 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29697 format strings.
29698
59652a20 29699 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29700 pointer, not an integer. This fixes a warning and prevents
29701 precision loss on 64-bit systems.
29702 (relocate_addresses): Remove unneeded cast.
29703
afc3b5d7 297042008-07-15 Pavel Roskin <proski@gnu.org>
29705
506b2b3e 29706 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29707
62ead89c 29708 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29709
c4cd51d7 29710 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29711 Fix comparison between signed and unsigned.
29712
0d3d8f28 29713 * include/grub/i386/ieee1275/console.h: Declare
29714 grub_console_init() and grub_console_fini().
29715
8804b286 29716 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29717 It's empty and unused.
29718
ee01cf35 29719 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29720 beginning to avoid warnings with some compilers.
29721
afc3b5d7 29722 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29723 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29724
e4e8eaa5 297252008-07-14 Pavel Roskin <proski@gnu.org>
29726
407aceb4 29727 * kern/env.c (grub_register_variable_hook): Don't copy empty
29728 string, it leaks memory. Pass "" to grub_env_set(), it should
29729 handle constant strings.
29730
e4e8eaa5 29731 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29732 * commands/cmp.c (grub_cmd_cmp): Likewise.
29733 * kern/dl.c (grub_dl_flush_cache): Likewise.
29734 (grub_dl_load_core): Likewise.
29735 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29736 (grub_elf64_load_phdrs): Likewise.
29737
d4e2dad3 297382008-07-13 Pavel Roskin <proski@gnu.org>
29739
29740 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29741 between signed and unsigned.
29742 (LzmaEnc_Finish): Fix warning about an unused parameter.
29743
aa24b516 297442008-07-13 Bean <bean123ch@gmail.com>
29745
29746 * Makefile.in (enable_lzo): New rule.
29747
29748 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29749
29750 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29751
29752 * boot/i386/pc/lnxboot.S: #include <config.h>.
29753
29754 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 29755 its value according to the compression algorithm used, lzo or lzma.
aa24b516 29756
29757 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29758 compression algorithm according to configure macro.
29759
29760 * kern/i386/pc/startup.S (codestart): Likewise.
29761
29762 * kern/i386/pc/lzma_decode.S: New file.
29763
29764 * include/grub/lib/LzFind.h: Likewise.
29765
29766 * include/grub/lib/LzHash.h: Likewise.
29767
29768 * include/grub/lib/LzmaDec.h: Likewise.
29769
29770 * include/grub/lib/LzmaEnc.h: Likewise.
29771
29772 * include/grub/lib/LzmaTypes.h: Likewise.
29773
29774 * lib/LzFind.c: Likewise.
29775
29776 * lib/LzmaDec.c: Likewise.
29777
29778 * lib/LzmaEnc.c: Likewise.
29779
4ae821ac 297802008-07-13 Bean <bean123ch@gmail.com>
29781
29782 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29783 (grub_ext4_extent_header): New structure.
29784 (grub_ext4_extent): Likewise.
29785 (grub_ext4_extent_idx): Likewise.
29786 (grub_ext4_find_leaf): New function.
29787 (grub_ext2_read_block): Handle extents.
29788
9a745147 297892008-07-12 Robert Millan <rmh@aybabtu.com>
29790
29791 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29792
d49a4cf6 297932008-07-11 Robert Millan <rmh@aybabtu.com>
29794
29795 * util/grub.d/40_custom.in: New file. Example on how to add custom
29796 entries to /etc/grub.d.
29797 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29798 40_custom (implicitly, by merging all the grub.d rules).
29799
947414b4 298002008-07-11 Pavel Roskin <proski@gnu.org>
29801
0059cf6f 29802 * commands/read.c (grub_getline): Fix invalid memory access.
29803 Don't add newline to the variable value.
29804
947414b4 29805 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29806 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29807 (serial_hw_get_port): Check validity of the port number.
29808 (grub_cmd_serial): Check return value of serial_hw_get_port().
29809
62a02d00 298102008-07-07 Pavel Roskin <proski@gnu.org>
29811
29812 * boot/i386/pc/diskboot.S (notification_string): Replace
29813 "Loading kernel" with just "loading". This is shorter, less
29814 confusing and saves a few bytes for possible future changes.
29815
3e5581b0 298162008-07-05 Pavel Roskin <proski@gnu.org>
29817
ea387a48 29818 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29819 size for ATAPI devices, they are undefined. Output sector
29820 number in decimal form.
29821
3e5581b0 29822 * disk/ata.c: Use named constants for status bits.
29823
fdecb8fd 298242008-07-04 Pavel Roskin <proski@gnu.org>
29825
bcd35b90 29826 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29827 grub_addr_t before casting it to the void pointer to fix a
29828 warning. Non-addressable regions are discarded earlier.
29829 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29830 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29831 (check_signature): Don't shadow table_header.
29832 (grub_linuxbios_table_iterate): Cast numeric constants to
29833 grub_linuxbios_table_header_t.
29834 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29835 grub_stop().
29836
af58ab3d 29837 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29838 prevent warnings.
29839
1759aa57 29840 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29841 pointer, which can cause warnings. Support 64-bit addresses.
29842
fdecb8fd 29843 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29844 of sizeof(long). This fixes PowerPC image generation on x86_64.
29845
8516d2a8 298462008-07-04 Robert Millan <rmh@aybabtu.com>
29847
29848 This fixes a performance issue when pc & gpt partmap iterators
29849 didn't abort iteration even after our hook found what it was
fe987087 29850 looking for (often causing expensive probes of non-existent drives).
8516d2a8 29851
29852 Some callers relied on previous buggy behaviour, since they would
34c44600 29853 raise an error when their own hooks caused early abortion of its
8516d2a8 29854 iteration.
29855
29856 * kern/device.c (grub_device_open): Improve error message.
29857 * disk/lvm.c (grub_lvm_open): Likewise.
29858 * disk/raid.c (grub_raid_open): Likewise.
29859
29860 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29861 when hook requests it, independently of grub_errno.
29862 (pc_partition_map_probe): Do not fail when find_func() caused
29863 early abortion of pc_partition_map_iterate().
29864
29865 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29866 when hook requests it, independently of grub_errno.
29867 (gpt_partition_map_probe): Do not fail when find_func() caused
29868 early abortion of gpt_partition_map_iterate().
29869
29870 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29871 when hook requests it, independently of grub_errno. Do not fail when
29872 part_map_iterate_hook() caused early abortion of p->iterate().
29873
29874 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29875 when grub_partition_iterate() returned with non-zero.
29876
277d0de9 298772008-07-03 Pavel Roskin <proski@gnu.org>
29878
29879 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29880 like we do in grub_ata_pio_read().
29881 (grub_ata_readwrite): Always write individual sectors. Fix the
29882 sector count for the remainder.
29883 (grub_ata_write): Enable writing to ATA devices. Correctly
29884 report error for ATAPI devices.
29885
d4c9b428 298862008-07-02 Pavel Roskin <proski@gnu.org>
29887
e43fc690 29888 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29889 warning.
29890
f707af42 29891 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29892 for every read sector, we already increment it for the whole
29893 batch. This fixes reading more than 256 sectors at once.
29894
11e16b15 29895 * util/grub-editenv.c (cmd_info): Cast argument to long
29896 explicitly. ptrdiff_t reduces to int on i386.
29897
cbabfdd4 29898 * util/grub-editenv.c (main): Be specific which parameter is
29899 missing.
29900
b8fbce0a 29901 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29902 (memdisk): Make memdisk_orig_addr a pointer.
29903
c9c8e606 29904 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29905 for file offsets, use grub_off_t instead. Fix printf format
29906 warnings.
29907
ca62e598 29908 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29909 there. Real unexpected warnings should not drown in the noise
29910 about known problems.
29911
ce8d1766 29912 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29913 grub_disk_addr_t for memory addresses.
29914
00c7a56a 29915 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29916 explicitly to fix a warning.
29917
08d3ef09 29918 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29919
cb71ba20 29920 * Makefile.in (MODULE_LDFLAGS): New variable.
29921 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29922 the linker accepts --build-id=none.
29923 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29924 MODULE_LDFLAGS.
29925 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29926
d4c9b428 29927 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29928 those in Linux XFS code. Provide a way to access 64-bit parent
29929 inode.
29930 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29931 the end of struct grub_xfs_dir_header.
29932
d4156eee 299332008-07-02 Bean <bean123ch@gmail.com>
29934
29935 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29936 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29937 and GRUB_IEEE1275_FLAG_NO_ANSI.
29938
29939 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29940 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29941 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29942
29943 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29944 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29945
29946 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29947 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29948
29949 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29950 esc sequence on non ANSI terminal.
29951 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29952
29953 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29954 beginning of file.
29955
2270f77b 299562008-07-02 Bean <bean123ch@gmail.com>
29957
29958 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29959 (grub_editenv_SOURCES): New variable.
29960 (pkglib_MODULES): Add loadenv.mod.
29961 (loadenv_mod_SOURCES): New variable.
29962 (loadenv_mod_CFLAGS): Likewise.
29963 (loadenv_mod_LDFLAGS): Likewise.
29964
29965 * include/grub/envblk.h: New file.
29966
29967 * util/envblk.c: New file.
29968
29969 * util/grub-editenv.c: New file.
29970
29971 * commands/loadenv.c: New file.
29972
0e9e51ec 299732008-07-01 Pavel Roskin <proski@gnu.org>
29974
d89b7634 29975 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29976 not unsigned char. This fixes warnings and is consistent with
29977 other tags.
29978
bf1835b1 29979 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29980
8222a04b 29981 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29982
6a42d99d 29983 * term/tparm.c (analyze): Always set *popcount.
29984
10b159d1 29985 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29986 cast to fix a warning.
29987
b8789f6c 29988 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29989 cast to suppress a warning.
29990
29d7e38a 29991 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29992 grub_fshelp_read_file() expects.
29993
f341f669 29994 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29995 write uuid as a 32-bit value in CPU byte order, so declare and
29996 use it as such.
29997
0e9e51ec 29998 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29999 long if the format specifier expects it.
30000 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
30001 * partmap/pc.c (pc_partition_map_iterate): Likewise.
30002 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
30003 long to fix a warning.
30004 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
30005 grub_dprintf() arguments to fix warnings.
30006
3aefa857 300072008-06-30 Pavel Roskin <proski@gnu.org>
30008
56c7668b 30009 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
30010 install_bsd_part immediately before core.img is embedded or
30011 modified on disk. This fixes core.img verification if core.img
30012 cannot be embedded.
30013
3aefa857 30014 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
30015 core_path to calculate the blocklist.
30016 Patch from Javier Martín <lordhabbit@gmail.com>
30017
5444088d 300182008-06-29 Robert Millan <rmh@aybabtu.com>
30019
30020 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
30021 block to disk block.
30022 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
30023 Patch from Niels Böhm <bitbucket@arcor.de>
30024
674835c8 300252008-06-29 Robert Millan <rmh@aybabtu.com>
30026
30027 * util/update-grub_lib.in (font_path): Search for fonts in
30028 /boot/grub first, which is more likely to be readable (we aren't
30029 deciding where fonts live, just looking for them).
30030
f527dbc8 300312008-06-26 Pavel Roskin <proski@gnu.org>
30032
6c2d8df6 30033 * util/biosdisk.c (read_device_map): Don't leave dead map
30034 entries for devices failing stat() check.
30035
f527dbc8 30036 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
30037 core_path_dev for the core.img path on the target device.
30038
aebe3d13 300392008-06-26 Robert Millan <rmh@aybabtu.com>
30040
30041 * disk/fs_uuid.c: New file.
30042 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
30043 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
30044 (fs_uuid_mod_LDFLAGS): New variables.
30045 * include/grub/disk.h (grub_disk_dev_id): Add
30046 `GRUB_DISK_DEVICE_UUID_ID'.
30047 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
30048 implement iterate().
30049
37aaf354 300502008-06-26 Robert Millan <rmh@aybabtu.com>
30051
30052 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
30053 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
30054 Linux image includes no initrd.
30055
25ff262a 300562008-06-21 Javier Martín <lordhabbit@gmail.com>
30057
30058 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
30059 call to resolve the core image location that effectively appended the
30060 name twice.
30061
76a2bd44 300622008-06-21 Robert Millan <rmh@aybabtu.com>
30063
30064 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
30065 call from here ...
30066
30067 * util/grub.d/10_hurd.in: ... to here ...
30068 * util/grub.d/10_linux.in: ... and here.
30069
650e1c79 300702008-06-19 Robert Millan <rmh@aybabtu.com>
30071
fe987087 30072 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 30073 after it has been set by grub_machine_set_prefix().
30074
6ce63911 300752008-06-19 Robert Millan <rmh@aybabtu.com>
30076
30077 * commands/search.c (search_label, search_fs_uuid, search_file): Print
30078 search result when not saving to variable, not the other way around.
30079 When saving to variable, abort iteration as soon as a match is found.
30080
73940cec 300812008-06-19 Robert Millan <rmh@aybabtu.com>
30082
30083 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
30084 check for partition that provides /boot/grub. Its logic is flawed,
30085 as it prevents prepare_grub_to_access_device() from being called
30086 multiple times.
30087
3c62a39d 300882008-06-19 Robert Millan <rmh@aybabtu.com>
30089
30090 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
30091 "insmod" command directly when abstraction modules are needed,
fe987087 30092 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 30093 since it had already been processed).
30094
47395a42 300952008-06-19 Pavel Roskin <proski@gnu.org>
30096
30097 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
30098 changed. This is needed in case GRUB_LIBDIR changes.
30099 * conf/i386-ieee1275.rmk: Likewise.
30100 * conf/i386-linuxbios.rmk: Likewise.
30101 * conf/i386-pc.rmk: Likewise.
30102 * conf/powerpc-ieee1275.rmk: Likewise.
30103
a145ac2d 301042008-06-18 Pavel Roskin <proski@gnu.org>
30105
30106 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
30107 kernel_elf_symlist.c to symlist.c for consistency with other
30108 architectures. Update all users.
30109 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30110
7847c51e 301112008-06-18 Robert Millan <rmh@aybabtu.com>
30112
30113 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
30114 it in prefix.
30115
30116 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
30117 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
30118 a RAID device, run setup() for all members independently on whether
30119 LVM abstraction is being used.
30120 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
30121 If grub-mkimage has set `*install_dos_part == -2', don't override this
30122 value.
30123 Perform *install_dos_part adjustments independently on whether
30124 we're embedding or not.
30125 Clarify error message when image is too big for embedding.
30126 Remove duplicate *install_dos_part stanza.
30127
b23e5644 301282008-06-17 Robert Millan <rmh@aybabtu.com>
30129
30130 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
30131 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
30132 variables.
30133 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
30134 values in grub_ofconsole_normal_color and
30135 grub_ofconsole_highlight_color (they're not directly related to
30136 background and foreground).
30137 (grub_ofconsole_setcolorstate): Extract background and foreground
30138 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
30139
0aac2f79 301402008-06-17 Robert Millan <rmh@aybabtu.com>
30141
30142 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
30143 /boot/grub for the check in last commit, not /boot (they could be
30144 different partitions).
30145
3cca7ef3 301462008-06-16 Robert Millan <rmh@aybabtu.com>
30147
30148 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
30149 asked to setup access for the same partition that provides /boot,
30150 don't bother using UUIDs since our root already has the value we
30151 want.
30152
347396d8 301532008-06-16 Robert Millan <rmh@aybabtu.com>
30154
30155 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
30156 I2O devices.
30157 Patch from Sven Mueller <sven@debian.org>.
30158
991477f8 301592008-06-16 Robert Millan <rmh@aybabtu.com>
30160
30161 * util/update-grub.in: Check for $EUID instead of $UID.
30162 Reported by Vincent Zweije.
30163
d31a32a1 301642008-06-16 Bean <bean123ch@gmail.com>
30165
fe987087 30166 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 30167 (grub_ext2_read_block): Likewise.
30168 (grub_ext2_read_inode): Likewise.
30169 (grub_ext2_mount): Likewise.
30170 (grub_ext2_close): Likewise.
30171 (grub_ext3_get_journal): Removed.
30172
fe987087 30173 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 30174 (grub_reiserfs_read_symlink): Likewise.
30175 (grub_reiserfs_mount): Likewise.
30176 (grub_reiserfs_open): Likewise.
30177 (grub_reiserfs_read): Likewise.
30178 (grub_reiserfs_close): Likewise.
30179 (grub_reiserfs_get_journal): Removed.
30180
30181 * fs/fshelp.c (grub_fshelp_read): Removed.
30182 (grub_fshelp_map_block): Likewise.
30183
30184 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
30185 (grub_fshelp_journal): Likewise.
30186 (grub_fshelp_read): Likewise.
30187 (grub_fshelp_map_block): Likewise.
30188
3540a760 301892008-06-16 Pavel Roskin <proski@gnu.org>
30190
30191 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
30192 floating point anymore.
30193 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
30194
95614c84 301952008-06-15 Pavel Roskin <proski@gnu.org>
30196
30197 * commands/ls.c (grub_ls_list_files): Use integer calculations
30198 for human readable format, avoid floating point use.
30199 * kern/misc.c (grub_ftoa): Remove.
30200 (grub_vsprintf): Remove floating point support.
30201
50465dd6 302022008-06-15 Robert Millan <rmh@aybabtu.com>
30203
fe6b695a 30204 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 30205 devices.
30206 Reported by Max Vozeler.
30207
a9207284 302082008-06-15 Robert Millan <rmh@aybabtu.com>
30209
30210 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
30211 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
30212 skipped later.
30213 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
30214 the beginning of the prefix.
30215
30216 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
30217 It is assumed that if we have a memdisk, grub-mkimage has set
30218 grub_prefix to include the "(memdisk)" drive in it.
30219
a7cbd45a 302202008-06-15 Robert Millan <rmh@aybabtu.com>
30221
30222 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
30223 Initialize keyboard controller after registering the terminal, so that
30224 grub_printf() can be called from grub_keyboard_controller_init().
30225
21cf716a 302262008-06-15 Robert Millan <rmh@aybabtu.com>
30227
30228 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
30229 extent-btree which is written as big endian on disk.
30230 Reported by Alain Greppin <al@chilibi.org>.
30231
23a64d8e 302322008-06-14 Robert Millan <rmh@aybabtu.com>
30233
30234 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
30235 * util/i386/pc/grub-install.in (modules): Likewise.
30236
d687651c 302372008-06-13 Pavel Roskin <proski@gnu.org>
30238
30239 * commands/ls.c (grub_ls_list_files): Fix format warnings.
30240
dfe9ddd4 302412008-06-13 Bean <bean123ch@gmail.com>
30242
30243 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
30244
30245 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
30246
30247 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
30248 to indicate sparse block.
30249
16ae7781 302502008-06-12 Pavel Roskin <proski@gnu.org>
30251
e6d1a308 30252 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
30253 number, grub_fshelp_read() does it for us.
30254
16ae7781 30255 * fs/fshelp.c (grub_fshelp_read): New function. Implement
30256 linear disk read with journal translation.
30257 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
30258 * include/grub/fshelp.h: Declare grub_fshelp_read().
30259
40fd3a2b 302602008-06-09 Pavel Roskin <proski@gnu.org>
30261
30262 * fs/minix.c (grub_minix_mount): Handle error reading
30263 superblock.
30264
f5679726 302652008-06-08 Robert Millan <rmh@aybabtu.com>
30266
30267 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
30268 don't append the RAID prefix afterwards.
30269 Reported by Clint Adams.
30270
ce525529 302712008-06-08 Robert Millan <rmh@aybabtu.com>
30272
30273 Based on description from Pavel:
30274 * kern/disk.c (grub_disk_check_range): Rename to ...
30275 (grub_disk_adjust_range): ... this. Add a comment explaining the
30276 tasks performed by this function.
30277
ad4936a0 302782008-06-08 Robert Millan <rmh@aybabtu.com>
30279
30280 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
30281 `num_serial' (for consistency with other variables).
30282 (struct grub_ntfs_data): Add `uuid' member.
30283 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
30284 (grub_ntfs_uuid): New function.
30285 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
30286
dc20b0f9 302872008-06-07 Pavel Roskin <proski@gnu.org>
30288
30289 * util/biosdisk.c (open_device): Revert last change to the
30290 function, it broke installation. The sector needs to be
30291 different dependent on which device is opened.
30292
c5e3cfba 302932008-06-06 Robert Millan <rmh@aybabtu.com>
30294
30295 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
30296 rest of GRUB, and breakage doesn't happen if its value were modified.
30297
30298 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30299 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
30300 a constant (same value).
30301 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
30302 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
30303
26a1f8c4 303042008-06-06 Robert Millan <rmh@aybabtu.com>
30305
30306 * util/biosdisk.c (open_device): Do not modify sector offset when
30307 accessing a partition. kern/disk.c already handles this for us.
30308
25d6b327 303092008-06-06 Robert Millan <rmh@aybabtu.com>
30310
30311 * util/grub-emu.c (grub_machine_init): Move code in this function from
30312 here ...
30313 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
30314 segfault in case grub_printf() is called).
30315
30316 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
30317 grub_probe. Update all users not to explicitly add it again.
30318 (grub_device): New variable; contains corresponding device for grubdir.
30319 (fs_module, partmap_module, devabstraction_module): Pass
30320 `--device ${grub_device}' to grub_probe to avoid traversing /dev
30321 every time.
30322
9ece62fb 303232008-06-05 Robert Millan <rmh@aybabtu.com>
30324
30325 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
30326 is found, print it (same layout as with labels).
30327
1ad36d37 303282008-06-04 Robert Millan <rmh@aybabtu.com>
30329
30330 * util/biosdisk.c (get_drive): Rename to ...
30331 (find_grub_drive): ... this. Update all users.
30332
30333 (get_os_disk): Rename to ...
30334 (convert_system_partition_to_system_disk): ... this. Update all users.
30335
30336 (find_drive): Rename to ...
30337 (find_system_device): ... this. Update all users.
30338
e6a30859 303392008-06-04 Robert Millan <rmh@aybabtu.com>
30340
30341 * util/biosdisk.c (get_os_disk): Handle IDA devices.
30342 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30343 (make_device_map): Likewise.
30344
00c108a4 303452008-06-01 Robert Millan <rmh@aybabtu.com>
30346
30347 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
30348 before dereferencing it.
30349
30350 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
30351 union with fat12/fat16-specific ones. Add some new fields, including
30352 `num_serial' for both versions.
30353 (struct grub_fat_data): Add `uuid' member.
30354 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
30355 names. Initialize `data->uuid' using `num_serial'.
30356 (grub_fat_uuid): New function.
30357 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
30358
30359 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
30360 (grub_reiserfs_uuid): New function.
30361 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
30362 member.
30363
30364 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
30365 (grub_xfs_uuid): New function.
30366 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
30367
1385c5bb 303682008-06-01 Robert Millan <rmh@aybabtu.com>
30369
30370 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
30371 code that is backward compatible with pre-uuid search command.
30372
c682dfd7 303732008-05-31 Robert Millan <rmh@aybabtu.com>
30374
30375 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
30376 floppies after everything else, to ensure floppy drive isn't accessed
30377 unnecessarily (patch from Bean).
30378
b7db5d47 303792008-05-31 Robert Millan <rmh@aybabtu.com>
30380
30381 * commands/search.c (search_label, search_fs_uuid, search_file): Do
30382 not print device names when we were asked to set a variable.
30383
6e037aa9 303842008-05-31 Robert Millan <rmh@aybabtu.com>
30385
30386 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
30387 using "cursor-on" and "cursor-off" commands (understood at least by
30388 the Open Firmware flavour on OLPC).
30389
41305bc8 303902008-05-31 Michael Gorven <michael@gorven.za.net>
30391
30392 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
30393 on and off sequences.
30394
69ba137e 303952008-05-31 Robert Millan <rmh@aybabtu.com>
30396
30397 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
30398 * util/update-grub.in: Likewise.
30399
520ae21b 304002008-05-30 Pavel Roskin <proski@gnu.org>
30401
30402 * util/biosdisk.c (linux_find_partition): Simplify logic and
30403 make the code more universal. Keep special processing for
30404 devfs, but use a simple rule for all other devices. If the
30405 device ends with a number, append 'p' and the partition number.
30406 Otherwise, append only the partition number.
30407
5786569b 304082008-05-30 Robert Millan <rmh@aybabtu.com>
30409
30410 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
30411 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
30412 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
30413 the `root' parameter to Linux.
30414
51500452 304152008-05-30 Robert Millan <rmh@aybabtu.com>
30416
30417 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
30418 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
30419 --fs_uuid with --fs-uuid.
30420 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
30421 all filesystems support them).
30422
811d3878 304232008-05-30 Robert Millan <rmh@aybabtu.com>
30424
30425 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 30426 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 30427
cab63c95 304282008-05-30 Robert Millan <rmh@aybabtu.com>
30429
30430 * util/grub.d/00_header.in: Remove obsolete comment referencing
30431 convert_system_path_to_grub_path().
30432 * util/update-grub.in: Likewise.
30433 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
30434 (convert_system_path_to_grub_path): Add a warning message explaining
30435 that this function is deprecated. Rely on is_path_readable_by_grub()
30436 for the readability checks.
30437 (font_path): Use is_path_readable_by_grub() for the readability
30438 check rather than convert_system_path_to_grub_path().
30439
972e2f7a 304402008-05-30 Robert Millan <rmh@aybabtu.com>
30441
30442 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
30443 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
30444 converting it first.
30445 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
30446 grub.cfg for access to font file, and afterwards call it again to set
30447 the root device.
30448
62191274 304492008-05-30 Robert Millan <rmh@aybabtu.com>
30450
30451 * commands/search.c (options): Add --fs_uuid option.
30452 (search_fs_uuid): New function.
30453 (grub_cmd_search): Fix --set argument passing.
30454 Use search_fs_uuid() when requested via --fs_uuid.
30455 (grub_search_init): Update help message.
30456 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
30457 and redeclare it as an array of 16-bit words.
30458 (grub_ext2_uuid): New function.
30459 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
30460 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
30461 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
30462 (GRUB_DEVICE_BOOT_UUID): New variables.
30463 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
30464 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
30465 whenever possible.
30466 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
30467 just assume `root' variable has the right value.
30468 * util/grub.d/10_linux.in: Likewise.
30469 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
30470 via PRINT_FS_UUID.
30471 (main): Recognise `-t fs_uuid' argument.
30472
01b73ec8 304732008-05-30 Robert Millan <rmh@aybabtu.com>
30474
30475 * util/biosdisk.c (map): Redefine structure to hold information
30476 about GRUB drive name.
fe6b695a 30477 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 30478 drive names.
30479 (call_hook): Remove.
30480 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
30481 member. Assume drive has partitions.
30482 (grub_util_biosdisk_open): Access device names via `.device' struct
30483 member.
30484 (open_device): Likewise.
30485 (find_drive): Likewise.
30486 (read_device_map): Adjust map[] usage to match the new struct
30487 definition. Don't check for duplicates (still possible, but not cheap
30488 anymore).
30489 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30490 (make_device_name): Remove assumption of BIOS-like drive names.
30491
22f16596 304922008-05-30 Pavel Roskin <proski@gnu.org>
30493
30494 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30495 compiling execute.c doesn't need grub_script.tab.h anymore.
30496 (normal/command.c_DEPENDENCIES): Likewise.
30497 (normal/function.c_DEPENDENCIES): Likewise.
30498 * conf/i386-ieee1275.rmk: Likewise.
30499 * conf/i386-linuxbios.rmk: Likewise.
30500 * conf/i386-pc.rmk: Likewise.
30501 * conf/powerpc-ieee1275.rmk: Likewise.
30502 * conf/sparc64-ieee1275.rmk: Likewise.
30503
528ad8f2 305042008-05-29 Pavel Roskin <proski@gnu.org>
30505
d1dff95d 30506 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30507 when scanning metadata for volume group name.
30508
528ad8f2 30509 * include/grub/script.h: Don't include grub_script.tab.h. It's
30510 a generated file, which may only be included from the files with
30511 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30512 use union YYSTYPE, as the later allows forward declaration.
30513 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30514
47248e08 305152008-05-29 Robert Millan <rmh@aybabtu.com>
30516
30517 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30518 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30519 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30520 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30521 scan codes.
30522
ee632529 305232008-05-29 Robert Millan <rmh@aybabtu.com>
30524
30525 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30526 control key combinations.
30527
eee96e08 305282008-05-29 Robert Millan <rmh@aybabtu.com>
30529
30530 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30531 * util/ieee1275/grub-install.in: ... to here.
30532 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30533 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30534 (grub_install_SOURCES): Likewise.
30535
da9a6a94 305362008-05-29 Robert Millan <rmh@aybabtu.com>
30537
30538 * fs/affs.c: Update copyright year.
30539 * fs/ext2.c: Likewise.
30540 * fs/fshelp.c: Likewise.
30541 * fs/hfsplus.c: Likewise.
30542 * fs/ntfs.c: Likewise.
30543 * fs/xfs.c: Likewise.
30544 * include/grub/fshelp.h: Likewise.
30545 * util/grub-mkdevicemap.c: Likewise.
30546
12e65f3a 305472008-05-28 Robert Millan <rmh@aybabtu.com>
30548
30549 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30550 might need to be fatfs to support some firmware implementations
30551 (e.g. OFW or EFI).
30552
23023641 305532008-05-28 Robert Millan <rmh@aybabtu.com>
30554
30555 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30556 devices.
30557 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30558 (make_device_map): Likewise.
30559
887d2619 305602008-05-20 Bean <bean123ch@gmail.com>
30561
30562 * fs/fshelp.c (grub_fshelp_map_block): New function.
30563 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30564 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30565
30566 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30567 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30568 (grub_fshelp_journal): New structure.
30569 (grub_fshelp_map_block): New function prototype.
30570 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30571 (grub_fshelp_map_block): Likewise.
30572
30573 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30574 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30575 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30576 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30577 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30578 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30579 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30580 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30581 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30582 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30583 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30584 (grub_ext2_sblock): New members for journal support.
30585 (grub_ext3_journal_header): New structure.
30586 (grub_ext3_journal_revoke_header): Likewise.
30587 (grub_ext3_journal_block_tag): Likewise.
30588 (grub_ext3_journal_sblock): Likewise.
30589 (grub_fshelp_node): New members logfile and journal.
30590 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30591 grub_fshelp_map_block to get real block number.
30592 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30593 number.
30594 (grub_ext2_read_inode): Likewise.
30595 (grub_ext3_get_journal): New function.
30596 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30597 (grub_ext2_close): Release memory used by journal.
30598
30599 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30600 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30601 (grub_reiserfs_transaction_header): Renamed to
30602 grub_reiserfs_description_block, replace field data with real_blocks.
30603 (grub_reiserfs_commit_block): New structure.
30604 (grub_reiserfs_data): New member journal.
30605 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30606 number.
30607 (grub_reiserfs_read_symlink): Likewise.
30608 (grub_reiserfs_iterate_dir): Likewise.
30609 (grub_reiserfs_open): Likewise.
30610 (grub_reiserfs_read): Likewise.
30611 (grub_reiserfs_get_journal): New function.
30612 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30613 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30614 using grub_reiserfs_get_journal.
30615 (grub_reiserfs_close): Release memory used by journal.
30616
30617 * fs/affs.c (grub_affs_read_block): Change block type to
30618 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30619
30620 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30621
30622 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30623
30624 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30625
30626 * fs/udf.c (grub_udf_read_block): Change block type to
30627 grub_disk_addr_t. Use type cast to avoid warning.
30628
30629 * fs/xfs.c (grub_xfs_read_block): Likewise.
30630
b7c6bed5 306312008-05-16 Christian Franke <franke@computer.org>
30632
30633 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30634 to ensure that break with ESC will always work.
30635 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30636 Remove ESC from keyboard queue.
30637
eedf167f 306382008-05-16 Christian Franke <franke@computer.org>
30639
30640 * util/biosdisk.c: [__CYGWIN__] Add includes.
30641 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30642 (get_os_disk): Move variable declarations to OS specific
30643 parts to avoid warning.
30644 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30645 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30646 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30647 Cygwin.
30648 * util/getroot.c: [__CYGWIN__] Add includes.
30649 (strip_extra_slashes): Fix "/" case.
30650 [__CYGWIN__] (get_win32_path): New function.
30651 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30652 [__CYGWIN__] (find_root_device): Disable.
30653 [__CYGWIN__] (get_bootsec_serial): New function.
30654 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30655 [__linux__] (grub_guess_root_device): Add early returns to simplify
30656 structure.
30657 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30658 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30659 check for Linux only.
30660
a079699e 306612008-05-15 Bean <bean123ch@gmail.com>
30662
30663 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30664 keyboard hang problem in apple's intel mac.
30665
1cf4059a 306662008-05-09 Robert Millan <rmh@aybabtu.com>
30667
30668 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30669 devices.
30670 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30671 (make_device_map): Likewise.
30672 Reported by Aurelien Jarno <aurel32@debian.org>
30673
ed759390 306742008-05-07 Ian Campbell <ijc@hellion.org.uk>
30675
30676 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30677 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30678 (make_device_map): Output entries for xvd type disks.
30679
b56c4eaa 306802008-05-07 Robert Millan <rmh@aybabtu.com>
30681
30682 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30683 devices.
30684 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30685 (make_device_map): Likewise.
30686 Reported by Roland Dreier <rdreier@cisco.com>
30687
7f8866ed 306882008-05-07 Robert Millan <rmh@aybabtu.com>
30689
30690 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30691 grub_strstr() call. Correct a few mistakes in failure path handling.
30692
b0346e0f 306932008-05-06 Robert Millan <rmh@aybabtu.com>
30694
30695 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30696 Do not print a trailing slash (therefore, the root directory is an
30697 empty string).
30698 (convert_system_path_to_grub_path): Do not remove trailing slash
30699 from make_system_path_relative_to_its_root() output.
30700
30701 * util/i386/pc/grub-install.in: Add trailing slash to output from
30702 make_system_path_relative_to_its_root().
30703
6cf12cbd 307042008-05-06 Robert Millan <rmh@aybabtu.com>
30705
30706 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30707 ensures that output lines aren't intermangled with those sent to
30708 stderr (via grub_util_info()).
30709 * util/grub-probe.c (grub_refresh): Likewise.
30710 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30711
0fbb3117 307122008-05-05 Christian Franke <franke@computer.org>
30713
30714 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30715 Add Cygwin device names.
30716 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30717 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30718 (check_device): Return error instead of success on empty name.
30719 (make_device_map): Move label inside linux specific code to
30720 prevent compiler warning.
30721
8124cdb7 307222008-04-30 Robert Millan <rmh@aybabtu.com>
30723
30724 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30725 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30726 first boot option.
30727 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30728
094c01d0 307292008-04-29 Robert Millan <rmh@aybabtu.com>
30730
30731 * docs/grub.cfg: New file (example GRUB configuration).
30732
f4b1fc02 307332008-04-26 Robert Millan <rmh@aybabtu.com>
30734
329ce2a5 30735 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30736 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30737 and `disk/ieee1275/nand.c'.
f4b1fc02 30738
25f16ec1 307392008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 30740
25f16ec1 30741 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30742 i386-linuxbios.
30743
30744 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30745 change the buffer size to 4096 for cdrom device.
30746
30747 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30748 and nand.mod.
30749 (_linux_mod_SOURCES): New variable.
30750 (_linux_mod_CFLAGS): Likewise.
30751 (_linux_mod_LDFLAGS): Likewise.
30752 (linux_mod_SOURCES): Likewise.
30753 (linux_mod_CFLAGS): Likewise.
30754 (linux_mod_LDFLAGS): Likewise.
30755 (nand_mod_SOURCES): Likewise.
30756 (nand_mod_CFLAGS): Likewise.
30757 (nand_mod_LDFLAGS): Likewise.
30758
30759 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30760 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30761 type property. (nand device in olpc don't have this property)
30762
30763 * include/grub/disk.h (grub_disk_dev_id): New macro
30764 GRUB_DISK_DEVICE_NAND_ID.
30765
30766 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30767 function prototype.
30768 (grub_rescue_cmd_initrd): Likewise.
30769
30770 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30771 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30772 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 30773
25f16ec1 30774 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30775 GRUB_MACHINE_IEEE1275 is defined.
30776
30777 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30778 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30779
30780 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30781 on nested function heap_init.
30782 (grub_upper_mem): New variable for i386-ieee1275.
30783 (grub_get_extended_memory): New function for i386-ieee1275.
30784 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30785
30786 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30787 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30788 property.
f19dbdb7 30789
25f16ec1 30790 * loader/i386/ieee1275/linux.c: New file.
30791
30792 * loader/i386/ieee1275/linux_normal.c: New file.
30793
30794 * disk/ieee1275/nand.c: New file.
30795
e89d61e9 307962008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30797
30798 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30799 value.
30800 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30801
602566f6 308022008-04-18 Robert Millan <rmh@aybabtu.com>
30803
30804 Restructures early code path on ieee1275 to unify grub_main() as
30805 the first C function that is executed in every platform.
30806
30807 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30808 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30809 cmain().
30810 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30811 * kern/ieee1275/cmain.c (cmain): Rename to ...
30812 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30813 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30814 at the beginning.
30815
57490c2b 308162008-04-18 Robert Millan <rmh@aybabtu.com>
30817
30818 * util/update-grub.in: Fix syntax error when setting
30819 `GRUB_PRELOAD_MODULES'.
30820 Reported by Stephane Chazelas <stephane@artesyncp.com>
30821
1977517d 308222008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30823
30824 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30825 section into account, newer toolchains generate unique build ids
30826 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 30827 we want build ids to be preserved
1977517d 30828 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30829 far from other sections don't cause the raw binary images grow
30830 size
30831
bfb1f1a2 308322008-04-15 Robert Millan <rmh@aybabtu.com>
30833
30834 * disk/lvm.c: Update copyright year.
30835 * kern/misc.c: Likewise.
30836
01979850 308372008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30838
30839 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 30840 there is no memory left for physical volume name.
01979850 30841
0a1150e2 308422008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30843
30844 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30845 volume name mapping to support bigger than 9 character names properly.
30846
82ead3fe 308472008-04-13 Robert Millan <rmh@aybabtu.com>
30848
30849 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30850 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30851
e54a72f5 308522008-04-13 Christian Franke <franke@computer.org>
30853
30854 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30855 to create a floppy emulation boot CD when non emulation mode
30856 does not work.
30857 Enable Joliet CD filesystem extension.
30858
9fe86034 308592008-04-13 Robert Millan <rmh@aybabtu.com>
30860
30861 * kern/misc.c (grub_strncat): Fix off-by-one error.
30862 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30863
30864 * kern/env.c (grub_env_context_close): Clear current context, not
30865 previous one.
30866 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30867
30868 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30869
7ceeee39 308702008-04-13 Robert Millan <rmh@aybabtu.com>
30871
30872 Improve robustness when handling LVM.
30873
30874 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 30875 (and leave `*p' unmodified).
7ceeee39 30876 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30877 through it.
30878 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30879 iterating through it.
30880 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30881 through it.
fe6b695a 30882 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 30883 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30884 Don't assume `vg->pvs != NULL' when iterating through it.
30885
58cd3d85 308862008-04-13 Robert Millan <rmh@aybabtu.com>
30887
30888 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30889 * genmk.rb (partmap): New variable.
30890 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30891 (#{partmap}): New target rule.
30892 * genpartmaplist.sh: New file.
30893 * Makefile.in (pkglib_DATA): Add partmap.lst.
30894 (partmap.lst): New target rule.
30895 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30896 modules (including all partition maps), instead of preloading them.
30897
78b51059 308982007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30899
30900 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30901 `linux-boot-prober' (if installed) to detect other operating
30902 systems which are installed on the computer and add them to
30903 the boot menu.
30904 * conf/common.rmk: Build and install 30_os-prober.
30905
a91627b4 309062008-04-12 Robert Millan <rmh@aybabtu.com>
30907
30908 * kern/powerpc/ieee1275/init.c: Move from here ...
30909 * kern/ieee1275/init.c: ... to here. Update all users.
30910
30911 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30912 * kern/ieee1275/cmain.c: ... to here. Update all users.
30913
30914 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30915 * kern/ieee1275/openfw.c: ... to here. Update all users.
30916
30917 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30918 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30919
322562ea 309202008-04-10 Pavel Roskin <proski@gnu.org>
30921
30922 * configure.ac: Always use "_cv_" in cache variables for
30923 compatibility with Autoconf 2.62.
30924
a02a73c5 309252008-04-07 Robert Millan <rmh@aybabtu.com>
30926
30927 Revert grub/machine/init.h addition by Pavel (since it breaks on
30928 i386-ieee1275 and others):
30929 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30930 * util/powerpc/ieee1275/misc.c: Likewise.
30931
25c024b1 309322008-04-07 Robert Millan <rmh@aybabtu.com>
30933
30934 * util/grub-probe.c (probe): Improve error message.
30935
3cbd2f98 309362008-04-07 Robert Millan <rmh@aybabtu.com>
30937
30938 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30939 (this prevents the presence of a bogus entry from ruining the whole
30940 thing).
30941
87a297bf 309422008-04-06 Pavel Roskin <proski@gnu.org>
30943
36747a62 30944 * util/biosdisk.c: Include grub/util/biosdisk.h.
30945 * util/grub-fstest.c (execute_command): Make static.
30946 * util/grub-mkdevicemap.c (check_device): Likewise.
30947 * util/i386/pc/misc.c: Include grub/machine/init.h.
30948 * util/powerpc/ieee1275/misc.c: Likewise.
30949 * util/lvm.c: Include grub/util/lvm.h.
30950 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30951 grub/cache.h.
30952 * util/raid.c: Include grub/util/raid.h.
30953 (grub_util_getdiskname): Make static.
30954
87a297bf 30955 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30956 grub_hostfs_fini(), as they are called from grub_init_all() and
30957 grub_fini_all() respectively. This fixes an infinite loop in
30958 grub-fstest due to double registration of hostfs.
30959 Reported by Christian Franke <Christian.Franke@t-online.de>
30960
f6ce7629 309612008-04-05 Pavel Roskin <proski@gnu.org>
30962
30963 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30964 all 8 functions. Otherwise, probe function 0 only.
30965
070e49e4 309662008-04-04 Pavel Roskin <proski@gnu.org>
30967
8b088a4c 30968 * commands/lspci.c (grub_lspci_iter): Print the bus number
30969 correctly.
30970
4f657021 30971 * commands/lspci.c (grub_pci_classes): Fix typos.
30972 (grub_lspci_iter): Don't print func twice. Print vendor ID
30973 before device ID, as it's normally done.
30974
070e49e4 30975 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30976 Fix signedness warnings.
30977 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30978 Likewise.
30979 * util/ieee1275/get_disk_name.c: Include config.h so that
30980 _GNU_SOURCE is defined and getline() is declared. Mark an
30981 unused argument as such. Fix a signedness warning.
30982
ba7328dc 309832008-04-02 Pavel Roskin <proski@gnu.org>
30984
26887f22 30985 * genkernsyms.sh.in: Use more robust assignments for CC and
30986 srcdir. Quote srcdir.
30987 * gensymlist.sh.in: Likewise. Assert at the compile time that
30988 the symbol table is not empty.
30989
ba7328dc 30990 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30991 * fs/cpio.c (grub_cpio_read): Likewise.
30992
0f582c6b 309932008-04-01 Pavel Roskin <proski@gnu.org>
30994
4b6e1995 30995 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30996 * disk/host.c (grub_host_open): Likewise.
30997 * disk/loopback.c (grub_loopback_open): Likewise.
30998 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30999 disk->id as in disk/host.c, not a multi-character constant.
31000
828a2768 31001 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
31002 later is obsolete, potentially dangerous and sets a bad example.
31003 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
31004 * util/misc.c (grub_util_get_image_size): Likewise.
31005
2bb4fb47 31006 * disk/loopback.c (options): Improve help for "--partitions".
31007
0f582c6b 31008 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
31009 options to align them with the short options, e.g. "echo -e".
31010
a33224e0 310112008-03-31 Bean <bean123ch@gmail.com>
31012
31013 * video/reader/png.c (grub_png_data): New member is_16bit and
31014 image_data.
31015 (grub_png_decode_image_header): Detect 16 bit png image.
31016 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
31017 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
31018 (grub_video_reader_png): Release memory occupied by image_data.
31019
31020 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
31021 4096 bytes.
31022 (grub_nfs_mount): Skip the test for sector per cluster.
31023
31024 * include/grub/ntfs.h (MAX_SPC): Removed.
31025
86cb4f54 310262008-03-31 Bean <bean123ch@gmail.com>
31027
31028 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
31029 (grub_probe_SOURCES): Add fs/afs.c.
31030 (grub_fstest_SOURCES): Likewise.
31031 (afs_mod_SOURCES): New variable.
31032 (afs_mod_CFLAGS): Likewise.
31033 (afs_mod_LDFLAGS): Likewise.
31034
31035 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
31036 (grub_emu_SOURCES): Likewise.
31037
31038 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31039
31040 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31041
31042 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31043
31044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31045
31046 * fs/afs.c: New file.
31047
17c74c21 310482008-03-30 Pavel Roskin <proski@gnu.org>
31049
4cb68e89 31050 * disk/host.c: Include grub/misc.h to fix a warning.
31051 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
31052 warnings about implicit declarations.
31053
8790bb04 31054 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
31055 variable.
31056 * include/grub/i386/loader.h: Change declaration of
31057 grub_linux_boot() to match what grub_loader_set() expects.
31058 * util/getroot.c (grub_guess_root_device): Return const char* to
31059 fix a warning.
31060 * util/grub-probe.c (probe): Fix a warning about uninitialized
31061 abstraction_name variable.
31062 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
31063 second argument as unused to fix a warning.
31064
9a3f3296 31065 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
31066 missing grub_error() call.
31067
0ecef90d 31068 * util/update-grub_lib.in: Define datarootdir, since Autoconf
31069 2.60 and newer uses it to define datadir.
31070
0bf6d401 31071 * commands/sleep.c: Fix warning about implicit declaration.
31072 * disk/memdisk.c: Likewise.
31073 * loader/aout.c: Likewise.
31074 * loader/i386/bsd_normal.c: Likewise.
31075 * util/grub-probe.c: Likewise.
31076
7cdacf97 31077 * commands/i386/cpuid.c (has_longmode): Make static.
31078 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
31079 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
31080
17c74c21 31081 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
31082 GDT. This is more robust, as %ds can change.
31083 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
31084 calling real_to_prot().
31085 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
31086
80a3e68b 310872008-03-28 Pavel Roskin <proski@gnu.org>
31088
31089 * kern/i386/pc/startup.S: Assert that uncompressed functions
31090 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
31091 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
31092 code, as they push parts of the code (error handlers) beyond
31093 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
31094 code as correctness and size.
31095
77bcd272 310962008-03-28 Pavel Roskin <proski@gnu.org>
31097
31098 * kern/i386/pc/startup.S
31099 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
31100 data block address to the real mode, keep offset minimal. This
31101 works around a bug in AWARD BIOS on old Athlon systems, which
31102 makes CD detection hang.
31103
c5dfd43b 311042008-03-26 Pavel Roskin <proski@gnu.org>
31105
31106 * normal/color.c (grub_parse_color_name_pair): Make `name' a
31107 const.
31108 * include/grub/normal.h: Add grub_parse_color_name_pair()
31109 declaration.
31110
bf962df2 311112008-03-24 Bean <bean123ch@gmail.com>
31112
31113 * disk/i386/pc/biosdisk.c (cd_start): Removed.
31114 (cd_count): Removed.
31115 (cd_drive): New variable.
31116 (grub_biosdisk_get_drive): Don't check for (cdN) device.
31117 (grub_biosdisk_call_hook): Likewise.
31118 (grub_biosdisk_iterate): Change cdrom detection method.
31119 (grub_biosdisk_open): Replace cd_start with cd_drive.
31120 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
31121 detect cdrom device.
31122
31123 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
31124 Removed.
31125 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
31126 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
31127 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
31128 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
31129 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
31130 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
31131 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
31132 (grub_biosdisk_cdrp): New structure.
31133 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
31134
31135 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
31136
31137 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
31138 device.
31139
31140 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
31141 New function.
31142
68e7fc7a 311432008-03-20 Robert Millan <rmh@aybabtu.com>
31144
31145 Remove 2 TiB limit in ata.mod.
31146 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
31147 (grub_ata_dumpinfo): Print sector count with 0x%llx.
31148 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
31149 grub_uint64_t instead of grub_uint32_t.
31150
38ad2cf5 311512008-03-05 Bean <bean123ch@gmail.com>
31152
31153 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
31154 (grub_multiboot): Set boot device.
31155
31156 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
31157
2b89344e 311582008-03-02 Bean <bean123ch@gmail.com>
31159
31160 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
31161 symlink_buffer.
31162
87a95d1f 311632008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
31164
31165 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
31166 texinfo.tex.
31167
31168 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
31169 modified.
31170
31171 * docs/fdl.texi: New file.
f19dbdb7 31172
87a95d1f 31173 * docs/mdate-sh: New file. Copied from gnulib.
31174 * docs/texinfo.tex: Likewise.
31175
31176 * config.guess: Updated from gnulib.
31177 * install-sh: Likewise.
31178
7dc15d8e 311792008-02-28 Robert Millan <rmh@aybabtu.com>
31180
31181 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
31182 (aout_mod_SOURCES): New variable.
31183 (aout_mod_CFLAGS): Likewise.
31184 (aout_mod_LDFLAGS): Likewise.
31185
31186 * conf/i386-ieee1275.rmk: Likewise.
31187
b00ab696 311882008-02-28 Robert Millan <rmh@aybabtu.com>
31189
31190 * util/update-grub.in: Reorganise terminal validity check. Accept
31191 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
31192 Based on suggestion by Franklin PIAT.
31193
79ca2d78 311942008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
31195
31196 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
31197 function.
31198 * util/getroot.c (grub_util_check_block_device): New function that
31199 returns the given argument if it is a block device and returns NULL else.
31200 * util/grub-probe.c (argument_is_device): New variable.
31201 (probe): Promote device_name from a variable to an argument. Receive
31202 device_name from grub_util_check_block_device() if path is NULL and from
31203 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 31204 (options): Introduce new parameter '-d, --device'.
79ca2d78 31205 (main): Add description of the new parameter to the help screen.
31206 Rename path variable to argument. Set argument_is_device if the '-d'
31207 option is given. Pass argument to probe() depending on
31208 argument_is_device.
31209
0d16e571 312102008-02-24 Bean <bean123ch@gmail.com>
31211
31212 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
31213 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
31214 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
31215 (GRUB_ISO9660_VOLDESC_PART): Likewise.
31216 (GRUB_ISO9660_VOLDESC_END): Likewise.
31217 (grub_iso9660_primary_voldesc): New member escape.
31218 (grub_iso9660_data): New member joliet.
31219 (grub_iso9660_convert_string): New function.
31220 (grub_iso9660_mount): Detect joliet extension.
31221 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
31222 (grub_iso9660_iso9660_label): Likewise.
31223
31224 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
31225 (grub_setup_SOURCES): Add fs/udf.c.
31226 (grub_fstest_SOURCES): Likewise.
31227 (udf_mod_SOURCES): New variable.
31228 (udf_mod_CFLAGS): Likewise.
31229 (udf_mod_LDFLAGS): Likewise.
31230
31231 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
31232 (grub_emu_SOURCES): Likewise.
31233
31234 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31235
31236 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31237
31238 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31239
31240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31241
31242 * fs/udf.c: New file.
31243
8a594a17 312442008-02-24 Robert Millan <rmh@aybabtu.com>
31245
31246 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
31247 (normal/lexer.c_DEPENDENCIES): New variables.
31248 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31249 (normal/lexer.c_DEPENDENCIES): Likewise.
31250 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
31251 (normal/lexer.c_DEPENDENCIES): Likewise.
31252 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
31253 (normal/lexer.c_DEPENDENCIES): Likewise.
31254 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31255 (normal/lexer.c_DEPENDENCIES): Likewise.
31256 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31257 (normal/lexer.c_DEPENDENCIES): Likewise.
31258
2dc33c03 312592008-02-23 Robert Millan <rmh@aybabtu.com>
31260
31261 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
31262 since they were intended to be in hex. This didn't break previously
31263 because of a bug in gpt_partition_map_iterate() (see below).
31264
31265 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
31266 when checking the validity of GPT header.
31267 Remove `partno', since it always provides the same information as `i'.
31268
f6f4cfb0 312692008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
31270
31271 * include/grub/efi/time.h: Fix a wrong comment.
31272
79ff665f 312732008-02-19 Pavel Roskin <proski@gnu.org>
31274
31275 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
31276 message.
31277
d38e24c2 312782008-02-19 Bean <bean123ch@gmail.com>
31279
31280 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
31281 (aout_mod_SOURCES): New variable.
31282 (aout_mod_CFLAGS): Likewise.
31283 (aout_mod_LDFLAGS): Likewise.
31284 (_bsd_mod_SOURCES): New variable.
31285 (_bsd_mod_CFLAGS): Likewise.
31286 (_bsd_mod_LDFLAGS): Likewise.
31287 (bsd_mod_SOURCES): New variable.
31288 (bsd_mod_CFLAGS): Likewise.
31289 (bsd_mod_LDFLAGS): Likewise.
31290
31291 * include/grub/aout.h: New file.
31292
31293 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
31294
31295 * include/grub/i386/bsd.h: New file.
31296
31297 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
31298 to make it public.
31299
31300 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
31301 function is called, so that it's possible to change it inside the hook.
31302 (grub_elf64_load): Likewise.
31303 (grub_elf_file): Don't close the file if elf header is not found.
31304 (grub_elf_close): Close the file if grub_elf_file fails (The new
31305 grub_elf_file won't close it).
31306 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
31307 (grub_elf64_size): Likewise.
31308
31309 * kern/i386/loader.S (grub_unix_real_boot): New function.
31310
31311 * loader/aout.c: New file.
31312
31313 * loader/i386/bsd.c: New file.
31314
31315 * loader/i386/bsd_normal.c: New file.
31316
31317 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
31318
31319 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 31320 can test other formats.
d38e24c2 31321
b93bdb0f 313222008-02-19 Robert Millan <rmh@aybabtu.com>
31323
31324 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
31325 (grub_gpt_partition_type_empty): Redefine with macro from
31326 `<grub/gpt_partition.h>'.
31327 (gpt_partition_map_iterate): Adjust partition type comparison.
31328
31329 Export `entry' as partmap-specific `part.data' struct.
31330 (grub_gpt_header, grub_gpt_partentry): Move from here ...
31331
31332 * include/grub/gpt_partition.h (grub_gpt_header)
31333 (grub_gpt_partentry): ... to here (new file).
31334
31335 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
31336
31337 (grub_gpt_partition_type_bios_boot): New const variable, defined
31338 with macro from `<grub/gpt_partition.h>'.
31339
31340 (setup): Replace `first_start' with `embed_region', which keeps
31341 track of the embed region (and is partmap-agnostic).
31342
31343 Replace find_first_partition_start() with find_usable_region(),
31344 which finds a usable region for embedding using partmap-specific
31345 knowledge (supports PC/MSDOS and GPT).
31346
31347 Fix all assumptions that the embed region start at sector 1, using
31348 `embed_region.start' from now on. Similarly, use `embed_region.end'
31349 rather than `first_start' to calculate available size.
31350
31351 In grub_util_info() message, replace "into after the MBR" with an
31352 indication of the specific sector our embed region starts at.
31353
66cb40f6 313542008-02-19 Robert Millan <rmh@aybabtu.com>
31355
31356 * DISTLIST: Replace `commands/ieee1275/halt.c' and
31357 `commands/ieee1275/reboot.c' with `commands/halt.c' and
31358 `commands/reboot.c'.
31359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31360 (halt_mod_SOURCES): Likewise.
31361 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31362 (halt_mod_SOURCES): Likewise.
31363
b7202015 313642008-02-17 Christian Franke <franke@computer.org>
31365
31366 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
31367
32b0fc49 313682008-02-17 Robert Millan <rmh@aybabtu.com>
31369
31370 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31371 set `first_start' to 0 for non-PC/MSDOS partition maps.
31372
aca63502 313732008-02-16 Robert Millan <rmh@aybabtu.com>
31374
31375 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31376 do not assume partition map is PC/MSDOS before performing checks that
31377 are specific to that layout.
31378
0de8be86 313792008-02-13 Robert Millan <rmh@aybabtu.com>
31380
31381 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
31382 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
31383 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
31384
c3db8364 313852008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
31386
31387 * configure.ac: Only a cosmetic change on the handling of
31388 -fno-stack-protector.
31389
f714229e 313902008-02-12 Alexandre Boeglin <alex@boeglin.org>
31391
c3db8364 31392 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
31393 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
31394 reboot.c.
f714229e 31395 (grub_install_SOURCES): Add halt.mod and reboot.mod.
31396 (halt_mod_SOURCES): New variable.
31397 (halt_mod_CFLAGS): Likewise.
31398 (halt_mod_LDFLAGS): Likewise.
31399 (reboot_mod_SOURCES): Likewise.
31400 (reboot_mod_CFLAGS): Likewise.
31401 (reboot_mod_LDFLAGS): Likewise.
31402
c3db8364 31403 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
31404 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
31405 reboot.c.
f714229e 31406 (halt_mod_SOURCES): Likewise.
31407 (reboot_mod_SOURCES): Likewise.
31408
c3db8364 31409 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
31410 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 31411 (reboot_mod_SOURCES): Likewise.
31412
31413 * commands/i386/pc/reboot.c: merge this file ...
31414
31415 * commands/ieee1275/reboot.c: ... and this file ...
31416
31417 * commands/reboot.c: ... to this file.
c3db8364 31418 Add some precompiler directive to include the correct header for
31419 each machine.
f714229e 31420
31421 * commands/ieee1275/halt.c: move this file ...
31422
31423 * commands/halt.c: ... to here.
c3db8364 31424 Add some precompiler directive to include the correct header for
31425 each machine.
f714229e 31426
31427 * include/grub/efi/efi.h (grub_reboot): New function declaration.
31428 (grub_halt): Likewise.
31429
31430 * kern/efi/efi.c (grub_reboot): New function.
31431 (grub_halt): Likewise.
31432
c74493e0 314332008-02-12 Robert Millan <rmh@aybabtu.com>
31434
31435 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
31436 /dev (like it is done for /dev/mapper). This doesn't provide support
31437 for EVMS, but at least it is now easy to identify the problem when it
31438 arises.
31439
d0db4b04 314402008-02-11 Robert Millan <rmh@aybabtu.com>
31441
31442 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
31443 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
31444 comparing it with -1, not 0.
31445
bf748642 314462008-02-10 Robert Millan <rmh@aybabtu.com>
31447
31448 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
31449 `disk/lvm.c'.
31450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31451 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31452
31453 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
31454 `disk/lvm.c' to the end of the list.
31455 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31456 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31457
b5db202a 314582008-02-10 Robert Millan <rmh@aybabtu.com>
31459
31460 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
31461 grub_print_error() instead. This will let user know why we're entering
31462 rescue mode.
31463 Based on suggestions from Sam Morris.
31464
83abee31 314652008-02-10 Alexandre Boeglin <alex@boeglin.org>
31466
31467 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
31468 on remaining N args, instead of "--" arg N times.
31469
78d5a08b 314702008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
31471
31472 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
31473 (fill_with_default_glyph): Changed to use unknown_glyph for fill
31474 pattern for unknown glyphs.
31475
68807e5f 314762008-02-09 Robert Millan <rmh@aybabtu.com>
31477
31478 * configure.ac: Probe for `help2man'.
31479 * Makefile.in (builddir): New variable.
31480 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
31481 or otherwise add a few flags/options to it.
31482 (install-local): For every executable utility or script that is
31483 installed, invoke $(HELP2MAN) to install a manpage based on --help
31484 output.
31485
31486 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31487 that it doesn't prevent --help from working in build tree.
31488
31489 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31490 with `bug-grub@gnu.org'.
31491 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31492 * util/update-grub.in (usage): New function.
31493 Implement proper argument check, with support for --help and --version
31494 (as well as existing -y).
31495
314962008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 31497
31498 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31499 avoid overwriting previous output.
31500 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31501
c1962162 315022008-02-09 Robert Millan <rmh@aybabtu.com>
31503
31504 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31505 drawing the menu.
31506
3dac2e3f 315072008-02-09 Robert Millan <rmh@aybabtu.com>
31508
31509 * commands/sleep.c: New file.
31510 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31511 (sleep_mod_SOURCES): New variable.
31512 (sleep_mod_CFLAGS): Likewise.
31513 (sleep_mod_LDFLAGS): Likewise.
31514
7a634e08 315152008-02-09 Robert Millan <rmh@aybabtu.com>
31516
31517 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31518 situations in which we can deduce the RAID size and the superblock
31519 doesn't match it.
31520
b92f0c18 315212008-02-09 Robert Millan <rmh@aybabtu.com>
31522
31523 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31524 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31525 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31526
31527 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31528 and return a grub_diskmemberlist_t composed of physical array members.
31529 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31530
31531 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31532 prototype.
31533 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31534 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31535 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31536
31537 * util/grub-probe.c (probe): Move partmap probing code from here ...
31538 (probe_partmap): ... to here.
31539 (probe): Use probe_partmap() once for the disk we're probing, and
31540 additionally, when such disk contains a memberlist() struct member,
31541 once for each disk that is contained in the structure returned by
31542 memberlist().
31543
91a4bf68 315442008-02-09 Robert Millan <rmh@aybabtu.com>
31545
31546 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31547 environment variable to 'all' in order to obtain debug output from
31548 non-util/ code.
31549 * util/i386/pc/grub-setup.c (main): Likewise.
31550
a96f9caa 315512008-02-08 Robert Millan <rmh@aybabtu.com>
31552
31553 * disk/raid.c (grub_raid_scan_device): Check for
31554 `array->device[sb.this_disk.number]' rather than for
31555 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 31556 guaranteed to be accessible.
a96f9caa 31557
b37a9222 315582008-02-08 Robert Millan <rmh@aybabtu.com>
31559
31560 * disk/raid.c: Update copyright.
31561 * fs/cpio.c: Likewise.
31562 * include/grub/raid.h: Likewise.
31563 * loader/i386/pc/multiboot.c: Likewise.
31564 * util/hostfs.c: Likewise.
31565
5626aee1 315662008-02-08 Robert Millan <rmh@aybabtu.com>
31567
31568 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31569 to a grub_disk_t array.
31570 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31571 `device[x]'.
31572 (grub_raid_scan_device): Replace `device[x].name' accesses with
31573 `device[x]->name'. Simplify initialization of `array->device[x]'.
31574
554f0187 315752008-02-08 Robert Millan <rmh@aybabtu.com>
31576
31577 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31578 grub_dprintf() calls.
31579 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31580 error message.
31581
1ec8425d 315822008-02-07 Christian Franke <franke@computer.org>
31583
31584 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31585 instead of fseek and ftell to support large files.
31586 (grub_hostfs_read): Likewise.
31587
f2156fda 315882008-02-07 Robert Millan <rmh@aybabtu.com>
31589
31590 Patch from Jeroen Dekkers.
31591 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 31592 failure, since successfully reading all array members might not be
f2156fda 31593 required.
31594
9216e0e7 315952008-02-06 Robert Millan <rmh@aybabtu.com>
31596
31597 * util/grub-probe.c (probe): Simplify partmap probing (with the
31598 assumption that the first word up to the underscore equals to
31599 the module name).
31600
b0dfd29a 316012008-02-06 Christian Franke <franke@computer.org>
31602
31603 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31604 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31605 last block of a cpio or tar stream.
31606 Check for "TRAILER!!!" instead of any empty data
31607 block to detect last block of a cpio stream.
31608 (grub_cpio_dir): Fix constness of variable np.
31609 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31610 cpio or tar trailer is detected. This fixes a crash
31611 on open of a non existing file.
31612
c32865bf 316132008-02-05 Bean <bean123ch@gmail.com>
31614
31615 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31616 address of entry.
31617 (grub_multiboot_load_elf64): Likewise.
31618 (grub_multiboot): Initialize mbi structure.
31619
31620 * util/grub-fstest.c: Don't include unused header file script.h.
31621
fe6b695a 31622 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 31623 of file.
31624 (grub_fstest_SOURCES): Likewise.
31625
409480b7 316262008-02-05 Robert Millan <rmh@aybabtu.com>
31627
31628 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31629 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31630 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31631 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31632
31633 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31634 (translation_table): Replace hardcoded values with macros
31635 provided by `<grub/term.h>'.
31636
31637 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31638 (keyboard_map): Correct/add a few values, with macros provided
31639 by `<grub/term.h>'.
31640 (keyboard_map_shift): Zero values that don't differ from their
31641 `keyboard_map' equivalents.
31642 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31643 Discard the second scan code that is always sent by Caps lock.
31644 Only use `keyboard_map_shift' when it provides a non-zero value,
31645 otherwise fallback to `keyboard_map'.
31646
99fadbaa 316472008-02-04 Bean <bean123ch@gmail.com>
31648
31649 * Makefile.in (enable_grub_fstest): New variable.
31650
31651 * conf/common.rmk (grub_fstest_init.lst): New rule.
31652 (grub_fstest_init.h): Likewise.
31653 (grub_fstest_init.c): Likewise.
31654 (util/grub-fstest.c_DEPENDENCIES): New variable.
31655 (grub_fstest_SOURCES): Likewise.
31656
31657 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31658
31659 * util/grub-fstest.c: New file.
31660
bf567c50 316612008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31662
31663 Make grub-setup handle a separate root device.
f19dbdb7 31664
bf567c50 31665 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31666 so that the root device can be compared with the destination
31667 device.
31668 When embedding the core image, if the root and destination devices
31669 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31670 0xFF.
31671 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 31672
9be6b98b 316732008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31674
31675 Add support for having a grub directory in a different drive. This
31676 is still only the data handling part.
f19dbdb7 31677
9be6b98b 31678 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31679 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31680 (grub_root_drive): New variable.
31681
31682 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31683 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31684 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31685 as it was.
31686
31687 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31688
31689 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31690 macro.
31691 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31692
31693 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31694 is bogus, because PXE booting does not specify any drive
31695 correctly.
31696
31697 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31698 am not sure if this is really correct.
31699
31700 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31701 is always identical to the boot drive when booting from a CD.
31702
31703 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31704 longer.
31705 (root_drive): New variable.
31706 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31707 (setup_sectors): Push %dx right after popping it, because %dh will
31708 be modified later.
31709 (copy_buffer): Restore %dx.
31710
e0ca0677 317112008-02-03 Robert Millan <rmh@aybabtu.com>
31712
31713 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31714 use `cdboot.img' for cdrom images.
31715
3b3f6629 317162008-02-03 Robert Millan <rmh@aybabtu.com>
31717
31718 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31719 only setup gfxterm when `font' command has succeeded.
31720
d42b3672 317212008-02-03 Robert Millan <rmh@aybabtu.com>
31722
31723 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31724 (grub_rescue_cmd_multiboot_loader)
31725 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31726
fa370ea6 317272008-02-03 Pavel Roskin <proski@gnu.org>
31728
e0c5dacb 31729 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 31730 %edx and %esi from stack only after grub_gate_a20() is called.
31731 grub_gate_a20() clobbers %edx.
31732
f2a76e1d 317332008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31734
31735 * configure.ac (AC_INIT): Bumped to 1.96.
31736
31737 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31738 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31739 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31740 video/readers/png.c.
31741
90fd32d1 317422008-02-03 Bean <bean123ch@gmail.com>
9be665dd 31743
31744 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31745 (cdboot_img_SOURCES): New variable.
31746 (cdboot_img_ASFLAGS): New variable.
31747 (cdboot_img_LDFLAGS): New variable.
31748
31749 * boot/i386/pc/cdboot.S: New file.
31750
31751 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31752 (cd_count): Likewise.
31753 (grub_biosdisk_get_drive): Add support for cd device.
31754 (grub_biosdisk_call_hook): Likewise.
31755 (grub_biosdisk_iterate): Likewise.
31756 (grub_biosdisk_open): Likewise.
31757 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31758 (grub_biosdisk_rw): Support reading from cd device.
31759 (GRUB_MOD_INIT): Iterate cd devices.
31760
31761 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31762 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31763 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31764
31765 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31766
4020aa53 317672008-02-02 Robert Millan <rmh@aybabtu.com>
31768
31769 * commands/read.c: New file.
31770 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31771 (read_mod_SOURCES): New variable.
31772 (read_mod_CFLAGS): Likewise.
31773 (read_mod_LDFLAGS): Likewise.
31774
e03a1132 317752008-02-02 Robert Millan <rmh@aybabtu.com>
31776
31777 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31778 determining whether menu has to be displayed.
31779
58c69220 317802008-02-02 Marco Gerards <marco@gnu.org>
31781
31782 * bus/pci.c: New file.
31783
31784 * include/grub/pci.h: Likewise.
31785
31786 * include/grub/i386/pc/pci.h: Likewise.
31787
31788 * commands/lspci.c: Likewise.
31789
31790 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31791 `lspci.mod'.
31792 (pci_mod_SOURCES): New variable.
31793 (pci_mod_CFLAGS): Likewise.
31794 (pci_mod_LDFLAGS): Likewise.
31795 (lspci_mod_SOURCES): Likewise.
31796 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 31797 (lspci_mod_LDFLAGS): Likewise.
58c69220 31798
c004e1b4 317992008-02-02 Bean <bean123ch@gmail.com>
31800
31801 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31802 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31803
31804 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31805 (grub_xfs_btree_node): New structure.
31806 (grub_xfs_btree_root): New structure.
31807 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31808 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31809 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31810 (GRUB_XFS_EXTENT_SIZE): Likewise.
31811 (grub_xfs_read_block): Support btree format type.
31812 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31813 Use directory block as basic unit.
31814
31815 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31816
31817 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31818 __attribute__ ((__regparm__ (1))).
31819
f95562bf 318202008-02-01 Robert Millan <rmh@aybabtu.com>
31821
31822 Correct a mistake in previous commit.
31823
31824 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31825 top.
31826 (normal/command.c_DEPENDENCIES): New variable.
31827
7d31f41f 318282008-02-01 Robert Millan <rmh@aybabtu.com>
31829
31830 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31831 top.
31832 (normal/command.c_DEPENDENCIES): New variable.
31833 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31834 * conf/i386-ieee1275.rmk: Likewise.
31835 * conf/i386-linuxbios.rmk: Likewise.
31836 * conf/i386-pc.rmk: Likewise.
31837 * conf/sparc64-ieee1275.rmk: Likewise.
31838 * conf/powerpc-ieee1275.rmk: Likewise.
31839 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31840
31841 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31842
60b6be74 318432008-02-01 Robert Millan <rmh@aybabtu.com>
31844
31845 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31846 call at beginning of function.
31847
078522ab 318482008-01-31 Pavel Roskin <proski@gnu.org>
31849
31850 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 31851 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31852 (grub_mkrescue_SOURCES): Likewise.
078522ab 31853 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31854
ccaa8a5f 318552008-01-30 Robert Millan <rmh@aybabtu.com>
31856
31857 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31858 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31859 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31860 (grub_probe_SOURCES): ... to here.
31861
31862 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31863 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31864 * conf/i386-ieee1275.rmk: Likewise.
31865 * conf/i386-linuxbios.rmk: Likewise.
31866 * conf/powerpc-ieee1275.rmk: Likewise.
31867
ae5a9cd7 318682008-01-30 Tristan Gingold <gingold@free.fr>
31869
31870 * kern/rescue.c: Silently accept empty lines.
31871
70bc2ef2 318722008-01-29 Bean <bean123ch@gmail.com>
31873
31874 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31875 (real_code_2): Code cleanup and change comment style.
31876 (move_memory): Avoid using 32-bit address mode.
31877
6a4d50ea 318782008-01-29 Bean <bean123ch@gmail.com>
31879
31880 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31881 (png_mod_SOURCES): New variable.
31882 (png_mod_CFLAGS): Likewise.
31883 (png_mod_LDFLAGS): Likewise.
31884
31885 * video/readers/png.c: New file.
31886
11cc30ac 318872008-01-28 Robert Millan <rmh@aybabtu.com>
31888
31889 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31890 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31891 `ifndef GRUB_MOD_GAP' hack.
31892 * util/elf/grub-mkimage.c (add_segments): Likewise.
31893
3abc589f 318942008-01-27 Robert Millan <rmh@aybabtu.com>
31895
31896 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31897 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 31898 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 31899
e1907778 319002008-01-27 Robert Millan <rmh@aybabtu.com>
31901
31902 Get grub-emu to build again (including parallel builds).
31903
31904 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31905 Split into ...
31906 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31907 (normal/execute.c_DEPENDENCIES): ... this, ...
31908 (grub-emu_DEPENDENCIES): ... and this.
31909
31910 * conf/i386-efi.rmk: Likewise.
31911 * conf/i386-linuxbios.rmk: Likewise.
31912 * conf/i386-ieee1275.rmk: Likewise.
31913 * conf/powerpc-ieee1275.rmk: Likewise.
31914 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31915
2216b101 319162008-01-27 Robert Millan <rmh@aybabtu.com>
31917
31918 * NEWS: Add a few items.
31919
f75172d9 319202008-01-27 Robert Millan <rmh@aybabtu.com>
31921
31922 Fix parallel builds with grub-emu. Based on earlier commit for
31923 grub-probe and grub-setup.
31924
31925 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31926 (util/grub-emu.c_DEPENDENCIES): ... this.
31927 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31928 (util/grub-emu.c_DEPENDENCIES): ... this.
31929 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31930 (util/grub-emu.c_DEPENDENCIES): ... this.
31931 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31932 (util/grub-emu.c_DEPENDENCIES): ... this.
31933 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31934 (util/grub-emu.c_DEPENDENCIES): ... this.
31935
3f51de77 319362008-01-27 Pavel Roskin <proski@gnu.org>
31937
31938 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31939 to create a gap between _end and the modules added to the image
31940 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31941 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31942 * util/elf/grub-mkimage.c (add_segments): Likewise.
31943
2033f53e 319442008-01-26 Pavel Roskin <proski@gnu.org>
31945
31946 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31947 just return an error.
31948
22da1f6f 319492008-01-26 Bean <bean123ch@gmail.com>
31950
31951 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31952 (grub_reiserfs_get_item): Save offset of the next item.
31953 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31954
2a9525e6 319552008-01-25 Robert Millan <rmh@aybabtu.com>
31956
31957 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31958 make all filesystem sources appear together (possibly fixing omissions
31959 while at it).
31960 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31961 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31962 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31964
31965 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31966 add `kern/file.c'.
31967 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31968 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31969 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31970 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31971
31972 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31973 (probe): Add a sanity check to make sure of our ability to read
31974 requested files when probing for filesystem type.
31975
31976 * genmk.rb: Update copyright year (2007).
31977
31978 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31979 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31980 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31981 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31982 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31983 : Remove function prototypes.
31984
b95f71b5 319852008-01-25 Robert Millan <rmh@aybabtu.com>
31986
31987 Revert my previous commits (based on wrong assumption of how grub_errno
31988 works).
31989
fe6b695a 31990 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 31991 * kern/file.c (grub_file_open): Likewise.
31992
d08bbb49 319932008-01-24 Pavel Roskin <proski@gnu.org>
31994
31995 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31996 that hang if GRUB tries to setup colors.
31997 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31998 colors for firmwares that don't support it.
31999 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
32000 Recognize Open Hack'Ware, set flags to work around its
32001 limitations.
32002
605e36ed 320032008-01-24 Robert Millan <rmh@aybabtu.com>
32004
32005 * kern/file.c (grub_file_open): Do not account previous failures of
32006 unrelated functions when grub_errno is checked for.
32007 Reported by Oleg Strikov.
32008
bac332a1 320092008-01-24 Bean <bean123ch@gmail.com>
32010
32011 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
32012 (grub_ufs_sblock): New member volume name.
32013 (grub_ufs_find_file): Fix string copy bug.
32014 (grub_ufs_label): Implement this function properly.
32015
32016 * fs/hfs.c (grub_hfs_cnid_type): New enum.
32017 (grub_hfs_iterate_records): Use the correct file number for extents
32018 and catalog file. Fix problem in next index calculation.
32019 (grub_hfs_find_node): Replace recursive function call with loop.
32020 (grub_hfs_iterate_dir): Replace recursive function call with loop.
32021
15c80c09 320222008-01-23 Robert Millan <rmh@aybabtu.com>
32023
32024 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
32025 `<grub/symbol.h>' and `<grub/multiboot.h>'.
32026 (grub_multiboot2_real_boot): New function prototype.
32027
32028 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
32029 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
32030
32031 * kern/i386/ieee1275/init.c (grub_os_area_addr)
32032 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
32033
305338fd 320342008-01-23 Robert Millan <rmh@aybabtu.com>
32035
32036 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
32037 #ifdef'ed out grub_printf().
32038
3ea52685 320392008-01-23 Robert Millan <rmh@aybabtu.com>
32040
32041 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
32042 grub_dprintf calls, since they make "debug=all" mode unusable.
32043 (grub_console_checkkey): Likewise.
32044
5882ae4b 320452008-01-23 Robert Millan <rmh@aybabtu.com>
32046
32047 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32048 `term/i386/pc/at_keyboard.c'.
32049 (pkglib_MODULES): Add `serial.mod'.
32050 (serial_mod_SOURCES): New variable.
32051 (serial_mod_CFLAGS): Likewise.
32052 (serial_mod_LDFLAGS): Likewise.
32053
32054 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
32055 `<grub/powerpc/ieee1275/console.h>'.
32056 (grub_keyboard_controller_init): New function prototype.
32057 (grub_console_checkkey): Likewise.
32058 (grub_console_getkey): Likewise.
32059
32060 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
32061 keyboard on i386.
32062
32063 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
32064 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
32065
06ab5303 320662008-01-23 Robert Millan <rmh@aybabtu.com>
32067
32068 * kern/i386/pc/init.c (make_install_device): When memdisk image is
32069 present, "(memdisk)/boot/grub" becomes the default prefix.
32070
32071 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
32072 a memdisk tarball with all the modules. Add --overlay=DIR option that
32073 allows users to overlay additional files into the image.
32074
dbb475a4 320752008-01-23 Robert Millan <rmh@aybabtu.com>
32076
32077 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
32078 and `machine/memory.h'.
32079 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
32080 (_multiboot_mod_SOURCES): New variable.
32081 (_multiboot_mod_CFLAGS): Likewise.
32082 (_multiboot_mod_LDFLAGS): Likewise.
32083 (multiboot_mod_SOURCES): Likewise.
32084 (multiboot_mod_CFLAGS): Likewise.
32085 (multiboot_mod_LDFLAGS): Likewise.
32086
32087 * include/grub/i386/ieee1275/loader.h: New file.
32088
32089 * include/grub/i386/ieee1275/machine.h: Likewise.
32090
32091 * include/grub/i386/ieee1275/memory.h: Likewise.
32092
32093 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
32094 variable declaration.
32095 (grub_os_area_size): Likewise.
32096
32097 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
32098 (grub_lower_mem, grub_upper_mem): New variables.
32099 (grub_stop_floppy): New function (just to make
32100 grub_multiboot2_real_boot() happy).
32101
32102 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
32103 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
32104 (grub_stop): New function.
32105 Include `"../realmode.S"' and `"../loader.S"'.
32106
32107 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
32108 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
32109
32110 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
32111 rely on grub_multiboot2_real_boot() for final boot.
32112
25638629 321132008-01-22 Robert Millan <rmh@aybabtu.com>
32114
32115 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
32116 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
32117 device that doesn't look like an SD card.
32118 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32119 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
32120 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
32121 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
32122 found.
32123
9dad816d 321242008-01-22 Robert Millan <rmh@aybabtu.com>
32125
32126 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
32127 avoid claiming over our own code.
32128
34842f2d 321292008-01-22 Bean <bean123ch@gmail.com>
32130
32131 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
32132 (jpeg_mod_SOURCES): New variable.
32133 (jpeg_mod_CFLAGS): Likewise.
32134 (jpeg_mod_LDFLAGS): Likewise.
32135
32136 * video/readers/jpeg.c : New file.
32137
44023a28 321382008-01-22 Bean <bean123ch@gmail.com>
32139
32140 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
32141 there are no more items.
32142
bc2d8ac6 321432008-01-21 Robert Millan <rmh@aybabtu.com>
32144
32145 * kern/mm.c (grub_mm_init_region): Improve debug message.
32146
261bd4bc 321472008-01-21 Robert Millan <rmh@aybabtu.com>
32148
32149 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
32150 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
32151 address.
32152 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
32153 a C macro.
32154 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
32155 Indicates start of upper memory.
32156 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
32157 (generate_image): Abort when image size is big enough to corrupt
32158 upper memory.
32159
32160 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
32161 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
32162 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32163 instead of hardcoding 0xA0000.
32164 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
32165 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32166 instead of hardcoding 0xA0000.
32167
f970b55e 321682008-01-21 Robert Millan <rmh@aybabtu.com>
32169
32170 * disk/memdisk.c (memdisk_size): New variable.
32171 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
32172 `memdisk_size'.
32173 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
32174 image to dynamic memory.
32175 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
32176 `memdisk_size'. Free memdisk block.
32177
1a8b0526 321782008-01-21 Robert Millan <rmh@aybabtu.com>
32179
32180 Fix detection of very small filesystems (like tar).
32181
32182 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
32183 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
32184 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
32185 a problem with this disk).
32186
6e9b4aab 321872008-01-21 Robert Millan <rmh@aybabtu.com>
32188
32189 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
32190 on grub_biosdisk_rw_standard() error.
32191
0d8837b2 321922008-01-21 Robert Millan <rmh@aybabtu.com>
32193
32194 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
32195 recent changes.
32196 * kern/elf.c: Likewise.
32197 * kern/ieee1275/ieee1275.c: Likewise.
32198 * kern/powerpc/ieee1275/openfw.c: Likewise.
32199 * term/ieee1275/ofconsole.c: Likewise.
32200
ffd36e34 322012008-01-21 Robert Millan <rmh@aybabtu.com>
32202
32203 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
32204
3f0093d0 32205 * include/grub/kernel.h (grub_arch_memdisk_addr)
32206 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 32207
3f0093d0 32208 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
32209 (grub_arch_memdisk_size): ... to here.
ffd36e34 32210
6c391b21 322112008-01-21 Robert Millan <rmh@aybabtu.com>
32212
32213 Mostly based on bugfix from Bean.
32214
32215 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
32216 attribute with hook() parameter.
32217 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
32218 declaration.
32219 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
32220 attribute with hook() parameter.
32221 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
32222 declaration.
32223
55a581dc 322242008-01-21 Robert Millan <rmh@aybabtu.com>
32225
32226 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
32227 (pkglib_MODULES): Add `memdisk.mod'.
32228 (memdisk_mod_SOURCES): New variable.
32229 (memdisk_mod_CFLAGS): Likewise.
32230 (memdisk_mod_LDFLAGS): Likewise.
32231
32232 * disk/memdisk.c: New file.
32233
32234 * include/grub/disk.h (grub_disk_dev_id): Add
32235 `GRUB_DISK_DEVICE_MEMDISK_ID'.
32236
32237 * include/grub/i386/pc/kernel.h
32238 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
32239 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
32240 (grub_kernel_image_size): New variable declaration.
32241 (grub_total_module_size): Likewise.
32242 (grub_memdisk_image_size): Likewise.
32243
32244 * include/grub/i386/pc/memory.h
32245 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
32246
32247 * include/grub/kernel.h: Include `<grub/symbol.h>'.
32248 (grub_arch_memdisk_addr): New variable declaration.
32249 (grub_arch_memdisk_size): Likewise.
32250
32251 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
32252 (grub_arch_memdisk_size): Likewise.
32253
32254 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
32255 (codestart): Replace hardcoded `0x100000' with
32256 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
32257
32258 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
32259 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
32260 not NULL, append the contents of the file it refers to, at the end of
32261 the compressed kernel image. Initialize `grub_memdisk_image_size'
32262 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
32263 (options): Add "memdisk"|'m' option.
32264 (main): Parse --memdisk|-m option, and pass user-provided path as
32265 parameter to generate_image().
32266
3d7f54c9 322672008-01-20 Robert Millan <rmh@aybabtu.com>
32268
32269 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
32270 grub_dprintf() calls from here ...
32271 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
32272
0bf74728 322732008-01-20 Robert Millan <rmh@aybabtu.com>
32274
32275 Fix detection of "real mode" when /options/real-mode? doesn't exist.
32276
32277 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
32278 declaration.
32279 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
32280 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
32281 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 32282 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 32283 property).
32284 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
32285 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
32286
33bf70a7 322872008-01-19 Robert Millan <rmh@aybabtu.com>
32288
fe6b695a 32289 Get rid of confusing function (superseded by
33bf70a7 32290 `grub_ieee1275_get_integer_property')
32291 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
32292 prototype.
32293 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
32294 function.
32295 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
32296 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 32297 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 32298
e2da7d26 322992008-01-19 Robert Millan <rmh@aybabtu.com>
32300
32301 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
32302 command after "shut-down", since implementations differ on which
32303 the command for halt is.
32304
59f1fd8d 323052008-01-19 Robert Millan <rmh@aybabtu.com>
32306
32307 * include/grub/i386/linuxbios/console.h: Add header protection.
32308 (grub_keyboard_controller_init): New function prototype.
32309 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
32310 (KEYBOARD_COMMAND_READ): Likewise.
32311 (KEYBOARD_COMMAND_WRITE): Likewise.
32312 (KEYBOARD_SCANCODE_SET1): Likewise.
32313 (grub_keyboard_controller_write): New function.
32314 (grub_keyboard_controller_read): Likewise.
32315 (grub_keyboard_controller_init): Likewise.
32316
32317 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
32318 (grub_console_init): On coreboot/LinuxBIOS, call
32319 grub_keyboard_controller_init().
32320
5f5a7c15 323212008-01-19 Robert Millan <rmh@aybabtu.com>
32322
32323 PowerPC changes provided by Pavel Roskin.
32324
32325 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
32326 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
32327 don't rely on cmain() doing it.
32328 * kern/i386/ieee1275/startup.S (_start): Store %eax in
32329 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
32330
1210e168 323312008-01-16 Robert Millan <rmh@aybabtu.com>
32332
32333 * include/grub/i386/linuxbios/memory.h
32334 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
32335 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
32336 receive `table_header' as argument. Instead, probe for it in the
32337 known memory ranges where it can be present.
32338 (grub_available_iterate): Do not pass a fixed `table_header' address
32339 to grub_linuxbios_table_iterate().
32340
3d04eab8 323412008-01-15 Robert Millan <rmh@aybabtu.com>
32342
32343 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
32344 * conf/i386-ieee1275.rmk: New file.
32345 * include/grub/i386/ieee1275/console.h: Likewise.
32346 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
32347 * include/grub/i386/ieee1275/kernel.h: Likewise.
32348 * include/grub/i386/ieee1275/time.h: Likewise.
32349 * kern/i386/ieee1275/init.c: Likewise.
32350 * kern/i386/ieee1275/startup.S: Likewise.
32351
d1bc1b73 323522008-01-15 Robert Millan <rmh@aybabtu.com>
32353
32354 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
32355 when pointers are 32-bit (but still do set it to one when they are
32356 64-bit).
32357
66a65807 323582008-01-15 Robert Millan <rmh@aybabtu.com>
32359
32360 * include/grub/ieee1275/ieee1275.h
32361 (grub_ieee1275_get_integer_property): New function prototype.
32362
32363 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
32364 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 32365 grub_ieee1275_get_property() to handle endianness.
66a65807 32366
32367 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
32368 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 32369 where appropriate.
66a65807 32370 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
32371 (grub_map): Likewise.
32372 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
32373
a83ccafd 323742008-01-15 Bean <bean123ch@gmail.com>
32375
32376 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
32377 (grub_script_execute_cmdline): Reset grub_errno.
32378
32379 * normal/main.c (read_config_file): Reset grub_errno.
32380
32381 * normal/parse.y (script_init): New.
32382 (script): Move function and menuentry here.
32383 (delimiter): New.
32384 (command): Add delimiter at the end of command.
32385 (commands): Adjust to match the new command.
32386 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 32387 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 32388 (if): Use the new commands.
32389
32390 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
32391
df6ecfc6 323922008-01-15 Robert Millan <rmh@aybabtu.com>
32393
32394 * normal/menu.c (run_menu): Move timeout message from here ...
32395 (print_timeout): ... to here.
32396 (run_menu): Use print_timeout() once during initial draw to print
32397 the whole message, and again in every clock tick to update only
32398 the number of seconds.
32399
87ae25eb 324002008-01-15 Robert Millan <rmh@aybabtu.com>
32401
32402 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
32403 actual size of `available' from grub_ieee1275_get_property(), and
32404 restrict parsing to that bound.
32405
47bf09a4 324062008-01-15 Christian Franke <franke@computer.org>
32407
32408 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
32409 (argp_program_version): Remove variable.
32410 (argp_program_bug_address): Likewise.
32411 (options): Convert from struct argp_option to struct option.
32412 (struct arguments): Remove.
32413 (parse_opt): Remove.
32414 (usage): New function.
32415 (main): Replace struct args members by simple variables.
32416 Replace argp_parse() by getopt_long().
32417 Add switch to evaluate options.
32418 Add missing "(...)" around root_dev in prefix string.
32419
c86f1469 324202008-01-14 Robert Millan <rmh@aybabtu.com>
32421
32422 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
32423 for grub_ieee1275_exit(), in order to improve portability.
32424
e622c559 324252008-01-14 Robert Millan <rmh@aybabtu.com>
32426
32427 * util/grub.d/10_linux.in (prefix): Define.
32428 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
32429
44cb1ec8 324302008-01-13 Pavel Roskin <proski@gnu.org>
32431
32432 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
32433 grub_errno if no errors have been detected.
32434
1eb8c802 324352008-01-12 Robert Millan <rmh@aybabtu.com>
32436
32437 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
32438 (grub_util_get_dev_abstraction): New function prototype.
32439
32440 * util/getroot.c: Include `<grub/util/getroot.h>'
32441 (grub_util_get_grub_dev): Move detection of abstraction type to ...
32442 (grub_util_get_dev_abstraction): ... here (new function).
32443
32444 * util/grub-probe.c: Convert PRINT_* to an enum. Add
32445 `PRINT_ABSTRACTION'.
32446 (probe): Probe for abstraction type when requested.
32447 (main): Understand `--target=abstraction'.
32448
32449 * util/i386/efi/grub-install.in: Add abstraction module to core
32450 image when it is found to be necessary.
32451 * util/i386/pc/grub-install.in: Likewise.
32452 * util/powerpc/ieee1275/grub-install.in: Likewise.
32453
32454 * util/update-grub_lib.in (font_path): Return system path without
32455 converting to GRUB path.
32456 * util/update-grub.in: Convert system path returned by font_path()
32457 to a GRUB path. Use `grub-probe -t abstraction' to determine what
32458 abstraction module is needed for loading fonts (if any). Export
32459 that as `GRUB_PRELOAD_MODULES'.
32460 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
32461 insmod commands).
32462
52bd3de9 324632008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
32464
32465 Remove some unused code from reiserfs.
f19dbdb7 32466
52bd3de9 32467 * fs/reiserfs.c (struct grub_reiserfs_key)
32468 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
32469 (struct grub_reiserfs_node_body): Removed.
32470 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32471 Likewise.
32472 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32473 Likewise.
32474 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32475 Likewise.
32476 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32477 Likewise.
32478 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32479 Likewise.
32480 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
32481 Likewise.
32482 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32483 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32484 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32485
2f80039d 324862008-01-10 Robert Millan <rmh@aybabtu.com>
32487
32488 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32489 Determines if a file is garbage left by packaging systems, etc.
32490 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32491 for processing /etc/grub.d scripts.
32492 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32493 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32494 as a condition for processing Linux images.
32495
87888032 324962008-01-10 Pavel Roskin <proski@gnu.org>
32497
32498 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32499 to compile reiserfs.c on PowerPC.
32500
7e54fced 325012008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 32502
32503 * kern/device.c (grub_device_iterate): Do not abort device iteration
32504 when one of the devices cannot be opened.
32505 * kern/disk.c (grub_disk_open): Do not account previous failures of
32506 unrelated functions when grub_errno is checked for.
32507
5aa541e6 325082008-01-08 Robert Millan <rmh@aybabtu.com>
32509
32510 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32511 `! grub_linux_is_bzimage', change order of address comparison to make
32512 it more intuitive, and improve "too big zImage" error message.
32513
7076340d 325142008-01-08 Robert Millan <rmh@aybabtu.com>
32515
32516 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32517 `$(update-grub_DATA)'.
32518 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32519 targets.
32520
9ca70333 325212008-01-07 Robert Millan <rmh@aybabtu.com>
32522
32523 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32524 which instruction is modified by grub-setup during installation
32525 (since it wasn't obvious by only looking at this file).
32526
38ccf575 325272008-01-07 Robert Millan <rmh@aybabtu.com>
32528
32529 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32530 listing actual TODO items.
32531
f5db4291 325322008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32533
868967cf 32534 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32535 correctly.
32536 (grub_reiserfs_get_key_offset): Likewise.
32537 (grub_reiserfs_set_key_offset): Likewise.
32538 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 32539 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 32540
32541 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32542 better to remove the bitfield version completely.
f19dbdb7 32543
868967cf 325442008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32545
f5db4291 32546 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32547 allocated from the heap, due to the fshelp implementation.
32548 (grub_reiserfs_dir): Free NODE, due to the same reason.
32549
492e6d9d 325502008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32551
32552 Mostly from Vincent Pelletier:
f19dbdb7 32553
492e6d9d 32554 * fs/reiserfs.c: New file.
f19dbdb7 32555
492e6d9d 32556 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32557 (reiserfs_mod_SOURCES): New variable.
32558 (reiserfs_mod_CFLAGS): Likewise.
32559 (reiserfs_mod_LDFLAGS): Likewise.
32560
32561 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32562 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32563 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32564 normal/color.c.
32565
9ce3e7c1 325662008-01-06 Robert Millan <rmh@aybabtu.com>
32567
32568 * normal/color.c: Remove `<grub/env.h>'.
32569
f3b58148 325702008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32571
32572 * include/grub/normal.h: Include <grub/env.h>.
32573
7ac3bcfa 325742008-01-05 Robert Millan <rmh@aybabtu.com>
32575
32576 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32577 usage example with `(hd0,1)'.
fb358190 32578 Reported by Samuel Thibault.
7ac3bcfa 32579
c8ee99d7 325802008-01-05 Robert Millan <rmh@aybabtu.com>
32581
32582 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32583 (grub_linux_boot_zimage): Rename to ...
32584 (grub_linux_boot): ... this.
32585 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32586 (grub_linux_boot_zimage): Conditionalize zImage copy.
32587
32588 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32589 (grub_linux_boot_bzimage): Remove prototype.
32590 (grub_linux_boot_zimage): Rename to ...
32591 (grub_linux_boot): ... this.
32592
32593 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32594 (grub_linux_boot): Remove function.
32595
0ece25b1 325962008-01-05 Robert Millan <rmh@aybabtu.com>
32597
32598 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32599 (grub_env_write_color_highlight): Likewise.
32600 (grub_wait_after_message): Likewise.
32601
32602 * normal/color.c: New file.
32603
32604 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32605 (normal_mod_DEPENDENCIES): Likewise.
32606
32607 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32608 (normal_mod_DEPENDENCIES): Likewise.
32609
32610 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32611 (normal_mod_DEPENDENCIES): Likewise.
32612
32613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32614 (normal_mod_DEPENDENCIES): Likewise.
32615
32616 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32617 for waiting after a message is printed.
32618 * normal/main.c (read_config_file): Likewise.
32619 (grub_normal_init): Register grub_env_write_color_normal() and
32620 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32621 `color_highlight' variables as global.
32622
32623 * normal/menu.c (grub_wait_after_message): New function.
32624 (grub_color_menu_normal): New variable. Replaces ...
32625 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32626 (grub_color_menu_highlight): New variable. Replaces ...
32627 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32628 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32629 `GRUB_TERM_COLOR_STANDARD'.
32630 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32631 `normal_code' and `highlight_code' to `old_color_normal' and
32632 `old_color_highlight', respectively.
32633 (grub_menu_init_page): Update colors when drawing the menu, based on
32634 `menu_color_normal' and `menu_color_highlight' variables.
32635 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32636 a message is printed.
32637
182dd4e5 326382008-01-05 Robert Millan <rmh@aybabtu.com>
32639
32640 * kern/env.c (grub_env_context_open): Propagate hooks for global
32641 variables to new context.
32642
32643 * kern/main.c (grub_set_root_dev): Export `root' variable.
32644
ddf8f6ad 326452008-01-05 Robert Millan <rmh@aybabtu.com>
32646
32647 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 32648 discs unconditionally, since udev and others have options to provide
ddf8f6ad 32649 them.
32650
d8b43d9b 326512008-01-05 Robert Millan <rmh@aybabtu.com>
32652
32653 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32654
2bff2de3 326552008-01-04 Christian Franke <franke@computer.org>
32656
32657 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32658 of eisa_mmap.
32659
97eab917 326602008-01-03 Pavel Roskin <proski@gnu.org>
32661
32662 * kern/i386/linuxbios/init.c: Put "void" to all function
32663 declarations with no arguments.
32664 * kern/powerpc/ieee1275/init.c: Likewise.
32665 * term/i386/pc/at_keyboard.c: Likewise.
32666 * term/i386/pc/vga_text.c: Likewise.
32667 * util/grub-mkdevicemap.c: Likewise.
32668
b9416d00 326692008-01-02 Robert Millan <rmh@aybabtu.com>
32670
32671 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32672 message when loaded image is out of bounds.
32673 (grub_multiboot_load_elf64): Likewise.
32674
92695df9 326752008-01-02 Pavel Roskin <proski@gnu.org>
32676
32677 * util/grub.d/10_linux.in: Try version without ".old" when
32678 looking for initrd. It's better to use initrd from the newer
32679 kernel of the same version than no initrd at all.
32680
d98d9cad 326812008-01-01 Robert Millan <rmh@aybabtu.com>
32682
32683 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32684
dbfdce36 326852008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32686
f19dbdb7 32687 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 32688 grub_video_get_active_render_target.
32689 (grub_video_adapter): Added unmap_color and get_active_render_target.
32690
f19dbdb7 32691 * video/video.c: Added grub_video_unmap_color and
dbfdce36 32692 grub_video_get_active_render_target.
32693 (grub_video_get_info): Changed method to accept NULL pointer as an
32694 argument to allow detection of active video adapter.
32695
32696 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32697 grub_video_vbe_unmap_color_int.
32698 Added grub_video_vbe_unmap_color and
32699 grub_video_vbe_get_active_render_target.
32700 (grub_video_vbe_adapter): Added unmap_color and
32701 get_active_render_target.
32702
f19dbdb7 32703 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 32704 with grub_video_vbe_unmap_color_int.
32705
32706 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32707 (DEFAULT_NORMAL_COLOR): Likewise.
32708 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32709 (DEFAULT_FG_COLOR): Removed.
32710 (DEFAULT_BG_COLOR): Likewise.
32711 (DEFAULT_CURSOR_COLOR): Changed value.
32712 (grub_virtual_screen): Added standard_color_setting,
32713 normal_color_setting, highlight_color_setting and term_color.
32714 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32715 (bitmap_width): Added.
32716 (bitmap_height): Likewise.
32717 (bitmap): Likewise.
32718 (set_term_color): Likewise.
32719 (grub_virtual_screen_setup): Changed to use new terminal coloring
32720 settings.
32721 (grub_gfxterm_init): Added init for bitmap.
32722 (grub_gfxterm_fini): Added destroy for bitmap.
32723 (redraw_screen_rect): Updated to use background bitmap and new
32724 terminal coloring.
32725 (scroll_up): Added optimization for case when there is no bitmap.
32726 (grub_gfxterm_cls): Fixed to use correct background color.
32727 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32728 coloring.
32729 (grub_virtual_screen_setcolor): Likewise.
32730 (grub_virtual_screen_getcolor): Added.
32731 (grub_gfxterm_background_image_cmd): Likewise.
32732 (grub_video_term): Added setcolor and getcolor.
32733 (MOD_INIT): Added registration of background_image command.
32734 (MOD_TERM): Added unregistration for background_image command.
32735
c3c20931 327362007-12-30 Pavel Roskin <proski@gnu.org>
32737
32738 * loader/multiboot_loader.c: Fix multiboot command
32739 unregistration. Fix all typos in the word "multiboot".
32740
df266716 327412007-12-29 Pavel Roskin <proski@gnu.org>
94239199 32742
32743 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32744 support for initrd names used in Fedora.
32745
fc6e896c 327462007-12-26 Bean <bean123ch@gmail.com>
32747
32748 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32749 (cpio_mod_SOURCES): New variable.
32750 (cpio_mod_CFLAGS): Likewise.
32751 (cpio_mod_LDFLAGS): Likewise.
32752
32753 * fs/cpio.c: New file.
32754
32755 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32756
32757 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32758
32759 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32760
32761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32762
533110ad 327632007-12-25 Robert Millan <rmh@aybabtu.com>
32764
32765 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32766 (grub_getcolor): New function.
32767
32768 * kern/term.c (grub_getcolor): New function.
32769 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32770 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32771 (print_entry): Set normal and highlight colors to
32772 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32773 respectively, before printing and restore them to old
32774 values afterwards.
32775 (grub_menu_init_page): Likewise. Fill an additional colored space
32776 that would otherwise be left blank.
32777
32778 * term/efi/console.c (grub_console_getcolor): New function.
32779 (struct grub_console_term.getcolor): New variable.
32780 * term/i386/pc/console.c (grub_console_getcolor): New function.
32781 (struct grub_console_term.getcolor): New variable.
32782 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32783 (struct grub_console_term.getcolor): New variable.
32784
32785 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32786 (struct grub_console_term.setcolor): Remove variable.
32787 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32788 (struct grub_console_term.setcolor): Remove variable.
32789 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32790 (struct grub_console_term.setcolor): Remove variable.
32791 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32792 (struct grub_console_term.setcolor): Remove variable.
32793
4931827f 327942007-12-25 Robert Millan <rmh@aybabtu.com>
32795
32796 * configure.ac: Search for possible unifont.hex locations, and
32797 define UNIFONT_HEX if found.
32798
32799 * Makefile.in (UNIFONT_HEX): Define variable.
32800 (DATA): Rename to ...
32801 (PKGLIB): ... this. Update all users.
32802 (PKGDATA): New variable.
32803 (pkgdata_IMAGES): Rename to ...
32804 (pkglib_IMAGES): ... this. Update all users.
32805 (pkgdata_MODULES): Rename to ...
32806 (pkglib_MODULES): ... this. Update all users.
32807 (pkgdata_PROGRAMS): Rename to ...
32808 (pkglib_PROGRAMS): ... this. Update all users.
32809 (pkgdata_DATA): Rename to ...
32810 (pkglib_DATA): ... this. Update all users.
32811 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32812 (unicode.pff, ascii.pff): New rules.
32813 (all-local): Add `$(PKGDATA)' dependency.
32814 (install-local): Process `$(PKGDATA)'.
32815
32816 * util/update-grub_lib.in (font_path): Search for *.pff files in
32817 a few more locations, including `${pkgdata}'.
32818
57e57e31 328192007-12-23 Robert Millan <rmh@aybabtu.com>
32820
32821 Patch from Bean <bean123ch@gmail.com>:
32822 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32823 `size'.
32824
4bc72aa9 328252007-12-21 Bean <bean123ch@gmail.com>
32826
32827 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32828 (ntfscomp_mod_SOURCES): New variable.
32829 (ntfscomp_mod_CFLAGS): Likewise.
32830 (ntfscomp_mod_LDFLAGS): Likewise.
32831
32832 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32833 (grub_probe_SOURCES): Likewise.
32834 (grub_emu_SOURCES): Likewise.
32835
32836 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32837 (grub_emu_SOURCES): Likewise.
32838
32839 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32840 (grub_emu_SOURCES): Likewise.
32841
32842 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32843 (grub_emu_SOURCES): Likewise.
32844
32845 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32846 (read_run_list): Renamed to grub_ntfs_read_run_list.
32847 (decomp_nextvcn): Moved to ntfscomp.c.
32848 (decomp_getch): Likewise.
32849 (decomp_get16): Likewise.
32850 (decomp_block): Likewise.
32851 (read_block): Likewise.
32852 (read_data): Partially moved to ntfscomp.c.
32853 (fixup): Change unsigned to grub_uint16_t.
32854 (read_mft): Change unsigned long to grub_uint32_t.
32855 (read_attr): Likewise.
32856 (read_data): Likewise.
32857 (read_run_data): Likewise.
32858 (read_run_list): Likewise.
32859 (read_mft): Likewise.
32860
32861 * fs/ntfscomp.c: New file.
32862
32863 * include/grub/ntfs.h: New file.
32864
af680a87 328652007-12-16 Robert Millan <rmh@aybabtu.com>
32866
32867 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32868 IDE disk check, since Linux is known to support 20 IDE disks.
32869 Reported by Colin Watson.
32870
84be7599 328712007-12-15 Bean <bean123ch@gmail.com>
32872
32873 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32874 (lnxboot_img_SOURCES): New variable.
32875 (lnxboot_img_ASFLAGS): Likewise.
32876 (lnxboot_img_LDFLAGS): Likewise.
32877
32878 * boot/i386/pc/lnxboot.S: New file.
32879
6af9db01 328802007-11-24 Pavel Roskin <proski@gnu.org>
32881
32882 * configure.ac: Test if '--build-id=none' is supported by the
32883 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32884 objcopy to generate incorrect binary files (binutils
32885 2.17.50.0.18-1 as shipped by Fedora 8).
32886 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32887 linking, so that build ID doesn't break the test.
32888
7361cfe6 328892007-11-24 Pavel Roskin <proski@gnu.org>
32890
32891 * include/grub/i386/time.h: use "void" in the argument list
32892 of grub_cpu_idle().
32893 * include/grub/powerpc/time.h: Likewise.
32894 * include/grub/sparc64/time.h: Likewise.
32895
1593e10c 328962007-11-18 Christian Franke <franke@computer.org>
32897
32898 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32899 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32900 This fixes the problem that function keys did not work in grub-emu.
32901
3b8db1a8 329022007-11-18 Christian Franke <franke@computer.org>
32903
32904 * disk/host.c (grub_host_open): Remove attribute unused from
32905 name parameter. Add check for "host". This fixes the problem
32906 that grub-emu does not find partitions.
32907
2e29408d 329082007-11-18 Christian Franke <franke@computer.org>
32909
32910 * util/hostfs.c (is_dir): New function.
32911 (grub_hostfs_dir): Handle missing dirent.d_type case.
32912 (grub_hostfs_read): Add missing fseek().
32913 (grub_hostfs_label): Clear label pointer. This fixes a crash
32914 of grub-emu on "ls (host)".
32915
398cd047 329162007-11-18 Christian Franke <franke@computer.org>
32917
32918 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32919 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32920 to 64 bit boundary by default.
32921
c405c391 329222007-11-18 Bean <bean123ch@gmail.com>
32923
32924 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32925 (hexdump_mod_SOURCES): New variable.
32926 (hexdump_mod_CFLAGS): Likewise.
32927 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 32928
c405c391 32929 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32930
32931 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32932
32933 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32934
32935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32936
32937 * include/grub/hexdump.h: New file.
32938
32939 * commands/hexdump.c: New file.
32940
5cced7fd 329412007-11-10 Robert Millan <rmh@aybabtu.com>
32942
32943 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32944 in grub_outb() calls.
32945 (beep_on): Likewise.
32946
8b714eb0 329472007-11-10 Christian Franke <franke@computer.org>
32948
32949 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32950 (grub_menu_run): Likewise.
32951
ce0f1839 329522007-11-10 Robert Millan <rmh@aybabtu.com>
32953
32954 * include/grub/i386/efi/machine.h: New file.
32955 * include/grub/i386/linuxbios/machine.h: Likewise.
32956 * include/grub/i386/pc/machine.h: Likewise.
32957 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32958 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32959
32960 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32961 (serial_hw_io_addr): New variable.
32962 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32963 instead of `(unsigned short *) 0x400'.
32964
270c237d 329652007-11-10 Bean <bean123ch@gmail.com>
32966
32967 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32968
a87783bf 329692007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32970
32971 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32972 (vga_mod_SOURCES): Added.
32973 (vga_mod_CFLAGS): Likewise.
32974 (vga_mod_LDFLAGS): Likewise.
32975
32976 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32977 grub_outb() calls.
32978 (set_map_mask): Likewise.
32979 (set_read_map): Likewise.
32980 (set_read_address): Likewise.
32981 (vga_font): Removed variable.
32982 (get_vga_glyph): Removed function.
32983 (invalidate_char): Likewise.
32984 (write_char): Changed to use grub_font_get_glyph() for font
32985 information.
32986 (grub_vga_putchar): Likewise.
32987 (grub_vga_getcharwidth): Likewise.
32988
6433b448 329892007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32990
32991 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32992 flags.
32993 (pxeboot_img_LDFLAGS): Likewise.
32994 (diskboot_img_LDFLAGS): Likewise.
32995 (kernel_img_LDFLAGS): Likewise.
32996
49178511 329972007-11-06 Robert Millan <rmh@aybabtu.com>
32998
32999 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
33000 in grub_outb() calls.
33001 (serial_hw_init): Likewise.
33002
53b052de 330032007-11-05 Robert Millan <rmh@aybabtu.com>
33004
33005 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
33006 spaces. Skip non-regular files.
33007
5ab33bba 330082007-11-05 Robert Millan <rmh@aybabtu.com>
33009
33010 * kern/disk.c (grub_disk_firmware_fini)
33011 (grub_disk_firmware_is_tainted): New variables.
33012
33013 * include/grub/disk.h (grub_disk_firmware_fini)
33014 (grub_disk_firmware_is_tainted): Likewise.
33015
33016 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
33017 (grub_disk_biosdisk_fini): ... to here.
33018 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
33019 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
33020 is set. Register grub_disk_biosdisk_fini() in
33021 `grub_disk_firmware_fini'.
33022
33023 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
33024 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
33025 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
33026 to finish existing firmware disk interface.
33027
33028 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
33029 (ata_mod_SOURCES): New variable.
33030 (ata_mod_CFLAGS): Likewise.
33031 (ata_mod_LDFLAGS): Likewise.
33032
0149ab7c 330332007-11-05 Robert Millan <rmh@aybabtu.com>
33034
33035 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
33036 (grub_ata_wait): Reimplement using grub_millisleep().
33037
33038 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
33039 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
33040
be7ac41e 330412007-11-03 Marco Gerards <marco@gnu.org>
33042
33043 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
33044 (CRTC_ADDR_PORT): New macro.
33045 (CRTC_DATA_PORT): Likewise.
33046 (CRTC_CURSOR): Likewise.
33047 (CRTC_CURSOR_ADDR_HIGH): Likewise.
33048 (CRTC_CURSOR_ADDR_LOW): Likewise.
33049 (update_cursor): New function.
33050 (grub_console_real_putchar): Call `update_cursor'.
33051 (grub_console_gotoxy): Likewise.
33052 (grub_console_cls): Set the default color when clearing the
33053 screen.
33054 (grub_console_setcursor): Implemented.
33055
bb06ab2e 330562007-11-03 Marco Gerards <marco@gnu.org>
33057
33058 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
33059 become activate.
33060 (grub_ata_pio_write): Likewise.
33061
33062 (grub_atapi_identify): Wait after issuing an ATA command.
33063 (grub_atapi_packet): Likewise.
33064 (grub_ata_identify): Likewise.
33065 (grub_ata_readwrite): Likewise.
33066
cf8f780b 330672007-11-03 Marco Gerards <marco@gnu.org>
33068
33069 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
33070 (grub_ata_pio_write): Likewise.
33071 (grub_ata_readwrite): Use `grub_error', instead of
33072 returning `grub_errno'.
33073
ed649e54 330742007-11-03 Marco Gerards <marco@gnu.org>
33075
33076 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
33077 grub_ata_pio_write once for every single sector, instead of for
33078 multiple sectors.
33079
ca25d8f0 330802007-10-31 Robert Millan <rmh@aybabtu.com>
33081
33082 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
33083
33084 * conf/i386-linuxbios.rmk: New file.
33085
33086 * kern/i386/pc/hardware.c: Likewise.
33087 * term/i386/pc/at_keyboard.c: Likewise.
33088 * term/i386/pc/vga_text.c: Likewise.
33089
33090 * include/grub/i386/linuxbios/boot.h: Likewise.
33091 * include/grub/i386/linuxbios/console.h: Likewise.
33092 * include/grub/i386/linuxbios/init.h: Likewise.
33093 * include/grub/i386/linuxbios/kernel.h: Likewise.
33094 * include/grub/i386/linuxbios/loader.h: Likewise.
33095 * include/grub/i386/linuxbios/memory.h: Likewise.
33096 * include/grub/i386/linuxbios/serial.h: Likewise.
33097 * include/grub/i386/linuxbios/time.h: Likewise.
33098
33099 * kern/i386/linuxbios/init.c: Likewise.
33100 * kern/i386/linuxbios/startup.S: Likewise.
33101 * kern/i386/linuxbios/table.c: Likewise.
33102
e911ecc1 331032007-10-31 Marco Gerards <marco@gnu.org>
33104
33105 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
33106 (ata_mod_SOURCES): New variable.
33107 (ata_mod_CFLAGS): Likewise.
33108 (ata_mod_LDFLAGS): Likewise.
33109
33110 * disk/ata.c: New file.
33111
33112 * include/grub/disk.h (grub_disk_dev_id): Add
33113 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 33114
7f66d0e0 331152007-10-31 Robert Millan <rmh@aybabtu.com>
33116
33117 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
33118 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
33119
33120 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
33121 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
33122
33123 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
33124 `<grub/types.h>'.
33125
33126 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
33127
5cd7dd46 331282007-10-27 Robert Millan <rmh@aybabtu.com>
33129
3236ca65 33130 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 33131
2ebfc90f 331322007-10-22 Robert Millan <rmh@aybabtu.com>
33133
33134 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
33135 `"../realmode.S"'.
33136 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
33137
73fcb0f3 331382007-10-22 Robert Millan <rmh@aybabtu.com>
33139
33140 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
33141 (pkgdata_MODULES): Add `biosdisk.mod'.
33142 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
33143 variables.
33144
33145 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
33146 (grub_biosdisk_init): Replace with ...
33147 (GRUB_MOD_INIT(biosdisk)): ... this.
33148 (grub_biosdisk_fini): Replace with ...
33149 (GRUB_MOD_FINI(biosdisk)): ... this.
33150
33151 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
33152 (grub_machine_init): Remove call to grub_biosdisk_init().
33153 (grub_machine_fini): Remove call to grub_machine_fini().
33154
33155 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
33156
3381d274 331572007-10-22 Robert Millan <rmh@aybabtu.com>
33158
33159 * include/grub/time.h: New file.
33160 * include/grub/i386/time.h: Likewise.
33161 * include/grub/powerpc/time.h: Likewise.
33162 * include/grub/sparc64/time.h: Likewise.
33163
33164 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
33165 instances to ...
33166 (KERNEL_MACHINE_TIME_HEADER): ... this.
33167 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33168 instances to ...
33169 (KERNEL_MACHINE_TIME_HEADER): ... this.
33170 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33171 instances to ...
33172 (KERNEL_MACHINE_TIME_HEADER): ... this.
33173
33174 * kern/i386/efi/init.c: Include `<grub/time.h>'.
33175 (grub_millisleep): New function.
33176 * kern/i386/pc/init.c: Include `<grub/time.h>'.
33177 (grub_millisleep): New function.
33178 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
33179 Remove `grub/machine/time.h' include.
33180 (grub_millisleep): New function.
33181 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
33182 Remove `grub/machine/time.h' include.
33183 (grub_millisleep): New function.
33184
33185 * include/grub/misc.h (grub_div_roundup): New function.
33186
33187 * kern/misc.c: Include `<grub/time.h>'.
33188 (grub_millisleep_generic): New function.
33189
33190 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
33191 Add `time.h'.
33192 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
33193 Add `time.h'.
33194 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
33195 `machine/time.h'. Add `time.h'.
33196 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33197
a39a0312 331982007-10-21 Robert Millan <rmh@aybabtu.com>
33199
33200 * include/grub/misc.h (grub_max): New function.
33201
2aad70e2 332022007-10-21 Robert Millan <rmh@aybabtu.com>
33203
33204 * util/misc.c (grub_util_info): Call fflush() before returning.
33205
54b71c4b 332062007-10-20 Robert Millan <rmh@aybabtu.com>
33207
33208 * genmk.rb (Image): Copy `extra_flags' from here ...
33209 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
33210
33211 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
33212 to `argc' and `args' arguments.
33213
a979f513 332142007-10-17 Robert Millan <rmh@aybabtu.com>
33215
33216 * kern/i386/loader.S: New file.
33217
33218 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
33219 * kern/i386/loader.S (grub_linux_prot_size)... to here.
33220 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
33221 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
33222 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
33223 * kern/i386/loader.S (grub_linux_real_addr)... to here.
33224 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
33225 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
33226 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
33227 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
33228 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
33229 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
33230 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
33231 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
33232
33233 * kern/i386/realmode.S: New file.
33234
33235 * kern/i386/pc/startup.S (protstack): Moved from here ...
33236 * kern/i386/realmode.S (protstack)... to here.
33237 * kern/i386/pc/startup.S (gdt): Moved from here ...
33238 * kern/i386/realmode.S (gdt)... to here.
33239 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
33240 * kern/i386/realmode.S (prot_to_real)... to here.
33241
33242 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
33243 `kern/i386/realmode.S'.
33244
825fc8fd 332452007-10-17 Robert Millan <rmh@aybabtu.com>
33246
33247 * include/grub/i386/loader.h: New file.
33248
33249 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
33250 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33251 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33252 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33253 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
33254 * include/grub/i386/loader.h (grub_linux_prot_size)
33255 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33256 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33257 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33258 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
33259
33260 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
33261
e179b2f4 332622007-10-15 Robert Millan <rmh@aybabtu.com>
33263
33264 * normal/misc.c (grub_normal_print_device_info): Do not probe for
33265 filesystem when dev->disk is unset.
33266 Do probe for filesystem even when dev->disk->has_partitions is set.
33267 In case a filesystem is found, always report it.
33268 In case it isn't, if dev->disk->has_partitions is set, report that
33269 a partition table was found instead of reporting that no filesystem
33270 could be identified.
33271
5db82af6 332722007-10-12 Robert Millan <rmh@aybabtu.com>
33273
33274 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
33275 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
33276
68f6ac74 33277 * include/grub/types.h (grub_host_to_target16): New macro.
33278 (grub_host_to_target32): Likewise.
33279 (grub_host_to_target64): Likewise.
33280 (grub_target_to_host16): Likewise.
33281 (grub_target_to_host32): Likewise.
33282 (grub_target_to_host64): Likewise.
5db82af6 33283
33284 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33285 Renamed from to ...
33286 (GRUB_MOD_ALIGN): ...this. Update all users.
33287
68f6ac74 33288 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
33289 grub_host_to_target32.
33290 Replace grub_be_to_cpu32 with grub_target_to_host32.
33291 (load_modules): Likewise.
33292 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
33293 Replace grub_be_to_cpu32 with grub_target_to_host32.
33294 Replace grub_cpu_to_be16 with grub_host_to_target16.
33295 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 33296
3cf497cc 332972007-10-12 Robert Millan <rmh@aybabtu.com>
33298
33299 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
33300 * util/elf/grub-mkimage.c: ... here.
33301
33302 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
33303 `util/powerpc/ieee1275/grub-mkimage.c'.
33304
c8cc3692 333052007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 33306
c8cc3692 33307 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
33308 and make it easier to figure out.
33309 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
33310 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
33311 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
33312 leave us with less than HEAP_MIN_SIZE total heap.
33313 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 33314
5c58b791 333152007-10-03 Robert Millan <rmh@aybabtu.com>
33316
33317 * include/grub/i386/io.h: New file.
33318 * commands/i386/pc/play.c (inb): Removed.
33319 (outb): Removed.
33320 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33321 with grub_outb().
afcd2ef8 33322 * term/i386/pc/serial.c (inb): Removed.
33323 (outb): Removed.
33324 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33325 with grub_outb().
33326 * term/i386/pc/vga.c (inb): Removed.
33327 (outb): Removed.
33328 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33329 with grub_outb().
5c58b791 33330
1a477ed6 333312007-10-02 Robert Millan <rmh@aybabtu.com>
33332
33333 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
33334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33335 Reported by Marcin Kurek.
33336
6b5d80fa 333372007-09-07 Robert Millan <rmh@aybabtu.com>
33338
33339 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
33340 SmartFirmware version updates (as released by Sven Luther), and avoid
33341 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
33342 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
33343 known broken.
33344
5618afbf 333452007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33346
33347 From Hitoshi Ozeki:
33348 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
33349 when merging two regions.
33350
6139dcd9 333512007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33352
508e39ee 33353 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
33354 * normal/completion.c (grub_normal_do_completion): Likewise.
33355 Reported by Hitoshi Ozeki.
33356
333572007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33358
6139dcd9 33359 Do not use devices at boot in chainloading.
f19dbdb7 33360
6139dcd9 33361 * loader/i386/pc/chainloader.c (boot_drive): New variable.
33362 (boot_part_addr): Likewise.
33363 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
33364 with BOOT_DRIVE and BOOT_PART_ADDR.
33365 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
33366 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
33367
38da6516 333682007-08-29 Robert Millan <rmh@aybabtu.com>
33369
33370 Patch from Simon Peter <dn.tlp@gmx.net>:
33371 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
33372 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
33373 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
33374 util/i386/pc/grub-setup.c_DEPENDENCIES.
33375 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
33376 util/grub-probe.c_DEPENDENCIES.
33377 * conf/powerpc-ieee1275.rmk: Likewise.
33378
29d0928c 333792007-08-28 Robert Millan <rmh@aybabtu.com>
33380
33381 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
33382 to tell grub-mkdevicemap how to name devices.
33383 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
33384 feature).
33385
33386 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
33387 util/i386/get_disk_name.c.
33388 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
33389 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
33390 util/ieee1275/get_disk_name.c.
33391
33392 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
33393
33394 * DISTLIST: Add util/i386/get_disk_name.c and
33395 util/ieee1275/get_disk_name.c.
33396
33397 * util/grub-mkdevicemap.c: Replace device naming logic with
33398 grub_util_get_disk_name() calls.
33399
5a0d3cca 334002007-08-20 Robert Millan <rmh@aybabtu.com>
33401
33402 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
33403 (so that it works for both plural and singular quantities).
33404
8b72db2f 334052007-08-05 Robert Millan <rmh@aybabtu.com>
33406
33407 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
33408 so that [xz] isn't taken into account when determining order.
33409
352466bf 334102007-08-02 Marco Gerards <marco@gnu.org>
33411
33412 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
33413 `include/multiboot2.h', `include/grub/elfload.h',
33414 `include/multiboot.h', `include/grub/multiboot.h',
33415 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
33416 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
33417 `kern/elf.c', `loader/multiboot_loader.c',
33418 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
33419 `loader/i386/pc/multiboot2.c',
33420 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
33421 `util/i386/pc/grub-mkrescue.in'. Remove
33422 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
33423 `include/grub/i386/pc/util/biosdisk.h' and
33424 `include/grub/powerpc/ieee1275/multiboot.h'.
33425
8f096014 334262007-08-02 Bean <bean123ch@gmail.com>
33427
33428 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
33429 (ntfs_mod_SOURCES): New variable.
33430 (ntfs_mod_CFLAGS): Likewise.
33431 (ntfs_mod_LDFLAGS): Likewise.
33432
33433 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
33434 (grub_probe_SOURCES): Likewise.
33435 (grub_emu_SOURCES): Likewise.
33436
33437 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33438 (grub_emu_SOURCES): Likewise.
33439
33440 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33441 (grub_emu_SOURCES): Likewise.
f19dbdb7 33442
8f096014 33443 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
33444
33445 * fs/ntfs.c: New file.
33446
9959f7db 334472007-08-02 Bean <bean123ch@gmail.com>
33448
33449 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
33450
33451 * file.h (grub_file): Likewise.
33452
33453 * fshelp.h (grub_fshelp_read_file): Likewise.
33454
33455 * util/i386/pc/grub-setup.c (setup): Likewise.
33456 (save_first_sector): Likewise.
33457 (save_blocklists): Likewise.
f19dbdb7 33458
9959f7db 33459 * fs/affs.c (grub_affs_read_file): Likewise.
33460
33461 * fs/ext2.c (grub_ext2_read_file): Likewise.
33462
33463 * fs/fat.c (grub_fat_read_data): Likewise.
33464
33465 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
33466
33467 * fs/hfs.c (grub_hfs_read_file): Likewise.
33468
33469 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33470
33471 * fs/jfs.c (grub_jfs_read_file): Likewise.
33472
33473 * fs/minix.c (grub_minix_read_file): Likewise.
33474
33475 * fs/sfs.c (grub_sfs_read_file): Likewise.
33476
33477 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 33478
9959f7db 33479 * fs/xfs.c (grub_xfs_read_file): Likewise.
33480
33481 * command/blocklist.c (read_blocklist): Likewise.
33482 (print_blocklist): Likewise.
33483
0a203f83 334842007-08-02 Marco Gerards <marco@gnu.org>
33485
33486 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33487 `util/hostfs.c'.
33488
33489 * disk/host.c: New file.
33490
33491 * util/hostfs.c: Likewise.
33492
33493 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33494 return `GRUB_ERR_BAD_FS'.
33495 * fs/sfs.c (grub_sfs_mount): Likewise.
33496 * fs/xfs.c (grub_xfs_mount): Likewise.
33497
33498 * include/grub/disk.h (enum grub_disk_dev_id): Add
33499 `GRUB_DISK_DEVICE_HOST_ID'.
33500
33501 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33502
e5dfe777 335032007-07-24 Jerone Young <jerone@gmail.com>
33504
f19dbdb7 33505 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 33506 modules for compilation.
33507 * conf/powerpc-ieee1275.rmk: Likewise.
33508
33509 * include/multiboot.h: Move multiboot definitions to one file. Rename
33510 many definitions to not get grub specific.
33511 * include/multiboot2.h: Create header with multiboot 2 definitions.
33512 * include/grub/multiboot.h: Header for grub specific function
33513 prototypes and definitions.
33514 * include/grub/multiboot2.h: Likewise.
33515 * include/grub/multiboot_loader.h: Likewise.
33516 * include/grub/i386/pc/multiboot.h: Removed.
33517 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33518
33519 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33520 and 2 to allow for one multiboot and module commands.
33521 * loader/multiboot2.c: Add multiboot2 functionality.
33522 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33523 and definition names.
33524 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33525 2 functions.
33526 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33527 ieee1275 specific multiboot2 code.
33528
33529 * kern/i386/pc/startup.S: Change headers and definition names for
33530 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33531
daf0f0ba 335322007-07-22 Robert Millan <rmh@aybabtu.com>
33533
33534 * geninitheader.sh: Process file specified in first parameter rather
33535 than hardcoding grub_modules_init.lst.
fe6b695a 33536 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 33537 than hardcoding grub_modules_init.h.
33538
33539 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33540 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33541 grub_probe_init.[ch] and grub_setup_init.[ch].
33542
33543 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33544 grub_modules_init.h with grub_emu_init.h.
33545 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33546 grub_probe_init.[ch] files.
33547 * conf/i386-efi.rmk: Likewise.
33548 * conf/i386-pc.rmk: Likewise.
33549 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33550 grub_setup_init.[ch] files.
33551
33552 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33553 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33554 to initialize modules rather than a list of hardcoded functions.
33555 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33556 grub_init_all() to initialize modules rather than a list of hardcoded
33557 functions.
33558
54cdc1cc 335592007-07-22 Robert Millan <rmh@aybabtu.com>
33560
33561 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33562 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33563
ad0686cc 335642007-07-22 Robert Millan <rmh@aybabtu.com>
33565
33566 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33567 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33568 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33569 flag when running on SmartFirmware.
33570 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33571 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33572 was set.
33573
33574 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33575 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33576 rather than decreasing it.
33577
33578 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33579 there's not enough space to do it, fail in the same way as when it
33580 can't be done because there are no partitions.
33581
33582 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33583 when nvsetenv failed.
33584
969c02ec 335852007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33586
33587 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33588 because this rule is automatically generated.
33589 (grub-mkrescue): Removed for the same reason as above.
33590
5a79f472 335912007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33592
33593 Migrate to GNU General Public License Version 3.
f19dbdb7 33594
5a79f472 33595 * COPYING: Replaced with the plain text version of GPLv3.
33596
33597 * config.guess: Updated from gnulib.
33598 * config.sub: Likewise.
33599
33600 * geninit.sh: Output a GPLv3 copyright notice.
33601 * geninitheader.sh: Likewise.
33602 * genmodsrc.sh: Likewise.
33603 * gensymlist.sh.in: Likewise.
33604
33605 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33606 * boot/i386/pc/diskboot.S: Likewise.
33607 * boot/i386/pc/pxeboot.S: Likewise.
33608 * commands/blocklist.c: Likewise.
33609 * commands/boot.c: Likewise.
33610 * commands/cat.c: Likewise.
33611 * commands/cmp.c: Likewise.
33612 * commands/configfile.c: Likewise.
33613 * commands/echo.c: Likewise.
33614 * commands/help.c: Likewise.
33615 * commands/ls.c: Likewise.
33616 * commands/search.c: Likewise.
33617 * commands/terminal.c: Likewise.
33618 * commands/test.c: Likewise.
33619 * commands/videotest.c: Likewise.
33620 * commands/i386/cpuid.c: Likewise.
33621 * commands/i386/pc/halt.c: Likewise.
33622 * commands/i386/pc/play.c: Likewise.
33623 * commands/i386/pc/reboot.c: Likewise.
33624 * commands/i386/pc/vbeinfo.c: Likewise.
33625 * commands/i386/pc/vbetest.c: Likewise.
33626 * commands/ieee1275/halt.c: Likewise.
33627 * commands/ieee1275/reboot.c: Likewise.
33628 * commands/ieee1275/suspend.c: Likewise.
33629 * disk/loopback.c: Likewise.
33630 * disk/lvm.c: Likewise.
33631 * disk/raid.c: Likewise.
33632 * disk/efi/efidisk.c: Likewise.
33633 * disk/i386/pc/biosdisk.c: Likewise.
33634 * disk/ieee1275/ofdisk.c: Likewise.
33635 * font/manager.c: Likewise.
33636 * fs/affs.c: Likewise.
33637 * fs/ext2.c: Likewise.
33638 * fs/fat.c: Likewise.
33639 * fs/fshelp.c: Likewise.
33640 * fs/hfs.c: Likewise.
33641 * fs/hfsplus.c: Likewise.
33642 * fs/iso9660.c: Likewise.
33643 * fs/jfs.c: Likewise.
33644 * fs/minix.c: Likewise.
33645 * fs/sfs.c: Likewise.
33646 * fs/ufs.c: Likewise.
33647 * fs/xfs.c: Likewise.
33648 * hello/hello.c: Likewise.
33649 * include/grub/acorn_filecore.h: Likewise.
33650 * include/grub/arg.h: Likewise.
33651 * include/grub/bitmap.h: Likewise.
33652 * include/grub/boot.h: Likewise.
33653 * include/grub/cache.h: Likewise.
33654 * include/grub/device.h: Likewise.
33655 * include/grub/disk.h: Likewise.
33656 * include/grub/dl.h: Likewise.
33657 * include/grub/elfload.h: Likewise.
33658 * include/grub/env.h: Likewise.
33659 * include/grub/err.h: Likewise.
33660 * include/grub/file.h: Likewise.
33661 * include/grub/font.h: Likewise.
33662 * include/grub/fs.h: Likewise.
33663 * include/grub/fshelp.h: Likewise.
33664 * include/grub/gzio.h: Likewise.
33665 * include/grub/hfs.h: Likewise.
33666 * include/grub/kernel.h: Likewise.
33667 * include/grub/loader.h: Likewise.
33668 * include/grub/lvm.h: Likewise.
33669 * include/grub/misc.h: Likewise.
33670 * include/grub/mm.h: Likewise.
33671 * include/grub/net.h: Likewise.
33672 * include/grub/normal.h: Likewise.
33673 * include/grub/parser.h: Likewise.
33674 * include/grub/partition.h: Likewise.
33675 * include/grub/pc_partition.h: Likewise.
33676 * include/grub/raid.h: Likewise.
33677 * include/grub/rescue.h: Likewise.
33678 * include/grub/script.h: Likewise.
33679 * include/grub/setjmp.h: Likewise.
33680 * include/grub/symbol.h: Likewise.
33681 * include/grub/term.h: Likewise.
33682 * include/grub/terminfo.h: Likewise.
33683 * include/grub/tparm.h: Likewise.
33684 * include/grub/types.h: Likewise.
33685 * include/grub/video.h: Likewise.
33686 * include/grub/efi/api.h: Likewise.
33687 * include/grub/efi/chainloader.h: Likewise.
33688 * include/grub/efi/console.h: Likewise.
33689 * include/grub/efi/console_control.h: Likewise.
33690 * include/grub/efi/disk.h: Likewise.
33691 * include/grub/efi/efi.h: Likewise.
33692 * include/grub/efi/pe32.h: Likewise.
33693 * include/grub/efi/time.h: Likewise.
33694 * include/grub/i386/linux.h: Likewise.
33695 * include/grub/i386/setjmp.h: Likewise.
33696 * include/grub/i386/types.h: Likewise.
33697 * include/grub/i386/efi/kernel.h: Likewise.
33698 * include/grub/i386/efi/loader.h: Likewise.
33699 * include/grub/i386/efi/time.h: Likewise.
33700 * include/grub/i386/pc/biosdisk.h: Likewise.
33701 * include/grub/i386/pc/boot.h: Likewise.
33702 * include/grub/i386/pc/chainloader.h: Likewise.
33703 * include/grub/i386/pc/console.h: Likewise.
33704 * include/grub/i386/pc/init.h: Likewise.
33705 * include/grub/i386/pc/kernel.h: Likewise.
33706 * include/grub/i386/pc/loader.h: Likewise.
33707 * include/grub/i386/pc/memory.h: Likewise.
33708 * include/grub/i386/pc/multiboot.h: Likewise.
33709 * include/grub/i386/pc/serial.h: Likewise.
33710 * include/grub/i386/pc/time.h: Likewise.
33711 * include/grub/i386/pc/vbe.h: Likewise.
33712 * include/grub/i386/pc/vbeblit.h: Likewise.
33713 * include/grub/i386/pc/vbefill.h: Likewise.
33714 * include/grub/i386/pc/vbeutil.h: Likewise.
33715 * include/grub/i386/pc/vga.h: Likewise.
33716 * include/grub/ieee1275/ieee1275.h: Likewise.
33717 * include/grub/ieee1275/ofdisk.h: Likewise.
33718 * include/grub/powerpc/libgcc.h: Likewise.
33719 * include/grub/powerpc/setjmp.h: Likewise.
33720 * include/grub/powerpc/types.h: Likewise.
33721 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33722 * include/grub/powerpc/ieee1275/console.h: Likewise.
33723 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33724 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33725 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33726 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33727 * include/grub/powerpc/ieee1275/time.h: Likewise.
33728 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33729 * include/grub/sparc64/libgcc.h: Likewise.
33730 * include/grub/sparc64/setjmp.h: Likewise.
33731 * include/grub/sparc64/types.h: Likewise.
33732 * include/grub/sparc64/ieee1275/console.h: Likewise.
33733 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33734 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33735 * include/grub/sparc64/ieee1275/time.h: Likewise.
33736 * include/grub/util/biosdisk.h: Likewise.
33737 * include/grub/util/getroot.h: Likewise.
33738 * include/grub/util/lvm.h: Likewise.
33739 * include/grub/util/misc.h: Likewise.
33740 * include/grub/util/raid.h: Likewise.
33741 * include/grub/util/resolve.h: Likewise.
33742 * io/gzio.c: Likewise.
33743 * kern/device.c: Likewise.
33744 * kern/disk.c: Likewise.
33745 * kern/dl.c: Likewise.
33746 * kern/elf.c: Likewise.
33747 * kern/env.c: Likewise.
33748 * kern/err.c: Likewise.
33749 * kern/file.c: Likewise.
33750 * kern/fs.c: Likewise.
33751 * kern/loader.c: Likewise.
33752 * kern/main.c: Likewise.
33753 * kern/misc.c: Likewise.
33754 * kern/mm.c: Likewise.
33755 * kern/parser.c: Likewise.
33756 * kern/partition.c: Likewise.
33757 * kern/rescue.c: Likewise.
33758 * kern/term.c: Likewise.
33759 * kern/efi/efi.c: Likewise.
33760 * kern/efi/init.c: Likewise.
33761 * kern/efi/mm.c: Likewise.
33762 * kern/i386/dl.c: Likewise.
33763 * kern/i386/efi/init.c: Likewise.
33764 * kern/i386/efi/startup.S: Likewise.
33765 * kern/i386/pc/init.c: Likewise.
33766 * kern/i386/pc/lzo1x.S: Likewise.
33767 * kern/i386/pc/startup.S: Likewise.
33768 * kern/ieee1275/ieee1275.c: Likewise.
33769 * kern/powerpc/cache.S: Likewise.
33770 * kern/powerpc/dl.c: Likewise.
33771 * kern/powerpc/ieee1275/cmain.c: Likewise.
33772 * kern/powerpc/ieee1275/crt0.S: Likewise.
33773 * kern/powerpc/ieee1275/init.c: Likewise.
33774 * kern/powerpc/ieee1275/openfw.c: Likewise.
33775 * kern/sparc64/cache.S: Likewise.
33776 * kern/sparc64/dl.c: Likewise.
33777 * kern/sparc64/ieee1275/init.c: Likewise.
33778 * kern/sparc64/ieee1275/openfw.c: Likewise.
33779 * loader/efi/chainloader.c: Likewise.
33780 * loader/efi/chainloader_normal.c: Likewise.
33781 * loader/i386/efi/linux.c: Likewise.
33782 * loader/i386/efi/linux_normal.c: Likewise.
33783 * loader/i386/pc/chainloader.c: Likewise.
33784 * loader/i386/pc/chainloader_normal.c: Likewise.
33785 * loader/i386/pc/linux.c: Likewise.
33786 * loader/i386/pc/linux_normal.c: Likewise.
33787 * loader/i386/pc/multiboot.c: Likewise.
33788 * loader/i386/pc/multiboot_normal.c: Likewise.
33789 * loader/powerpc/ieee1275/linux.c: Likewise.
33790 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33791 * normal/arg.c: Likewise.
33792 * normal/cmdline.c: Likewise.
33793 * normal/command.c: Likewise.
33794 * normal/completion.c: Likewise.
33795 * normal/execute.c: Likewise.
33796 * normal/function.c: Likewise.
33797 * normal/lexer.c: Likewise.
33798 * normal/main.c: Likewise.
33799 * normal/menu.c: Likewise.
33800 * normal/menu_entry.c: Likewise.
33801 * normal/misc.c: Likewise.
33802 * normal/parser.y: Likewise.
33803 * normal/script.c: Likewise.
33804 * normal/i386/setjmp.S: Likewise.
33805 * normal/powerpc/setjmp.S: Likewise.
33806 * normal/sparc64/setjmp.S: Likewise.
33807 * partmap/acorn.c: Likewise.
33808 * partmap/amiga.c: Likewise.
33809 * partmap/apple.c: Likewise.
33810 * partmap/gpt.c: Likewise.
33811 * partmap/pc.c: Likewise.
33812 * partmap/sun.c: Likewise.
33813 * term/gfxterm.c: Likewise.
33814 * term/terminfo.c: Likewise.
33815 * term/efi/console.c: Likewise.
33816 * term/i386/pc/console.c: Likewise.
33817 * term/i386/pc/serial.c: Likewise.
33818 * term/i386/pc/vesafb.c: Likewise.
33819 * term/i386/pc/vga.c: Likewise.
33820 * term/ieee1275/ofconsole.c: Likewise.
33821 * util/biosdisk.c: Likewise.
33822 * util/console.c: Likewise.
33823 * util/genmoddep.c: Likewise.
33824 * util/getroot.c: Likewise.
33825 * util/grub-emu.c: Likewise.
33826 * util/grub-mkdevicemap.c: Likewise.
33827 * util/grub-probe.c: Likewise.
33828 * util/lvm.c: Likewise.
33829 * util/misc.c: Likewise.
33830 * util/raid.c: Likewise.
33831 * util/resolve.c: Likewise.
33832 * util/update-grub.in: Likewise.
33833 * util/update-grub_lib.in: Likewise.
33834 * util/grub.d/00_header.in: Likewise.
33835 * util/grub.d/10_hurd.in: Likewise.
33836 * util/grub.d/10_linux.in: Likewise.
33837 * util/i386/efi/grub-install.in: Likewise.
33838 * util/i386/efi/grub-mkimage.c: Likewise.
33839 * util/i386/pc/grub-install.in: Likewise.
33840 * util/i386/pc/grub-mkimage.c: Likewise.
33841 * util/i386/pc/grub-mkrescue.in: Likewise.
33842 * util/i386/pc/grub-setup.c: Likewise.
33843 * util/i386/pc/misc.c: Likewise.
33844 * util/powerpc/ieee1275/grub-install.in: Likewise.
33845 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33846 * util/powerpc/ieee1275/misc.c: Likewise.
33847 * video/bitmap.c: Likewise.
33848 * video/video.c: Likewise.
33849 * video/i386/pc/vbe.c: Likewise.
33850 * video/i386/pc/vbeblit.c: Likewise.
33851 * video/i386/pc/vbefill.c: Likewise.
33852 * video/i386/pc/vbeutil.c: Likewise.
33853 * video/readers/tga.c: Likewise.
33854
3572d015 338552007-07-02 Robert Millan <rmh@aybabtu.com>
33856
33857 * conf/i386-efi.rmk: Replace obsolete reference to
33858 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33859 with util/getroot.c.
33860 * conf/powerpc-ieee1275.rmk: Likewise.
33861 * conf/sparc64-ieee1275.rmk: Likewise.
33862
33863 * util/grub-emu.c (main): Fix unchecked pointer handling.
33864
2c2a681b 338652007-07-02 Robert Millan <rmh@aybabtu.com>
33866
33867 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33868 invocation to fail, in order to support partition-less media.
33869
33870 * util/i386/pc/grub-install.in: Likewise.
33871
33872 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33873 which fs or partmap modules are needed (akin to its sister scripts).
33874
33875 Also use grub-probe to get rid of unportable /proc/mounts check.
33876
33877 Print the same informational message that the other scripts do, before
fe6b695a 33878 exiting.
2c2a681b 33879
6193defe 338802007-06-23 Robert Millan <rmh@aybabtu.com>
33881
fe6b695a 33882 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 33883 a font file can be found and, if so, echo the GRUB path to it.
33884
33885 * util/update-grub.in: Handle multiple terminals depending on user
33886 input, platform availability and font file presence. Propagate
33887 variables of our findings to /etc/grub.d/ children.
33888
33889 * util/grub.d/00_header.in: Handle multiple terminals, based on
33890 environment setup by update-grub.
33891
eface1dc 338922007-06-23 Robert Millan <rmh@aybabtu.com>
33893
ba50d28f 33894 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 33895
bf697e28 338962007-06-21 Robert Millan <rmh@aybabtu.com>
33897
33898 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33899 indicate end of data section in kernel image.
33900 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33901 GRUB_KERNEL_MACHINE_DATA_END.
33902
33903 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33904 space for it.
33905 * kern/i386/efi/startup.S: Likewise.
33906
33907 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33908 during image generation. Implement --prefix option to override this
33909 patch.
33910 * util/i386/efi/grub-mkimage.c: Likewise.
33911
33912 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33913 code to make path relative to its root into a separate function.
33914
33915 * util/i386/pc/grub-install.in: Use newly provided
33916 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33917 pass the result to grub-install --prefix.
33918
baa574b4 339192007-06-13 Robert Millan <rmh@aybabtu.com>
33920
33921 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33922 DEFAULT_DEVICE_MAP.
33923 * util/grub-emu.c: Use above definitions from misc.h instead of
33924 defining them.
33925 * util/grub-mkdevicemap.c: Likewise.
33926 * util/i386/pc/grub-setup.c: Likewise.
33927 * util/grub-probe.c: Likewise.
33928 (probe): Abort with grub_util_error() when either
33929 grub_guess_root_device or grub_util_get_grub_dev fails.
33930
0215dcbf 339312007-06-12 Robert Millan <rmh@aybabtu.com>
33932
33933 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33934 "pager" assignment.
33935 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33936 "pcdata".
33937 * util/grub-probe.c (probe): Likewise for "drive_name".
33938
8af2ab7b 339392007-06-11 Robert Millan <rmh@aybabtu.com>
33940
33941 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33942 not just the cdrom one.
33943
59d31694 339442007-06-11 Robert Millan <rmh@aybabtu.com>
33945
33946 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33947 Add --pkglibdir=DIR option to override pkglibdir.
33948 Mention --image-type=TYPE in help output.
33949 Fix --grub-mkimage (it was a no-op).
fe6b695a 33950 Abort gracefully when no parameter is given.
59d31694 33951
7ee367e4 339522007-06-11 Robert Millan <rmh@aybabtu.com>
33953
33954 * util/i386/pc/grub-mkrescue.in: New file.
33955 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33956 * Makefile.in: Handle bin_SCRIPTS.
33957
29b0ed46 339582007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33959
33960 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33961 list of video modes.
33962
c0f90770 339632007-06-06 Robert Millan <rmh@aybabtu.com>
33964
33965 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33966 file doesn't exist, or if it is in a filesystem grub can't read.
33967
33968 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33969 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33970 header comment to fit in 80 columns when the variables are resolved.
33971
33972 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33973 could be identified by update-grub. Remove redundant check for
fe6b695a 33974 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 33975 handles that).
33976
fb36dc26 339772007-06-04 Robert Millan <rmh@aybabtu.com>
33978
33979 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33980
33981 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33982
33983 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33984
0c68c93e 339852007-06-04 Robert Millan <rmh@aybabtu.com>
33986
33987 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33988
33989 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33990 grub_apple_partition_map_fini.
33991
33992 * util/biosdisk.c
33993 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33994 to access >2 TiB disks).
33995
33996 Print disk->total_sectors with %llu instead of %lu, since this
33997 variable is always 64-bit (prevents wrong disk size from being displayed
33998 on either >2 TiB disk or big-endian CPU).
33999
34000 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
34001 into a generic case that supports all (sane) partition maps.
34002
34003 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
34004 breaks big-endian.
34005
34006 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
34007 and grub_apple_partition_map_fini() after that.
34008
0f23eb74 340092007-06-01 Robert Millan <rmh@aybabtu.com>
34010
34011 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
34012
34013 * util/grub.d/00_header.in: Only enable gfxterm when
34014 convert_system_path_to_grub_path() succeeds.
34015
42c71976 340162007-05-20 Robert Millan <rmh@aybabtu.com>
34017
34018 * util/update-grub_lib.in: New file.
34019 * DISTLIST: Add update-grub_lib.in.
34020 * conf/common.rmk: Generate update-grub_lib and install it in
34021 $(lib_DATA).
34022 * Makefile.in: Add install routine for $(lib_DATA).
34023
34024 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
34025 function provided by update-grub_lib to support arbitrary paths of
34026 unifont.pff.
34027 * util/update-grub.in: Use convert_system_path_to_grub_path() to
34028 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
34029
5beb2291 340302007-05-19 Robert Millan <rmh@aybabtu.com>
34031
34032 * commands/i386/cpuid.c: New module.
34033 * DISTLIST: Add it.
34034 * conf/i386-efi.rmk: Enable cpuid.mod.
34035 * conf/i386-pc.rmk: Likewise.
34036
7262eca1 340372007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34038
34039 * kern/disk.c (grub_disk_read): Check return value of
34040 grub_realloc().
34041
260ba823 340422007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34043
34044 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
34045 arrays.
34046 * disk/raid.c (grub_raid_open): Likewise.
34047
1ecb6cf2 340482007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34049
34050 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
34051 stack instead of on the heap.
34052
34053 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
34054 before doing a read on it.
34055
34056 * configure.ac: Only use -fno-stack-protector for the target
34057 environment.
f19dbdb7 34058
21c8cbb1 340592007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34060
34061 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
34062 __attribute_ ((unused)) to mode_type argument.
34063
34064 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 34065
21c8cbb1 34066 * kern/misc.c (memcmp): Fix prototype.
34067
34068 * include/grub/partition.h [GRUB_UTIL]
34069 (grub_gpt_partition_map_init): Add prototype.
34070 (grub_gpt_partition_map_fini): Likewise.
34071
34072 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
34073 at the right place.
34074
34075 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
34076 (grub_fat_read_data): Likewise.
34077 (grub_fat_find_dir): Likewise.
34078
34079 * font/manager.c (find_glyph): Make table a const.
34080 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 34081
849d55d3 340822007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
34083
34084 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
34085 code, first search for device in /dev/mapper, then in /dev.
34086 (grub_util_get_grub_dev): New function.
34087 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
34088 prototype.
34089 * util/grub-probe.c (probe): Remove check for RAID, call
34090 grub_util_get_grub_dev() instead of
34091 grub_util_biosdisk_get_grub_dev().
34092 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
34093 grub_util_biosdisk_get_grub_dev().
34094 * util/i386/pc/grub-setup.c (main): Likewise.
34095
8fff7c2f 340962007-05-16 Robert Millan <rmh@aybabtu.com>
34097
34098 * DISTLIST: Update for the latest changes.
34099 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
34100 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
34101 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
34102 grub/util/biosdisk.h.
34103 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
34104 grub/util/biosdisk.h.
34105
48e12b52 341062007-05-16 Robert Millan <rmh@aybabtu.com>
34107
34108 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
34109
46b9d128 341102007-05-16 Robert Millan <rmh@aybabtu.com>
34111
34112 * util/i386/efi/grub-install.in: New.
34113 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
34114 newly added grub-install.
34115 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
34116 include.
34117 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
34118 grub/util/biosdisk.h.
34119 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
34120 grub/util/biosdisk.h.
34121
2d1a40a9 341222007-05-16 Robert Millan <rmh@aybabtu.com>
34123
34124 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
34125 * include/grub/util/biosdisk.h: ... here.
34126 * util/i386/pc/biosdisk.c: Moved to ...
34127 * util/biosdisk.c: ... here.
34128 * util/i386/pc/getroot.c: Moved to ...
34129 * util/getroot.c: ... here.
34130 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
34131 * util/grub-mkdevicemap.c: ... here.
34132 * util/i386/pc/grub-probe.c: Moved to ...
34133 * util/grub-probe.c: ... here.
34134
9e26e3bc 341352007-05-15 Robert Millan <rmh@aybabtu.com>
34136
34137 * util/update-grub.in: Remove duplicated line in grub.cfg header
34138 message.
34139
57f96397 341402007-05-13 Robert Millan <rmh@aybabtu.com>
34141
34142 * util/update-grub.in: Fix a few assumptions about the devices holding
34143 /, /boot and /boot/grub being the same.
34144 * util/grub.d/00_header.in: Likewise.
34145 * util/grub.d/10_hurd.in: Likewise.
34146 * util/grub.d/10_linux.in: Likewise.
34147
34148 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
34149 patterns. Use that to define the `.old' suffix as older than `'.
34150
34151 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
34152
34153 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
34154 the grub.cfg header message.
34155
2e610d62 341562007-05-11 Robert Millan <rmh@aybabtu.com>
34157
34158 * util/update-grub.in: Create device.map if it doesn't already exist,
34159 before attempting to run grub-probe.
34160 Check for grub-probe and grub-mkdevicemap with the same code
34161 grub-install is using.
34162 Remove test mode.
34163
3f6a10ef 341642007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
34165
34166 * Makefile.in: Add the datarootdir autoconf variable.
34167
02e7b75e 341682007-05-09 Robert Millan <rmh@aybabtu.com>
34169
34170 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 34171 fail gracefully if dev->disk->partition == NULL.
02e7b75e 34172
75f396cc 341732007-05-07 Robert Millan <rmh@aybabtu.com>
34174
34175 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
34176 determine partition map module.
34177 * util/i386/pc/grub-install.in: Use this feature to decide which
34178 partition module to load, instead of hardcoding pc and gpt.
34179
da65cb36 341802007-05-07 Robert Millan <rmh@aybabtu.com>
34181
34182 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
34183 source directory differs from build directory.
34184
b57d6a91 341852007-05-05 Robert Millan <rmh@aybabtu.com>
34186
34187 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
34188 initialisation.
34189
509d00f1 341902007-05-05 Robert Millan <rmh@aybabtu.com>
34191
34192 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
34193
c48f23ef 341942007-05-05 Robert Millan <rmh@aybabtu.com>
34195
34196 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
34197 command-line arguments via ${GRUB_CMDLINE_LINUX}.
34198
20b97658 341992007-05-05 Robert Millan <rmh@aybabtu.com>
34200
34201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
34202 (grub_probe_SOURCES): Likewise.
34203 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
34204 GPT and initialize dos_part and bsd_part accordingly.
34205 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
34206 install_bsd_part.
34207 (main): Activate gpt module for use during partition identification,
34208 and deactivate it afterwards.
34209 * util/i386/pc/grub-install.in: Add gpt module to core.img.
34210 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
34211 partition identification, and deactivate it afterwards.
34212
99123174 342132007-05-05 Robert Millan <rmh@aybabtu.com>
34214
34215 * term/i386/pc/console.c (grub_console_fini): Call
34216 grub_term_set_current() before grub_term_unregister().
34217
ebd97f6e 342182007-05-04 Robert Millan <rmh@aybabtu.com>
34219
34220 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
34221 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
34222 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
34223 and update-grub_DATA.
34224 * conf/common.rmk: Build and install update-grub components.
34225 * conf/common.mk: Regenerate.
34226 * util/update-grub.in: New. Core of update-grub.
34227 * util/grub.d/00_header.in: New. Generates grub.cfg header.
34228 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
34229 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
34230 * util/grub.d/README: New. Document grub.d directory layout.
34231
b06a264d 342322007-05-01 Robert Millan <rmh@aybabtu.com>
34233
34234 * util/grub-emu.c: Move initialization functions
34235 grub_util_biosdisk_init() and grub_init_all() before
34236 grub_util_biosdisk_get_grub_dev(), which relies on them.
34237
41f0050e 342382007-04-19 Robert Millan <rmh@aybabtu.com>
34239
34240 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
34241 it is used later.
34242
04582bb3 342432007-04-18 Jerone Young <jerone@gmail.com>
34244
f19dbdb7 34245 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 34246 stanza.
34247
08db4632 342482007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 34249
08db4632 34250 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
34251 continue on and look for device node with real device name.
34252
801b76be 342532007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 34254
fe6b695a 34255 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 34256 ability.
34257 * Makefile.in: Add autoconf package transformation code.
34258 * util/i386/pc/grub-install.in: Likewise.
34259 * util/powerpc/ieee1275/grub-install.in: Likewise.
34260
6795c4e1 342612007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
34262
34263 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
34264 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
34265 (EXT2_REVISION): Likewise.
34266 (EXT2_INODE_SIZE): Likewise.
34267 (struct grub_ext2_block_group): Added a missing member
34268 "used_dirs".
34269 (grub_ext2_read_inode): Divide by the inode size in a superblock
34270 instead of 128 to obtain INODES_PER_BLOCK.
34271 Use the macro EXT2_INODE_SIZE instead of directly using
34272 SBLOCK->INODE_SIZE.
34273
d70af616 342742007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
34275
34276 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
34277 superblock instead of the structure size to compute an
34278 offset. This fixes the problem that GRUB could not read a
34279 filesystem when inode size is different from 128-byte.
34280
3b801603 342812007-03-05 Marco Gerards <marco@gnu.org>
34282
34283 * normal/main.c (read_config_file): When "menu" is not set, create
34284 an initial context.
34285
4785bfe4 342862007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34287
34288 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
34289 (HEAP_LIMIT): New macro.
34290 (grub_claim_heap): Claim memory up to `heaplimit'.
34291
a0cbb023 342922007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34293
34294 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
34295 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
34296 (_start): Likewise.
34297 (grub_arch_modules_addr): Return address after `_end'.
34298 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
34299 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
34300 (add_segments): Calculate `_end' from phdr size and location.
34301 (ALIGN_UP): Moved to ...
34302 * include/grub/misc.h: here.
34303 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34304 New macro.
34305 (GRUB_IEEE1275_MODULE_BASE): Removed.
34306
fd7d8eba 343072007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34308
34309 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
34310 loop boundary.
34311
9b09e6fc 343122007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34313
34314 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
34315 All users updated.
34316 (grub_elf64_load_hook_t): Likewise.
34317 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
34318 debug output.
34319
3ce27299 343202007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34321
34322 * kern/mm.c: Update copyright.
34323 (grub_mm_debug): Correct syntax error.
34324 (grub_mm_dump_free): New function.
34325 (grub_debug_free): Call `grub_free'.
34326 * include/grub/mm.h: Update copyright.
34327 (grub_mm_dump_free): Add declaration.
34328
077d5fee 343292007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34330
34331 * include/grub/ieee1275/ieee1275.h: Update copyright.
34332 * kern/powerpc/ieee1275/init.c: Likewise.
34333 * kern/powerpc/ieee1275/openfw.c: Likewise.
34334
34335 * loader/powerpc/ieee1275/linux.c: Likewise.
34336 * include/grub/elfload.h: Likewise.
34337 * kern/elf.c: Likewise.
34338 (grub_elf32_load): Pass `base' and `size' parameters. Update all
34339 callers.
34340 (grub_elf64_load): Likewise.
34341 (grub_elf32_load_segment): Move to a nested function.
34342 (grub_elf64_load_segment): Likewise.
34343
dc946850 343442007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34345
34346 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
34347 prototype.
34348 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
34349 (grub_heap_len): Likewise.
34350 (HEAP_SIZE): New macro.
34351 (grub_claim_heap): New function.
34352 (grub_machine_init): Don't claim heap directly. Call
34353 `grub_claim_heap'.
34354 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
34355 (grub_available_iterate): New function.
34356
baa2a121 343572007-02-03 Thomas Schwinge <tschwinge@gnu.org>
34358
34359 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
34360 * configure.ac: Use it for testing the HOST and TARGET compilers.
34361
4fe9862e 343622006-12-13 Thomas Schwinge <tschwinge@gnu.org>
34363
34364 * Makefile.in (enable_grub_emu): New variable.
34365 * configure.ac (--enable-grub-emu): New option.
34366 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
34367 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
34368 * conf/i386-pc.rmk: Likewise.
34369 * conf/powerpc-ieee1275.rmk: Likewise.
34370 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
34371
a8aa5762 343722006-12-12 Marco Gerards <marco@gnu.org>
34373
34374 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
34375
34376 * kern/env.c (grub_env_unset): Don't free the member `value' when
34377 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
34378 pointer.
34379
34380 * normal/main.c (current_menu): Removed.
34381 (free_menu): Unset the `menu' environment variable.
34382 (grub_normal_menu_addentry): Make use of the environment variable
34383 `menu', instead of using the global `current_menu'. Allocate
34384 memory for the sourcecode of this entry.
34385 (read_config_file): New argument `nested', changed all callers.
34386 Only in the case of a new context, initialize a new menu. Set the
34387 `menu' environment variable.
34388 (grub_normal_execute): Don't set and unset the environment
34389 variable `menu' here anymore. Only free the menu when leaving the
34390 context.
34391
34392 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
34393 leak.
34394
957b3a3e 343952006-12-11 Marco Gerards <marco@gnu.org>
34396
34397 * normal/menu_entry.c (run): Fix off by one bug so the last line
34398 is executed. Move the loader check to outside the loop.
34399
ef875714 344002006-12-08 Hollis Blanchard <hollis@penguinppc.org>
34401
34402 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
34403
4e739985 344042006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
34405
34406 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
34407 the number of sectors. Reported by Andrey Shuvikov
34408 <mr_hyro@yahoo.com>.
f19dbdb7 34409
790707f2 344102006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
34411
34412 * kern/disk.c (grub_disk_read): When there is a read error, always
34413 try to read only the necessary data.
f19dbdb7 34414
790707f2 34415 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
34416 disk/raid.c.
34417 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
34418 prototype.
34419 [GRUB_UTIL] (grub_raid_fini): Likewise.
34420 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 34421 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 34422 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
34423 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
34424 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
34425 and grub_raid_fini().
f19dbdb7 34426
03e58196 344272006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34428
34429 * include/grub/types.h (__unused): Rename to UNUSED.
34430 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
34431 (grub_elf64_size): Likewise.
f19dbdb7 34432
ae4f23bf 344332006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34434
34435 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
34436 grub_error_push and grub_error_pop in the error-handling path.
34437 (grub_elf32_load_segment): Only call grub_file_read with non-zero
34438 length.
34439
2166cc83 344402006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34441
34442 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
34443 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34445 (kernel_elf_SOURCES): Likewise.
34446 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
34447 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
34448 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34449 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34450 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
34451 (elf_mod_SOURCES): New variable.
34452 (elf_mod_CFLAGS): Likewise.
34453 (elf_mod_LDFLAGS): Likewise.
34454 * include/grub/types.h (__unused): New macro.
34455 * include/grub/elfload.h: New file.
34456 * kern/elf.c: Likewise.
34457 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
34458 (ELF32_LOADMASK): New macro.
34459 (ELF64_LOADMASK): Likewise.
34460 (vmlinux): Removed.
34461 (grub_linux_load32): New function.
34462 (grub_linux_load64): Likewise.
34463 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
34464 Use grub_elf_t instead of grub_file_t.
34465
a09d5aa5 344662006-11-02 Hollis Blanchard <hollis@penguinppc.org>
34467
34468 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
34469 `catch_result' to struct set_color_args.
34470
d976fc51 344712006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34472
34473 * normal/menu.c: Include grub/script.h.
34474 * normal/menu_entry.c: Likewise.
34475 * include/grub/normal.h: Do not include grub/script.h.
34476
67507549 344772006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34478
34479 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
34480
69203a99 344812006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34482
34483 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34484 disk.
34485 (grub_disk_close): Print debug messages when closing a disk.
34486 (grub_disk_read): Print debug messages when disk read fails.
34487 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34488 filesystem type.
34489 * kern/partition.c: Include misc.h.
34490 (grub_partition_iterate): Print debug messages when detecting
34491 partition type.
34492
e2b8278c 344932006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34494
34495 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34496 is negative.
34497 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34498
97b2f2ff 344992006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34500
34501 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34502 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34503
6555d655 345042006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34505
34506 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34507 instead of sizeof(lv). Patch by Michael Guntsche.
34508
4d42b77f 345092006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34510
34511 * disk/lvm.c: Rename VGS to VG_LIST.
34512 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34513 (grub_lvm_open): Likewise.
34514 Thanks to Michael Guntsche for finding this bug.
34515
5d74d927 345162006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34517
34518 * configure.ac (AC_INIT): Bumped to 1.95.
34519
a1bb27e4 345202006-10-14 Robert Millan <rmh@aybabtu.com>
34521
34522 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34523 with "/dev/.static/dev/md".
34524
e0994b8b 345252006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34526
34527 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34528 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34529 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34530 DRIVE_NAME are always freed.
34531
34532 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34533 DOS_PART, as a DOS partition is counted from one instead of zero
34534 now. Reported by Robert Millan.
34535
ddd5cee9 345362006-10-14 Robert Millan <rmh@aybabtu.com>
34537
34538 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34539 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34540 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34541 string returned by grub_guess_root_device.
34542 * util/i386/pc/grub-setup.c: Likewise.
34543 * util/i386/pc/grub-probefs.c: Likewise.
34544
34545 * util/i386/pc/grub-probefs.c: Rename to ...
34546 * util/i386/pc/grub-probe.c: ... this.
34547 * DISTLIST: Remove grub-probefs, add grub-probe.
34548 * conf/i386-efi.rmk: Likewise.
34549 * conf/i386-pc.rmk: Likewise.
34550 * util/i386/pc/grub-install.in: Likewise.
34551
34552 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34553 choose which information we want to print.
34554
2b002173 345552006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34556
34557 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34558 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34559 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34560 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34561 video/readers/tga.c and video/i386/pc/vbeutil.c.
34562
345632006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34564
34565 Added support for RAID and LVM.
f19dbdb7 34566
2b002173 34567 * disk/lvm.c: New file.
34568 * disk/raid.c: Likewise.
34569 * include/grub/lvm.h: Likewise.
f19dbdb7 34570 * include/grub/raid.h: Likewise.
2b002173 34571 * include/grub/util/lvm.h: Likewise.
34572 * include/grub/util/raid.h: Likewise.
34573 * util/lvm.c: Likewise.
34574 * util/raid.c: Likewise.
34575
34576 * include/grub/disk.h (grub_disk_dev_id): Add
34577 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34578 (grub_disk_get_size): New prototype.
34579 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34580 returns a partition.
34581 (grub_disk_get_size): New function.
f19dbdb7 34582
2b002173 34583 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34584 verbatim if grub_install_dos_part is -2.
34585
34586 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34587 and LVM devices.
34588
34589 * util/i386/pc/grub-setup.c (setup): New argument
34590 MUST_EMBED. Force embedding of GRUB when the argument is
34591 true. Close FILE before returning.
34592 (main): Add support for RAID and LVM.
f19dbdb7 34593
2b002173 34594 * conf/common.rmk: Add RAID and LVM modules.
34595 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34596 util/lvm.c.
34597 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34598
34599 * kern/misc.c (grub_strstr): New function.
34600 * include/grub/misc.h (grub_strstr): New prototype.
34601
050548d0 346022006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34603
34604 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34605
da849d2d 346062006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34607
34608 * kern/misc.c (grub_strtoull): Guess the base only if not
34609 specified.
34610
97b2f2ff 346112006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 34612
34613 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34614 PowerMac support.
34615
97b2f2ff 346162006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 34617
34618 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34619
34620 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34621 Remove `flags' argument. All callers changed.
34622 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34623 (IEEE1275_IHANDLE_INVALID): New variable.
34624 (IEEE1275_CELL_INVALID): New variable.
34625 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34626 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34627 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34628 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34629 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34630 codes from Open Firmware. All callers updated.
34631 (grub_ieee1275_next_property): Directly return Open Firmware return
34632 code.
34633 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34634 Standardize error checking from `grub_ieee1275_get_property'.
34635 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34636 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34637
97b2f2ff 346382006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 34639
34640 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34641 `instance_to_package_args' to `instance_to_path_args'.
34642
34643 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34644 `grub_ieee1275_chosen'.
34645
34646 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34647 `grub_ieee1275_interpret'.
34648
97b2f2ff 346492006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 34650
34651 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34652
97b2f2ff 346532006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 34654
34655 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34656 (__cmpdi): Likewise.
34657
34658 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34659 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34660 `grub_ssize_t'.
34661
02bb8acc 34662 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 34663
34664 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34665 to type `grub_ssize_t'.
34666 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34667
7f9a8531 346682006-09-22 Marco Gerards <marco@gnu.org>
34669
34670 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34671 newlines.
34672
b5ef1102 346732006-09-22 Marco Gerards <marco@gnu.org>
34674
34675 * commands/echo.c: New file.
34676
34677 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34678
34679 * conf/common.rmk (echo_mod_SOURCES): New variable.
34680 (echo_mod_CFLAGS): Likewise.
34681 (echo_mod_LDFLAGS): Likewise.
34682
2cff3677 346832006-09-22 Marco Gerards <marco@gnu.org>
34684
34685 * normal/main.c (get_line): Malloc memory instead of using
34686 preallocated memory. Removed the arguments `cmdline' and
34687 `max_len'. Updated all callers.
34688
6ba4688b 346892006-09-22 Marco Gerards <marco@gnu.org>
34690
34691 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34692 (normal_mod_DEPENDENCIES): Likewise.
34693
34694 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34695 (normal_mod_DEPENDENCIES): Likewise.
34696
34697 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34698
e02ac02c 346992006-09-22 Johan Rydberg <jrydberg@gnu.org>
34700
34701 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34702 programs.
34703 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34704 (normal_mod_DEPENDENCIES): Likewise.
34705 * conf/i386-pc.mk: Regenerate.
34706 * conf/i386-efi.mk: Likewise
34707 * conf/common.mk: Likewise.
34708 * conf/powerpc-ieee1275.mk: Likewise.
34709 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34710
8d252e44 347112006-09-22 Robert Millan <rmh@aybabtu.com>
34712
34713 Sync with i386 version.
34714 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34715 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34716
209bf7ac 347172006-09-21 Robert Millan <rmh@aybabtu.com>
34718
34719 Import from GRUB Legacy (lib/device.c):
34720 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34721 (init_device_map) [__linux__]: Add support for I2O devices.
34722
6b146090 347232006-09-14 Marco Gerards <marco@gnu.org>
34724
34725 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34726 `-melf_i386'.
34727
e38600a8 347282006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 34729
34730 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34731 /boot/grub/*.lst.
78fa1790 34732
2952da5d 34733 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 34734
2952da5d 34735 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34736 before adding it to device.map.
34737
01b82a64 347382006-08-15 Johan Rydberg <jrydberg@gnu.org>
34739
fe6b695a 34740 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 34741 compiles a file; using the -MD option.
34742 * conf/common.mk: Regenerate.
34743 * conf/i386-pc.mk: Likewise.
34744 * conf/i386-efi.mk: Likewise.
34745 * conf/powerpc-ieee1275.mk: Likewise.
34746 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34747
1064790d 347482006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34749
34750 Move the prototypes of grub_setjmp and grub_longjmp to
34751 cpu/setjmp.h, so that each architecture may specify different
34752 attributes.
f19dbdb7 34753
1064790d 34754 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34755 (grub_longjmp): Likewise.
34756 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34757 (grub_longjmp): Likewise.
34758 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34759 (grub_longjmp): Likewise.
34760
34761 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34762 [!GRUB_UTIL] (grub_longjmp): Removed.
34763
29dda3ed 347642006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34765
34766 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34767 "color!" method does not return any value.
34768
ad2a06ed 347692006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34770
34771 * include/grub/bitmap.h: New file.
34772
34773 * include/grub/i386/pc/vbeutil.h: Likewise.
34774
34775 * video/bitmap.c: Likewise.
34776
34777 * video/readers/tga.c: Likewise.
34778
34779 * video/i386/pc/vbeutil.c: Likewise.
34780
34781 * commands/videotest.c: Code cleanup and updated to reflect to new
34782 video API.
34783
34784 * term/gfxterm.c: Likewise.
34785
34786 * video/video.c: Likewise.
34787
34788 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34789 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34790 (bitmap_mod_SOURCES): New entry.
34791 (bitmap_mod_CFLAGS): Likewise.
34792 (bitmap_mod_LDFLAGS): Likewise.
34793 (tga_mod_SOURCES): Likewise.
34794 (tga_mod_CFLAGS): Likewise.
34795 (tga_mod_LDFLAGS): Likewise.
34796
34797 * include/grub/video.h (grub_video_blit_operators): New enum type.
34798 (grub_video_render_target): Changed as forward declaration and moved
34799 actual definition to be video driver specific.
34800 (grub_video_adapter.blit_bitmap): Added blitting operator.
34801 (grub_video_adapter.blit_render_target): Likewise.
34802 (grub_video_blit_bitmap): Likewise.
34803 (grub_video_blit_render_target): Likewise.
34804
34805 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34806 driver specific render target definition.
34807 (grub_video_vbe_map_rgba): Added driver internal helper.
34808 (grub_video_vbe_unmap_color): Updated to use
34809 grub_video_i386_vbeblit_info.
34810 (grub_video_vbe_get_video_ptr): Likewise.
34811
34812 * include/grub/i386/pc/vbeblit.h
34813 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34814 grub_video_i386_vbeblit_info.
34815 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34816 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34817 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34818 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34819 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34820 (grub_video_i386_vbeblit_index_index): Likewise.
34821 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34822 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34823 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34824 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34825 operator.
34826 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34827 operator.
34828
34829 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34830 include/grub/i386/pc/vbeblit.h.
34831
34832 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34833 Updated to use grub_video_i386_vbeblit_info.
34834 (grub_video_i386_vbefill_R8G8B8): Likewise.
34835 (grub_video_i386_vbefill_index): Likewise.
34836 (grub_video_i386_vbefill): Added generic filler.
34837
34838 * video/i386/pc/vbefill.c: Updated to reflect changes on
34839 include/grub/i386/pc/vbefill.h.
34840
34841 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34842 grub_video_i386_vbeblit_info.
34843 (grub_video_vbe_unmap_color): Likewise.
34844 (grub_video_vbe_blit_glyph): Likewise.
34845 (grub_video_vbe_scroll): Likewise.
34846 (grub_video_vbe_draw_pixel): Removed function.
34847 (grub_video_vbe_get_pixel): Likewise.
34848 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34849 updated code to use it.
34850 (common_blitter): Added common blitter for render target and bitmap.
34851 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34852 (grub_video_vbe_blit_render_target): Likewise.
34853
bc8c036d 348542006-07-30 Johan Rydberg <jrydberg@gnu.org>
34855
34856 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34857 is in text mode if there is no console control protocol instance
34858 available.
34859
684a8eff 348602006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34861
34862 * include/grub/video.h: Code cleanup.
34863
34864 * include/grub/i386/pc/vbe.h: Likewise.
34865
34866 * video/i386/pc/vbe.c: Likewise.
34867
34868 * video/i386/pc/vbeblit.c: Likewise.
34869
34870 * video/i386/pc/vbefill.c: Likewise.
34871
34872 * video/video.c: Likewise. Also added more comments.
34873
5915059b 348742006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34875
34876 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34877 (struct grub_biosdisk_dap): Likewise.
34878
34879 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34880 linkage settings for all functions.
34881
90ce5d56 348822006-07-12 Marco Gerards <marco@gnu.org>
34883
34884 * configure.ac (--enable-mm-debug): Fix typo.
34885
34886 * genkernsyms.sh.in: Use proper quoting for `CC'.
34887
43e7f879 348882006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34889
34890 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34891 (normal_mod_ASFLAGS): Remove "-m32".
34892
4889bdec 348932006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34894
34895 * util/misc.c: Include config.h.
34896 [!HAVE_MEMALIGN]: Do not include malloc.h.
34897 (grub_memalign): Use posix_memalign, if present. Then, use
34898 memalign, if present. Otherwise, emit an error.
34899
34900 * util/grub-emu.c: Do not include malloc.h.
34901
34902 * include/grub/util/misc.h: Include unistd.h. This is required for
34903 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34904 D. Eades III <hde@foobar-qux.org>.
34905
34906 * configure.ac (AC_GNU_SOURCE): Added.
34907 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34908 type.
34909
fd39d4da 349102006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34911
34912 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34913 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34914
b786f3b5 349152006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34916
34917 * include/grub/types.h (grub_host_addr_t): Rename to
34918 grub_target_addr_t.
34919 (grub_host_off_t): Rename to grub_target_off_t.
34920 (grub_host_size_t): Rename to grub_target_size_t.
34921 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34922 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34923
34924 * include/grub/kernel.h (struct grub_module_header): Change type
34925 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34926 (grub_module_info): Likewise.
f19dbdb7 34927
051988bb 349282006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34929
34930 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34931 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34932 Velazquez <jesus.velazquez@gmail.com>.
34933
deae281b 349342006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34935
34936 Count partitions from 1 instead of 0 in the string representation
34937 of partitions. Still use 0-based internally.
f19dbdb7 34938
deae281b 34939 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34940 (sun_partition_map_iterate): Use grub_partition_t instead of
34941 struct grub_partition *. Cast DESC->START_CYLINDER to
34942 grub_uint64_t after converting the endian.
34943 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34944 (sun_partition_map_get_name): Add 1 to P->INDEX.
34945
34946 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34947 PCDATA->DOS_PART.
34948 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34949
34950 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34951 zero instead of one.
34952 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34953 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34954
34955 * partmap/apple.c (apple_partition_map_iterate): Change the type
34956 of POS to unsigned.
34957 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34958 (apple_partition_map_get_name): Add 1 into P->INDEX.
34959
34960 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34961 of POS to unsigned.
34962 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34963 calculate the offset of a partition.
34964 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34965 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34966
34967 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34968 SECTOR to grub_disk_addr_t.
34969 (acorn_partition_map_iterate): Likewise.
34970 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34971 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34972 top.
34973 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34974
34975 * kern/i386/pc/init.c (make_install_device): Add 1 into
34976 GRUB_INSTALL_DOS_PART.
34977
34978 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34979 conditional.
34980
524a1e6a 349812006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34982
34983 Clean up the code to support 64-bit addressing in disks and
34984 files. This change is not enough for filesystems yet.
f19dbdb7 34985
524a1e6a 34986 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34987 type of "start" to grub_uint64_t.
34988 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34989 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34990 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34991 convert addresses.
34992
34993 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34994 to grub_disk_addr_t.
34995
34996 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34997 string.
34998
34999 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35000
35001 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
35002 to char *.
35003
35004 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
35005
35006 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
35007
35008 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
35009
35010 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
35011 to grub_off_t, to detect an error from grub_file_seek.
35012 (grub_multiboot_load_elf32): Likewise.
35013
35014 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
35015 maximum unsigned long value when an overflow is detected.
35016 (grub_strtoull): New function.
35017 (grub_divmod64): Likewise.
35018 (grub_lltoa): use grub_divmod64.
35019
35020 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
35021 grub_disk_addr_t.
35022 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
35023 the pointer to next character. Use grub_strtoull instead of
35024 grub_strtoul.
35025 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
35026 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
35027 respectively.
35028
fe6b695a 35029 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 35030 return value is signed.
35031 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
35032 test if OFFSET is less than zero, as OFFSET is unsigned now.
35033
35034 * kern/disk.c (struct grub_disk_cache): Change the type of
35035 "sector" to grub_disk_addr_t.
35036 (grub_disk_cache_get_index): Change the type of SECTOR to
35037 grub_disk_addr_t. Calculate the hash with SECTOR casted to
35038 unsigned after shifting.
35039 (grub_disk_cache_invalidate): Change the type of SECTOR to
35040 grub_disk_addr_t.
35041 (grub_disk_cache_unlock): Likewise.
35042 (grub_disk_cache_store): Likewise.
35043 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
35044 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
35045 grub_disk_addr_t and grub_uint64_t, respectively.
35046 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
35047 body, as the value of OFFSET is tweaked by
35048 grub_disk_check_range. Change the types of START_SECTOR, LEN and
35049 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
35050 respectively.
35051 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
35052 body, as the value of OFFSET is tweaked by
35053 grub_disk_check_range. Change the types of LEN and N to
35054 grub_size_t.
35055
35056 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
35057 and "saved_offset" to grub_off_t.
35058 (test_header): Cast BUF to char *.
35059 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
35060 to char *.
35061 (grub_gzio_read): Change the types of OFFSET and SIZE to
35062 grub_off_t and grub_size_t, respectively.
35063
35064 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
35065 Removed.
35066 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
35067 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
35068 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
35069 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
35070 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
35071
35072 * include/grub/types.h (grub_off_t): Unconditionally set to
35073 grub_uint64_t.
35074 (grub_disk_addr_t): Changed to grub_uint64_t.
35075
35076 * include/grub/partition.h (struct grub_partition): Change the
35077 types of "start", "len" and "offset" to grub_disk_addr_t,
35078 grub_uint64_t and grub_disk_addr_t, respectively.
35079 (grub_partition_get_start): Return grub_disk_addr_t.
35080 (grub_partition_get_len): Return grub_uint64_t.
35081
35082 * include/grub/misc.h (grub_strtoull): New prototype.
35083 (grub_divmod64): Likewise.
35084
35085 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
35086 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
35087 grub_off_t, respectively.
35088 All callers and references changed.
35089
35090 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
35091 grub_size_t in "read".
35092 All callers and references changed.
35093
35094 * include/grub/file.h (struct grub_file): Change the types of
35095 "offset" and "size" to grub_off_t and grub_off_t,
35096 respectively. Change the type of SECTOR to grub_disk_addr_t in
35097 "read_hook".
35098 (grub_file_read): Change the type of LEN to grub_size_t.
35099 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
35100 grub_off_t.
35101 (grub_file_size): Return grub_off_t.
35102 (grub_file_tell): Likewise.
35103 All callers and references changed.
35104
35105 * include/grub/disk.h (struct grub_disk_dev): Change the types of
35106 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
35107 "write".
35108 (struct grub_disk): Change the type of "total_sectors" to
35109 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 35110 "read_hook".
524a1e6a 35111 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
35112 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
35113 (grub_disk_write): Likewise.
35114 All callers and references changed.
35115
35116 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
35117 char * for grub_strncmp to silence gcc.
35118 (grub_iso9660_mount): Likewise.
35119 (grub_iso9660_mount): Likewise.
35120 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
35121 return statement.
35122 (grub_iso9660_iterate_dir): Likewise.
35123 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
35124
35125 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
35126 LEN to grub_disk_addr_t and grub_size_t, respectively.
35127
35128 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35129
35130 * fs/jfs.c (grub_jfs_read_file): Likewise.
35131
35132 * fs/minix.c (grub_jfs_read_file): Likewise.
35133
35134 * fs/sfs.c (grub_jfs_read_file): Likewise.
35135
35136 * fs/ufs.c (grub_jfs_read_file): Likewise.
35137
35138 * fs/xfs.c (grub_jfs_read_file): Likewise.
35139
35140 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
35141 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
35142 respectively.
35143
35144 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
35145 BLKNR to -1 instead of returning GRUB_ERRNO.
35146 (grub_ext2_read_file): Change the types of SECTOR and
35147 LEN to grub_disk_addr_t and grub_size_t, respectively.
35148
35149 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
35150 LEN to grub_disk_addr_t and grub_size_t, respectively.
35151
35152 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
35153 grub_file_read.
35154
35155 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
35156 string. Do not cast SECTOR explicitly.
35157
35158 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
35159 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
35160 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
35161 grub_disk_addr_t and grub_size_t, respectively. If the sector is
35162 over 2TB and LBA mode is not supported, raise an error.
35163 (get_safe_sectors): New function.
35164 (grub_biosdisk_read): Use get_safe_sectors.
35165 (grub_biosdisk_write): Likewise.
35166
35167 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
35168 (grub_efidisk_write): Likewise.
35169
35170 * disk/loopback.c (delete_loopback): Cosmetic changes.
35171 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
35172 correctly.
35173 (grub_loopback_open): Likewise.
35174 (grub_loopback_read): Likewise. Also, change the type of POS to
35175 grub_off_t, and fix the usage of grub_memset.
35176
35177 * commands/i386/pc/play.c: Include grub/machine/time.h.
35178
35179 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
35180 print FILE->SIZE.
35181
35182 * commands/configfile.c: Include grub/env.h.
35183
35184 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
35185 GRUB_ERRNO directly instead. Change the type of POS to
35186 grub_off_t. Follow the coding standard.
35187
35188 * commands/blocklist.c: Include grub/partition.h.
35189 (grub_cmd_blocklist): Return an error if the underlying device is
35190 not a disk. Take the starting sector of a partition into account,
35191 if a partition is used.
35192
35193 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
35194 a length field.
35195 (lba_mode): Support 64-bit addresses.
35196 (chs_mode): Likewise.
35197 (copy_buffer): Adapted to the new offsets of a length field and a
35198 segment field.
35199 (blocklist_default_start): Allocate 64-bit space.
35200
35201 * boot/i386/pc/boot.S (force_lba): Removed.
35202 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 35203 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 35204 space.
35205 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
35206 is useless.
35207 (lba_mode): Refactored to support a 64-bit address. More size
35208 optimization.
35209 (setup_sectors): Likewise.
35210
53af98ad 352112006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
35212
35213 * DISTLIST: Added include/grub/i386/linux.h. Removed
35214 include/grub/i386/pc/linux.h
35215
35216 * configure.ac (AC_INIT): Bumped to 1.94.
35217
35218 * config.guess: Updated from gnulib.
35219 * config.sub: Likewise.
35220 * install-sh: Likewise.
35221 * mkinstalldirs: Likewise.
35222
b4c1940a 352232006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35224
35225 * conf/common.rmk (grub_modules_init.lst): Depended on
35226 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
35227 MODSRCFILES.
35228
35229 * genmk.rb (PModule::rule): Reverted the previous change.
35230
cfca1cfd 352312006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35232
35233 * conf/common.rmk (grub_modules_init.lst): Depends on
35234 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
35235 that the target does not exist before producing.
35236 (grub_modules_init.h): Remove the target before generating.
35237 (grub_emu_init.c): Likewise.
35238
35239 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
35240
aa6d7826 352412006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
35242
35243 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
35244 for the target-specific tests. Make sure that we also have the
35245 up-to-date target variables for those tests.
35246
26c607b9 352472006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35248
35249 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
35250 (PModule::rule): Likewise.
35251
0162321a 352522006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35253
35254 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
35255 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
35256 target-specific flags should be prefixed.
35257 (PModule::rule): Likewise.
35258
6c826348 352592006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
35260
35261 * configure.ac (CMP): Check if cmp is available explicitly.
35262
b977bf01 352632006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
35264
35265 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
35266 (target_cpu): New variable.
35267 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 35268
b977bf01 35269 * util/i386/pc/grub-install.in (host_cpu): Removed.
35270 (target_cpu): New variable.
35271 (pkglibdir): Use target_cpu instead of host_cpu.
35272
35273 * util/genmoddep.c: Removed.
f19dbdb7 35274
b977bf01 35275 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
35276 instead of GRUB_HOST_SIZEOF_VOID_P.
35277 * kern/dl.c: Likewise.
35278
35279 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
35280 ...
35281 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35282 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35283 (GRUB_TARGET_SIZEOF_LONG): ... this.
35284 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35285 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35286 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35287 to ...
35288 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35289 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35290 (GRUB_TARGET_SIZEOF_LONG): ... this.
35291 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35292 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35293 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35294 to ...
35295 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35296 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35297 (GRUB_TARGET_SIZEOF_LONG): ... this.
35298 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35299 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35300
35301 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
35302 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
35303 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
35304 instead of GRUB_HOST_SIZEOF_LONG.
35305 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
35306 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
35307 GRUB_CPU_WORDS_BIGENDIAN.
35308 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
35309 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
35310 grub_host_ssize_t.
35311
35312 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
35313 (genmoddep_SOURCES): Likewise.
35314 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
35315 (genmoddep_SOURCES): Likewise.
35316 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
35317 (genmoddep_SOURCES): Likewise.
35318 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
35319 Likewise.
35320 (genmoddep_SOURCES): Likewise.
35321
35322 * genmoddep.awk: New file.
35323
35324 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
35325 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
35326 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
35327 (PModule::rule): Likewise.
35328 (Program::rule): Likewise.
35329 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
35330 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
35331 respectively.
35332
35333 * configure.ac: Rewritten intensively to use host and target
35334 instead of build and host, respectively.
35335
35336 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
35337 (host_cpu): Removed.
35338 (target_cpu): New variable.
35339 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
35340 (BUILD_CC): Removed.
35341 (BUILD_CFLAGS): Likewise.
35342 (BUILD_CPPFLAGS): Likewise.
35343 (TARGET_CC): New variable.
35344 (TARGET_CFLAGS): Likewise.
35345 (TARGET_CPPFLAGS): Likewise.
35346 (TARGET_LDFLAGS): Likewise.
35347 (AWK): Likewise.
35348 (include): Use target_cpu instead of host_cpu.
35349 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 35350
b977bf01 35351 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
35352
f09771a1 353532006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
35354
35355 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
35356 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
35357 field 'false' to 'exec_on_false'.
35358 (grub_script_create_cmdif): Renamed argument names to reflect above
35359 changes.
35360
35361 * normal/execute.c (grub_script_execute_cmdif): Likewise.
35362
35363 * normal/script.c (grub_script_create_cmdif): Likewise.
35364
118f4fb3 353652006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
35366
35367 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
35368 top.
35369 (grub_hfsplus_btree_recptr): Likewise.
35370 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
35371 FILEBLOCK both to pass a block number and store next block
35372 number.
35373 (grub_hfsplus_read_block): Rewritten heavily to support an extent
35374 overflow file correctly. Specify errors appropriately, because
35375 fshelp expects that GRUB_ERRNO is set when fails. Reuse
35376 grub_hfsplus_btree_recptr to get the pointer to a found key.
35377 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
35378 is found.
35379
35380 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
35381 linux.mod.
35382 (_linux_mod_SOURCES): New variable.
35383 (_linux_mod_CFLAGS): Likewise.
35384 (_linux_mod_LDFLAGS): Likewise.
35385 (linux_mod_SOURCES): Likewise.
35386 (linux_mod_CFLAGS): Likewise.
35387 (linux_mod_LDFLAGS): Likewise.
35388
35389 * DISTLIST: Added loader/i386/efi/linux.c,
35390 loader/i386/efi/linux_normal.c and
35391 include/grub/i386/efi/loader.h.
35392
35393 * loader/i386/efi/linux.c: New file.
35394 * loader/i386/efi/linux_normal.c: Likewise.
35395 * include/grub/i386/efi/loader.h: Likewise.
35396
89a7d726 353972006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
35398
35399 * commands/blocklist.c: New file.
35400
35401 * DISTLIST: Added commands/blocklist.c.
35402
35403 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 35404 color for the background, and a darker color for the foreground.
89a7d726 35405 (grub_console_checkkey): Return READ_KEY.
35406 (grub_console_cls): Set the background to
35407 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
35408
35409 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
35410
35411 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
35412 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
35413
35414 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
35415 prototype.
35416
35417 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
35418 BG. The spec is wrong again.
35419
35420 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
35421 prototype.
35422 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
35423
35424 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35425 commands/blocklist.c.
35426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 35427
89a7d726 35428 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
35429 (blocklist_mod_SOURCES): New variable.
35430 (blocklist_mod_CFLAGS): Likewise.
35431 (blocklist_mod_LDFLAGS): Likewise.
35432
75c8f258 354332006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
35434
35435 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
35436 duplication.
35437 (lba_mode): Use %eax more intensively to reduce the code size.
35438
da2eb181 354392006-05-20 Marco Gerards <marco@gnu.org>
35440
35441 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
35442
35443 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
35444 for `menuentry'.
35445 (script): Accept leading newlines.
35446 (newlines): New rule to describe 0 or more newlines.
35447 (commands): Accept `command' with trailing newline. Fixed the
35448 order in which arguments were passed to `grub_script_add_cmd'.
35449 Accept commands separated by newlines.
35450 (function): Changed to accept newlines.
35451 (menuentry) Rewritten.
35452
35453 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
35454 front of the list, instead of to the end.
35455
577b4050 354562006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
35457
35458 * util/i386/pc/grub-install.in (bindir): New variable.
35459 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
35460 Shaver <lbgwjl@gmail.com>.
35461
0d6e1189 354622006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
35463
35464 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
35465 grub/machine/linux.h
35466 * loader/i386/pc/linux.c: Likewise.
35467
35468 * include/grub/i386/pc/linux.h: Moved to ...
35469 * include/grub/i386/linux.h: ... here.
35470
35471 * include/grub/i386/linux.h (struct linux_kernel_params): New
35472 struct.
f19dbdb7 35473
31b86e9f 354742006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
35475
35476 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
35477 checking.
35478 (grub_video_vbe_blit_glyph): Likewise.
35479 (grub_video_vbe_blit_bitmap): Likewise.
35480 (grub_video_vbe_blit_render_target): Likewise.
35481
83b984de 354822006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35483
35484 * configure.ac (--with-platform): Properly quote the square
35485 brackets.
35486
5f0413bd 354872006-05-08 Marco Gerards <marco@gnu.org>
35488
35489 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35490 this...
35491 (kernel_elf_HEADERS): ...to this. Updated all users.
35492 (grubof_symlist.c): Renamed from this...
35493 (kernel_elf_symlist.c): ...to this. Updated all users.
35494 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35495 (grubof_SOURCES): Renamed from this...
35496 (kernel_elf_SOURCES): ...to this.
35497 (grubof_HEADERS): Renamed from this...
35498 (kernel_elf_HEADERS): ...to this.
35499 (grubof_CFLAGS): Renamed from this...
35500 (kernel_elf_CFLAGS): ...to this.
35501 (grubof_ASFLAGS): Renamed from this...
35502 (kernel_elf_ASFLAGS): ...to this.
35503 (grubof_LDFLAGS): Renamed from this...
35504 (kernel_elf_LDFLAGS): ...to this.
35505
35506 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35507 this...
35508 (kernel_elf_HEADERS): ...to this. Updated all users.
35509 (grubof_symlist.c): Renamed from this...
35510 (kernel_elf_symlist.c): ...to this. Updated all users.
35511 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35512 (grubof_SOURCES): Renamed from this...
35513 (kernel_elf_SOURCES): ...to this.
35514 (grubof_HEADERS): Renamed from this...
35515 (kernel_elf_HEADERS): ...to this.
35516 (grubof_CFLAGS): Renamed from this...
35517 (kernel_elf_CFLAGS): ...to this.
35518 (grubof_ASFLAGS): Renamed from this...
35519 (kernel_elf_ASFLAGS): ...to this.
35520 (grubof_LDFLAGS): Renamed from this...
35521 (kernel_elf_LDFLAGS): ...to this.
35522
35523 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35524 `kernel.elf' instead of `grubof'.
35525
05568c2e 355262006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35527
35528 Add --with-platform to configure. Use pkglibdir instead of
35529 pkgdatadir. This is reported by Roger Leigh.
35530
35531 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35532 (host_vendor): Likewise.
35533 (host_os): Likewise.
35534 (pkgdatadir): Likewise.
35535 (platform): New variable.
35536 (pkglibdir): Likewise.
35537 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 35538
05568c2e 35539 * util/i386/pc/grub-install.in (datadir): Removed.
35540 (host_vendor): Likewise.
35541 (host_os): Likewise.
35542 (pkgdatadir): Likewise.
35543 (platform): New variable.
35544 (pkglibdir): Likewise.
35545 Use PKGLIBDIR instead of PKGDATADIR.
35546
35547 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35548 instead of GRUB_DATADIR.
35549 (main): Likewise.
35550 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35551 (main): Likewise.
35552 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35553 (main): Likewise.
35554
35555 * configure.ac (--with-platform): New option.
35556 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35557
35558 * Makefile.in: Include a makefile based on PLATFORM instead of
35559 HOST_VENDOR.
35560 (pkgdatadir): Not appended by the machine type.
35561 (pkglibdir): Appended by the machine type.
35562 (host_vendor): Removed.
35563 (platform): New variable.
35564 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35565 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35566 (uninstall): Likewise.
35567
4e93851c 355682006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35569
35570 Use the environment context in the menu. Remove the commands
35571 "default" and "timeout", and use variables instead.
f19dbdb7 35572
4e93851c 35573 * normal/menu.c: Include grub/env.h.
35574 (print_entry): Cast TITLE to silence gcc.
35575 (get_timeout): New function.
35576 (set_timeout): Likewise.
35577 (get_entry_number): Likewise.
35578 (run_menu): Use a default entry, a fallback entry and a timeout
35579 in the environment variables "default", "fallback" and
35580 "timeout". Also, tweak the default entry if it is not within the
35581 current menu entries.
35582 (grub_menu_run): Use a fallback entry in the environment variable
35583 "fallback".
35584
35585 * normal/main.c (read_config_file): Do not initialize
35586 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35587 NEWMENU->TIMEOUT.
35588 (grub_normal_execute): Use a data slot to store the menu.
35589
35590 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35591 fallback_entry and timeout.
35592 (struct grub_menu_list): Removed.
35593 (grub_menu_list_t): Likewise.
35594 (struct grub_context): Likewise.
35595 (grub_context_t): Likewise.
35596 (grub_context_get): Likewise.
35597 (grub_context_get_current_menu): Likewise.
35598 (grub_context_push_menu): Likewise.
35599 (grub_context_pop_menu): Likewise.
35600 (grub_default_init): Likewise.
35601 (grub_default_fini): Likewise.
35602 (grub_timeout_init): Likewise.
35603 (grub_timeout_fini): Likewise.
35604
35605 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35606 and timeout.mod.
35607 (normal_mod_SOURCES): Removed normal/context.c.
35608
35609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35610 commands/default.c, commands/timeout.c and normal/context.c.
35611 (normal_mod_SOURCES): Removed normal/context.c.
35612
35613 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35614 commands/timeout.c and normal/context.c.
35615 (normal_mod_SOURCES): Removed normal/context.c.
35616
35617 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35618 commands/default.c, commands/timeout.c and normal/context.c.
35619 (normal_mod_SOURCES): Removed normal/context.c.
35620
35621 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35622 timeout.mod.
35623 (default_mod_SOURCES): Removed.
35624 (default_mod_CFLAGS): Likewise.
35625 (default_mod_LDFLAGS): Likewise.
35626 (timeout_mod_SOURCES): Removed.
35627 (timeout_mod_CFLAGS): Likewise.
35628 (timeout_mod_LDFLAGS): Likewise.
35629
35630 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35631 normal/context.c.
35632
35633 * commands/default.c: Removed.
35634 * commands/timeout.c: Likewise.
35635 * normal/context.c: Likewise.
35636
1eb9cc1d 356372006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35638
35639 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35640
385bd9c1 356412006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35642
35643 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35644 "next" to "prev" for readability.
35645 (struct grub_env_sorted_var): New struct.
35646 (grub_env_context): Renamed to ...
35647 (initial_context): ... this.
35648 (grub_env_var_context): Renamed to ...
35649 (current_context): ... this.
35650 (grub_env_find): Look only at CURRENT_CONTEXT.
35651 (grub_env_context_open): Rewritten to copy exported variables from
35652 previous context.
35653 (grub_env_context_close): Rewritten according to the new
35654 scheme. Also, add an assertion to prevent the initial context from
35655 removed.
35656 (grub_env_insert): Removed the code for the sorted list.
35657 (grub_env_remove): Likewise.
35658 (grub_env_export): Simply mark the variable with
35659 GRUB_ENV_VAR_GLOBAL.
35660 (grub_env_set): A cosmetic change for naming consistency.
35661 (grub_env_get): Likewise.
35662 (grub_env_unset): Likewise.
35663 (grub_env_iterate): Rewritten to sort variables within this
35664 function.
35665 (grub_register_variable_hook): Fixed for naming consistency. Call
35666 grub_env_find again, only if NAME is not found at the first time.
35667 (mangle_data_slot_name): New function.
35668 (grub_env_set_data_slot): Likewise.
35669 (grub_env_get_data_slot): Likewise.
35670 (grub_env_unset_data_slot): Likewise.
35671
35672 * include/grub/env.h (grub_env_var_type): New enum.
35673 (GRUB_ENV_VAR_LOCAL): New constant.
35674 (GRUB_ENV_VAR_GLOBAL): Likewise.
35675 (GRUB_ENV_VAR_DATA): Likewise.
35676 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35677 "type".
35678 (grub_env_set): Replace VAR with NAME for consistency.
35679 (grub_register_variable_hook): Likewise.
35680 (grub_env_export): Specify the name of the argument.
35681 (grub_env_set_data_slot): New prototype.
35682 (grub_env_get_data_slot): Likewise.
35683 (grub_env_unset_data_slot): Likewise.
35684
7f362539 356852006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35686
35687 Extend the loader so that GRUB can accept a loader which comes
35688 back to GRUB when a loaded image exits. Also, this change adds
35689 support for a chainloader on EFI.
f19dbdb7 35690
7f362539 35691 * term/efi/console.c: Include grub/misc.h.
35692 (grub_console_checkkey): Display a scan code on the top for
35693 debugging. This will be removed once the EFI port gets stable.
35694 Correct the scan code mapping.
35695
35696 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35697 allocate memory from larger regions, in order to reduce the number
35698 of allocated regions. Otherwise, the MacOSX loader panics.
35699 (filter_memory_map): Avoid less than 1MB for compatibility with
35700 other loaders.
35701 (add_memory_regions): Allocate from the tail of a region, if
35702 possible, to avoid allocating a region near to 1MB, for the MacOSX
35703 loader.
35704
35705 * kern/efi/init.c (grub_efi_set_prefix): Specify
35706 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35707
35708 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35709 argument IMAGE_HANDLE and specify it to get a loaded image.
35710 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35711 grub_efi_get_loaded_image.
fe6b695a 35712 (grub_efi_get_filename): Divide the length by the size of
7f362539 35713 grub_efi_char16_t.
35714 (grub_efi_get_device_path): New function.
35715 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35716 the length by the size of grub_efi_char16_t for a file path device
35717 path node.
35718
35719 * kern/loader.c (grub_loader_noreturn): New variable.
35720 (grub_loader_set): Accept a new argument NORETURN. Set
35721 GRUB_LOADER_NORETURN to NORETURN.
35722 All callers changed.
35723 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35724 grub_machine_fini.
35725
35726 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35727 prototype.
35728 (grub_efi_get_loaded_image): Take an argument to specify an image
35729 handle.
35730
35731 * include/grub/loader.h (grub_loader_set): Added one more argument
35732 NORETURN.
35733
35734 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35735 instead of grub_efi_open_protocol.
35736 (grub_efidisk_get_device_name): Likewise.
35737 (grub_efidisk_close): Print a newline.
35738 (grub_efidisk_get_device_handle): Fixed to use
35739 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35740 GRUB_EFI_DEVICE_PATH_TYPE.
35741
35742 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35743 * kern/efi/efi.c (device_path_guid): ... here.
35744
35745 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35746 chain.mod.
35747 (kernel_mod_HEADERS): Added efi/disk.h.
35748 (_chain_mod_SOURCES): New variable.
35749 (_chain_mod_CFLAGS): Likewise.
35750 (_chain_mod_LDFLAGS): Likewise.
35751 (chain_mod_SOURCES): Likewise.
35752 (chain_mod_CFLAGS): Likewise.
35753 (chain_mod_LDFLAGS): Likewise.
35754
35755 * DISTLIST: Added include/grub/efi/chainloader.h,
35756 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35757
35758 * include/grub/efi/chainloader.h: New file.
35759 * loader/efi/chainloader.c: Likewise.
35760 * loader/efi/chainloader_normal.c: Likewise.
35761
c0111d6e 357622006-04-30 Marco Gerards <marco@gnu.org>
35763
35764 * commands/configfile.c (grub_cmd_source): New function.
35765 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35766 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35767
df5341da 357682006-04-30 Marco Gerards <marco@gnu.org>
35769
35770 * normal/execute.c (grub_script_execute_cmd): Change the return
35771 type to `grub_err_t'. Correctly return the error.
35772 (grub_script_execute_cmdline): In case a command line is not a
35773 command or a function, try to interpret it as an assignment.
35774
f85934bd 357752006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35776
35777 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35778 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35779 skip a node whose name is obviously invalid as UTF-16,
35780 i.e. contains a NUL character. Stop the iteration when the last
35781 directory entry is found. Instead of using the return value of
35782 grub_hfsplus_btree_iterate_node, store the value in RET and use
35783 it, because the iterator can be stopped by the last directory
35784 entry.
35785
8f8a2cf8 357862006-04-30 Marco Gerards <marco@gnu.org>
35787
35788 * include/grub/env.h (grub_env_export): New prototype. Reported
35789 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35790
a27e84ce 357912006-04-30 Marco Gerards <marco@gnu.org>
35792
35793 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35794 size of the extents in a catalog file record.
35795
eaef0553 357962006-04-29 Marco Gerards <marco@gnu.org>
35797
35798 * commands/configfile.c (grub_cmd_configfile): Execute the
35799 configfile within its own context.
35800
35801 * include/grub/env.h (grub_env_context_open): New prototype.
35802 (grub_env_context_close): Likewise.
35803
35804 * kern/env.c (grub_env): Removed.
35805 (grub_env_sorted): Likewise.
35806 (grub_env_context): New variable.
35807 (grub_env_var_context): Likewise.
35808 (grub_env_find): Search both the active context and the global
35809 context.
35810 (grub_env_context_open): New function.
35811 (grub_env_context_close): Likewise.
35812 (grub_env_insert): Likewise.
35813 (grub_env_remove): Likewise.
35814 (grub_env_export): Likewise.
35815 (grub_env_set): Changed to use helper functions to avoid code
35816 duplication.
35817 (grub_env_iterate): Rewritten so both the current context and the
35818 global context are being used.
35819
35820 * normal/command.c (export_command): New function.
35821 (grub_command_init): Register the `export' function.
35822
7b455f4d 358232006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35824
35825 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35826 explicitly to suppress gcc's warnings.
35827 * fs/fat.c (grub_fat_find_dir): Likewise.
35828 (grub_fat_label): Likewise.
35829 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35830 (grub_xfs_mount): Likewise.
35831 (grub_xfs_label): Likewise.
35832 * fs/affs.c (grub_affs_mount): Likewise.
35833 (grub_affs_label): Likewise.
35834 (grub_affs_iterate_dir): Likewise.
35835 * fs/sfs.c (grub_sfs_mount): Likewise.
35836 (grub_sfs_iterate_dir): Likewise.
35837 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35838 * fs/hfs.c (grub_hfs_mount): Likewise.
35839 (grub_hfs_cmp_catkeys): Likewise.
35840 (grub_hfs_find_dir): Likewise.
35841 (grub_hfs_dir): Likewise.
35842 (grub_hfs_label): Likewise.
35843 * fs/jfs.c (grub_jfs_mount): Likewise.
35844 (grub_jfs_opendir): Likewise.
35845 (grub_jfs_getent): Likewise.
35846 (grub_jfs_lookup_symlink): Likewise.
35847 (grub_jfs_label): Likewise.
35848 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35849 (grub_hfsplus_iterate_dir): Likewise.
35850 (grub_hfsplus_btree_iterate_node): Made static.
35851
35852 * util/grub-emu.c (prefix): New variable.
35853 (grub_machine_set_prefix): New function.
35854 (main): Do not set the environment variable "prefix" here. Only
35855 set PREFIX, which is used later by grub_machine_set_prefix.
35856
35857 * include/grub/video.h: Do not include grub/symbol.h.
35858 (grub_video_register): Not exported. This symbol is not defined in
35859 the kernel.
35860 (grub_video_unregister): Likewise.
35861 (grub_video_iterate): Likewise.
35862 (grub_video_setup): Likewise.
35863 (grub_video_restore): Likewise.
35864 (grub_video_get_info): Likewise.
35865 (grub_video_get_blit_format): Likewise.
35866 (grub_video_set_palette): Likewise.
35867 (grub_video_get_palette): Likewise.
35868 (grub_video_set_viewport): Likewise.
35869 (grub_video_get_viewport): Likewise.
35870 (grub_video_map_color): Likewise.
35871 (grub_video_map_rgb): Likewise.
35872 (grub_video_map_rgba): Likewise.
35873 (grub_video_fill_rect): Likewise.
35874 (grub_video_blit_glyph): Likewise.
35875 (grub_video_blit_bitmap): Likewise.
35876 (grub_video_blit_render_target): Likewise.
35877 (grub_video_scroll): Likewise.
35878 (grub_video_swap_buffers): Likewise.
35879 (grub_video_create_render_target): Likewise.
35880 (grub_video_delete_render_target): Likewise.
35881 (grub_video_set_active_render_target): Likewise.
35882
35883 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35884 Undefined.
35885 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35886
35887 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35888 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35889 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35890 instead of $(srcdir)/genkernsyms.sh.
35891
35892 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35893 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35894 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35895 instead of $(srcdir)/genkernsyms.sh.
35896
35897 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35898 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35899 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35900 instead of $(srcdir)/genkernsyms.sh.
35901
35902 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35903 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35904 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35905 instead of $(srcdir)/genkernsyms.sh.
35906
35907 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35908 genkernsyms.sh.
35909
35910 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35911 genkernsyms.sh.
35912 (gensymlist.sh): New target.
35913 (genkernsyms.sh): Likewise.
35914
35915 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35916 genkernsyms.sh.in and gensymlist.sh.in.
35917
35918 * genkernsyms.sh: Removed.
35919 * gensymlist.sh: Likewise.
f19dbdb7 35920
7b455f4d 35921 * genkernsyms.sh.in: New file.
35922 * gensymlist.sh.in: Likewise.
35923
1885bb27 359242006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35925
35926 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35927 clobber "prefix", since we may have already set it manually.
35928
71538dff 359292006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35930
35931 * kern/misc.c (abort): New alias for grub_abort.
35932
2965c7cc 359332006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35934
35935 A new machine-specific function "grub_machine_set_prefix" is
35936 defined. This is called after loading modules, so that a prefix
35937 initialization can use modules. Also, this change adds an
35938 intensive debugging feature for the memory manager via the
35939 configure option "--enable-mm-debug".
f19dbdb7 35940
2965c7cc 35941 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35942 PART.LEN.
35943
35944 * kern/sparc64/ieee1275/init.c (abort): Removed.
35945 (grub_stop): Likewise.
35946 (grub_exit): New function.
35947 (grub_set_prefix): Renamed to ...
35948 (grub_machine_set_prefix): ... this.
35949 (grub_machine_init): Do not call grub_set_prefix.
35950
35951 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35952 (grub_machine_set_prefix): ... this.
35953 (grub_machine_init): Do not call grub_set_prefix.
35954
35955 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35956 (grub_machine_init): Do not set the prefix here.
35957
35958 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35959
35960 * kern/efi/init.c: Include grub/mm.h.
35961 (grub_efi_set_prefix): New function.
35962
35963 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35964 (grub_efi_get_filename): New function.
35965 (grub_print_device_path): Renamed to ...
35966 (grub_efi_print_device_path): ... this.
35967
35968 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35969 [MM_DEBUG] (grub_realloc): Likewise.
35970 [MM_DEBUG] (grub_free): Likewise.
35971 [MM_DEBUG] (grub_memalign): Likewise.
35972 [MM_DEBUG] (grub_mm_debug): New variable.
35973 [MM_DEBUG] (grub_debug_malloc): New function.
35974 [MM_DEBUG] (grub_debug_free): New function.
35975 [MM_DEBUG] (grub_debug_realloc): New function.
35976 [MM_DEBUG] (grub_debug_memalign): New function.
35977
35978 * kern/misc.c (grub_abort): Print a newline to distinguish
35979 the message.
35980
35981 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35982 grub_set_root_dev after loading modules. This is necessary when
35983 setting a prefix depends on modules.
35984
35985 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35986 (grub_efi_print_device_path): ... this.
35987 (grub_efi_get_filename): New prototype.
35988 (grub_efi_set_prefix): Likewise.
35989
35990 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35991 and grub/disk.h.
35992 (grub_efidisk_get_device_handle): New prototype.
35993 (grub_efidisk_get_device_name): Likewise.
35994
35995 * include/grub/mm.h: Include config.h.
35996 (MM_DEBUG): Removed.
35997 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35998 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35999 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
36000 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
36001 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
36002 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
36003 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
36004 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
36005 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
36006
36007 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
36008
36009 * disk/efi/efidisk.c: Include grub/partition.h.
36010 (iterate_child_devices): New function.
36011 (add_device): First, compare only last device path nodes, so that
36012 devices are sorted by the types.
36013 (grub_efidisk_get_device_handle): New function.
36014 (grub_efidisk_get_device_name): Likewise.
36015
36016 * configure.ac (--enable-mm-debug): New option to enable the
36017 memory manager debugging feature. This makes the binary much
36018 bigger, so is disabled by default.
36019
9cacaa17 360202006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
36021
36022 Use grub_abort instead of grub_stop, and grub_exit must be
36023 define in each architecture now. Also, this change adds support
36024 for EFI disks.
f19dbdb7 36025
9cacaa17 36026 * util/i386/pc/grub-probefs.c: Include grub/term.h.
36027 (grub_getkey): New function.
36028 (grub_term_get_current): Likewise.
36029
36030 * util/i386/pc/grub-setup.c: Include grub/term.h.
36031 (grub_getkey): New function.
36032 (grub_term_get_current): Likewise.
36033
36034 * util/misc.c (grub_stop): Renamed to ...
36035 (grub_exit): ... this.
36036
36037 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
36038 (grub_exit): ... this.
36039 (grub_machine_init): Use grub_abort instead of abort.
36040 (grub_stop): Removed.
36041
36042 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
36043 abort.
36044
36045 * kern/i386/pc/startup.S (grub_exit): New function.
36046 (cold_reboot): New label.
36047
36048 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
36049 (grub_efi_init): Call grub_efidisk_init.
36050 (grub_efi_fini): Call grub_efidisk_fini.
36051
36052 * kern/efi/efi.c: Include grub/mm.h.
36053 (grub_efi_console_control_guid): Renamed to ...
36054 (console_control_guid): ... this.
36055 (grub_efi_loaded_image_guid): Renamed to ...
36056 (loaded_image_guid): ... this.
36057 (grub_efi_locate_handle): New function.
36058 (grub_efi_open_protocol): Likewise.
36059 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
36060 GRUB_EFI_CONSOLE_CONTROL_GUID.
36061 (grub_efi_exit): Removed.
36062 (grub_stop): Likewise.
36063 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
36064 (grub_exit): New function.
36065 (grub_print_device_path): Likewise.
36066
36067 * kern/rescue.c (grub_rescue_cmd_exit): New function.
36068 (grub_enter_rescue_mode): Register "exit".
36069
36070 * kern/misc.c (grub_real_dprintf): A cosmetic change.
36071 (grub_abort): New function.
36072
36073 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
36074
36075 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
36076
36077 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
36078
36079 * include/grub/efi/efi.h (grub_efi_exit): Removed.
36080 (grub_print_device_path): New prototype.
36081 (grub_efi_locate_handle): Likewise.
36082 (grub_efi_open_protocol): Likewise.
36083
36084 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
36085 * disk/efi/efidisk.c: Likewise.
36086
36087 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
36088
36089 * include/grub/efi/console_control.h
36090 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
36091
36092 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
36093 last 8 bytes as an array.
36094 (GRUB_EFI_DISK_IO_GUID): New macro.
36095 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
36096 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
36097 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
36098 grub_uint8_t.
36099 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
36100 (struct grub_efi_device_path): Rename the member "sub_type" to
36101 "subtype".
36102 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
36103 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
36104 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
36105 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
36106 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
36107 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
36108 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
36109 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
36110 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
36111 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
36112 (struct grub_efi_pci_device_path): New structure.
36113 (grub_efi_pci_device_path_t): New type.
36114 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
36115 (struct grub_efi_pccard_device_path): New structure.
36116 (grub_efi_pccard_device_path_t): New type.
36117 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
36118 (struct grub_efi_memory_mapped_device_path): New structure.
36119 (grub_efi_memory_mapped_device_path_t): New type.
36120 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
36121 (struct grub_efi_vendor_device_path): New structure.
36122 (grub_efi_vendor_device_path_t): New type.
36123 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
36124 (struct grub_efi_controller_device_path): New structure.
36125 (grub_efi_controller_device_path_t): New type.
36126 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
36127 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
36128 (struct grub_efi_acpi_device_path): New structure.
36129 (grub_efi_acpi_device_path_t): New type.
36130 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
36131 (struct grub_efi_expanded_acpi_device_path): New structure.
36132 (grub_efi_expanded_acpi_device_path_t): New type.
36133 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
36134 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
36135 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
36136 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
36137 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
36138 (struct grub_efi_atapi_device_path): New structure.
36139 (grub_efi_atapi_device_path_t): New type.
36140 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
36141 (struct grub_efi_fibre_channel_device_path): New structure.
36142 (grub_efi_fibre_channel_device_path_t): New type.
36143 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
36144 (struct grub_efi_1394_device_path): New structure.
36145 (grub_efi_1394_device_path_t): New type.
36146 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
36147 (struct grub_efi_usb_device_path): New structure.
36148 (grub_efi_usb_device_path_t): New type.
36149 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
36150 (struct grub_efi_usb_class_device_path): New structure.
36151 (grub_efi_usb_class_device_path_t): New type.
36152 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
36153 (struct grub_efi_i2o_device_path): New structure.
36154 (grub_efi_i2o_device_path_t): New type.
36155 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
36156 (struct grub_efi_mac_address_device_path): New structure.
36157 (grub_efi_mac_address_device_path_t): New type.
36158 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
36159 (struct grub_efi_ipv4_device_path): New structure.
36160 (grub_efi_ipv4_device_path_t): New type.
36161 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
36162 (struct grub_efi_ipv6_device_path): New structure.
36163 (grub_efi_ipv6_device_path_t): New type.
36164 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
36165 (struct grub_efi_infiniband_device_path): New structure.
36166 (grub_efi_infiniband_device_path_t): New type.
36167 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
36168 (struct grub_efi_uart_device_path): New structure.
36169 (grub_efi_uart_device_path_t): New type.
36170 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
36171 (struct grub_efi_vendor_messaging_device_path): New structure.
36172 (grub_efi_vendor_messaging_device_path_t): New type.
36173 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
36174 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
36175 (struct grub_efi_hard_drive_device_path): New structure.
36176 (grub_efi_hard_drive_device_path_t): New type.
36177 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
36178 (struct grub_efi_cdrom_device_path): New structure.
36179 (grub_efi_cdrom_device_path_t): New type.
36180 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
36181 (struct grub_efi_vendor_media_device_path): New structure.
36182 (grub_efi_vendor_media_device_path_t): New type.
36183 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
36184 (struct grub_efi_file_path_device_path): New structure.
36185 (grub_efi_file_path_device_path_t): New type.
36186 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
36187 (struct grub_efi_protocol_device_path): New structure.
36188 (grub_efi_protocol_device_path_t): New type.
36189 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
36190 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
36191 (struct grub_efi_bios_device_path): New structure.
36192 (grub_efi_bios_device_path_t): New type.
36193 (struct grub_efi_disk_io): New structure.
36194 (grub_efi_disk_io_t): New type.
36195 (struct grub_efi_block_io_media): New structure.
36196 (grub_efi_block_io_media_t): New type.
36197 (struct grub_efi_block_io): New structure.
36198 (grub_efi_block_io_t): New type.
36199
36200 * include/grub/misc.h (grub_stop): Removed.
36201 (grub_exit): New prototype.
36202 (grub_abort): Likewise.
36203
36204 * include/grub/disk.h (enum grub_disk_dev_id): Added
36205 GRUB_DISK_DEVICE_EFIDISK_ID.
36206
36207 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
36208 disk/efi/efidisk.c.
36209 (kernel_syms.lst): Remove the target if an error occurs.
36210
49986a9f 362112006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
36212
36213 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
36214 as it was simply too buggy.
36215
970d3b8a 362162006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
36217
36218 * kern/misc.c (grub_lltoa): New function.
36219 (grub_vsprintf): Added support for the long long suffix,
36220 i.e. "ll".
36221
ff04ec24 362222006-04-20 Hollis Blanchard <hollis@penguinppc.org>
36223
36224 * Makefile.in (LDFLAGS): Add variable.
36225 (LD): Remove variable.
36226 * configure.ac: Add -m32 to LDFLAGS.
36227 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
36228 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
36229 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
36230 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
36231 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
36232 variables.
36233 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
36234 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
36235 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
36236
37e5e1a4 362372006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
36238
36239 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
36240 length for unknown glyph.
36241
c352d8dd 362422006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
36243
2eab1c0d 36244 Add support for pre-loaded modules into the EFI port.
f19dbdb7 36245
2eab1c0d 36246 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
36247 completely. Accept one more argument DIR. The caller has changed.
36248
36249 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
36250
36251 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
36252 (grub_efi_loaded_image_guid): New variable.
36253 (grub_efi_get_loaded_image): New function.
36254 (grub_arch_modules_addr): Likewise.
36255
36256 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
36257 prototype.
36258
36259 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
36260 (struct grub_efi_loaded_image): New structure.
36261 (grub_efi_loaded_image_t): New type.
36262
362632006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36264
c352d8dd 36265 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
36266 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
36267 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
36268
6d01d6b4 362692006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
36270
36271 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
36272
976a4ea0 362732006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
36274
36275 * DISTLIST: Added include/grub/efi/console.h,
36276 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
36277 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36278
36279 * include/grub/efi/console.h: New file.
36280 * include/grub/efi/time.h: Likewise.
36281 * include/grub/i386/efi/kernel.h: Likewise.
36282 * kern/efi/init.c: Likewise.
36283 * kern/efi/mm.c: Likewise.
36284 * term/efi/console.c: Likewise.
f19dbdb7 36285
976a4ea0 36286 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
36287 (grub_stop): Removed.
36288 (grub_get_rtc): Likewise.
36289 (grub_machine_init): Simply call grub_efi_init.
36290 (grub_machine_fini): Call grub_efi_fini.
36291
36292 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
36293 (grub_efi_output_string): Removed.
36294 (grub_efi_stall): New function.
36295 (grub_stop): Likewise.
36296 (grub_get_rtc): Likewise.
36297
36298 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
36299 (grub_efi_stall): New prototype.
36300 (grub_efi_allocate_pages): Likewise.
36301 (grub_efi_free_pages): Likewise.
36302 (grub_efi_get_memory_map): Likewise.
36303 (grub_efi_mm_init): Likewise.
36304 (grub_efi_mm_fini): Likewise.
36305 (grub_efi_init): Likewise.
36306 (grub_efi_fini): Likewise.
36307
36308 * include/grub/i386/efi/time.h: Do not include
36309 grub/symbol.h. Include grub/efi/time.h.
36310 (GRUB_TICKS_PER_SECOND): Removed.
36311 (grub_get_rtc): Likewise.
36312
36313 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
36314 Added padding. The EFI spec is buggy.
36315 (GRUB_EFI_BLACK): New macro.
36316 (GRUB_EFI_BLUE): Likewise.
36317 (GRUB_EFI_GREEN): Likewise.
36318 (GRUB_EFI_CYAN): Likewise.
36319 (GRUB_EFI_RED): Likewise.
36320 (GRUB_EFI_MAGENTA): Likewise.
36321 (GRUB_EFI_BROWN): Likewise.
36322 (GRUB_EFI_LIGHTGRAY): Likewise.
36323 (GRUB_EFI_BRIGHT): Likewise.
36324 (GRUB_EFI_DARKGRAY): Likewise.
36325 (GRUB_EFI_LIGHTBLUE): Likewise.
36326 (GRUB_EFI_LIGHTGREEN): Likewise.
36327 (GRUB_EFI_LIGHTCYAN): Likewise.
36328 (GRUB_EFI_LIGHTRED): Likewise.
36329 (GRUB_EFI_LIGHTMAGENTA): Likewise.
36330 (GRUB_EFI_YELLOW): Likewise.
36331 (GRUB_EFI_WHITE): Likewise.
36332 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
36333 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
36334 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
36335 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
36336 (GRUB_EFI_BACKGROUND_RED): Likewise.
36337 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
36338 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
36339 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
36340 (GRUB_EFI_TEXT_ATTR): Likewise.
36341
36342 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
36343 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36344 (kernel_mod_HEADERS): Added efi/time.h.
36345
83709125 363462006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
36347
36348 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
36349 include/grub/efi/api.h, include/grub/efi/console_control.h,
36350 include/grub/efi/efi.h, include/grub/efi/pe32.h,
36351 include/grub/i386/efi/time.h, kern/efi/efi.c,
36352 kern/i386/efi/init.c, kern/i386/efi/startup.S,
36353 and util/i386/efi/grub-mkimage.c.
36354
36355 * Makefile.in (RMKFILES): Added i386-efi.rmk.
36356
36357 * genmk.rb (PModule#rule): Do not export symbols if
36358 #{prefix}_EXPORTS is set to "no".
36359
36360 * conf/i386-efi.mk: New file.
36361 * conf/i386-efi.rmk: Likewise.
36362 * include/grub/efi/api.h: Likewise.
36363 * include/grub/efi/console_control.h: Likewise.
36364 * include/grub/efi/efi.h: Likewise.
36365 * include/grub/efi/pe32.h: Likewise.
36366 * include/grub/i386/efi/time.h: Likewise.
36367 * kern/efi/efi.c: Likewise.
36368 * kern/i386/efi/init.c: Likewise.
36369 * kern/i386/efi/startup.S: Likewise.
36370 * util/i386/efi/grub-mkimage.c: Likewise.
36371
363722006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 36373
36374 * include/grub/script.h: Include <grub/parser.h> and
36375 "grub_script.tab.h".
36376 (struct grub_lexer_param): New struct.
36377 (struct grub_parser_param): Likewise.
36378 (grub_script_create_arglist): Pass the state in an argument.
36379 (grub_script_add_arglist): Likewise.
36380 (grub_script_create_cmdline): Likewise.
36381 (grub_script_create_cmdblock): Likewise.
36382 (grub_script_create_cmdif): Likewise.
36383 (grub_script_create_cmdmenu): Likewise.
36384 (grub_script_add_cmd): Likewise.
36385 (grub_script_arg_add): Likewise.
36386 (grub_script_lexer_ref): Likewise.
36387 (grub_script_lexer_deref): Likewise.
36388 (grub_script_lexer_record_start): Likewise.
36389 (grub_script_lexer_record_stop): Likewise.
36390 (grub_script_mem_record): Likewise.
36391 (grub_script_mem_record_stop): Likewise.
36392 (grub_script_malloc): Likewise.
36393 (grub_script_yylex): Likewise.
36394 (grub_script_yyparse): Likewise.
36395 (grub_script_yyerror): Likewise.
36396 (grub_script_yylex): Likewise.
36397 (grub_script_lexer_init): Return the state.
36398
36399 * normal/lexer.c (grub_script_lexer_state): Removed variable.
36400 (grub_script_lexer_done): Likewise.
36401 (grub_script_lexer_getline): Likewise.
36402 (grub_script_lexer_refs): Likewise.
36403 (script): Likewise.
36404 (newscript): Likewise.
36405 (record): Likewise.
36406 (recording): Likewise.
36407 (recordpos): Likewise.
36408 (recordlen): Likewise.
36409 (grub_script_lexer_init): Return the state instead of setting
36410 global variables.
36411 (grub_script_lexer_ref): Use the newly added argument for state
36412 instead of globals.
36413 (grub_script_lexer_deref): Likewise.
36414 (grub_script_lexer_record_start): Likewise.
36415 (grub_script_lexer_record_stop): Likewise.
36416 (recordchar): Likewise.
36417 (nextchar): Likewise.
36418 (grub_script_yylex2): Likewise.
36419 (grub_script_yylex): Likewise.
36420 (grub_script_yyerror): Likewise.
36421
36422 * normal/parser.y (func_mem): Removed variable.
36423 (menu_entry): Likewise.
36424 (err): Likewise.
36425 (%lex-param): New parser option.
36426 (%parse-param): Likewise.
36427 (script): Always return the AST.
36428 (argument): Pass the state around.
36429 (arguments): Likewise.
36430 (grubcmd): Likewise.
36431 (commands): Likewise.
36432 (function): Likewise.
36433 (menuentry): Likewise.
36434 (if_statement): Likewise.
36435 (if): Likewise.
36436
36437 * normal/script.c (grub_script_memused): Removed variable.
36438 (grub_script_parsed): Likewise.
36439 (grub_script_malloc): Added a state argument. Use that instead of
36440 global variables.
36441 (grub_script_mem_record): Likewise.
36442 (grub_script_mem_record_stop): Likewise.
36443 (grub_script_arg_add): Likewise.
36444 (grub_script_add_arglist): Likewise.
36445 (grub_script_create_cmdline): Likewise.
36446 (grub_script_create_cmdif): Likewise.
36447 (grub_script_create_cmdmenu): Likewise.
36448 (grub_script_add_cmd): Likewise.
36449 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 36450
e2a8c904 364512006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 36452
36453 * normal/command.c (grub_command_init): Remove the title command.
36454
36455 * normal/lexer.c (grub_script_yylex): Renamed from this...
36456 (grub_script_yylex2): ... to this.
36457 (grub_script_yylex): New function. Temporary
36458 introduced to filter some tokens.
36459 (grub_script_yyerror): Print a newline.
36460
36461 * normal/main.c (read_config_file): Output information about the
36462 lines that contain errors. Wait for a key after all lines have
36463 been processed. Don't return an empty menu.
36464
36465 * normal/parser.y (func_mem): Don't initialize.
36466 (menu_entry): Likewise.
36467 (err): New variable.
36468 (script): Don't return anything when an error was encountered.
36469 (ws, returns): Removed rules.
36470 (argument): Disabled concatenated variable support.
36471 (arguments): Remove explicit separators.
36472 (grubcmd): Likewise.
36473 (function): Likewise.
36474 (menuentry): Likewise.
36475 (if): Likewise.
36476 (commands): Likewise. Add error handling.
36477
36478 * normal/script.c (grub_script_create_cmdline): If
36479 `grub_script_parsed' is 0, assume the parser encountered an error.
36480
c9a86192 364812006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
36482
36483 * configure.ac: Add support for EFI. Fix the typo
36484 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36485
70f3b243 364862006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36487
36488 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36489 foreign multibyte characters should be shown correctly.
36490
65f201ad 364912006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36492
36493 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36494 calculation.
36495 (read_config_file): Made it to close file before returning.
36496
b4b93674 364972006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36498
36499 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36500 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36501 video/i386/pc/vbefill.c.
36502
36503 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36504 video/i386/pc/vbefill.c.
36505
36506 * include/grub/video.h (grub_video_blit_format): New enum.
36507 (grub_video_mode_info): Added new member blit_format.
36508 (grub_video_get_blit_format): New function prototype.
36509
36510 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36511 function prototype.
36512 (grub_video_vbe_map_rgb): Likewise.
36513 (grub_video_vbe_unmap_color): Likewise.
36514
36515 * include/grub/i386/pc/vbeblit.h: New file.
36516
36517 * include/grub/i386/pc/vbefill.h: New file.
36518
36519 * video/video.c (grub_video_get_blit_format): New function.
36520 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36521 (grub_video_vbe_map_rgb): Likewise.
36522 (grub_video_vbe_unmap_color): Likewise.
36523
36524 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36525 optimized fills.
36526 (grub_video_vbe_blit_render_target): Changed to use more optimized
36527 blits.
36528 (grub_video_vbe_setup): Added detection for optimized settings.
36529 (grub_video_vbe_create_render_target): Likewise.
36530
36531 * video/i386/pc/vbeblit.c: New file.
36532
36533 * video/i386/pc/vbefill.c: New file.
36534
c2379b9c 365352006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36536
36537 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36538 here...
36539
36540 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36541 parsing to support both hex and dec ranges. If filename was missing
36542 show usage information.
36543
bd0d7896 365442006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36545
36546 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36547 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36548
36549 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36550 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36551 (video_mod_SOURCES): Added.
36552 (video_mod_CFLAGS): Likewise.
36553 (video_mod_LDFLAGS): Likewise.
36554 (gfxterm_mod_SOURCES): Likewise.
36555 (gfxterm_mod_CFLAGS): Likewise.
36556 (gfxterm_mod_LDFLAGS): Likewise.
36557 (videotest_mod_SOURCES): Likewise.
36558 (videotest_mod_CFLAGS): Likewise.
36559 (videotest_mod_LDFLAGS): Likewise.
36560 (vesafb_mod_SOURCES): Removed.
36561 (vesafb_mod_CFLAGS): Likewise.
36562 (vesafb_mod_LDFLAGS): Likewise.
36563 (vga_mod_SOURCES): Likewise.
36564 (vga_mod_CFLAGS): Likewise.
36565 (vga_mod_LDFLAGS): Likewise.
36566
36567 * commands/videotest.c: New file.
36568
36569 * font/manager.c (fill_with_default_glyph): Modified to use
36570 grub_font_glyph.
36571 (grub_font_get_glyph): Likewise.
36572 (fontmanager): Renamed from this...
36573 (font_manager): ... to this.
36574
36575 * include/grub/font.h (grub_font_glyph): Added new structure.
36576 (grub_font_get_glyph): Modified to use grub_font_glyph.
36577
36578 * include/grub/misc.h (grub_abs): Added as inline function.
36579
36580 * include/grub/video.h: New file.
36581
36582 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36583 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36584 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36585 (grub_vbe_get_controller_info): Renamed from this...
36586 (grub_vbe_bios_get_controller_info): ... to this.
36587 (grub_vbe_get_mode_info): Renamed from this...
36588 (grub_vbe_bios_get_mode_info): ... to this.
36589 (grub_vbe_set_mode): Renamed from this...
36590 (grub_vbe_bios_set_mode): ... to this.
36591 (grub_vbe_get_mode): Renamed from this...
36592 (grub_vbe_bios_get_mode): ... to this.
36593 (grub_vbe_set_memory_window): Renamed from this...
36594 (grub_vbe_bios_set_memory_window): ... to this.
36595 (grub_vbe_get_memory_window): Renamed from this...
36596 (grub_vbe_bios_get_memory_window): ... to this.
36597 (grub_vbe_set_scanline_length): Renamed from this...
36598 (grub_vbe_set_scanline_length): ... to this.
36599 (grub_vbe_get_scanline_length): Renamed from this...
36600 (grub_vbe_bios_get_scanline_length): ... to this.
36601 (grub_vbe_set_display_start): Renamed from this...
36602 (grub_vbe_bios_set_display_start): ... to this.
36603 (grub_vbe_get_display_start): Renamed from this...
36604 (grub_vbe_bios_get_display_start): ... to this.
36605 (grub_vbe_set_palette_data): Renamed from this...
36606 (grub_vbe_bios_set_palette_data): ... to this.
36607 (grub_vbe_set_pixel_rgb): Removed.
36608 (grub_vbe_set_pixel_index): Likewise.
36609
36610 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36611 from this...
36612 (grub_vbe_bios_get_controller_info): ... to this.
36613 (grub_vbe_get_mode_info): Renamed from this...
36614 (grub_vbe_bios_get_mode_info): ... to this.
36615 (grub_vbe_set_mode): Renamed from this...
36616 (grub_vbe_bios_set_mode): ... to this.
36617 (grub_vbe_get_mode): Renamed from this...
36618 (grub_vbe_bios_get_mode): ... to this.
36619 (grub_vbe_set_memory_window): Renamed from this...
36620 (grub_vbe_bios_set_memory_window): ... to this.
36621 (grub_vbe_get_memory_window): Renamed from this...
36622 (grub_vbe_bios_get_memory_window): ... to this.
36623 (grub_vbe_set_scanline_length): Renamed from this...
36624 (grub_vbe_set_scanline_length): ... to this.
36625 (grub_vbe_get_scanline_length): Renamed from this...
36626 (grub_vbe_bios_get_scanline_length): ... to this.
36627 (grub_vbe_set_display_start): Renamed from this...
36628 (grub_vbe_bios_set_display_start): ... to this.
36629 (grub_vbe_get_display_start): Renamed from this...
36630 (grub_vbe_bios_get_display_start): ... to this.
36631 (grub_vbe_set_palette_data): Renamed from this...
36632 (grub_vbe_bios_set_palette_data): ... to this.
36633 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36634 getting corrupted after calling it. Added more pushes and pops.
36635 (grub_vbe_bios_set_mode): Likewise.
36636 (grub_vbe_bios_get_mode): Likewise.
36637 (grub_vbe_bios_get_memory_window): Likewise.
36638 (grub_vbe_bios_set_scanline_length): Likewise.
36639 (grub_vbe_bios_get_scanline_length): Likewise.
36640 (grub_vbe_bios_get_display_start): Likewise.
36641 (grub_vbe_bios_set_palette_data): Likewise.
36642
36643 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36644 (cl_insert): Likewise.
36645 (cl_delete): Likewise.
36646
36647 * term/gfxterm.c: New file.
36648
36649 * term/i386/pc/vesafb.c: Removed file.
36650
36651 * video/video.c: New file.
36652
36653 * video/i386/pc/vbe.c (real2pm): Added new function.
36654 (grub_video_vbe_draw_pixel): Likewise.
36655 (grub_video_vbe_get_video_ptr): Likewise.
36656 (grub_video_vbe_get_pixel): Likewise
36657 (grub_video_vbe_init): Likewise.
36658 (grub_video_vbe_fini): Likewise.
36659 (grub_video_vbe_setup): Likewise.
36660 (grub_video_vbe_get_info): Likewise.
36661 (grub_video_vbe_set_palette): Likewise.
36662 (grub_video_vbe_get_palette): Likewise.
36663 (grub_video_vbe_set_viewport): Likewise.
36664 (grub_video_vbe_get_viewport): Likewise.
36665 (grub_video_vbe_map_color): Likewise.
36666 (grub_video_vbe_map_rgb): Likewise.
36667 (grub_video_vbe_map_rgba): Likewise.
36668 (grub_video_vbe_unmap_color): Likewise.
36669 (grub_video_vbe_fill_rect): Likewise.
36670 (grub_video_vbe_blit_glyph): Likewise.
36671 (grub_video_vbe_blit_bitmap): Likewise.
36672 (grub_video_vbe_blit_render_target): Likewise.
36673 (grub_video_vbe_scroll): Likewise.
36674 (grub_video_vbe_swap_buffers): Likewise.
36675 (grub_video_vbe_create_render_target): Likewise.
36676 (grub_video_vbe_delete_render_target): Likewise.
36677 (grub_video_vbe_set_active_render_target): Likewise.
36678 (grub_vbe_set_pixel_rgb): Remove function.
36679 (grub_vbe_set_pixel_index): Likewise.
36680 (index_color_mode): Remove static variable.
36681 (active_mode): Likewise.
36682 (framebuffer): Likewise.
36683 (bytes_per_scan_line): Likewise.
36684 (grub_video_vbe_adapter): Added new static variable.
36685 (framebuffer): Likewise.
36686 (render_target): Likewise.
36687 (initial_mode): Likewise.
36688 (mode_in_use): Likewise.
36689 (mode_list): Likewise.
36690
5f97350b 366912006-03-10 Marco Gerards <marco@gnu.org>
36692
36693 * configure.ac (AC_INIT): Bumped to 1.93.
36694
36695 * DISTLIST: Added `include/grub/hfs.h'.
36696
a3c5c6f8 366972006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36698
36699 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36700 18H, which might help the BIOS falling back to next boot media.
36701
6de53d26 367022006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36703
36704 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36705 Poe Chen <poe.poechen@gmail.com>.
36706
77c4a393 367072006-01-17 Marco Gerards <marco@gnu.org>
36708
36709 * include/grub/normal.h: Include <grub/script.h>.
36710 (grub_command_list): Removed struct.
36711 (grub_command_list_t): Removed type.
36712 (grub_menu_entry): Remove members `num' and `command_list'. Add
36713 members `commands' and `sourcecode'.
36714 * include/grub/script.h: Add inclusion guards.
36715 (grub_script_cmd_menuentry): New struct.
36716 (grub_script_execute_menuentry): New prototype.
36717 (grub_script_lexer_record_start): Likewise.
36718 (grub_script_lexer_record_stop): Likewise.
36719 * normal/execute.c (grub_script_execute_menuentry): New function.
36720 * normal/lexer.c (record, recording, recordpos, recordlen): New
36721 variables.
36722 (grub_script_lexer_record_start): New function.
36723 (grub_script_lexer_record_stop): Likewise.
36724 (recordchar): Likewise.
36725 (nextchar): Likewise.
36726 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36727 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36728 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36729 (current_menu): New variable.
36730 (free_menu): Mainly rewritten.
36731 (grub_normal_menu_addentry): New function.
36732 (read_config_file): Rewritten.
36733 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 36734 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 36735 the menu entry.
36736 (run): Mainly rewritten.
36737 * normal/parser.y (menu_entry): New variable.
36738 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36739 (menuentry): New rule.
36740 (command): Add `menuentry'.
36741 (if_statement): Allow additional returns before `fi'.
36742 * normal/script.c (grub_script_create_cmdmenu): New function.
36743
144f1f98 367442006-01-03 Marco Gerards <marco@gnu.org>
36745
36746 * INSTALL: GNU Bison is required.
36747 * configure.ac: Rewritten the test to detect Bison.
36748 * Makefile.in (YACC): New variable. Reported by Xun Sun
36749 <xun.sun.cn@gmail.com>.
36750
af4b2d89 367512006-01-03 Marco Gerards <marco@gnu.org>
36752
36753 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36754 the HFS+ filesystem to filesystem blocks.
36755 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36756 GCC warning is silenced.
36757
15643b71 367582006-01-03 Marco Gerards <marco@gnu.org>
36759
36760 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36761 read from disk from big endian to host byte order.
36762
00905879 367632006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36764
36765 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36766 documentation.
36767 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36768 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36769 embedded HFS+ filesystem.
36770 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36771 (grub_hfs_sblock): Move from here...
36772 * include/grub/hfs.h: To here... New file.
36773 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36774 documentation.
36775 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36776 New macros.
36777 (grub_hfsplus_volheader): Change type of member `magic' to
36778 `grub_uint16_t'.
36779 (grub_hfsplus_data): Add new member `embedded_offset'.
36780 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36781 returned block.
36782 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36783 Calculate the offset.
36784
8899bc3e 367852005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36786
36787 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36788 Removed.
36789 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36790
ae8c0277 367912005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36792
36793 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36794 ENV->NAME is NULL after allocating ENV->VALUE.
36795
07084456 367962005-12-25 Marco Gerards <marco@gnu.org>
36797
36798 * kern/env.c (grub_env_set): Rewritten the error handling code.
36799
4750f5f1 368002005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36801
36802 * geninit.sh: Made more robust, and more portable.
36803
50214199 368042005-12-25 Marco Gerards <marco@gnu.org>
36805
36806 Add support for Apple HFS+ filesystems.
f19dbdb7 36807
50214199 36808 * fs/hfsplus.c: New file.
36809
36810 * DISTLIST: Added `fs/hfsplus.c'.
36811
36812 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36813 (hfsplus_mod_SOURCES): New variable.
36814 (hfsplus_mod_CFLAGS): Likewise.
36815 (hfsplus_mod_LDFLAGS): Likewise.
36816 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36817 (grub_setup_SOURCES): Likewise.
36818 (grub_mkdevicemap_SOURCES): Likewise.
36819 (grub_emu_SOURCES): Likewise.
36820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36821
36822 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36823
36824 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36825
befaed6c 368262005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36827
36828 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36829 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36830 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36831 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36832 normal/lexer.c, normal/parser.y, normal/script.c, and
36833 partmap/gpt.c.
36834 Removed kern/sparc64/cache.c.
36835
36836 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36837 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36838 grub_emu_init.c.
36839
36840 * configure.ac (AC_INIT): Bumped to 1.92.
36841
6a124103 368422005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36843
36844 * kern/err.c (grub_error_push): Added new function to support error
36845 stacks.
36846 (grub_error_pop): Likewise.
36847 (grub_error_stack_items): New local variable to support error stacks.
36848 (grub_error_stack_pos): Likewise.
36849 (grub_error_stack_assert): Likewise.
36850 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36851 stack depth.
36852 (grub_print_error): Added support to print errors from error stack.
36853
36854 * include/grub/err.h (grub_error_push): Added function prototype.
36855 (grub_error_pop): Likewise.
36856
be973c1b 368572005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36858
36859 * configure.ac: Accept `powerpc64' as host_cpu.
36860 (amd64): Rename to `biarch32'.
36861
36862 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36863 non-cacheline-aligned addresses.
36864
36865 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36866 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36867 if `size' is non-zero.
36868
b04216ab 368692005-12-03 Marco Gerards <mgerards@xs4all.nl>
36870
36871 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36872 and `cd' to make sure the filename is not prefixed with a
36873 directory name.
36874 (pkgdata_MODULES): Add `gpt.mod'.
36875 (gpt_mod_SOURCES): New variable.
36876 (gpt_mod_CFLAGS): Likewise.
36877 (gpt_mod_LDFLAGS): Likewise.
36878
36879 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36880
36881 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36882 New macro.
36883
36884 * partmap/gpt.c: New file.
36885
36886 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36887 GPT partition map is detected.
36888
41730ed9 368892005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36890
36891 * commands/i386/pc/play.c: New file.
36892 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36893 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36894 macros.
f19dbdb7 36895
95dc3643 368962005-11-27 Marco Gerards <mgerards@xs4all.nl>
36897
36898 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36899 ((unused))' to silence gcc warning.
36900
1569ec51 369012005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36902
36903 * configure.ac: Correct `AC_PROG_YACC' test.
36904
9abde152 369052005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36906
36907 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36908 check before installing files.
36909
44b83271 369102005-11-22 Mike Small <smallm@panix.com>
36911
36912 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36913 number regex so multidigit numbers are recognized correctly.
36914
369152005-11-22 Mike Small <smallm@panix.com>
36916
36917 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36918 debugging message before attempting to claim memory.
36919 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36920 multiple addresses in case of failure.
36921
9c12956b 369222005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36923
36924 * term/tparm.c (get_space): Remove empty `if' statement.
36925
36926 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36927
36928 * kern/parser.c (check_varstate): Rename `state' to 's'.
36929
aeaf81d9 369302005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36931
36932 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36933 variable definitions to the beginning of each function. Sort stack
36934 variables by size.
36935 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36936 `buf' argument to `char *'.
36937
79bbb63f 369382005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36939
36940 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36941 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36942 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 36943 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36944 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36945 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36946 configfile.mod, search.mod, gzio.mod and test.mod.
36947 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36948 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36949 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36950 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36951 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36952 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36953 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36954 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36955 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36956 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36957 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36958 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36959 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36960 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36961 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36962 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36963 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36964 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36965 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36966 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36967 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36968 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36969 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36970
36971 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36972 `grep --include'.
36973 (pkgdata_MODULES): Add test.mod.
36974
233b1628 369752005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36976
36977 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36978 appending to variables with "+=".
36979 (PModule): Use full pathname to generate *.lst filenames.
36980
36981 * Makefile.in: Fixed list rules moved from genmk.rb.
36982 (.DELETE_ON_ERROR): New special target.
36983 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36984
36985 * conf/i386-pc.rmk: Include conf/common.mk.
36986 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36987 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 36988 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36989 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36990 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36991 configfile.mod, search.mod, gzio.mod and test.mod.
36992 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36993 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36994 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36995 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36996 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36997 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36998 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36999 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
37000 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
37001 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
37002 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37003 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37004 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
37005 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
37006 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
37007 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
37008 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37009 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
37010 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
37011 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
37012 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
37013 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
37014 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
37015 here...
37016 * conf/common.rmk: ... to here. New file.
37017
37018 * conf/common.mk: New file.
37019
16f820c8 370202005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
37021
37022 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
37023 (grub_script.tab.c): ... here.
37024
37025 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
37026 (grub_script.tab.c): ... here.
37027
37028 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
37029 (grub_script.tab.c): ... here.
37030
37031 * normal/command.c (grub_command_find): Fixed a memory leak of
37032 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
37033
63ba1554 370342005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37035
37036 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
37037 "@" which marks the start of a comment on ARM.
37038 (VARIABLE): Likewise.
37039
7f67dc13 370402005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37041
79bbb63f 37042 Add support for Linux/ADFS partition tables.
7f67dc13 37043
37044 * partmap/acorn.c: New file.
37045
37046 * include/grub/acorn_filecore.h: Likewise.
37047
37048 * DISTLIST: Added `partmap/acorn.c' and
37049 `include/grub/acorn_filecore.h'.
f19dbdb7 37050
7f67dc13 37051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37052 `partmap/acorn.c'.
37053 (pkgdata_MODULES): Add `acorn.mod'.
37054 (acorn_mod_SOURCES): New variable.
37055 (acorn_mod_CFLAGS): Likewise.
37056
37057 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37058 `partmap/acorn.c'.
37059 (pkgdata_MODULES): Add `acorn.mod'.
37060 (acorn_mod_SOURCES): New variable.
37061 (acorn_mod_CFLAGS): Likewise.
37062
37063 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
37064 (pkgdata_MODULES): Add `acorn.mod'.
37065 (acorn_mod_SOURCES): New variable.
37066 (acorn_mod_CFLAGS): Likewise.
37067 (acorn_mod_LDFLAGS): Likewise.
37068
37069 * include/types.h (grub_disk_addr_t): New typedef.
37070
6d099807 370712005-11-13 Marco Gerards <mgerards@xs4all.nl>
37072
37073 * geninit.sh: New file.
37074
37075 * geninitheader.sh: Likewise.
37076
37077 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
37078 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
37079 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
37080 * commands/configfile.c (grub_configfile_init)
37081 (grub_configfile_fini): Likewise.
37082 * commands/default.c (grub_default_init, grub_default_fini):
37083 Likewise.
37084 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
37085 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
37086 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
37087 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
37088 Likewise.
37089 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
37090 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
37091 Likewise.
37092 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 37093 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 37094 Likewise.
37095 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
37096 Likewise.
fe6b695a 37097 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 37098 Likewise.
37099 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
37100 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
37101 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
37102 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
37103 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
37104 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
37105 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
37106 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
37107 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
37108 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
37109 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
37110 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
37111 * partmap/amiga.c (grub_amiga_partition_map_init)
37112 (grub_amiga_partition_map_fini): Likewise.
37113 * partmap/apple.c (grub_apple_partition_map_init)
37114 (grub_apple_partition_map_fini): Likewise.
37115 * partmap/pc.c (grub_pc_partition_map_init)
37116 (grub_pc_partition_map_fini): Likewise.
37117 * partmap/sun.c (grub_sun_partition_map_init,
37118 grub_sun_partition_map_fini): Likewise.
37119 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
37120 Likewise.
37121
37122 * util/grub-emu.c: Include <grub_modules_init.h>.
37123 (main): Don't initialize and de-initialize any modules directly,
37124 use `grub_init_all' and `grub_fini_all' instead.
37125
37126 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
37127 `grub_vesafb_mod_init'.
37128 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
37129 all users.
37130 * term/i386/pc/vga.c (grub_vga_init): Renamed to
37131 `grub_vga_mod_init'. Updated all users.
37132 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 37133
6d099807 37134 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
37135 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
37136 rules.
37137
37138 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
37139 Generate a function to initialize the module in utilities.
37140 Updated all callers.
37141 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
37142 initialize the module in utilities. Updated all callers.
37143
9046bcf0 371442005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37145
37146 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
37147 escape sequence and a literal ^L to clear the screen.
37148
37149 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
37150 when returning from Open Firmware.
37151
d13ea639 371522005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37153
37154 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
37155 (grub_ofconsole_height): Likewise.
37156 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
37157 manually insert a '\n'.
37158 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
37159 `grub_ofconsole_height'. Return early if these are already set.
37160
a8fcf206 371612005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
37162
37163 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37164 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
37165 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
37166 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
37167 and `normal/script.c'.
37168 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37169 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37170 (test_mod_SOURCES): New variable.
37171 (test_mod_CFLAGS): Likewise.
37172 (test_mod_LDFLAGS): Likewise.
37173 (pkgdata_MODULES): Add `test.mod'.
37174 (grub_script.tab.c): New rule.
37175 (grub_script.tab.h): Likewise.
37176
b6b32745 371772005-11-07 Marco Gerards <mgerards@xs4all.nl>
37178
37179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37180 `commands/test.c', `normal/execute.c', `normal/lexer.c',
37181 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37182 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37183 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37184 (test_mod_SOURCES): New variable.
37185 (test_mod_CFLAGS): Likewise.
37186 (pkgdata_MODULES): Add `test.mod'.
37187 (grub_script.tab.c): New rule.
37188 (grub_script.tab.h): Likewise.
37189
daac212a 371902005-11-06 Marco Gerards <mgerards@xs4all.nl>
37191
37192 Add initial scripting support.
37193
37194 * commands/test.c: New file.
37195 * include/grub/script.h: Likewise.
37196 * normal/execute.c: Likewise.
37197 * normal/function.c: Likewise.
37198 * normal/lexer.c: Likewise.
37199 * normal/parser.y: Likewise.
37200 * normal/script.c: Likewise.
37201
37202 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 37203
daac212a 37204 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
37205 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
37206 `normal/function.c' and `normal/script.c'.
37207 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37208 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 37209 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
37210 variables.
daac212a 37211 (pkgdata_MODULES): Add `test.mod'.
37212 (grub_script.tab.c): New rule.
37213 (grub_script.tab.h): Likewise.
37214
37215 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
37216
37217 * include/grub/normal.h (grub_test_init): New prototype.
37218 (grub_test_fini): Likewise.
f19dbdb7 37219
daac212a 37220 * normal/command.c: Include <grub/script.h>.
37221 (grub_command_execute): Rewritten.
f19dbdb7 37222
daac212a 37223 * util/grub-emu.c (main): Call `grub_test_init' and
37224 `grub_test_fini'.
37225
77500b2b 372262005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37227
37228 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
37229 to 0.
37230 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
37231 there are no pending characters.
37232
e45deb9e 372332005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37234
37235 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
37236 `grub_strndup' to drop device arguments. Replace unnecessary
37237 `grub_strndup' with `grub_strdup'.
37238
4ce32619 372392005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37240
37241 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
37242 `debug' environment variable has been set.
37243
372442005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37245
4ce32619 37246 * Makefile.in (install-local): Use $(DATA).
37247 (uninstall): Likewise.
37248 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
37249 (sbin_UTILITIES): ... to here.
37250 (sbin_SCRIPTS): New variable.
37251 (grub_install_SOURCES): New variable.
37252 * util/powerpc/ieee1275/grub-install.in: New file.
37253 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
37254 variable.
37255 (add_segments): Call `grub_util_get_path'.
37256
25fe6f03 372572005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37258
37259 From Timothy Baldwin:
37260 * commands/ls.c (grub_ls_list_files): Close FILE with
37261 grub_file_close.
37262 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
37263
04ccf3ec 372642005-10-24 Marco Gerards <mgerards@xs4all.nl>
37265
37266 * include/grub/parser.h: New file.
37267
37268 * kern/parser.c: Likewise.
37269
37270 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
37271 (grub_setup_SOURCES): Likewise.
37272 (grub_probefs_SOURCES): Likewise.
37273 (grub_emu_SOURCES): Likewise.
37274 (kernel_img_HEADERS): Add `parser.h'.
37275
37276 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37277 (grub_emu_SOURCES): Add `kern/parser.c'.
37278 (grubof_SOURCES): Likewise.
37279
37280 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37281 (grubof_SOURCES): Add `kern/parser.c'.
37282
37283 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
37284
37285 * kern/misc.c (grub_split_cmdline): Removed function.
37286
37287 * kern/rescue.c: Include <grub/parser.h>.
37288 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
37289 of `grub_split_cmdline'.
37290
37291 * normal/command.c: Include <grub/parser.h>.
37292 (grub_command_execute): Use `grub_parser_split_cmdline' instead
37293 of `grub_split_cmdline'.
37294
37295 * normal/completion.c: Include <grub/parser.h>.
37296 (cmdline_state): New variable.
37297 (iterate_dir): End the filename with a quote depending on the
37298 command line state.
37299 (get_state): new function.
37300 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
37301 split the arguments and determine the current argument. When the
37302 argument string is not quoted, escape all spaces.
37303
6d8f4b0e 373042005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37305
37306 * normal/sparc64/setjmp.S: New file.
37307
15cf03ed 373082005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37309
37310 * include/grub/sparc64/libgcc.h: New file.
37311 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
37312 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
37313 normal/sparc64/setjmp.c.
37314
03e8661a 373152005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37316
37317 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
37318 * kern/sparc64/cache.S: New file.
37319 * kern/sparc64/cache.c: Removed.
37320 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
37321 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
37322 -mtune=ultrasparc.
37323 (COMMON_LDFLAGS): Add -melf64_sparc.
37324 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
37325 (grubof_SOURCES): Use cache.S instead of cache.c.
37326 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
37327 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
37328 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
37329 commented though.
37330 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
37331 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
37332 (linux_mod_CFLAGS): Commented out.
37333 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
37334 out because module isn't built.
37335 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
37336 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
37337 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
37338 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
37339 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
37340 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37341 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37342 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
37343 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
37344 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
37345 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37346 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37347 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
37348 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
37349
34eeec8a 373502005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
37351
37352 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
37353 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
37354 longer, because HFS should not be used on PC.
37355
708367a3 373562005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37357
37358 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
37359 consistently within the loop.
37360
6fa1251a 373612005-10-15 Marco Gerards <mgerards@xs4all.nl>
37362
37363 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
37364 directory can not be read.
37365
4801580b 373662005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37367
37368 * configure.ac (AC_INIT): Increase the version number to 1.91.
37369
37370 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
37371 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
37372 term/i386/pc/serial.c.
37373
219ad426 373742005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37375
37376 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
37377 file size must be permitted.
37378
37379 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
37380 between %ah and %al.
37381
688e5699 373822005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37383
37384 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
37385 grub_uint64_t.
37386 Call the hook with a NUL-terminated filename.
37387 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
37388 grub_cpu_to_be32.
37389
37390 * kern/term.c (cursor_state): New variable.
37391 (grub_term_set_current): Reset the cursor state on a new
37392 terminal.
37393 (grub_setcursor): Rewritten to use CURSOR_STATE.
37394 (grub_getcursor): New function.
37395
37396 * include/grub/term.h (grub_getcursor): New prototype.
37397
37398 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
37399 integers on ARM. Reported by Timothy Baldwin
37400 <T.E.Baldwin99@members.leeds.ac.uk>.
37401
bb34586c 374022005-10-11 Marco Gerards <mgerards@xs4all.nl>
37403
37404 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
37405 allocated.
37406 (grub_sfs_dir): Likewise.
37407
9a909877 374082005-10-09 Marco Gerards <mgerards@xs4all.nl>
37409
37410 Add support for the SFS filesystem.
37411
37412 * fs/sfs.c: New file.
37413
37414 * DISTLIST: Added `fs/sfs.c'.
37415
37416 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
37417 (grub_probefs_SOURCES): Likewise.
37418 (grub_emu_SOURCES): Likewise.
37419 (pkgdata_MODULES): Add `sfs.mod'.
37420 (sfs_mod_SOURCES): New variable.
37421 (sfs_mod_CFLAGS): Likewise.
37422 (sfs_mod_LDFLAGS): Likewise.
37423
37424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
37425 (pkgdata_MODULES): Add `sfs.mod'.
37426 (sfs_mod_SOURCES): New variable.
37427 (sfs_mod_CFLAGS): Likewise.
37428
37429 * util/grub-emu.c (main): Call `grub_sfs_init' and
37430 `grub_sfs_fini'.
37431
37432 * include/grub/fs.h (grub_sfs_init): New prototype.
37433 (grub_sfs_fini): Likewise.
37434
57bdbde3 374352005-10-07 Marco Gerards <mgerards@xs4all.nl>
37436
37437 Add support for the AFFS filesystem.
37438
37439 * fs/affs.c: New file.
37440
37441 * DISTLIST: Added `fs/affs.c'.
37442
37443 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
37444 (grub_probefs_SOURCES): Likewise.
37445 (grub_emu_SOURCES): Likewise.
37446 (pkgdata_MODULES): Add `affs.mod'.
37447 (affs_mod_SOURCES): New variable.
37448 (affs_mod_CFLAGS): Likewise.
37449 (affs_mod_LDFLAGS): Likewise.
37450
37451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
37452 (pkgdata_MODULES): Add `affs.mod'.
37453 (affs_mod_SOURCES): New variable.
37454 (affs_mod_CFLAGS): Likewise.
37455
37456 * util/grub-emu.c (main): Call `grub_affs_init' and
37457 `grub_affs_fini'.
37458
37459 * include/grub/fs.h (grub_affs_init): New prototype.
37460 (grub_affs_fini): Likewise.
37461
047b67e0 374622005-10-01 Marco Gerards <mgerards@xs4all.nl>
37463
37464 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
37465
59b8208a 374662005-10-01 Marco Gerards <mgerards@xs4all.nl>
37467
37468 * configure.ac: Accept `x86_64' as host_cpu. In that case add
37469 `-m32' to CFLAGS.
37470
37471 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
37472 linking.
f19dbdb7 37473
59b8208a 37474 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
37475 (COMMON_LDFLAGS): New variable.
37476 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
37477 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
37478 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
37479 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
37480 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
37481 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
37482 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37483 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37484 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37485 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37486 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37487 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37488 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37489 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37490 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37491 variables.
37492 (normal_mod_ASFLAGS): Add `-m32'.
37493
37494 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37495 (grub_host_size_t, grub_host_ssize_t): New types.
37496 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 37497 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 37498 `GRUB_HOST_SIZEOF_VOID_P'.
37499
37500 * include/grub/kernel.h (struct grub_module_header): Type of
37501 member offset changed to `grub_host_off_t'. Type of member size
37502 changed to `grub_host_size_t'.
37503 (struct grub_module_info): Type of member offset changed to
37504 `grub_host_off_t'. Type of member size changed to
37505 `grub_host_size_t'.
37506
b4093103 375072005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37508
37509 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 37510
b4093103 37511 * kern/i386/pc/startup.S (multiboot_header): New label.
37512 (multiboot_entry): Likewise.
37513 (multiboot_trampoline): Likewise.
37514
37515 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37516 Increased to 0x4A0.
37517
37518 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37519 put parentheses after a question mark.
37520 [!GRUB_UTIL] (my_mod): New variable.
37521
37522 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37523
b2499b29 375242005-09-28 Marco Gerards <mgerards@xs4all.nl>
37525
37526 Adds support for the XFS filesystem. Btrees are not supported
37527 yet.
37528
37529 * fs/xfs.c: New file.
37530
37531 * DISTLIST: Added `fs/xfs.c'.
37532
37533 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37534 (grub_probefs_SOURCES): Likewise.
37535 (grub_emu_SOURCES): Likewise.
37536 (pkgdata_MODULES): Add `xfs.mod'.
37537 (xfs_mod_SOURCES): New variable.
37538 (xfs_mod_CFLAGS): Likewise.
37539
37540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37541 (pkgdata_MODULES): Add `xfs.mod'.
37542 (xfs_mod_SOURCES): New variable.
37543 (xfs_mod_CFLAGS): Likewise.
37544
37545 * util/grub-emu.c (main): Call `grub_xfs_init' and
37546 `grub_xfs_fini'.
37547
37548 * include/grub/fs.h (grub_xfs_init): New prototype.
37549 (grub_xfs_fini): Likewise.
37550
f19dbdb7 37551
83d37a62 375522005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37553
37554 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37555 color modes, allow greater than 16 colors to be configured as
37556 a default palette.
37557
47d2d65e 375582005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37559
37560 * normal/completion.c (complete_arguments): Add the qualifier
37561 const into OPTIONS.
37562
37563 From Omniflux <omniflux+lists@omniflux.com>:
37564 * include/grub/terminfo.h: New file.
37565 * include/grub/tparm.h: Likewise.
37566 * include/grub/i386/pc/serial.h: Likewise.
37567 * term/terminfo.c: Likewise.
37568 * term/tparm.c: Likewise.
37569 * term/i386/pc/serial.c: Likewise.
37570 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37571 serial.mod.
37572 (terminfo_mod_SOURCES): New variable.
37573 (terminfo_mod_CFLAGS): Likewise.
37574 (serial_mod_SOURCES): Likewise.
37575 (serial_mod_CFLAGS): Likewise.
37576
48b671ff 375772005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37578
37579 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37580 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37581 and kern/powerpc/ieee1275/cmain.c, respectively.
37582
37583 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37584 * kern/powerpc/ieee1275/crt0.S: ... here.
37585
37586 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37587 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 37588
48b671ff 37589 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37590 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37591 instead of boot/powerpc/ieee1275/crt0.S and
37592 boot/powerpc/ieee1275/cmain.c, respectively.
37593
37594 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37595 sectors. It was not used anyway.
37596
09fc77a7 375972005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37598
37599 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37600 `unused parameter' warning.
37601
003789c7 376022005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37603
37604 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37605 function.
37606 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37607 getcharwidth.
37608
67f44c86 376092005-08-28 Marco Gerards <metgerards@student.han.nl>
37610
37611 * include/grub/normal.h (enum grub_completion_type): Added
37612 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37613
37614 * normal/cmdline.c (print_completion): Handle
37615 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37616 * normal/menu_entry.c (store_completion): Likewise.
37617
37618 * normal/completion.c (complete_arguments): New function.
37619 (grub_normal_do_completion): Call `complete_arguments' when the
37620 current words start with a dash.
37621
0b5abe02 376222005-08-27 Marco Gerards <metgerards@student.han.nl>
37623
37624 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37625 `gzio.mod' instead of `io.mod').
37626
d9864ee1 376272005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37628
37629 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37630 (DISTDIRS): Added io and video.
37631 Rewrite the search routine to make an output consistently.
37632
37633 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37634 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37635 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37636 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37637 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37638 util/powerpc/ieee1275/misc.c.
f19dbdb7 37639
d9864ee1 37640 * include/grub/gzio.h: New file.
37641 * io/gzio.c: Likewise.
f19dbdb7 37642
d9864ee1 37643 * kern/file.c (grub_file_close): Call grub_device_close only if
37644 FILE->DEVICE is not NULL.
37645
37646 * include/grub/mm.h [!NULL] (NULL): New macro.
37647
37648 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37649
37650 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37651 (pkgdata_MODULES): Added gzio.mod.
37652 (gzio_mod_SOURCES): New variable.
37653 (gzio_mod_CFLAGS): Likewise.
37654
37655 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37656 (pkgdata_MODULES): Added gzio.mod.
37657 (gzio_mod_SOURCES): New variable.
37658 (gzio_mod_CFLAGS): Likewise.
37659
37660 * commands/cat.c: Include grub/gzio.h.
37661 (grub_cmd_cat): Use grub_gzfile_open instead of
37662 grub_file_open.
f19dbdb7 37663
d9864ee1 37664 * commands/cmp.c: Include grub/gzio.h.
37665 (grub_cmd_cmp): Use grub_gzfile_open instead of
37666 grub_file_open.
37667
37668 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37669 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37670 grub_file_open.
37671 (grub_rescue_cmd_module): Likewise.
37672
fa46f4b5 376732005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37674
37675 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37676 kern/sparc64/ieee1275/init.c because it contains _start.
37677 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37678
e9211b5d 376792005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37680
37681 * configure.ac: Add support for sparc64 host with ieee1275
37682 firmware.
37683 * configure: Generated from configure.ac.
37684 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37685 instead of int.
37686 (grub_ofdisk_read): Likewise.
37687 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37688 pointers as (void *) to remove a warning.
37689 (grub_ofdisk_close): Likewise.
37690 (grub_ofdisk_read): Likewise.
37691 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37692 returns, so make it return void to remove a warning.
37693 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37694 Corresponding prototype change.
37695 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37696 values, and cast the pointers as (void *) to remove a warning.
37697 (grub_mm_dump): Likewise.
37698 * conf/sparc64-ieee1275.mk: New file.
37699 * conf/sparc64-ieee1275.rmk: Likewise.
37700 * include/grub/sparc64/setjmp.h: Likewise.
37701 * include/grub/sparc64/types.h: Likewise.
37702 * include/grub/sparc64/ieee1275/console.h: Likewise.
37703 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37704 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37705 * include/grub/sparc64/ieee1275/time.h: Likewise.
37706 * kern/sparc64/cache.c: Likewise.
37707 * kern/sparc64/dl.c: Likewise.
37708 * kern/sparc64/ieee1275/init.c: Likewise.
37709 * kern/sparc64/ieee1275/openfw.c: Likewise.
37710
385c6a92 377112005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37712
37713 * util/console.c (grub_ncurses_putchar): If C is greater than
37714 0x7f, set C to a question mark.
37715 (grub_ncurses_getcharwidth): New function.
37716 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37717 getcharwidth.
37718
37719 * normal/menu.c (print_entry): Made aware of Unicode. First,
37720 convert TITLE to UCS-4, and predict the cursor position by
37721 grub_getcharwidth.
37722
37723 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37724 const to SRC.
37725 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37726
16ccb8b1 377272005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37728
37729 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37730 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37731 grub_strcat.
37732
37733 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37734 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37735 grub_strcpy and grub_strlen. Take it into account that a space
37736 character is inserted as a delimiter.
37737
6a85ce79 377382005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37739
37740 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 37741 invalid magic in the error.
6a85ce79 37742
37743 * commands/search.c: New file.
f19dbdb7 37744
6a85ce79 37745 * util/grub-emu.c (main): Call grub_search_init and
37746 grub_search_fini.
37747
37748 * kern/rescue.c (grub_rescue_print_disks): Removed.
37749 (grub_rescue_print_devices): New function.
37750 (grub_rescue_cmd_ls): Use grub_device_iterate with
37751 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37752 grub_rescue_print_disks.
37753
37754 * kern/partition.c (grub_partition_iterate): Return the result of
37755 PARTMAP->ITERATE instead of GRUB_ERRNO.
37756
37757 * kern/device.c: Include grub/partition.h.
37758 (grub_device_iterate): New function.
37759
37760 * include/grub/partition.h (grub_partition_iterate): Return int
37761 instead of grub_err_t.
37762
37763 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37764 prototype.
37765 [GRUB_UTIL] (grub_search_fini): Likewise.
37766
37767 * include/grub/device.h (grub_device_iterate): New prototype.
37768
37769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37770 commands/search.c.
37771 (pkgdata_MODULES): Added search.mod.
37772 (search_mod_SOURCES): New variable.
37773 (search_mod_CFLAGS): Likewise.
37774
37775 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37776 (pkgdata_MODULES): Added search.mod.
37777 (search_mod_SOURCES): New variable.
37778 (search_mod_CFLAGS): Likewise.
37779
37780 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37781 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37782 All callers changed.
37783
37784 * DISTLIST: Added commands/search.c.
37785
ef095434 377862005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37787
37788 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37789 conversion.
37790 (grub_getcharwidth): New function.
37791
37792 * kern/misc.c (grub_utf8_to_ucs4): New function.
37793
37794 * include/grub/term.h (struct grub_term): Added a new member
37795 "getcharwidth".
37796 (grub_getcharwidth): New prototype.
37797
37798 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37799
37800 * term/i386/pc/console.c (map_char): New function. Segregated from
37801 grub_console_putchar.
37802 (grub_console_putchar): Use map_char.
37803 (grub_console_getcharwidth): New function.
37804 (grub_console_term): Specified grub_console_getcharwidth as
37805 getcharwidth.
37806
37807 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37808 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37809
37810 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37811 GRUB_ERRNO.
37812 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37813 on grub_strtoul completely.
37814 (write_char): Declare local variables in the beginning of the
37815 function.
37816 (grub_vesafb_getcharwidth): New function.
37817 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37818 getcharwidth.
37819
1f0a95e4 378202005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37821
37822 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37823 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37824 commands/i386/pc/vbetest.c.
37825
37826 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37827 call grub_vbe_get_controller_info again, because the returned
37828 information is volatile.
37829 (grub_vbe_set_video_mode): Mostly rewritten.
37830 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37831 grub_vbe_status_t correctly.
37832 (grub_vbe_get_video_mode_info): Likewise.
37833 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37834 several if statements.
37835
37836 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37837 * commands/i386/pc/vbeinfo.c: ... this.
37838
37839 * commands/i386/pc/vbe_test.c: Renamed to ...
37840 * commands/i386/pc/vbetest.c: ... this.
37841
37842 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37843 ...
37844 (grub_cmd_vbeinfo): ... this. Save video modes before
37845 iterating. Skip a video mode, if it is not available, not enough
37846 information is given or it is monochrome. Show the memory
37847 model. Leave the interpretation of MODEVAR to grub_strtoul
37848 completely.
37849 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37850 (GRUB_MOD_FINI): Likewise.
37851
37852 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37853 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37854 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37855 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37856 grub_strtoul completely.
37857 (real2pm): Removed.
37858 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37859 (GRUB_MOD_FINI): Likewise.
37860
37861 * normal/misc.c: Include grub/mm.h.
37862
37863 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37864 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37865 (vbe_list_modes_mod_SOURCES): Removed.
37866 (vbe_list_modes_mod_CFLAGS): Likewise.
37867 (vbe_test_mod_SOURCES): Likewise.
37868 (vbe_test_mod_CFLAGS): Likewise.
37869 (vbeinfo_mod_SOURCES): New variable.
37870 (vbeinfo_mod_CFLAGS): Likewise.
37871 (vbetest_mod_SOURCES): Likewise.
37872 (vbetest_mod_CFLAGS): Likewise.
37873
992ffbbe 378742005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37875
37876 * normal/misc.c: New file.
37877
37878 * DISTLIST: Added normal/misc.c.
f19dbdb7 37879
992ffbbe 37880 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37881 DISK to HOOK. Call HOOK with DISK.
37882 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37883 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37884 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37885
37886 * normal/menu_entry.c (struct screen): Added a new member
37887 "completion_shown".
37888 (completion_buffer): New global variable.
37889 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37890 (store_completion): New function.
37891 (complete): Likewise.
37892 (clear_completions): Likewise.
37893 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37894 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37895 a tab, call complete.
37896
37897 * normal/completion.c (disk_dev): Removed.
37898 (print_simple_completion): Likewise.
37899 (print_partition_completion): Likewise.
37900 (print_func): New global variable.
37901 (add_completion): Do not take the arguments WHAT or PRINT any
37902 longer. Added a new argument TYPE. Instead of printing directly,
37903 call PRINT_FUNC if not NULL.
37904 All callers changed.
37905 (complete_device): Use a local variable DEV instead of
37906 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37907 (grub_normal_do_completion): Take a new argument HOOK. Do not
37908 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37909 empty string, return NULL instead.
37910 All callers changed.
37911
37912 * normal/cmdline.c (print_completion): New function.
37913
37914 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37915 to HOOK.
37916 All callers changed.
37917
37918 * kern/disk.c (grub_print_partinfo): Removed.
37919
37920 * include/grub/partition.h (struct grub_partition_map): Add a new
37921 argument DISK into HOOK of ITERATE.
37922 (grub_partition_iterate): Add a new argument DISK to HOOK.
37923
37924 * include/grub/normal.h (enum grub_completion_type): New enum.
37925 (grub_completion_type_t): New type.
37926 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37927 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37928 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37929 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37930 (grub_normal_do_completion): Added a new argument HOOK.
37931 (grub_normal_print_device_info): New prototype.
37932
37933 * include/grub/disk.h (grub_print_partinfo): Removed.
37934
37935 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37936 (normal_mod_SOURCES): Likewise.
37937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37938 (normal_mod_SOURCES): Likewise.
37939
37940 * commands/ls.c (grub_ls_list_disks): Use
37941 grub_normal_print_device_info instead of grub_print_partinfo. Free
37942 PNAME.
37943 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37944 duplicating the code.
37945
0bd41162 379462005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37947
37948 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 37949 follow GCS more precisely.
37950 * commands/i386/pc/vbe_test.c: Likewise.
37951 * include/grub/i386/pc/vbe.h: Likewise.
37952 * term/i386/pc/vesafb.c: Likewise.
37953 * video/i386/pc/vbe.c: Likewise.
0bd41162 37954
6323696a 379552005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37956
37957 * DISTLIST: Added term/i386/pc/vesafb.c
37958 DISTLIST: Added video/i386/pc/vbe.c
37959 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37960 DISTLIST: Added commands/i386/pc/vbe_test.c.
37961 * commands/i386/pc/vbe_list_modes.c: New file.
37962 * commands/i386/pc/vbe_test.c: Likewise.
37963 * term/i386/pc/vesafb.c: Likewise.
37964 * video/i386/pc/vbe.c: Likewise.
37965 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37966 (grub_vbe_probe) Added prototype.
37967 (grub_vbe_set_video_mode) Likewise.
37968 (grub_vbe_get_video_mode) Likewise.
37969 (grub_vbe_get_video_mode_info) Likewise.
37970 (grub_vbe_set_pixel_rgb) Likewise.
37971 (grub_vbe_set_pixel_index) Likewise.
37972 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37973 (pkgdata_MODULES): Added vesafb.mod.
37974 (pkgdata_MODULES): Added vbe_list_modes.mod.
37975 (pkgdata_MODULES): Added vbe_test.mod.
37976 (vbe_mod_SOURCES): Added.
37977 (vbe_mod_CFLAGS): Likewise.
37978 (vesafb_mod_SOURCES): Likewise.
37979 (vesafb_mod_CFLAGS): Likewise.
37980 (vbe_list_modes_mod_SOURCES): Likewise.
37981 (vbe_list_modes_mod_CFLAGS): Likewise.
37982 (vbe_test_mod_SOURCES): Likewise.
37983 (vbe_test_mod_CFLAGS): Likewise.
37984
0a74e62f 379852005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37986
0a74e62f 37987 * normal/command.c (grub_command_execute): If INTERACTIVE is
37988 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37989 CMDLINE. Disable the pager if INTERACTIVE is true.
37990 All callers are changed.
37991
37992 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37993 before reading a config file.
37994 * normal/main.c (read_config_file): Even if a command is not
37995 found, register it if it is within an entry.
37996
37997 * util/grub-emu.c: Include sys/types.h and unistd.h.
37998 (options): Added --hold.
37999 (struct arguments): Added a new member "hold".
38000 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
38001 missing.
38002 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
38003 cleared by a debugger, if it is not zero.
38004
38005 * include/grub/normal.h (grub_command_execute): Add an argument
38006 INTERACTIVE.
38007
e51f85ae 380082005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
38009
38010 * DISTLIST: Added include/grub/i386/pc/vbe.h.
38011
e9c6f39b 380122005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
38013
38014 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
38015 program with another one, because the old one didn't detect a bug
38016 in gcc-3.4. Always use regparm 2, because the new test is still
38017 not enough for gcc-4.0. Someone must investigate a simple test
38018 case which detects a bug in gcc-4.0.
38019
8de3495c 380202005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
38021
38022 * DISTLIST: Added normal/completion.c.
38023
38024 * normal/completion.c: New file.
f19dbdb7 38025
8de3495c 38026 * term/i386/pc/console.c (grub_console_getwh): New function.
38027 (grub_console_term): Assign grub_console_getwh to getwh.
38028
38029 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
38030 function is defined in normal/completion.c as
38031 grub_normal_do_completion.
38032 (grub_cmdline_get): Use grub_normal_do_completion instead of
38033 grub_tab_complete.
38034
38035 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
38036 returns non-zero, otherwise return 0.
38037 (grub_partition_iterate): First, probe the partition map. Then,
38038 call ITERATE only for this partition map.
38039
38040 * kern/misc.c (grub_strncmp): Rewritten.
38041
38042 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
38043 returns non-zero. Otherwise return 0.
38044
38045 * include/grub/partition.h (grub_partition_map_iterate): Return
38046 int instead of void.
38047
38048 * include/grub/normal.h (grub_normal_do_completion): New prototype.
38049
38050 * include/grub/misc.h (grub_strncmp): Change the type of N to
38051 grub_size_t.
38052
38053 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
38054 of void.
38055
38056 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 38057 unsigned explicitly before comparing it with I.
8de3495c 38058
38059 * kern/main.c (grub_env_write_root): Add the attribute unused into
38060 VAR.
38061
38062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38063 normal/completion.c.
38064 (normal_mod_SOURCES): Likewise.
38065 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38066 (normal_mod_SOURCES): Likewise.
38067
38068 * normal/command.c (grub_iterate_commands): If ITERATE returns
38069 non-zero, return one immediately.
38070
e85e144b 380712005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
38072
38073 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
38074 * kern/i386/pc/startup.S: Updated Global Descriptor table's
38075 descriptions.
38076 (grub_vbe_get_controller_info): New function.
38077 (grub_vbe_get_mode_info): Likewise.
38078 (grub_vbe_set_mode): Likewise.
38079 (grub_vbe_get_mode): Likewise.
38080 (grub_vbe_set_memory_window): Likewise.
38081 (grub_vbe_get_memory_window): Likewise.
38082 (grub_vbe_set_scanline_length): Likewise.
38083 (grub_vbe_get_scanline_length): Likewise.
38084 (grub_vbe_set_display_start): Likewise.
38085 (grub_vbe_get_display_start): Likewise.
38086 (grub_vbe_set_palette_data): Likewise.
38087 * include/grub/i386/pc/vbe.h: New file.
38088
c46153d2 380892005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38090
38091 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38092 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
38093 * DISTLIST: Likewise.
38094 * kern/ieee1275/of.c: Moved to ...
38095 * kern/ieee1275/ieee1275.c: ... here.
38096
0cb90c45 380972005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38098
38099 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
38100 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
38101 Pass 0 as `end' parameter to grub_strtoul().
38102
a19fb360 381032005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38104
38105 * include/grub/powerpc/ieee1275/console.h: Do not include
38106 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
38107 ifdef.
38108 (grub_console_cur_color): Remove i386-specific prototype.
38109 (grub_console_real_putchar): Likewise.
38110 (grub_console_checkkey): Likewise.
38111 (grub_console_getkey): Likewise.
38112 (grub_console_getxy): Likewise.
38113 (grub_console_gotoxy): Likewise.
38114 (grub_console_cls): Likewise.
38115 (grub_console_setcursor): Likewise.
38116 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
38117 Include <grub/machine/console.h>.
38118 * term/ieee1275/ofconsole.c: Likewise.
38119
4ac9bd04 381202005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
38121
38122 * Makefile.in (LIBLZO): New variable.
38123
38124 * configure.ac: Check for LZO version 2.
38125
38126 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
38127 lzo/lzo1x.h instead of lzo1x.h.
38128
38129 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
38130 of -llzo.
38131
38132 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
38133 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
38134
38135 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
38136 copying the data from PARTITION to P.
38137
f4917dfd 381382005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38139
38140 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
38141 negative, unload the module.
38142
38143 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
38144 map is "pc_partition_map" but not "pc".
38145 (usage): Fix the description. The options are --boot-image and
38146 --core-image but not --boot-file or --core-file.
38147 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
38148 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
38149 DEFAULT_DIRECTORY.
38150
38151 * util/i386/pc/grub-install.in: Do not specify --boot-file or
38152 --core-file. Specify INSTALL_DEVICE as an argument.
38153
38154 * util/console.c: Include config.h.
38155 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
38156 [HAVE_NCURSES_H]: Include ncurses.h.
38157 [HAVE_CURSES_H]: Include curses.h.
38158 [!A_NORMAL] (A_NORMAL): Defined as zero.
38159 [!A_STANDOUT] (A_STANDOUT): Likewise.
38160
38161 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
38162 -lncurses.
38163 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
38164
38165 * configure.ac: Check for curses libraries and headers.
38166
38167 * Makefile.in (LIBCURSES): New variable.
38168
38169 * genmk.rb (Script::rule): Set the executable bits.
38170
38171 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
38172 name of the PC partition map is "pc_partition_map" but not "pc".
38173
0e143073 381742005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38175
38176 * util/i386/pc/grub-install.in (grub_probefs): New variable.
38177 (modules): Likewise.
38178 (usage): Added descriptions for --modules and --grub-probefs.
38179 Handle --modules and --grub-probefs. Save the arguments in MODULES
38180 and GRUB_PROBEFS, respectively.
38181 Auto-detect a filesystem module against GRUBDIR. If the result is
38182 empty and modules are not specified explicitly, abort the
38183 installation. Add the result to MODULES.
38184
38185 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
38186 disk/powerpc/ieee1275/ofdisk.c,
38187 include/grub/powerpc/ieee1275/init.h and
38188 term/powerpc/ieee1275/ofconsole.c.
38189 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
38190 term/ieee1275/ofconsole.c.
38191
38192 * include/grub/powerpc/ieee1275/console.h: Resurrected.
38193
38194 * COPYING: Upgraded to the latest version. Only the address of the
38195 FSF office has changed.
f19dbdb7 38196
efd6e6d5 381972005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38198
38199 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38200 kern/ieee1275.c with kern/ieee1275/of.c.
38201
38202 * kern/ieee1275.c: Moved to ...
38203 * kern/ieee1275/of.c: ... here.
38204
8ceafda2 382052005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
38206
38207 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 38208 readability.
8ceafda2 38209
38210 * config.guess: Updated to the latest version from gnulib.
38211 * config.sub: Likewise.
38212 * install.sh: Likewise.
38213 * mkinstalldirs: Likewise.
38214
38215 * include/grub/console.h: Removed. This file is arch-specific. Do
38216 not put this in include/grub.
38217
38218 * include/grub/i386/pc/console.h: Resurrected.
38219
38220 * util/console.c: Include grub/machine/console.h instead of
38221 grub/console.h.
38222 * util/grub-emu.c: Likewise.
38223
267f6cd9 382242005-08-04 Marco Gerards <metgerards@student.han.nl>
38225
38226 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
38227 hardcoded value.
f19dbdb7 38228
267f6cd9 38229 From Vincent Pelletier <subdino2004@yahoo.fr>
38230 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
38231 Redefined to use grub_getwh.
38232 (grub_term): New member named getwh.
38233 (grub_getwh): New prototype.
38234 * kern/term.c (grub_getwh): New function.
38235 * term/i386/pc/console.c (grub_console_getwh): New function.
38236 (grub_console_term): New member `getwh'.
38237 * term/i386/pc/vga.c (grub_vga_getwh): New function.
38238 (grub_vga_term): New member `getwh'.
0b5abe02 38239 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 38240 grub_ssize_t.
38241 (grub_ofconsole_getw): New function.
38242 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
38243 (grub_ofconsole_term): New field named getwh and new initial
38244 value.
38245
3be7266d 382462005-08-03 Hollis Blanchard <hollis@penguinppc.org>
38247
38248 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
38249 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
38250 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
38251 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
38252 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
38253 of <grub/machine/ieee1275.h>.
38254 * commands/ieee1275/reboot.c: Likewise.
38255 * boot/powerpc/ieee1275/ieee1275.c: Move ...
38256 * kern/ieee1275.c: ... to here. All users updated. Change all
38257 parameter structs to use new type `grub_ieee1275_cell_t'.
38258 * term/powerpc/ieee1275/ofconsole.c: Move ...
38259 * term/ieee1275/ofconsole.c: ... to here. All users updated.
38260 * disk/powerpc/ieee1275/ofdisk.c: Move ...
38261 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
38262 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
38263 to return int.
38264 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
38265 Remove unused prototypes. All users updated.
38266 * include/grub/powerpc/ieee1275/console.h: Removed.
38267 * include/grub/powerpc/ieee1275/ieee1275.h: Define
38268 `grub_ieee1275_cell_t'.
38269 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
38270 Cast comparisons with -1 to the correct type.
38271 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
38272 type to match `grub_ieee1275_entry_fn'.
38273
8b5f3938 382742005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
38275
38276 * DISTLIST: Added util/i386/pc/grub-probefs.c.
38277
38278 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
38279 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
38280 partmap/sun.c.
38281 (grub_probefs_SOURCES): New variable.
38282
38283 * util/i386/pc/grub-probefs.c: New file.
38284
38285 * util/i386/pc/grub-setup.c (main): Call
38286 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
38287 grub_hfs_init and grub_jfs_init to initialize the system. Call
38288 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
38289 grub_pc_partition_map_fini to finish the system.
38290
ea409713 382912005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
38292
38293 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
38294 function.
38295 (grub_multiboot_load_elf32): Likewise.
38296 (grub_multiboot_is_elf64): Likewise.
38297 (grub_multiboot_load_elf64): Likewise.
38298 (grub_multiboot_load_elf): Likewise.
38299 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
38300 an ELF32 or ELF64 file.
38301 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
38302
38303 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
38304 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
38305 NULL before calling FS->LABEL.
38306 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
38307 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
38308 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
38309 before calling FS->LABEL.
38310
141a288b 383112005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
38312
38313 * util/i386/pc/grub-install.in (datadir): New variable.
38314 (libdir): Removed.
38315 (pkgdatadir): New variable.
38316 (pkglibdir): Removed.
38317
0d5f8a54 383182005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
38319
38320 * DISTLIST: Added util/i386/pc/grub-install.in.
38321
38322 * util/i386/pc/grub-install.in: New file.
38323
38324 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
38325 (grub_install_SOURCES): Likewise.
38326
38327 * genmk.rb: Added support for scripts.
38328 (Script): New class.
38329 (scripts): New variable.
38330
38331 * Makefile.in (install-local): Install sbin_SCRIPTS by
38332 INSTALL_SCRIPT.
38333 (uninstall): Remove sbin_SCRIPTS.
38334
38335 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
38336 device, try to get a GRUB device by
38337 grub_util_biosdisk_get_grub_dev.
38338 Free DEST_DEV.
38339
38340 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
38341 description for --device-map.
38342
5f968e1e 383432005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38344
38345 Change the semantics of variable hooks. They now return strings
38346 instead of error values.
f19dbdb7 38347
5f968e1e 38348 * util/i386/pc/grub-setup.c: Include grub/env.h.
38349 (setup): Use grub_device_set_root instead of grub_env_set.
38350
38351 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
38352 grub_env_get instead of grub_device_set_root and
38353 grub_device_get_root, respectively.
38354
38355 * kern/main.c (grub_env_write_root): New function.
38356 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
38357 grub_env_set instead of grub_device_set_root.
38358
38359 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
38360 many variables.
38361 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
38362 rather than calling ENV->WRITE_HOOK afterwards.
38363 (grub_env_get): Return the result of ENV->READ_HOOK rather than
38364 passing a pointer of a pointer.
38365 (grub_register_variable_hook): Change the types of "read_hook" and
38366 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
38367 respectively.
38368 Allocate the default empty string on the heap, because this string
38369 may be freed later.
38370
38371 * kern/device.c: Include grub/env.h.
38372 (grub_device_set_root): Removed.
38373 (grub_device_get_root): Likewise.
38374 (grub_device_open): Use grub_env_get instead of
38375 grub_device_get_root.
38376
38377 * include/grub/env.h (grub_env_read_hook_t): New type.
38378 (grub_env_write_hook_t): Likewise.
38379 (grub_env_var): Change the types of "read_hook" and "write_hook"
38380 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
38381 (grub_register_variable_hook): Likewise.
38382
38383 * include/grub/device.h (grub_device_set_root): Removed.
38384 (grub_device_set_root): Likewise.
38385
38386 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
38387 make sure that DIRNAME terminates with '/', so that
38388 grub_fat_find_dir will fail if PATH is not a directory.
38389
38390 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
38391 from DIRNAME.
38392 Use the qualifier auto for print_files and print_files_long.
38393 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
38394 as a regular file.
38395 Put a newline only if there is no error.
38396 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
38397 used.
38398
896f0afd 383992005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38400
38401 * kern/partition.c (grub_partition_probe): Initialize PART to
38402 NULL. Otherwise, when no partition map is registered, this returns
38403 a garbage.
38404
b28b81b2 384052005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
38406
38407 * partmap/apple.c (apple_partition_map_iterate): Check if POS
38408 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
38409 valid.
38410
5f3607e0 384112005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
38412
38413 * commands/ls.c (grub_ls_list_disks): Print the filesystem
38414 information on each device, if it does not have partitions. Print
38415 "Device" instead of "Disk", because this function is not specific
38416 to disk devices.
38417
38418 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
38419 static to ensure that it is put on the memory rather than a
38420 register.
38421
502c87e8 384222005-07-17 Yoshinori Okuji <okuji@enbug.org>
38423
38424 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
38425 (grub_cat_init): Likewise.
38426 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
38427 (options): Likewise.
38428 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
38429 (grub_configfile_init): Likewise.
38430 * font/manager.c (GRUB_MOD_INIT): Likewise.
38431 * commands/help.c (GRUB_MOD_INIT): Likewise.
38432 (grub_help_init): Likewise.
38433 * normal/command.c (grub_command_init): Likewise.
38434 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
38435 * disk/loopback.c (grub_loop_init): Likewise.
38436 (GRUB_MOD_INIT): Likewise.
38437 * commands/ls.c (grub_ls_init): Likewise.
38438 (GRUB_MOD_INIT): Likewise.
38439 (options): Likewise.
38440 * commands/boot.c (grub_boot_init): Likewise.
38441 (GRUB_MOD_INIT): Likewise.
38442 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
38443 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
38444 (GRUB_MOD_INIT): Likewise.
38445 * commands/cmp.c (grub_cmp_init): Likewise.
38446 (GRUB_MOD_INIT): Likewise.
38447
38448 * normal/arg.c: Use <> instead of "" to include header files.
38449 (SHORT_ARG_HELP): New macro.
38450 (SHORT_ARG_USAGE): Likewise.
38451 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
38452 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
38453 descriptions.
38454 (find_short): Check if C is 'h' or 'u' explicitly.
38455 (grub_arg_show_help): Use space characters instead of tabs. Treat
38456 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
38457 are shown with --help and --usage only if they are not used for
38458 the command itself.
38459 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
38460 'h' and 'u'.
38461
38462 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
38463 const into "longarg". Change the type of "shortarg" to int.
38464
f806d18e 384652005-07-17 Yoshinori Okuji <okuji@enbug.org>
38466
38467 * boot/i386/pc/boot.S (boot_drive_check): New label.
38468
38469 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
38470 macro.
38471
38472 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
38473 which do not pass a boot drive correctly. Copied from GRUB Legacy.
38474
e293232b 384752005-07-17 Yoshinori Okuji <okuji@enbug.org>
38476
38477 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
38478 When turning off Gate A20, skip the check and return immediately,
38479 because this is not fatal usually.
38480
ebedfd00 384812005-07-17 Yoshinori Okuji <okuji@enbug.org>
38482
38483 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38484 be 0x7C00 instead of 0x8000.
38485
38486 * boot/i386/pc/pxeboot.S: Rewritten.
38487
38488 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38489 EXT_C.
38490 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38491 result.
38492
654fc59f 384932005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38494
38495 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38496 robustness. This routine now supports a BIOS call and System
38497 Control Port A to modify the gate A20.
38498
38499 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38500 Increased to 0x440.
38501
09f9923f 385022005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38503
38504 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38505 device path and resulting ihandle.
38506 (grub_ofdisk_close): dprintf the ihandle being closed.
38507 (grub_ofdisk_read): dprintf function parameters.
38508 * kern/mm.c (grub_mm_init_region): Likewise.
38509 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38510 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38511 size, and boot arguments.
38512 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38513 before loading into memory.
38514 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38515 before loading into memory.
38516
7ef504d8 385172005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38518
38519 * kern/mm.c: Added much documentation.
38520 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38521 8, set to 5 instead of 8.
38522
e0f050c2 385232005-07-10 Yoshinori Okuji <okuji@enbug.org>
38524
38525 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38526
38527 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38528 (grub_mkdevicemap_SOURCES): New variable.
38529
38530 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38531 lib/device.c of GRUB Legacy.
38532
7224189a 385332005-07-10 Yoshinori Okuji <okuji@enbug.org>
38534
38535 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38536 instead of PATH is NULL.
38537
68c864eb 385382005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38539
38540 * commands/cmp.c (BUFFER_SIZE): New macro.
38541 (grub_cmd_cmp): Close the right file at the right time. Compare
38542 only data just read. Don't report files of different size as
38543 identical. Dynamically allocate buffers. Move variable
38544 declarations at the beginning of function.
38545
e6f3e614 385462005-07-09 Yoshinori Okuji <okuji@enbug.org>
38547
38548 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38549 reverse.
38550
f8f1559a 385512004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38552
38553 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38554 when backspace is pressed at beginning of line.
38555
39c9d41d 385562005-07-03 Yoshinori Okuji <okuji@enbug.org>
38557
38558 * DISTLIST: Added genfslist.sh.
38559
38560 * normal/main.c (fs_module_list): New variable.
38561 (autoload_fs_module): New function.
38562 (read_fs_list): Likewise.
38563 (grub_normal_execute): Call read_fs_list.
38564
38565 * kern/fs.c (grub_fs_autoload_hook): New variable.
38566 (grub_fs_probe): Added support for auto-loading.
38567
38568 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38569 (grub_fs_module_list_t): New type.
38570
38571 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38572 (grub_fs_autoload_hook): New prototype.
38573
38574 * genfslist.sh: New file.
f19dbdb7 38575
39c9d41d 38576 * genmk.rb: Added a rule to generate a filesystem list.
38577
121c1d83 385782005-06-30 Marco Gerards <metgerards@student.han.nl>
38579
38580 * configure.ac: Fix the test for cross-compiling.
38581
38582 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38583 define GRUB_UTIL anymore.
38584
38585 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38586 so this function works on other systems than just big endian.
38587 (load_modules): Likewise.
38588 (add_segments): Likewise.
38589
e75d76e1 385902005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38591
38592 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38593 contains `l' modifier, get a long from va_arg().
38594
50b5a0a7 385952005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38596
38597 * kern/mm.c (grub_free): If the next free block which is being
38598 merged is the first free block, set the first block to the block
38599 being freed.
38600 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38601
89371b20 386022005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38603
38604 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38605 `grub_ieee1275_chosen'.
38606
168d6e58 386072005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38608
38609 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38610 (grub_ieee1275_chosen): New variable.
38611 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38612 `chosen'.
38613 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38614 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38615 Rename first argument to `phandle' for consistency.
38616 (grub_ieee1275_get_property_length): Likewise.
38617 (grub_ieee1275_next_property): Likewise. Change type of first argument
38618 to grub_ieee1275_phandle_t.
38619 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38620 Move export next to declaration.
38621 (grub_ieee1275_chosen): New variable.
38622 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38623 Correct cosmetic typo.
38624 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38625 `grub_ieee1275_chosen'.
38626 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38627 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38628 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38629 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38630 `grub_ieee1275_chosen'.
38631
ca5baa3f 386322005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38633
38634 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38635 /chosen/bootargs.
38636 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38637 /chosen/bootargs as "variable=value" pairs.
38638
708b345f 386392005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38640
38641 * include/grub/misc.h (grub_dprintf): New macro.
38642 (grub_real_dprintf): New prototype.
38643 (grub_strword): Likewise.
38644 (grub_iswordseparator): Likewise.
38645 * kern/misc.c (grub_real_dprintf): New function.
38646 (grub_strword): Likewise.
38647 (grub_iswordseparator): Likewise.
38648
f4c5e67c 386492005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38650
38651 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38652 (roundup): Remove macro.
38653 (grub_ieee1275_flags): Make static.
38654 (grub_ieee1275_realmode): Remove.
38655 (grub_ieee1275_test_flag): New function.
38656 (grub_ieee1275_set_flag): Likewise.
38657 (find_options): Rename to `grub_ieee1275_find_options'; update
38658 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38659 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38660 (cmain): New prototype.
38661 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38662 `grub_ieee1275_flags' directly.
38663 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38664 machine/biosdisk.h.
38665 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38666 Don't include grub/machine/init.h.
38667 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38668 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38669 Remove prototype.
38670 (grub_ieee1275_realmode): Likewise.
38671 (grub_ieee1275_flag): New enum.
38672 (grub_ieee1275_test_flag): New prototype.
38673 (grub_ieee1275_set_flag): New prototype.
38674 * include/grub/powerpc/ieee1275/init.h: Remove file.
38675 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38676 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38677 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38678 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38679 comment.
38680 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38681 `grub_ieee1275_test_flag'.
38682 (grub_ieee1275_encode_devname): Likewise.
38683
ed16607e 386842005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38685
38686 * include/grub/powerpc/ieee1275/ieee1275.h
38687 (grub_ieee1275_encode_devname): New prototype.
38688 (grub_ieee1275_get_filename): Likewise.
38689 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38690 function.
38691 (grub_set_prefix): Likewise.
38692 (grub_machine_init): Call grub_set_prefix.
38693 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38694 (grub_parse_type): New enum.
38695 (grub_ieee1275_get_devargs): New function.
38696 (grub_ieee1275_get_devname): Likewise.
38697 (grub_ieee1275_parse_args): Likewise.
38698 (grub_ieee1275_get_filename): Likewise.
38699 (grub_ieee1275_encode_devname): Likewise.
38700
be369920 387012005-03-30 Marco Gerards <metgerards@student.han.nl>
38702
38703 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38704 `grub_loader_unset'.
38705
a5ce3a4a 387062005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38707
38708 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38709 instead of grub_ieee1275_interpret.
38710 (grub_halt_init): New function.
38711 (grub_halt_fini): Likewise.
38712 (GRUB_MOD_INIT): Correct message grammar.
38713 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38714 instead of grub_ieee1275_interpret.
38715 (grub_reboot_init): New function.
38716 (grub_reboot_fini): Likewise.
38717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38718 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38719 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38720 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38721 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38722 function.
38723 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38724 Add prototype.
38725 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38726 prototype.
38727 (grub_halt): Likewise.
38728 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38729 (cmain): Remove __attribute__((unused)).
38730 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38731 (grub_heap_len): Likewise.
38732 (grub_machine_fini): New function.
38733 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38734 (grub_halt): Likewise.
38735 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38736 function.
38737 * util/powerpc/ieee1275/misc.c: New file.
38738
0058f771 387392005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38740
38741 * DISTLIST: New file.
38742 * gendistlist.sh: Likewise.
f19dbdb7 38743
0058f771 38744 * Makefile.in (COMMON_DISTFILES): Removed.
38745 (BOOT_DISTFILES): Likewise.
38746 (CONF_DISTFILES): Likewise.
38747 (DISK_DISTFILES): Likewise.
38748 (FS_DISTFILES): Likewise.
38749 (INCLUDE_DISTFILES): Likewise.
38750 (KERN_DISTFILES): Likewise.
38751 (LOADER_DISTFILES): Likewise.
38752 (TERM_DISTFILES): Likewise.
38753 (UTIL_DISTFILES): Likewise.
38754 (DISTFILES): Likewise.
38755 (uninstall): Uninstall files in $(pkgdata_DATA).
38756 (DISTLIST): New target.
38757 (distdir): Use the contents of the file DISTLIST to get a list of
38758 distributed files.
38759
46b3b8a5 387602005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38761
38762 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38763 descriptor. This is ported from GRUB Legacy.
38764
38765 * gencmdlist.sh: Added an extra semicolon to make it work with
38766 old sed versions. Reported by Robert Bihlmeyer
38767 <robbe@orcus.priv.at>.
38768
5822ff87 387692005-03-08 Yoshinori Okuji <okuji@enbug.org>
38770
38771 Automatic loading of commands is supported.
f19dbdb7 38772
5822ff87 38773 * normal/main.c (read_command_list): New function.
38774 (grub_normal_execute): Call read_command_list.
38775
38776 * normal/command.c (grub_register_command): Return zero or CMD.
38777 Allocate CMD->NAME from the heap.
38778 Initialize CMD->MODULE_NAME to zero.
38779 Find the same name as well. If the same command is found and it is
38780 a dummy command, overwrite members. If it is not a dummy command,
38781 return zero.
38782 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38783 (grub_command_find): If a dummy command is found, load a module
38784 and retry to find a command only once.
38785
38786 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38787 make sure that each command is loaded.
38788
38789 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38790 macro.
38791 (struct grub_command): Remove const from the member `name'.
38792 Add a new member `module_name'.
38793 (grub_register_command): Return grub_command_t.
38794
38795 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38796 sure that each command is loaded.
38797
38798 * genmk.rb (PModule::rule): Specify a module name without the
38799 suffix ".mod" to gencmdlist.sh.
38800
7b1f4b57 388012005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38802
38803 * gencmdlist.sh: New file.
f19dbdb7 38804
7b1f4b57 38805 * genmk.rb (PModule::rule): Generate a rule for a command list.
38806 Clean command.lst.
38807 Generate command.lst from $(COMMANDFILES).
38808
38809 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38810 (DATA): Added $(pkgdata_DATA).
38811 (install-local): Install files in $(pkgdata_DATA).
38812
062aaf39 388132005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38814
38815 * term/i386/pc/vga.c (debug_command): Removed.
38816 (GRUB_MOD_INIT): Do not register the command "debug".
38817
38818 From Hollis Blanchard:
38819 * commands/configfile.c: New file.
38820 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38821 commands/configfile.c.
38822 (pkgdata_MODULES): Added configfile.mod.
38823 (configfile_mod_SOURCES): New variable.
38824 (configfile_mod_CFLAGS): Likewise.
38825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38826 commands/configfile.c.
38827 (pkgdata_MODULES): Added configfile.mod.
38828 (configfile_mod_SOURCES): New variable.
38829 (configfile_mod_CFLAGS): Likewise.
38830 * util/grub-emu.c (main): Call grub_configfile_init and
38831 grub_configfile_fini.
38832 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38833 prototype.
38834 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 38835
cee01aa6 388362005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38837
38838 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38839 address.
38840
38841 * commands/help.c (grub_cmd_help): Do not print newlines after
38842 the last command in print_command_help.
38843
93f3a1d8 388442005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38845
38846 * commands/default.h: New file.
38847 * commands/timeout.h: Likewise.
38848 * normal/context.c: Likewise.
f19dbdb7 38849
93f3a1d8 38850 * util/misc.c: Do not include sys/times.h.
38851 Include sys/time.h and grub/machine/time.h.
38852 (grub_get_rtc): Rewritten with gettimeofday.
38853
38854 * util/grub-emu.c (main): Call grub_default_init and
38855 grub_timeout_init before grub_normal_init, and call
38856 grub_timeout_fini and grub_default_fini after grub_main.
38857
38858 * util/console.c (grub_ncurses_checkkey): Return the read
38859 character or -1.
38860
38861 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38862 timeouts.
38863
38864 * normal/main.c (read_config_file): Push MENU. If this fails,
38865 print an error and wait for a user input.
38866 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38867 If a menu is empty or an error occurs, pop MENU.
38868 (grub_normal_execute): Pop and free MENU after grub_menu_run
38869 returns.
38870
38871 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38872
38873 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38874 include time.h.
38875 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38876 without GRUB_UTIL.
38877 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38878 time.h.
38879 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38880 without GRUB_UTIL.
38881
38882 * include/grub/normal.h (struct grub_menu_list): New struct.
38883 (grub_menu_list_t): New type.
38884 (struct grub_context): New struct.
38885 (grub_context_t): New type.
38886 (grub_register_command): Got rid of EXPORT_FUNC.
38887 (grub_unregister_command): Likewise.
38888 (grub_context_get): New prototype.
38889 (grub_context_get_current_menu): Likewise.
38890 (grub_context_push_menu): Likewise.
38891 (grub_context_pop_menu): Likewise.
38892 [GRUB_UTIL] (grub_default_init): Likewise.
38893 [GRUB_UTIL] (grub_default_fini): Likewise.
38894 [GRUB_UTIL] (grub_timeout_init): Likewise.
38895 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38896
38897 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38898 commands/timeout.c and normal/context.c.
38899 (pkgdata_MODULES): Added default.mod and timeout.mod.
38900 (normal_mod_SOURCES): Added normal/context.c.
38901 (default_mod_SOURCES): New variable.
38902 (default_mod_CFLAGS): Likewise.
38903 (timeout_mod_SOURCES): Likewise.
38904 (timeout_mod_CFLAGS): Likewise.
38905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38906 conf/i386-pc.rmk.
38907 (pkgdata_MODULES): Added default.mod and timeout.mod.
38908 (normal_mod_SOURCES): Added normal/context.c.
38909 (default_mod_SOURCES): New variable.
38910 (default_mod_CFLAGS): Likewise.
38911 (timeout_mod_SOURCES): Likewise.
38912 (timeout_mod_CFLAGS): Likewise.
38913
38914 * Makefile.in (all-local): Added $(MKFILES).
38915
4ed2e1dd 389162005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38917
38918 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38919 (grub_emu_SOURCES): Likewise.
38920 (pkgdata_MODULES): Add `sun.mod'.
38921 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38923 `partmap/sun.c'.
38924 (pkgdata_MODULES): Add `sun.mod'.
38925 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38926 * include/grub/partition.h (grub_sun_partition_map_init): New
38927 prototype.
38928 (grub_sun_partition_map_fini): Likewise.
38929 * partmap/sun.c: New file.
38930 * util/grub-emu.c (main): Initialize and de-initialize the sun
38931 partitionmap support.
38932
4d4e372e 389332005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38934
38935 This implements an Emacs-like menu entry editor.
f19dbdb7 38936
4d4e372e 38937 * normal/menu_entry.c: New file.
f19dbdb7 38938
4d4e372e 38939 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38940 characters to ASCII.
38941 (saved_char): New variable.
38942 (grub_ncurses_checkkey): Rewritten completely.
38943 (grub_ncurses_getkey): Likewise.
38944 (grub_ncurses_init): Call raw instead of cbreak.
38945
38946 * normal/menu.c (print_entry): Do not put a space.
38947 (init_page): Renamed to ...
38948 (grub_menu_init_page): ... this. All callers changed.
38949 (edit_menu_entry): Removed.
38950 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38951
38952 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38953
38954 * kern/misc.c (grub_vprintf): Call grub_refresh.
38955
38956 * normal/menu.c (DISP_LEFT): Renamed to ...
38957 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38958 * normal/menu.c (DISP_UP): Renamed to ...
38959 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38960 * normal/menu.c (DISP_RIGHT): Renamed to ...
38961 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38962 * normal/menu.c (DISP_DOWN): Renamed to ...
38963 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38964 * normal/menu.c (DISP_HLINE): Renamed to ...
38965 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38966 * normal/menu.c (DISP_VLINE): Renamed to ...
38967 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38968 * normal/menu.c (DISP_UL): Renamed to ...
38969 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38970 * normal/menu.c (DISP_UR): Renamed to ...
38971 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38972 * normal/menu.c (DISP_LL): Renamed to ...
38973 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38974 * normal/menu.c (DISP_LR): Renamed to ...
38975 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38976 * normal/menu.c (TERM_WIDTH): Renamed to ...
38977 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38978 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38979 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38980 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38981 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38982 * normal/menu.c (TERM_MARGIN): Renamed to ...
38983 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38984 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38985 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38986 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38987 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38988 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38989 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38990 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38991 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38992 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38993 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38994 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38995 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38996 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38997 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38998 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38999 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
39000 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
39001 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
39002 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
39003 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
39004 All callers changed.
39005
39006 * include/grub/normal.h: New prototype.
39007
39008 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39009 normal/menu_entry.c.
39010 (normal_mod_SOURCES): Likewise.
39011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39012 (normal_mod_SOURCES): Likewise.
39013
e6b92c8a 390142005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
39015
39016 * include/grub/normal.h (grub_halt_init): New prototype.
39017 (grub_halt_fini): Likewise.
39018 (grub_reboot_init): Likewise.
39019 (grub_reboot_fini): Likewise.
39020
39021 * util/grub-emu.c: Include signal.h.
39022 (main_env): New global variable.
39023 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
39024 catch C-c.
39025 (grub_machine_fini): New function.
39026 (main): Call grub_halt_init and grub_reboot_init before
39027 grub_main, and grub_reboot_fini and grub_halt_fini after it.
39028 Call setjmp with MAIN_ENV to go back afterwards.
39029 Call grub_machine_fini right before return.
39030
39031 * include/grub/util/misc.h: Include setjmp.h.
39032 (main_env): New prototype.
39033
39034 * include/grub/kernel.h (grub_machine_fini): New prototype.
39035 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
39036 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
39037
39038 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
39039 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
39040 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 39041
e6b92c8a 39042 * util/i386/pc/misc.c: New file.
f19dbdb7 39043
e6b92c8a 39044 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39045 util/i386/pc/misc.c, commands/i386/pc/halt.c and
39046 commands/i386/pc/reboot.c.
39047
c642636f 390482005-02-14 Guillem Jover <guillem@hadrons.org>
39049
39050 * include/grub/dl.h (grub_dl_check_header): New prototype.
39051 (grub_arch_dl_check_header): Change return type to grub_err_t,
39052 remove size parameter and export function. Update all callers.
39053 * kern/dl.c (grub_dl_check_header): New function.
39054 (grub_dl_load_core): Use `grub_dl_check_header' instead of
39055 `grub_arch_dl_check_header'. Check ELF type. Check if sections
39056 are inside the core.
39057 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
39058 independent ELF header checks.
39059 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39060 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
39061 `grub_dl_check_header' instead of explicit checks. Check for the
39062 ELF type.
39063 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
39064 `grub_dl_check_header' instead of explicit checks. Remove arch
39065 specific ELF header checks.
39066
e6b92c8a 39067 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
39068 argument SIZE.
39069
5eabe94b 390702005-02-13 Hollis Blanchard <hollis@penguinppc.org>
39071
39072 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
39073 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
39074
1b14a681 390752005-02-12 Hollis Blanchard <hollis@penguinppc.org>
39076
39077 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 39078 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 39079 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 39080 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 39081 * partmap/amiga.c (amiga_partition_map_iterate): Return
39082 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
39083 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39084
aca108aa 390852005-02-01 Guillem Jover <guillem@hadrons.org>
39086
39087 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
39088 help info.
39089
c9f9c556 390902005-01-31 Marco Gerards <metgerards@student.han.nl>
39091
39092 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
39093 Removed prototype.
39094 (grub_rescue_cmd_linux): New prototype.
39095 (grub_rescue_cmd_initrd): Likewise.
39096 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
39097 `bi_rec'.
39098 (grub_linux_release_mem): Release the memory for the initrd.
39099 (grub_load_linux): Renamed from this...
39100 (grub_rescue_cmd_linux): ...To this. Changed all callers.
39101 Changed `entry' not to be static. Loop over memory regions to
39102 find another one when the default fails.
39103 (grub_rescue_cmd_initrd): New function.
39104 (grub_linux_init): Remove function.
39105 (grub_linux_fini): Likewise.
39106 (GRUB_MOD_INIT): Register `initrd'.
39107 (GRUB_MOD_FINI): Unregister `initrd'.
39108 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
39109 Function removed.
39110 (grub_linux_normal_fini): Likewise.
39111 (GRUB_MOD_INIT): Register `initrd'.
39112 (GRUB_MOD_FINI): Unregister `initrd'.
39113
990cf3aa 391142005-01-31 Marco Gerards <metgerards@student.han.nl>
39115
39116 * commands/help.c: New file.
39117 * normal/arg.c (show_help): Renamed to...
39118 (grub_arg_show_help): ... this.
39119 * commands/i386/pc/halt.c: New file.
39120 * commands/i386/pc/reboot.c: Likewise.
39121 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
39122 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
39123 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
39124 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
39125 variables.
39126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39127 `commands/help.c'.
39128 (pkgdata_MODULES): Add `help.mod'.
39129 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
39130 * grub/i386/pc/init.h (grub_reboot): New prototype.
39131 (grub_halt): Likewise.
39132 * include/grub/normal.h (grub_arg_show_help): New prototype.
39133 (grub_help_init): Likewise.
39134 (grub_help_fini): Likewise.
39135 * util/grub-emu.c (main): Initialize and deinitialize the help
39136 command.
39137
39138 * normal/cmdline.c (grub_cmdline_get): Doc fix.
39139
39140 * normal/command.c (grub_command_init): Fixed the description of
39141 the `set' and `unset' commands.
39142
391432005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 39144
39145 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
39146 function.
39147 * commands/ieee1275/halt.c: New file.
39148 * commands/ieee1275/reboot.c: Likewise.
39149 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
39150 `__attribute__ ((unused))'. Some GCS related fixed.
39151 (grub_suspend_init) [GRUB_UTIL]: Function removed.
39152 (grub_suspend_fini): Likewise.
39153 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
39154 and `halt.mod'.
39155 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
39156 (halt_mod_CFLAGS): New variables.
39157 * include/grub/powerpc/ieee1275/ieee1275.h
39158 (grub_ieee1275_interpret): New prototype.
39159
1ab09cc7 391602005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
39161
39162 * include/grub/misc.h (memmove): New prototype.
39163 (memcpy): Likewise.
39164
8b8cbdb2 391652005-01-22 Hollis Blanchard <hollis@penguinppc.org>
39166
39167 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
39168 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
39169
e3741a27 391702005-01-22 Marco Gerards <metgerards@student.han.nl>
39171
39172 * kern/misc.c (grub_strndup): Function rewritten.
39173
776bd780 391742005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
39175
39176 * normal/menu.c (TERM_WIDTH): Macro redefined.
39177 (TERM_TOP_BORDER_Y): Likewise.
39178 (draw_border): Replaced while-loop by a for-loop. Make the number
39179 of lines consistent with the number of lines displayed in
39180 print_entries. Added a margin below the rectangle.
39181 (print_entry): Make the entry fit in the rectangle.
39182 (print_entries): Display the scroll arrows next to the right
39183 border.
39184
78026bce 391852005-01-21 Marco Gerards <metgerards@student.han.nl>
39186
39187 * fs/minix.c (grub_minix_find_file): Reserve more space for
39188 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
39189 `grub_strncpy' to copy `path' into it.
39190
67bbaf0f 391912005-01-21 Marco Gerards <metgerards@student.han.nl>
39192
39193 Add the loopback device, a device via which files can be accessed
39194 as devices.
f19dbdb7 39195
67bbaf0f 39196 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
39197 (pkgdata_MODULES): Add loopback.mod.
39198 (loopback_mod_SOURCES): New variable.
39199 (loopback_mod_CFLAGS): Likewise.
39200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39201 `disk/loopback.c'.
39202 (pkgdata_MODULES): Add loopback.mod.
39203 (loopback_mod_SOURCES): New variable.
39204 (loopback_mod_CFLAGS): Likewise.
39205 * disk/loopback.c: new file.
39206 * include/grub/normal.h (grub_loop_init): New prototype.
39207 (grub_loop_fini): New prototype.
39208 * util/grub-emu.c (main): Initialize and de-initialize loopback
39209 support.
39210 * include/grub/disk.h (grub_disk_dev_id): Add
39211 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
39212
6f1c18bd 392132005-01-20 Hollis Blanchard <hollis@penguinppc.org>
39214
39215 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
39216 function.
39217 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
39218 (suspend_mod_SOURCES): New variable.
39219 (suspend_mod_CFLAGS): Likewise.
39220 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
39221 New prototype.
39222 * commands/ieee1275/suspend.c: New file.
39223
b38551da 392242005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39225
39226 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 39227 ((unused))' to `__attribute__ ((used))'.
b38551da 39228 (GRUB_MOD_FINI): Likewise.
39229 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
39230 * genmk.rb (PModule): Assign space to common symbols when linking
39231 modules.
39232
777aff39 392332005-01-20 Marco Gerards <metgerards@student.han.nl>
39234
39235 * include/grub/mm.h (grub_mm_init_region): Change the type of the
39236 `unsigned' arguments to `grub_size_t'.
39237 (grub_malloc): Likewise.
39238 (grub_realloc): Likewise.
39239 (grub_memalign): Likewise.
39240 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
39241 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39242 * util/misc.c (grub_malloc): Likewise.
39243 (grub_realloc): Likewise.
39244 * kern/mm.c (get_header_from_pointer): Change the casts to
39245 `unsigned' into a cast to `grub_size_t'.
39246
39247 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
39248 point to `currnode' when `currnode' is changed.
39249
39250 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
39251 Schottelius <nico-linux@schottelius.org>.
39252
d0ff18e1 392532005-01-09 Hollis Blanchard <hollis@penguinppc.org>
39254
39255 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
39256 (note_path): Remove variable.
39257 (GRUB_IEEE1275_NOTE_NAME): New macro.
39258 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
39259 (grub_ieee1275_note_hdr): New structure.
39260 (grub_ieee1275_note_desc): Likewise.
39261 (grub_ieee1275_note): Likewise.
39262 (load_note): Remove `dir' argument. All callers updated. Remove
39263 `note_img' and `path'. Do not load a file from `note_path'.
39264 Initialize a struct grub_ieee1275_note and write that to `out'.
39265 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
39266
4ca7004c 392672005-01-05 Marco Gerards <metgerards@student.han.nl>
39268
39269 * util/misc.c (grub_util_read_image): Revert last change. It
39270 called `grub_util_read_at', which seeks from the beginning of the
39271 file.
39272
0b412211 392732005-01-04 Hollis Blanchard <hollis@penguinppc.org>
39274
39275 * TODO: Add note about endianness in grub-mkimage.
39276 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
39277 section.
39278 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
39279 (grub_mkimage_SOURCES): New target.
39280 * include/grub/kernel.h (grub_start_addr): Remove variable.
39281 (grub_end_addr): Likewise.
39282 (grub_total_module_size): Likewise.
39283 (grub_kernel_image_size): Likewise.
39284 (GRUB_MODULE_MAGIC): New constant.
39285 (grub_module_info): New structure.
39286 (grub_arch_modules_addr): New prototype.
39287 (grub_get_end_addr): Remove prototype.
39288 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
39289 * include/grub/powerpc/ieee1275/kernel.h: New file.
39290 * include/grub/util/misc.h (grub_util_get_fp_size): New
39291 prototype.
39292 (grub_util_read_at): Likewise.
39293 (grub_util_write_image_at): Likewise.
39294 * kern/main.c (grub_get_end_addr): Remove function.
39295 (grub_load_modules): Call grub_arch_modules_addr instead of using
39296 grub_end_addr. Look for a grub_module_info struct in memory. Use
39297 the grub_module_info fields instead of calling grub_get_end_addr
39298 as loop conditions. Move grub_add_unused_region code here.
39299 (grub_add_unused_region): Remove function.
39300 * kern/i386/pc/init.c: Include grub/cache.h.
39301 (grub_machine_init): Remove call to grub_get_end_addr. Remove
39302 one call to add_mem_region.
39303 (grub_arch_modules_addr): New function.
39304 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
39305 (grub_total_module_size): Likewise.
39306 Include grub/machine/kernel.h.
39307 (grub_arch_modules_addr): New function.
39308 * util/grub-emu.c (grub_end_addr): Remove variable.
39309 (grub_total_module_size): Likewise.
39310 (grub_arch_modules_addr): New function.
39311 * util/misc.c: Include unistd.h.
39312 (grub_util_get_fp_size): New function.
39313 (grub_util_read_at): Likewise.
39314 (grub_util_write_image_at): Likewise.
39315 (grub_util_read_image): Call grub_util_read_at.
39316 (grub_util_write_image): Call grub_util_write_image_at.
39317 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
39318 additional memory in kernel_img for a struct grub_module_info.
39319 Fill in that grub_module_info.
39320 * util/powerpc/ieee1275/grub-mkimage.c: New file.
39321
458786f8 393222005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39323
39324 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
39325 New function.
39326 * include/grub/powerpc/ieee1275/ieee1275.h
39327 (grub_ieee1275_milliseconds): New prototype.
39328 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
39329 Change to 1000.
39330 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
39331 grub_ieee1275_milliseconds.
39332
ac507d1b 393332005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39334
39335 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
39336 variable.
39337 (find_options): New function.
39338 (cmain): Call find_options.
39339 * include/grub/powerpc/ieee1275/ieee1275.h
39340 (grub_ieee1275_realmode): New extern variable.
39341 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
39342 grub_map if grub_ieee1275_realmode is false.
39343
6b8fd1c4 393442004-12-29 Marco Gerards <metgerards@student.han.nl>
39345
39346 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
39347 lines are inserted and make it work like readline. Reported by
39348 Vincent Pelletier <subdino2004@yahoo.fr>.
39349
8514a1e0 393502004-12-28 Marco Gerards <metgerards@student.han.nl>
39351
39352 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
39353
39354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
39355 `kern/powerpc/cache.S'.
39356
924b6140 393572004-12-27 Marco Gerards <metgerards@student.han.nl>
39358
39359 * genmk.rb: Handle the `Program' class in the main loop. Written
39360 by Johan Rydberg <jrydberg@gnu.org>.
39361 (Program): New class.
39362 (programs): New variable.
39363 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
39364 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
39365 instead of "grub/kernel.h". Include <grub/machine/init.h>.
39366 (help_arch): Function removed.
39367 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
39368 `powerpc/libgcc.h' and `loader.h'.
39369 (pkgdata_PROGRAMS): New variable.
39370 (sbin_UTILITIES): Variable removed.
39371 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
39372 (grubof_SOURCES): Variable re-defined so it only includes the
39373 core functionality.
39374 (grubof_CFLAGS): Remove `-DGRUBOF'.
39375 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
39376 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
39377 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
39378 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
39379 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
39380 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
39381 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
39382 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
39383 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
39384 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
39385 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39386 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
39387 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
39388 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
39389 (pc_mod_CFLAGS): New variables.
39390 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
39391 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
39392 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
39393 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
39394 Moved from here...
39395 * include/grub/i386/pc/init.h (grub_os_area_addr)
39396 (rub_os_area_size): ... to here.
39397 * include/grub/powerpc/ieee1275/ieee1275.h
39398 (grub_ieee1275_entry_fn): Export symbol.
39399 * include/grub/powerpc/ieee1275/init.h: New file.
39400 * include/grub/powerpc/libgcc.h: Likewise.
39401 * include/grub/cache.h: Likewise.
39402 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
39403 <hollis@penguinppc.org>.
39404 * kern/dl.c: Include <grub/cache.h>.
39405 (grub_dl_flush_cache): New function.
39406 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
39407 for this module.
39408 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
39409 (grub_console_init): Removed prototypes.
39410 (grub_machine_init): Don't initialize the modules anymore.
39411 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
39412 static.
39413 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
39414 Macro undef removed.
39415 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
39416 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
39417 relocation `R_PPC_REL32'. Return an error when the relocation is
39418 unknown.
39419 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
39420 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
39421 * util/misc.c (grub_arch_sync_caches): Likewise.
39422
e4b47e0c 394232004-12-19 Marco Gerards <metgerards@student.han.nl>
39424
39425 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
39426 `symlist.c', add `grubof_symlist.c'.
39427 (symlist.c): Variable removed.
39428 (grubof_HEADERS): Variable added.
39429 (grubof_symlist.c): New target.
39430 (kernel_syms.lst): Use `grubof_HEADERS' instead of
39431 `kernel_img_HEADERS'.
39432 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
39433 * kern/powerpc/dl.c: New file.
39434 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
39435 Function removed.
39436 (grub_arch_dl_relocate_symbols): Likewise.
39437 (grub_register_exported_symbols): Likewise.
39438
4ceb3636 394392004-12-13 Marco Gerards <metgerards@student.han.nl>
39440
39441 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
39442 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
39443 to fail instead. Reported by Vincent Pelletier
39444 <subdino2004@yahoo.fr>.
39445
39446 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
39447 it is not allocated. Reported by Vincent Pelletier
39448 <subdino2004@yahoo.fr>.
39449
39450 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
39451 output so the output looks better.
f19dbdb7 39452
3f1578fe 394532004-12-04 Marco Gerards <metgerards@student.han.nl>
39454
39455 Modulize the partition map support and add support for the amiga
39456 partition map.
f19dbdb7 39457
3f1578fe 39458 * commands/ls.c: Include <grub/partition.h> instead of
39459 <grub/machine/partition.h>.
39460 * kern/disk.c: Likewise.
39461 * kern/rescue.c: Likewise.
39462 * loader/i386/pc/chainloader.c: Likewise.
39463 * normal/cmdline.c: Likewise.
39464 * kern/powerpc/ieee1275/init.c: Likewise.
39465 (grub_machine_init): Call `grub_pc_partition_map_init',
39466 `grub_amiga_partition_map_init' and
39467 `grub_apple_partition_map_init'.
39468 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
39469 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
39470 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
39471 `partition.h' and `pc_partition.h'.
39472 (grub_setup_SOURCES): Remove
39473 `disk/i386/pc/partition.c'. Add `kern/partition.c',
39474 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39475 (grub_emu_SOURCES): Likewise.
39476 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
39477 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
39478 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
39479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39480 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
39481 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39482 (grubof_SOURCES): Likewise.
39483 * disk/i386/pc/partition.c: File removed.
39484 * disk/powerpc/ieee1275/partition.c: Likewise.
39485 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39486 * include/grub/i386/pc/partition.h: Likewise.
39487 * kern/partition.c: New file.
39488 * partmap/amiga.c: Likewise.
39489 * partmap/apple.c: Likewise.
39490 * partmap/pc.c: Likewise.
39491 * include/grub/partition.h: Likewise..
39492 * include/grub/pc_partition.h: Likewise.
39493 * util/grub-emu.c: Include <grub/partition.h> instead of
39494 <grub/machine/partition.h>.
39495 (main): Call `grub_pc_partition_map_init',
39496 `grub_amiga_partition_map_init' and
39497 `grub_apple_partition_map_init' and deinitialize afterwards.
39498 * util/i386/pc/biosdisk.c: Include `#include
39499 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39500 `<grub/machine/partition.h>'.
39501 * util/i386/pc/grub-setup.c: Likewise.
39502 * util/i386/pc/biosdisk.c: Likewise.
39503 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39504 partition information in case of a PC partition.
39505 * util/i386/pc/grub-setup.c: Include `#include
39506 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39507 `<grub/machine/partition.h>'.
39508 (setup): Only access the PC specific partition information in case
39509 of a PC partition.
39510
0ef4ced9 395112004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39512
0ef4ced9 39513 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39514 (grub_longjmp): Likewise.
39515 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39516 20.
39517 * normal/powerpc/setjmp.S: New file.
39518 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39519 `normal/powerpc/setjmp.S'.
39520 (grubof_CFLAGS): Add `-DGRUBOF'.
39521 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39522 [GRUB_UTIL && !GRUBOF].
f19dbdb7 39523
19950e29 395242004-11-16 Marco Gerards <metgerards@student.han.nl>
39525
39526 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39527 property named `name'. Correctly handle the error returned by
39528 `grub_ieee1275_finddevice' if a device can not be opened.
39529
a2fea427 395302004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39531
39532 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39533 `actual' for negativity.
39534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39535 kern/fshelp.c.
39536
41ea0ea3 395372004-11-01 Marco Gerards <metgerards@student.han.nl>
39538
39539 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39540 (PAGE_OFFSET): New macro.
39541 (CRTC_ADDR_PORT): Likewise.
39542 (CRTC_DATA_PORT): Likewise.
39543 (START_ADDR_HIGH_REGISTER): Likewise.
39544 (START_ADDR_LOW_REGISTER): Likewise.
39545 (GRAPHICS_ADDR_PORT): Likewise.
39546 (GRAPHICS_DATA_PORT): Likewise.
39547 (READ_MAP_REGISTER): Likewise.
39548 (INPUT_STATUS1_REGISTER): Likewise.
39549 (INPUT_STATUS1_VERTR_BIT): Likewise.
39550 (page): New variable.
39551 (wait_vretrace): New function.
39552 (set_read_map): Likewise.
39553 (set_start_address): Likewise.
39554 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39555 the right page.
39556 (check_vga_mem): Take the page into account.
39557 (write_char): Likewise.
39558 (write_cursor): Likewise.
39559 (scroll_up): Likewise. Copy the page to the page that is not
39560 shown and switch between both pages.
39561 (grub_vga_putchar): Fix off by one error.
39562 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39563 account.
39564
ad0bd20b 395652004-11-01 Marco Gerards <metgerards@student.han.nl>
39566
39567 Add support for iso9660 (including rockridge).
f19dbdb7 39568
ad0bd20b 39569 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39570 (iso9660_mod_SOURCES): New variable.
39571 (iso9660_mod_CFLAGS): Likewise.
39572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39573 * include/grub/fs.h (grub_iso9660_init): New prototype.
39574 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39575 * fs/iso9660.c: New file.
39576
39577 * include/grub/misc.h (grub_strncat): New prototype.
39578 * kern/misc.c (grub_strncat): New function.
f19dbdb7 39579
ad0bd20b 39580 * fs/hfs.c (grub_hfs_mount): Translate the error
39581 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39582 * fs/jfs.c (grub_jfs_mount): Likewise.
39583 * fs/ufs.c (grub_ufs_mount): Likewise.
39584
a5477a59 395852004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39586
39587 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39588 which initialized BAT registers.
39589 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39590 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39591 Move from here...
39592 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39593 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39594 ... to here.
39595 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39596 (grub_mapclaim): Likewise.
39597 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39598 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39599 hand.
39600
9304c1f8 396012004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39602
39603 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39604 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39605 -ffreestanding and -msoft-float.
39606
86f4ae25 396072004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39608
39609 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39610 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39611 set in grub_ieee1275_flags.
39612
38912228 396132004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39614
39615 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39616 prototype.
39617 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39618 grub_console_init first.
39619 Change the memory range used for grub_ieee1275_claim and
39620 grub_mm_init_region.
39621 Print an error message if the claim fails.
39622 Include <grub/misc.h>.
39623
d1923dc8 396242004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39625
39626 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39627 Call grub_children_iterate for device nodes of type `scsi',
39628 `ide', or `ata'.
39629 (grub_ofdisk_open): Remove manual device alias resolution.
39630 Fix memory leak when device cannot be opened.
f19dbdb7 39631 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 39632 (grub_children_iterate): New prototype.
39633 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39634 New function.
39635 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39636 Return -1 if args.size was -1.
39637
4512e4f3 396382004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39639
39640 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39641 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39642 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39643 Open Firmware's memory for it; claim memory from _start to _end.
39644 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39645 (_end): New extern.
39646 (_start): Zero BSS from __bss_start to _end.
39647 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39648 New extern.
39649 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39650
4d61feb0 396512004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39652
ad0bd20b 39653 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39654 -1 if args.base was -1.
4d61feb0 39655
026fa2f9 396562004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39657
39658 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39659 escape sequence instead of a literal ^L. Also call
39660 grub_ofconsole_gotoxy.
39661
9f2220ef 396622004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39663
39664 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39665 void * arguments to grub_addr_t. All callers updated. Also make
39666 the `result' argument optional.
39667 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39668 All callers updated.
39669
8a572cd7 396702004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39671
39672 * commands/ls.c (grub_ls_list_files): Use the string following the
39673 initial ')', if present, as the filesystem path.
39674 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39675
39676 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39677
18aa81f2 396782004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39679
39680 Make the source code of the menu interface more readable.
f19dbdb7 39681
18aa81f2 39682 * normal/menu.c: Include grub/mm.h.
39683 (TERM_WIDTH): New macro.
39684 (TERM_HEIGHT): Likewise.
39685 (TERM_INFO_HEIGHT): Likewise.
39686 (TERM_MARGIN): Likewise.
39687 (TERM_SCROLL_WIDTH): Likewise.
39688 (TERM_TOP_BORDER_Y): Likewise.
39689 (TERM_LEFT_BORDER_X): Likewise.
39690 (TERM_BORDER_WIDTH): Likewise.
39691 (TERM_MESSAGE_HEIGHT): Likewise.
39692 (TERM_BORDER_HEIGHT): Likewise.
39693 (TERM_NUM_ENTRIES): Likewise.
39694 (TERM_FIRST_ENTRY_Y): Likewise.
39695 (TERM_ENTRY_WIDTH): Likewise.
39696 (TERM_CURSOR_X): Likewise.
39697 (draw_border): Use macros instead of magic numbers.
39698 (print_entry): Likewise.
39699 (print_entries): Likewise.
39700 (run_menu): Likewise. Also, handle the key 'e'.
39701 (run_menu_entry): Ignore empty command lines.
39702 (print_message): Added a new argument EDIT. If EDIT is true,
39703 print a different message.
39704 (init_page): Likewise.
39705 (edit_menu_entry): New function. Not implemented yet.
39706
b47efe30 397072004-09-17 Marco Gerards <metgerards@student.han.nl>
39708
39709 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39710 can be loaded from normal mode.
f19dbdb7 39711
b47efe30 39712 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39713 `multiboot.mod'.
39714 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39715 (multiboot_mod_CFLAGS): New variables.
39716 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 39717 * loader/i386/pc/multiboot_normal.c: Likewise.
39718
b47efe30 39719 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39720 attribute `unused'.
f19dbdb7 39721
b47efe30 39722 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39723 `fdiro' to read the mode information from instead of `diro'.
39724
39725 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39726 looking up a symlink.
39727
39728 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39729 macro.
39730 * normal/command.c (grub_command_execute): Don't parse the
39731 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39732 flags of the command.
39733
39734 * normal/menu.c (grub_menu_run): Fix typo.
39735
da75ac71 397362004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39737
39738 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39739
39740 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39741 `y + 1' instead of `y - 1'.
39742
39743 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 39744
062b24c2 397452004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39746
39747 From Hollis Blanchard <hollis@penguinppc.org>:
39748 * kern/misc.c (memmove): New alias for grub_memmove.
39749 (memcmp): New alias for grub_memcmp.
39750 (memset): New alias for grub_memset.
f19dbdb7 39751 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 39752 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 39753 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 39754 (grub_ieee1275_get_property): Likewise.
f19dbdb7 39755
8ddad845 397562004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39757
39758 Added normal mode command `chainloader' as module chain.mod, which
39759 depends on normal.mod and _chain.mod.
f19dbdb7 39760
8ddad845 39761 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39762 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39763 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39764 Deleted prototype.
39765 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39766 but arguments parsing moved to ...
39767 (grub_chainloader_cmd): ... here. New function.
39768 * include/grub/i386/pc/chainloader.h: New file.
39769 * loader/i386/pc/chainloader_normal.c: Likewise.
39770
2c1f4ce3 397712004-09-11 Marco Gerards <metgerards@student.han.nl>
39772
39773 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39774 (grub_mkimage_LDFLAGS): Likewise.
39775 (grub_emu_SOURCES): Likewise.
39776 (kernel_img_HEADERS): Added fshelp.h.
39777 * fs/ext2.c: Include <grub/fshelp.h>.
39778 (FILETYPE_REG): New macro.
39779 (FILETYPE_INO_REG): Likewise.
39780 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39781 Changed all users.
39782 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39783 all users.
39784 (grub_fshelp_node): New struct.
39785 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39786 to a pointer.
39787 (grub_ext2_get_file_block): Removed function.
39788 (grub_ext2_read_block): New function.
39789 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39790 This function was written.
39791 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39792 (grub_ext2_find_file): Removed function.
39793 (grub_ext2_read_symlink): New function.
39794 (grub_ext2_iterate_dir): Likewise.
39795 (grub_ext2_open): Rewritten.
39796 (grub_ext2_dir): Rewritten.
39797 * include/grub/fshelp.h: New file.
39798 * fs/fshelp.c: Likewise.
39799
3c52136a 398002004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39801
39802 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39803 (print_message): Add a missing newline.
39804 (run_menu): Added timeout support.
39805 (run_menu_entry): New local function.
39806 (grub_menu_run): Added support for booting.
39807
39808 * kern/loader.c (grub_loader_is_loaded): New function.
39809
39810 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39811 (grub_get_rtc): Exported.
39812
39813 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39814 (grub_get_rtc): Exported.
39815
39816 * include/grub/normal.h (struct grub_command_list): Remove
39817 constant from the member `command'.
39818
39819 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39820
39821 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39822
39823 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39824
aa033560 398252004-08-28 Marco Gerards <metgerards@student.han.nl>
39826
39827 Add support for the JFS filesystem.
39828
39829 * fs/jfs.c: New file.
39830 * include/grub/fs.h (grub_jfs_init): New prototype.
39831 (grub_jfs_fini): New prototype.
39832 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39833 (grub_emu_SOURCES): Likewise.
39834 (pkgdata_MODULES): Add jfs.mod.
39835 (jfs_mod_SOURCES): New variable.
39836 (jfs_mod_CFLAGS): Likewise.
39837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39838 (grubof_SOURCES): Likewise.
39839 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39840
39841 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39842 endian to the host endian.
39843 (grub_fat_utf16_to_utf8): Move function from there...
39844 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 39845 the endianness of the source string anymore.
aa033560 39846 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39847
94bc45af 398482004-08-24 Marco Gerards <metgerards@student.han.nl>
39849
39850 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39851 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39852 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39853 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 39854
94bc45af 39855 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39856 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39857 for `node_found' and `it_dir'.
39858 (grub_hfs_dir): Add prototype for `dir_hook'.
39859
39860 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39861 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39862 and `indir32' to silence a gcc warning.
39863
39864 * include/grub/fs.h (grub_hfs_init): New prototype.
39865 (grub_hfs_fini): Likewise.
f19dbdb7 39866
39867
97543f08 398682004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39869
39870 Each disk device has its own id now. This is useful to make use
39871 of multiple disk devices.
f19dbdb7 39872
97543f08 39873 * include/grub/disk.h (grub_disk_dev_id): New enum.
39874 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39875 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39876
39877 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39878 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39879
39880 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39881 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39882
39883 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39884 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39885
39886 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39887 "id" which is used by the cache manager.
39888
39889 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39890 of just "GRUB".
39891
64372eb4 398922004-08-18 Marco Gerards <metgerards@student.han.nl>
39893
39894 * fs/hfs.c: New file.
39895 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39896 (grub_emu_SOURCES): Likewise.
39897 (pkgdata_MODULES): Add hfs.mod.
39898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39899 (grubof_SOURCES): Likewise.
39900 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39901
39902 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39903 * kern/misc.c (grub_strncasecmp): Add function.
39904
cc61b58f 399052004-08-14 Marco Gerards <metgerards@student.han.nl>
39906
39907 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39908 with parentheses.
39909
39910 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39911 (grub_ext2_dir): In case the directory entry type is unknown, read
39912 it from the inode.
39913
0ef123f6 399142004-08-02 Peter Bruin <pjbruin@dds.nl>
39915
39916 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39917 grub_load_linux instead of grub_rescue_cmd_linux as second
39918 argument of grub_rescue_register_command.
39919
39920 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39921
a447c5df 399222004-07-27 Marco Gerards <metgerards@student.han.nl>
39923
39924 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39925 function.
39926 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39927 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39928 `loader/powerpc/ieee1275/linux.c',
39929 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39930 * include/grub/powerpc/ieee1275/ieee1275.h
39931 (grub_ieee1275_release): New prototype.
39932 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39933 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39934 normal, boot, linux and linux_normal.
39935 * loader/powerpc/ieee1275/linux.c: New file.
39936 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39937
5a9e3546 399382004-07-12 Marco Gerards <metgerards@student.han.nl>
39939
39940 * normal/arg.c (grub_arg_parse): Correct error handling after
39941 reallocating the argumentlist (check if `argl' is not null instead
39942 of checking if `args' is not null).
39943 * kern/mm.c (grub_realloc): Return the same pointer when using the
39944 same region, instead of returning the header address.
39945
e15199cb 399462004-07-11 Marco Gerards <metgerards@student.han.nl>
39947
39948 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39949 one block instead of two when looking for the initial partition.
39950 (grub_partition_probe): Initialize the local variable `p' with 0.
39951 Use base 10 for the grub_strtoul call.
39952 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39953 need for one local variable.
39954 (grub_strtoul): Don't add the new value to `num', instead of that
39955 just assign it.
39956
020616c2 399572004-07-11 Marco Gerards <metgerards@student.han.nl>
39958
39959 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39960 (pxeboot_img_SOURCES): New variable.
39961 (pxeboot_img_ASFLAGS): Likewise.
39962 (pxeboot_img_LDFLAGS): Likewise.
39963 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39964 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39965 <lode_leroy@hotmail.com>.
39966
6c51eb64 399672004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39968
39969 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39970 there was no input.
39971
cfb12aff 399722004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39973
39974 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39975 the history buffer logic.
39976
6eabba74 399772004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39978
39979 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39980 (FILETYPE_INO_SYMLINK): New macros.
39981 (grub_ext2_find_file): Check if the node is a directory using the
39982 inode stat information instead of using the filetype in the
39983 dirent. Exclude the first character of an absolute symlink.
39984 (grub_ext2_dir): Mask out the filetype part of the mode member of
39985 the inode.
39986
66e19ef8 399872004-05-24 Marco Gerards <metgerards@student.han.nl>
39988
39989 Add support for UFS version 1 and 2. Add support for the minix
39990 filesystem version 1 and 2, both the variants with 14 and 30 long
39991 filenames.
f19dbdb7 39992
66e19ef8 39993 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39994 fs/minix.c.
39995 (grub_emu_SOURCES): Likewise.
39996 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39997 (ufs_mod_SOURCES): New variable.
39998 (ufs_mod_CFLAGS): Likewise.
39999 (minix_mod_SOURCES): Likewise.
40000 (minix_mod_CFLAGS): Likewise.
40001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
40002 fs/minix.c.
40003 (grubof_SOURCES): Likewise.
40004 * fs/ufs.c: New file.
40005 * fs/minix.c: New file.
40006 * include/grub/fs.h (grub_ufs_init): New prototype.
40007 (grub_ufs_fini): Likewise.
40008 (grub_minix_init): Likewise.
40009 (grub_minix_fini): Likewise.
40010 * util/grub-emu.c (main): Initialize and deinitialize UFS and
40011 minix fs.
40012
cc2e748a 400132004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
40014
40015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
40016 commands/ls.c, commands/terminal.c, commands/boot.c,
40017 commands/cmp.c and commands/cat.c.
40018 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
40019
40020 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
40021 "env.h"
40022
4b13b216 400232004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40024
40025 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
40026 and grub_, respectively. Because the conversion is trivial and
40027 mechanical, I omit the details here. Please refer to the CVS
40028 if you need more information.
40029
6a142551 400302004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40031
40032 * include/pupa: Renamed to ...
40033 * include/grub: ... this.
40034 * util/i386/pc/pupa-mkimage.c: Renamed to ...
40035 * util/i386/pc/grub-mkimage.c: ... this.
40036 * util/i386/pc/pupa-setup.c: Renamed to ...
40037 * util/i386/pc/grub-setup.c: ... this.
40038 * util/pupa-emu.c: Renamed to ...
40039 * util/grub-emu.c: ... this.
40040
e56cdf21 400412004-03-29 Marco Gerards <metgerards@student.han.nl>
40042
40043 Add support for the newworld apple macintosh (PPC). This has been
40044 tested on the powerbook 2000 only. It only adds support for
40045 generic ieee1275 functions, console and disk support. This should
40046 be easy to port to other architectures with support for Open
40047 Firmware.
f19dbdb7 40048
e56cdf21 40049 * configure.ac: Accept the powerpc as host_cpu. In the case of
40050 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
40051 specific tests are only executed while building for the i386.
40052 Inverse test for crosscompile.
40053 * genmk.rb (Utility): Allow assembler files.
40054 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
40055 * conf/powerpc-ieee1275.rmk: New file.
40056 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
40057 * disk/powerpc/ieee1275/partition.c: Likewise.
40058 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
40059 * include/pupa/powerpc/ieee1275/console.h: Likewise.
40060 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
40061 * include/pupa/powerpc/ieee1275/time.h: Likewise.
40062 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
40063 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
40064 * include/pupa/powerpc/ieee1275/loader.h
40065 * include/pupa/powerpc/setjmp.h: Likewise.
40066 * include/pupa/powerpc/types.h: Likewise.
40067 * kern/powerpc/ieee1275/init.c: Likewise.
40068 * kern/powerpc/ieee1275/openfw.c: Likewise.
40069 * term/powerpc/ieee1275/ofconsole.c: Likewise.
40070
40071 These files were written by Johan Rydberg
40072 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 40073
e56cdf21 40074 * boot/powerpc/ieee1275/cmain.c: New file.
40075 * boot/powerpc/ieee1275/crt0.S: Likewise.
40076 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
40077 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
40078
8c8cc205 400792004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
40080
40081 * Makefile.in: Update copyright.
40082 * genmodsrc.sh: Likewise.
40083 * gensymlist.sh: Likewise.
40084 * term/i386/pc/vga.c: Indent correctly.
40085
40086 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
40087 bugreporting address.
40088 * util/i386/pc/pupa-setup.c (usage): Likewise,
40089 (main): Call pupa_ext2_init and pupa_ext2_fini.
40090
f19dbdb7 40091 * fs/fat.c (log2): Renamed to ...
8c8cc205 40092 (fat_log2): ... this.
40093 All callers changed.
40094 * kern/misc.c (memcpy): Alias to pupa_memmove.
40095 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
40096 lvalue cast.
40097 * util/console.c (pupa_ncurses_fini): Return 0.
40098
40099 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
40100 Move fail label here.
40101 [__GNU__]: Don't warn when using stat.
40102 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
40103 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
40104 long int. Use strtol instead of strtoul.
f19dbdb7 40105
db1771cf 401062004-03-14 Marco Gerards <metgerards@student.han.nl>
40107
40108 * commands/boot.c: New file.
40109 * commands/cat.c: Likewise.
40110 * commands/cmp.c: Likewise.
40111 * commands/ls.c: Likewise.
40112 * commands/terminal.c: Likewise.
40113 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
40114 (pupa_register_command): Changed interface to match the new
40115 argument parser.
40116 (pupa_command_execute): Changed (almost rewritten) so it uses
40117 pupa_split_command. Added support for setting variables using the
40118 syntax `foo=bar'.
40119 (rescue_command): Changed to work with the new argument parser.
40120 (terminal_command): Moved from here to commands/terminal.c.
40121 (set_command): New function.
40122 (unset_command): New function.
40123 (insmod_command): New function.
40124 (rmmod_command): New function.
40125 (lsmod_command): New function.
40126 (pupa_command_init): Don't initialize the command terminal
40127 anymore. Initialize the commands set, unset, insmod, rmmod and
40128 lsmod.
40129 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
40130 (kernel_img_HEADERS): Add arg.h and env.h.
40131 (pupa_mkimage_LDFLAGS): Add kern/env.c.
40132 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
40133 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
40134 normal/arg.c.
40135 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
40136 terminal.mod.
40137 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
40138 (boot_mod_SOURCES): New variable.
40139 (terminal_mod_SOURCES): Likewise.
40140 (ls_mod_SOURCES): Likewise.
40141 (cmp_mod_SOURCES): Likewise.
40142 (cat_mod_SOURCES): Likewise.
40143
40144 * normal/arg.c: New file.
40145 * kern/env.c: Likewise.
40146 * include/pupa/arg.h: Likewise.
40147 * include/pupa/env.h: Likewise.
40148 * font/manager.c (font_command): Changed to match argument parsing
40149 interface changes.
40150 (PUPA_MOD_INIT): Likewise.
40151 * hello/hello.c (pupa_cmd_hello): Likewise.
40152 (PUPA_MOD_INIT): Likewise.
40153 * include/pupa/disk.h: Include <pupa/device.h>.
40154 (pupa_print_partinfo): New prototype.
40155 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
40156 (pupa_dl_get_prefix): Likewise.
40157 * include/pupa/misc.h: Include <pupa/err.h>.
40158 (pupa_isgraph): New prototype.
40159 (pupa_isdigit): Likewise.
40160 (pupa_split_cmdline): Likewise.
40161 * include/pupa/normal.h: Include <pupa/arg.h>.
40162 (pupa_command): Changed the prototype of the member `func' to
40163 match the argument parsing interface. Added member `options'.
40164 (pupa_register_command): Updated to match function.
40165 (pupa_arg_parse): New prototype.
40166 (pupa_hello_init) [PUPA_UTIL]: New prototype.
40167 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
40168 (pupa_ls_init) [PUPA_UTIL]: Likewise.
40169 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
40170 (pupa_cat_init) [PUPA_UTIL]: Likewise.
40171 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
40172 (pupa_boot_init) [PUPA_UTIL]: Likewise.
40173 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
40174 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
40175 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
40176 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
40177 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
40178 * kern/disk.c: Include <pupa/file.h>.
40179 (pupa_print_partinfo): New function.
40180 * kern/dl.c: Include <pupa/env.h>.
40181 (pupa_dl_dir): Variable removed.
40182 (pupa_dl_load): Use the environment variable `prefix' instead of
40183 the variable pupa_dl_dir.
40184 (pupa_dl_set_prefix): Function removed.
40185 (pupa_dl_get_prefix): Likewise.
40186 * kern/i386/pc/init.c: Include <pupa/env.h>.
40187 (pupa_machine_init): Use the environment variable `prefix' instead of
40188 using pupa_dl_set_prefix to set the prefix.
40189 * kern/main.c: Include <pupa/env.h>.
40190 (pupa_set_root_dev): Use the environment variable `prefix' instead of
40191 using pupa_dl_get_prefix to get the prefix.
40192 * kern/misc.c: Include <pupa/env.h>.
40193 (pupa_isdigit): New function.
40194 (pupa_isgraph): Likewise.
40195 (pupa_ftoa): Likewise.
40196 (pupa_vsprintf): Added support for printing values of the type
40197 `double'. Make it possible to format variable output when using
40198 formatting like `%1.2%f'.
40199 (pupa_split_cmdline): New function.
40200 * kern/rescue.c: Include <pupa/env.h>.
40201 (next_word): Removed function.
40202 (pupa_rescue_cmd_prefix): Likewise.
40203 (pupa_rescue_cmd_set): New function.
40204 (pupa_rescue_cmd_unset): New function.
40205 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
40206 split the command line instead of splitting it here. Added
40207 support for setting variables using the syntax `foo=bar'. Don't
40208 initialize the prefix command anymore. Initialized the set and
40209 unset commands.
40210 * normal/cmdline.c: Include <pupa/env.h>.
40211 (pupa_tab_complete): Added prototypes for print_simple_completion,
40212 print_partition_completion, add_completion, iterate_commands,
40213 iterate_dev, iterate_part and iterate_dir. Moved code to print
40214 partition information from here to kern/disk.c.
fe6b695a 40215 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 40216 * normal/main.c: Include <pupa/env.h>.
40217 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
40218 instead of using pupa_dl_get_prefix to get the prefix.
40219 * term/i386/pc/vga.c: Include <pupa/arg.h>.
40220 (check_vga_mem): Cast pointers to `void *' to silence a gcc
40221 warning.
40222 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
40223 (pupa_vga_setcolor): Declare unused variables with `__attribute__
40224 ((unused))' to silence a gcc warning.
40225 (pupa_vga_setcolor): Likewise.
40226 (debug_command): Changed to match argument parsing
40227 interface changes.
40228 * util/pupa-emu.c: Include <pupa/env.h>.
40229 (options): Added 0's for unused fields to silence a gcc warning.
40230 (argp): Likewise.
40231 (main): Use the environment variable `prefix' instead of using
40232 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
40233 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
40234 and terminal.
40235
40236 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
40237 * util/misc.c: Include <malloc.h>.
40238 (pupa_malloc): Rewritten so errors are correctly reported.
40239 (pupa_realloc): Likewise.
40240 (pupa_memalign): Likewise.
40241 (pupa_mm_init_region): Declare unused variables with
40242 `__attribute__ ((unused))' to silence a gcc warning.
40243 * normal/i386/setjmp.S: Remove tab at the end of the file to
40244 silence a gcc warning.
40245 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
40246 variables with `__attribute__ ((unused))' to silence a gcc
40247 warning.
40248 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
40249 local variable i unsigned to silence a gcc warning.
40250
40251 * kern/term.c: Include <pupa/misc.h>.
40252 (pupa_more_lines): New variable.
40253 (pupa_more): Likewise.
40254 (pupa_putcode): When the pager is active pause at the end of every
40255 screen.
40256 (pupa_set_more): New function.
40257 * include/pupa/term.h (pupa_set_more): New prototype.
40258
40259
3b1139cb 402602004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
40261
40262 Now this project is GRUB 2 rather than PUPA. The location of
40263 the CVS repository was moved to GRUB's.
f19dbdb7 40264
3b1139cb 40265 * configure.ac: Use bug-grub as the reporting address.
40266 Use GRUB instead of PUPA.
40267 Change the version number to 1.90.
40268
8367695c 402692004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
40270
40271 * genkernsyms.sh: Updated copyright information.
40272 * genmk.rb: Likewise.
40273 * genmodsrc.sh: Likewise.
40274 * gensymlist.sh: Likewise.
40275 * boot/i386/pc/boot.S: Likewise.
40276 * boot/i386/pc/diskboot.S: Likewise.
40277 * disk/i386/pc/biosdisk.c: Likewise.
40278 * disk/i386/pc/partition.c: Likewise.
40279 * font/manager.c: Likewise.
40280 * fs/ext2.c: Likewise.
40281 * fs/fat.c: Likewise.
40282 * include/pupa/boot.h: Likewise.
40283 * include/pupa/device.h: Likewise.
40284 * include/pupa/disk.h: Likewise.
40285 * include/pupa/dl.h: Likewise.
40286 * include/pupa/elf.h: Likewise.
40287 * include/pupa/err.h: Likewise.
40288 * include/pupa/file.h: Likewise.
40289 * include/pupa/font.h: Likewise.
40290 * include/pupa/fs.h: Likewise.
40291 * include/pupa/kernel.h: Likewise.
40292 * include/pupa/loader.h: Likewise.
40293 * include/pupa/misc.h: Likewise.
40294 * include/pupa/mm.h: Likewise.
40295 * include/pupa/net.h: Likewise.
40296 * include/pupa/normal.h: Likewise.
40297 * include/pupa/rescue.h: Likewise.
40298 * include/pupa/setjmp.h: Likewise.
40299 * include/pupa/symbol.h: Likewise.
40300 * include/pupa/term.h: Likewise.
40301 * include/pupa/types.h: Likewise.
40302 * include/pupa/i386/setjmp.h: Likewise.
40303 * include/pupa/i386/types.h: Likewise.
40304 * include/pupa/i386/pc/biosdisk.h: Likewise.
40305 * include/pupa/i386/pc/boot.h: Likewise.
40306 * include/pupa/i386/pc/console.h: Likewise.
40307 * include/pupa/i386/pc/init.h: Likewise.
40308 * include/pupa/i386/pc/kernel.h: Likewise.
40309 * include/pupa/i386/pc/linux.h: Likewise.
40310 * include/pupa/i386/pc/loader.h: Likewise.
40311 * include/pupa/i386/pc/memory.h: Likewise.
40312 * include/pupa/i386/pc/multiboot.h: Likewise.
40313 * include/pupa/i386/pc/partition.h: Likewise.
40314 * include/pupa/i386/pc/time.h: Likewise.
40315 * include/pupa/i386/pc/vga.h: Likewise.
40316 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
40317 * include/pupa/util/getroot.h: Likewise.
40318 * include/pupa/util/misc.h: Likewise.
40319 * include/pupa/util/resolve.h: Likewise.
40320 * kern/device.c: Likewise.
40321 * kern/disk.c: Likewise.
40322 * kern/dl.c: Likewise.
40323 * kern/err.c: Likewise.
40324 * kern/file.c: Likewise.
40325 * kern/fs.c: Likewise.
40326 * kern/loader.c: Likewise.
40327 * kern/main.c: Likewise.
40328 * kern/misc.c: Likewise.
40329 * kern/mm.c: Likewise.
40330 * kern/rescue.c: Likewise.
40331 * kern/term.c: Likewise.
40332 * kern/i386/dl.c: Likewise.
40333 * kern/i386/pc/init.c: Likewise.
40334 * kern/i386/pc/lzo1x.S: Likewise.
40335 * kern/i386/pc/startup.S: Likewise.
40336 * loader/i386/pc/chainloader.c: Likewise.
40337 * loader/i386/pc/linux.c: Likewise.
40338 * loader/i386/pc/multiboot.c: Likewise.
40339 * normal/cmdline.c: Likewise.
40340 * normal/command.c: Likewise.
40341 * normal/main.c: Likewise.
40342 * normal/menu.c: Likewise.
40343 * normal/i386/setjmp.S: Likewise.
40344 * term/i386/pc/console.c: Likewise.
40345 * term/i386/pc/vga.c: Likewise.
40346 * util/console.c: Likewise.
40347 * util/genmoddep.c: Likewise.
40348 * util/misc.c: Likewise.
40349 * util/pupa-emu.c: Likewise.
40350 * util/resolve.c: Likewise.
40351 * util/unifont2pff.rb: Likewise.
40352 * util/i386/pc/biosdisk.c: Likewise.
40353 * util/i386/pc/getroot.c: Likewise.
40354 * util/i386/pc/pupa-mkimage.c: Likewise.
40355 * util/i386/pc/pupa-setup.c: Likewise.
40356
e6eced71 403572004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
40358
40359 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
40360 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
40361 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
40362 reading and reset it after reading.
40363 (pupa_ext2_close): Return PUPA_ERR_NONE.
40364
40365 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
40366 Correct value.
40367 (struct linux_kernel_header): Add kernel_version and
40368 initrd_addr_max.
40369 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
40370 pupa_file_read succeeds.
40371 (pupa_rescue_cmd_initrd): Implement.
40372
5aded270 403732003-12-03 Marco Gerards <metgerards@student.han.nl>
40374
40375 * fs/ext2.c (pupa_ext2_label): New function.
40376 (pupa_ext2_fs): Added label.
40377 * fs/fat.c (pupa_fat_label): New function.
40378 (pupa_fat_fs): Added label.
40379 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
40380
40381 * kern/misc.c (pupa_strndup): New function.
40382 * include/pupa/misc.h (pupa_strndup): New prototype.
40383
40384 * include/pupa/normal.h: Include <pupa/err.h>.
40385 (pupa_set_history): New prototype.
40386 (pupa_iterate_commands): New prototype.
40387 * normal/cmdline.c: Include <pupa/machine/partition.h>,
40388 <pupa/disk.h>, <pupa/file.h>.
40389 (hist_size): New variable.
40390 (hist_lines): Likewise.
40391 (hist_end): Likewise.
40392 (hist_used): Likewise.
40393 (pupa_set_history): New function.
40394 (pupa_history_get): Likewise.
40395 (pupa_history_add): Likewise.
40396 (pupa_history_replace): Likewise.
40397 (pupa_tab_complete): Likewise.
40398 (pupa_cmdline_run): Added tab completion and history buffer. Tab
40399 completion shows partitionnames while completing partitions, this
40400 feature was suggested by Jeff Bailey.
40401 * normal/command.c (pupa_iterate_commands): New function.
40402 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
40403 (pupa_normal_init): Initialize history buffer.
40404 (PUPA_MOD_INIT): Likewise.
40405 (pupa_normal_fini): Free the history buffer.
40406 (PUPA_MOD_FINI): Likewise.
40407
40408 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
40409 key.
40410
40411 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
40412 * configure.ac [i386]: Check for regparam bug.
40413 (NESTED_FUNC_ATTR) [! i386]: Defined.
40414
1f7315a3 404152003-11-17 Marco Gerards <metgerards@student.han.nl>
40416
40417 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
40418 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
40419 (pupa_emu_SOURCES): New variable.
40420 (pupa_emu_LDFLAGS): Likewise.
40421 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
40422 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
40423 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
40424 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40425 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
40426 (pupa_jmp_buf): New typedef.
40427 (pupa_setjmp) [PUPA_UTIL]: New macro.
40428 (pupa_longjmp) [PUPA_UTIL]: Likewise.
40429 * include/pupa/term.h (struct pupa_term): New member `refresh'.
40430 (pupa_refresh): New prototype.
40431 * include/pupa/util/getroot.h: New file.
40432 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
40433 it.
40434 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
40435 (pupa_rescue_cmd_cat): Likewise.
40436 (pupa_rescue_cmd_ls): Likewise.
40437 (pupa_rescue_cmd_testload): Likewise.
40438 (pupa_rescue_cmd_lsmod): Likewise.
40439 * normal/cmdline.c (pupa_cmdline_get): Likewise.
40440 * normal/menu.c (run_menu): Likewise.
40441 * kern/term.c (pupa_cls): Likewise.
40442 (pupa_refresh): New function.
40443 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
40444 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40445 * util/console.c: New file.
f19dbdb7 40446
1f7315a3 40447 * util/i386/pc/getroot.c: New file.
40448 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
40449 (pupa_putchar): New function.
40450 (pupa_refresh): Likewise.
40451 (xgetcwd): Function moved to ...
40452 (strip_extra_slashes): Likewise.
40453 (get_prefix): Likewise.
f19dbdb7 40454 * util/i386/pc/getroot.c: ... here.
1f7315a3 40455 (find_root_device): Function moved and renamed to...
40456 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
40457 Changed all callers.
40458 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
40459 and renamed to...
40460 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
40461 Changed all callers.
40462 * util/misc.c (pupa_memalign): New function.
40463 (pupa_mm_init_region): Likewise.
40464 (pupa_register_exported_symbols): Likewise.
40465 (pupa_putchar): Function removed.
40466 * util/pupa-emu.c: New file.
40467
9a5c1ade 404682003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
40469
40470 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
40471 (_multiboot_mod_SOURCES): New variable.
40472 (_multiboot_mod_CFLAGS): Likewise.
40473 * loader/i386/pc/multiboot.c: New file.
40474 * include/pupa/i386/pc/multiboot.h: Likewise.
40475 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
40476 (pupa_multiboot_real_boot): New function.
40477 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
40478 (pupa_multiboot_real_boot): New prototype.
40479 (pupa_rescue_cmd_multiboot): Likewise
40480 (pupa_rescue_cmd_module): Likewise.
40481
40482 * kern/loader.c (pupa_loader_set): Continue when
40483 pupa_loader_unload_func() fails.
40484 (pupa_loader_unset): New function.
40485 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40486
40487 * kern/misc.c (pupa_stpcpy): New function.
40488 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40489
8e72a9c0 404902003-11-12 Marco Gerards <metgerards@student.han.nl>
40491
40492 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40493 for available extensions.
40494
40495 * include/pupa/i386/pc/time.h: New file.
40496 * kern/disk.c: Include <pupa/machine/time.h>.
40497 (PUPA_CACHE_TIMEOUT): New macro.
40498 (pupa_last_time): New variable.
40499 (pupa_disk_open): Flush the cache when there was a timeout.
40500 (pupa_disk_close): Reset the timer.
40501 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40502 pupa_currticks.
40503 * util/misc.c: Include <sys/times.h>
40504 (pupa_get_rtc): New function.
40505
c4adbd32 405062003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40507
40508 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40509 as blocks.
40510 (pupa_ext2_get_file_block): Use blocks member.
40511
40512 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40513 first block. Return -1 instead of pupa_errno on error.
40514
bfd30f06 405152003-10-27 Marco Gerards <metgerards@student.han.nl>
40516
40517 * README: In the pupa-mkimage example use _chain instead of chain
40518 and ext2 instead of fat.
40519 * TODO: Replace ext2fs with jfs as an example. Add an item for
40520 adding journal playback for ext2fs.
40521 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40522 (pkgdata_MODULES): Added ext2.mod.
40523 (ext2_mod_SOURCES): New variable.
40524 (ext2_mod_CFLAGS): Likewise.
40525 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40526 * include/pupa/misc.h (pupa_strncpy): New prototype.
40527 (pupa_strcat): Likewise.
40528 (pupa_strncmp): Likewise.
40529 * kern/misc.c (pupa_strcat): Enable function.
40530 (pupa_strncpy): New function.
40531 (pupa_strncmp): Likewise.
40532 * fs/ext2.c: New file.
f19dbdb7 40533
bfd30f06 40534 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40535 when the read failed before retrying.
40536 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40537 (_FILE_OFFSET_BITS): Likewise.
40538 * configure.ac: Added AC_SYS_LARGEFILE.
40539
98d15063 405402003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40541
40542 * genmk.rb (PModule#rule): Make sure to get only symbol names
40543 from the output of nm.
59cad637 40544 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 40545
18d9c7cd 405462003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40547
40548 I forgot to check in these changes for a long time. This adds
40549 incomplete support for VGA console, and this is still very
40550 buggy. Also, a lot of consideration is required for I18N,
40551 UNICODE, and VGA font issues. Therefore, assume that this is
40552 such that "better than nothing".
f19dbdb7 40553
18d9c7cd 40554 * font/manager.c: New file.
40555 * include/pupa/font.h: Likewise.
40556 * include/pupa/i386/pc/vga.h: Likewise.
40557 * term/i386/pc/vga.c: Likewise.
40558 * util/unifont2pff.rb: Likewise.
40559
40560 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40561 (pkgdata_MODULES): Added vga.mod and font.mod.
40562 (vga_mod_SOURCES): New variables.
40563 (vga_mod_CFLAGS): Likewise.
40564 (font_mod_SOURCES): Likewise.
40565 (font_mod_CFLAGS): Likewise.
40566
40567 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40568
40569 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 40570 (struct pupa_term): Added init and fini.
18d9c7cd 40571 Changed the argument of putchar to pupa_uint32_t.
40572
40573 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40574 (pupa_console_real_putchar): New prototype.
40575 (pupa_console_putchar): Removed.
40576 (pupa_console_checkkey): Exported.
40577 (pupa_console_getkey): Likewise.
40578
40579 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40580 characters.
40581
40582 * kern/term.c (pupa_term_set_current): Rewritten.
40583 (pupa_putchar): Likewise.
40584 (pupa_putcode): New function.
40585
40586 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40587 (pupa_console_real_putchar): ... this.
40588 (pupa_vga_set_mode): New function.
40589 (pupa_vga_get_font): Likewise.
40590
40591 * normal/command.c: Include pupa/term.h.
40592 (terminal_command): New function.
40593 (pupa_command_init): Register the command "terminal".
40594
40595 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40596 (DISP_UP): Likewise.
40597 (DISP_RIGHT): Likewise.
40598 (DISP_DOWN): Likewise.
40599 (DISP_HLINE): Likewise.
40600 (DISP_VLINE): Likewise.
40601 (DISP_UL): Likewise.
40602 (DISP_UR): Likewise.
40603 (DISP_LL): Likewise.
40604 (DISP_LR): Likewise.
40605
40606 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 40607
977329f5 406082003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40609
40610 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40611 FIX. Reverse the path_list.
40612
40613 * include/pupa/normal.h: Export pupa_register_command and
40614 pupa_unregister_command.
40615
40616 * hello/hello.c (pupa_cmd_hello): New module.
40617 * conf/i386-pc.rmk: Added hello.mod.
40618
1f5ab428 406192003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40620
40621 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 40622
1f5ab428 40623 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40624 (compress_kernel): New variable.
40625 (generate_image): Heavily modified to support compressing a
40626 large part of the core image.
40627
40628 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40629 leak.
40630 (pupa_util_load_image): New function.
40631
40632 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40633 (pupa_compressed_size): New variable.
40634 (codestart): Enable Gate A20 here.
40635 Decompress the compressed part of the core image.
40636 Rearrange the code to put functions and variables which are
40637 required for initialization in the non-compressed part.
40638 Include lzo1x.S.
40639
40640 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40641 here.
40642
40643 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40644
f19dbdb7 40645 * include/pupa/i386/pc/kernel.h
1f5ab428 40646 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40647 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40648 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40649 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40650 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40651
40652 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40653
40654 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40655 (Utility#rule): Likewise.
40656
40657 * configure.ac: Check if LZO is available.
40658
ce5bf700 406592003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40660
40661 * include/pupa/normal.h: New file.
40662 * include/pupa/setjmp.h: Likewise.
40663 * include/pupa/i386/setjmp.h: Likewise.
40664 * normal/cmdline.c: Likewise.
40665 * normal/command.c: Likewise.
40666 * normal/main.c: Likewise.
40667 * normal/menu.c: Likewise.
40668 * normal/i386/setjmp.S: Likewise.
f19dbdb7 40669
ce5bf700 40670 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40671 (pupa_rescue_cmd_initrd): Likewise.
40672
40673 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40674 Likewise.
40675
40676 * kern/i386/pc/startup.S (translation_table): New variable.
40677 (translate_keycode): New function.
40678 (pupa_console_getkey): Call translate_keycode.
40679
40680 * kern/rescue.c (attempt_normal_mode): New function.
40681 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40682 it failed, print a message.
40683
40684 * kern/mm.c (pupa_real_malloc): Print more information when a
40685 free magic is broken.
40686 (pupa_free): If the first free header is not free actually, set
40687 it to P.
40688
40689 * kern/main.c (pupa_load_normal_mode): Just load the module
40690 "normal".
40691 (pupa_main): Don't print the message
40692 "Entering into rescue mode..." here.
40693
40694 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40695 Declared.
40696 (pupa_rescue_cmd_initrd): Likewise.
40697 (pupa_rescue_cmd_initrd): Likewise.
40698
40699 * include/pupa/symbol.h (FUNCTION): Specify the type.
40700 (VARIABLE): Likewise.
40701
40702 * include/pupa/err.h (pupa_err_t): Added
40703 PUPA_ERR_UNKNOWN_COMMAND.
40704
40705 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40706 (pupa_dl_get_prefix): Likewise.
40707
40708 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40709 Added _chain.mod and _linux.mod instead of chain.mod and
40710 linux.mod.
40711 (chain_mod_SOURCES): Renamed to ...
40712 (_chain_mod_SOURCES): ... this.
40713 (chain_mod_CFLAGS): Renamed to ...
40714 (_chain_mod_CFLAGS): ... this.
40715 (linux_mod_SOURCES): Renamed to ...
40716 (_linux_mod_SOURCES): ... this.
40717 (linux_mod_CFLAGS): Renamed to ...
40718 (_linux_mod_CFLAGS): ... this.
40719 (normal_mod_SOURCES): New variable.
40720 (normal_mod_CFLAGS): Likewise.
40721 (normal_mod_ASFLAGS): Likewise.
40722
407232003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40724
40725 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40726 possible.
40727
fe6b695a 40728 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 40729 recursively.
40730 (pupa_dl_unref): Unrefer depending modules recursively.
40731 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40732 a module is unloaded before one depending on that module is
40733 unloaded.
40734 (pupa_dl_unload): Unload depending modules explicitly,
40735 if possible.
40736
c04da074 407372003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40738
40739 * include/pupa/i386/pc/linux.h: New file.
40740 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 40741
c04da074 40742 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40743 Removed.
40744 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40745 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40746 of PUPA_CHAINLOADER_BOOT_SECTOR.
40747
40748 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40749 (pupa_linux_prot_size): New variable.
40750 (pupa_linux_tmp_addr): Likewise.
40751 (pupa_linux_real_addr): Likewise.
40752 (pupa_linux_boot_zimage): New function.
40753 (pupa_linux_boot_bzimage): Likewise.
40754
40755 * kern/i386/pc/init.c (struct mem_region): New structure.
40756 (MAX_REGIONS): New macro.
40757 (mem_regions): New variable.
40758 (num_regions): Likewise.
40759 (pupa_os_area_addr): Likewise.
40760 (pupa_os_area_size): Likewise.
40761 (pupa_lower_mem): Likewise.
40762 (pupa_upper_mem): Likewise.
40763 (add_mem_region): New function.
40764 (compact_mem_regions): Likewise.
40765 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40766 the size of the conventional memory and that of so-called upper
40767 memory (before the first memory hole).
40768 Instead of adding each found region to free memory, use
40769 add_mem_region and add them after removing overlaps.
40770 Also, add only 1/4 of the upper memory to free memory. The rest
40771 is used for loading OS images. Maybe this is ad hoc, but this
40772 makes it much easier to relocate OS images when booting.
40773
40774 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40775 (pupa_enter_rescue_mode): Don't register initrd and module.
40776
40777 * kern/mm.c: Include pupa/dl.h.
40778
40779 * kern/main.c: Include pupa/file.h and pupa/device.h.
40780
40781 * kern/loader.c (pupa_loader_load_module_func): Removed.
40782 (pupa_loader_load_module): Likewise.
40783
40784 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40785 ``.o''.
40786
40787 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40788 (pupa_linux_tmp_addr): Likewise.
40789 (pupa_linux_real_addr): Likewise.
40790 (pupa_linux_boot_zimage): Likewise.
40791 (pupa_linux_boot_bzimage): Likewise.
40792
40793 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40794 (pupa_upper_mem): Likewise.
40795 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40796 module is too dangerous.
40797
40798 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40799 (pupa_os_area_size): Likewise.
40800 (pupa_loader_set): Remove the first argument. Loader doesn't
40801 manage modules or initrd any longer.
40802 (pupa_loader_load_module): Removed.
40803
40804 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40805 (linux_mod_SOURCES): New variable.
40806 (linux_mod_CFLAGS): Likewise.
40807
a13f9237 408082003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40809
40810 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40811 the length of a blocklist correctly.
40812
40813 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40814 Use ioctl only if the OS file is a block device.
40815 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40816 not very useful for normal files.
40817
40818 * kern/main.c (pupa_set_root_dev): New function.
40819 (pupa_load_normal_mode): Likewise.
40820 (pupa_main): Call those above.
40821
40822 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40823 pupa_uint16_t.
40824
40825 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40826
a5ffe966 408272003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40828
40829 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40830 (setup): Configure the installed partition information and the
40831 dl prefix.
40832
40833 * loader/i386/pc/chainloader.c (my_mod): New variable.
40834 (pupa_chainloader_unload): New function.
40835 (pupa_rescue_cmd_chainloader): Refer itself.
40836 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40837
40838 * kern/i386/pc/startup.S (install_partition): Removed.
40839 (version_string): Likewise.
40840 (config_file): Likewise.
40841 (pupa_install_dos_part): New variable.
40842 (pupa_install_bsd_part): Likewise.
40843 (pupa_prefix): Likewise.
40844 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40845
40846 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40847 and pupa/misc.h.
40848 (make_install_device): New function.
40849 (pupa_machine_init): Set the dl prefix.
40850
40851 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40852 (buf): Renamed to ...
40853 (linebuf): ... this.
40854 (pupa_rescue_cmd_prefix): New function.
40855 (pupa_rescue_cmd_insmod): Likewise.
40856 (pupa_rescue_cmd_rmmod): Likewise.
40857 (pupa_rescue_cmd_lsmod): Likewise.
40858 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40859 rmmod and lsmod.
40860
40861 * kern/mm.c (pupa_memalign): If failed even after invalidating
40862 disk caches, unload unneeded modules and retry.
40863
40864 * kern/misc.c (pupa_memmove): New function.
40865 (pupa_memcpy): Removed.
40866 (pupa_strcpy): New function.
40867 (pupa_itoa): Made static.
40868
40869 * kern/dl.c (pupa_dl_iterate): New function.
40870 (pupa_dl_ref): Likewise.
40871 (pupa_dl_unref): Likewise.
40872 (pupa_dl_unload): Return if succeeded or not.
40873 (pupa_dl_unload_unneeded): New function.
40874 (pupa_dl_unload_all): Likewise.
40875 (pupa_dl_init): Renamed to ...
40876 (pupa_dl_set_prefix): ... this.
40877 (pupa_dl_get_prefix): New function.
40878
40879 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40880 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40881 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40882 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40883 (pupa_install_dos_part): Declared.
40884 (pupa_install_bsd_part): Likewise.
40885 (pupa_prefix): Likewise.
40886 (pupa_boot_drive): Likewise.
40887
40888 * include/pupa/types.h: Fix a typo.
40889
40890 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40891 pupa_memmove.
40892 (pupa_memmove): Declared.
40893 (pupa_strcpy): Likewise.
40894
40895 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40896 pupa_mod_init takes one argument, its own module.
40897 (pupa_dl_unload_unneeded): Declared.
40898 (pupa_dl_unload_all): Likewise.
40899 (pupa_dl_ref): Likewise.
40900 (pupa_dl_unref): Likewise.
40901 (pupa_dl_iterate): Likewise.
40902 (pupa_dl_init): Renamed to ...
40903 (pupa_dl_set_prefix): ... this.
40904 (pupa_dl_get_prefix): Declared.
40905
40906 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 40907 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 40908 unloaded.
40909 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40910 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40911
40912 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40913 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40914
012d7999 409152003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40916
40917 * util/i386/pc/pupa-setup.c (setup): Define the internal
40918 function find_first_partition_start at the top level, because GCC
40919 3.0.x cannot compile internal functions in deeper scopes
40920 correctly.
40921 (find_root_device): Use lstat instead of stat.
40922 Don't follow symbolic links.
40923 Fix the path-constructing code.
40924
40925 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40926 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40927 by a BLKGETSIZE ioctl first, because block devices don't fill
40928 the member st_mode of the structure stat on Linux.
40929 [__linux__] (linux_find_partition): Use a temporary buffer
40930 REAL_DEV for the working space. Copy it to DEV before returning.
40931 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40932 buffer cache consistent.
40933 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40934 strncmp. The previous value was merely wrong.
40935 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40936
40937 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40938 FAT size is 12. The previous value was merely wrong.
40939
40940 * kern/main.c (pupa_main): Don't split the starting message from
40941 newlines.
40942
40943 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40944 LF, because BIOS goes crazy about character attributes in this
40945 case.
40946
1cc73a62 409472003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40948
40949 * include/i386/pc/util/biosdisk.h: New file.
40950 * util/i386/pc/biosdisk.c: Likewise.
40951 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 40952
1cc73a62 40953 * Makefile.in (INCLUDE_DISTFILES): Added
40954 include/pupa/i386/pc/util/biosdisk.h.
40955 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40956 directory util/i386/pc.
40957 (install-local): Added a rule for sbin_UTILITIES.
40958 (uninstall): Likewise.
40959
40960 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40961
40962 * util/misc.c (xrealloc): New function.
40963 (pupa_malloc): Likewise.
40964 (pupa_free): Likewise.
40965 (pupa_realloc): Likewise.
40966 (pupa_stop): Likewise.
40967 (pupa_putchar): Likewise.
40968
40969 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40970
40971 * include/pupa/util/misc.h (xrealloc): Declared.
40972
40973 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40974 macro.
40975 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40976 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40977
40978 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40979 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40980
40981 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40982 way should be implemented.
40983 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40984
40985 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40986 the size of NAME for safety.
40987 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40988 0x88.
40989
40990 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40991 (pupa_setup_SOURCES): Likewise.
40992
40993 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40994
08b70fe8 409952002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40996
40997 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40998 bunch of pushl's from pusha, because this destroys the return
40999 value.
41000
62ddcc8f 410012002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
41002
41003 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
41004 This means that any missing prototypes could be fatal. Also, you
41005 must take care when writing assembly code. See the comments at
41006 the beginning of startup.S, for more details.
f19dbdb7 41007
62ddcc8f 41008 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
41009 compilation mechanism.
41010 (pupa_chainloader_real_boot): Likewise.
41011 (pupa_biosdisk_rw_int13_extensions): Likewise.
41012 (pupa_biosdisk_rw_standard): Likewise.
41013 (pupa_biosdisk_check_int13_extensions): Likewise.
41014 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
41015 (pupa_biosdisk_get_diskinfo_standard): Likewise.
41016 (pupa_get_memsize): Likewise.
41017 (pupa_get_mmap_entry): Likewise.
41018 (pupa_console_putchar): Likewise.
41019 (pupa_console_setcursor): Likewise.
41020 (pupa_getrtsecs): Use pushl instead of push.
41021
41022 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
41023 memory instead of the stack for a mmap entry, because some
41024 BIOSes may ignore the maximum size and overflow.
41025
41026 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
41027
41028 * genmk.rb (PModule#rule): Compile automatically generated
41029 sources with module-specific CFLAGS as well as other sources.
41030
9962ed99 410312002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41032
41033 * configure.ac: Check ld.
41034 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
41035 respectively, before checking endianness and sizes.
41036
41037 * Makefile.in (LD): New variable.
f19dbdb7 41038
abdfc3c5 410392002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41040
41041 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
41042
6a161fa9 410432002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41044
41045 * Changelog: New file.
41046